やること
- AWSの環境構築自動化サービス群
- CloudFormationについて
- ベストプラクティス
AWSの環境構築自動化サービス群
- Elastic Beanstalk
- 定番インフラ構成の自動構築およびAppデプロイの自動化サービス
- Webサーバ構成
- Batchワーカ構成
- メリット
- デメリット
- OpsWorks
- Chefを利用した構成管理サービス
- EC2上のエージェントがOpsWorks上のChefレシピを参照して自動構築
- 自前でChef Server/Clientを構築保守しなくて良い
- メリット
- デメリット
- CloudFormation
- AWSのリソース管理・構築を自動化するサービス
- テンプレートをJSONやYAML形式で記述
- テンプレートをもとにAWSリソースの自動構築
- メリット
- デメリット
- テンプレート
- AWSのリソースをYAML or JSONで記載したドキュメント
- スタック
- テンプレートから自動構築されたAWSリソースの集合
- テンプレートの構成
- セクション
- Parameters
- Mappings
- Resources
- 組み込み関数
- 疑似パラメータ
使ってみる
- 流れ
- シンプルなテンプレートでVPCを作る
- Ref関数を使ってサブネットを作る
- 残りのネットワーク周りを仕上げる
- EC2の雛形を作る
- Parametersセクションを使ってEC2インスタンスタイプを実行時に選択できるようにする
- Parameter + AWS固有パラメータを使い、アカウントにあるキーペアを実行時に選択してEC2に埋め込む
- MappingセクションとFindInMap関数を使ってリージョン毎のAMIを選択する
- スタックを削除する
ベストプラクティス
- 組み込み関数を使って環境に依存しないテンプレートを目指す
- リソース追加・変更は必ずCloudFormationで行う
- テンプレートをバージョン管理する
- システムの規模やライフサイクルによってテンプレートを分割する