AWSのプロビジョニングサービスについて勉強したよ
したよ
- AWSのプロビジョニングサービスといえば、代表的なものは以下の3つ
- Elastic Beanstalk
- OpsWorks
- CloudFormation
CloudFormationしか使ったことないけどな
- Elastic Beanstalkとは、定番のインフラ構成を自動構築するサービス
- 構築できる構成は大きく分けて2つある
- Webサーバ構成:ELB(Elastic Load Balancer) + Auto Scaling + EC2
- Batchワーカー構成:SQS + Auto Scaling + EC2
- 言語も選択可能
- Java, Ruby, PHP, Python
- EBで構築すると、デプロイが楽になる
- 既存のデプロイ方式を簡単にチョイスして利用できる
- All at Once
- Rollingデプロイ
- Rolling with additional batch デプロイ
- 既存のデプロイ方式を簡単にチョイスして利用できる
- 構築できる構成は大きく分けて2つある
- OpsWorksとは、Chefを利用した構成管理サービス
- レシピという単位で設定ファイルを作成し、プロビジョニングを行う
- 管理方式が2種類ある
- Chef Client ローカル方式
- 各サーバがレシピを持つ。自分自身にレシピを適用
- Chef Server/Client方式
- マスターサーバがレシピを持つ。配下のサーバへレシピを適用
- Chef Client ローカル方式
- CloudFormation
- AWSリソースを自動構築するためのサービス
- 構築にはテンプレートと呼ばれる設定ファイルを利用する
- テンプレートを元にスタックが作成される
- どういうタイミングで更新が必要かなどの観点でスタックを分割する
- スタックの分割ポリシーは公式のベストプラクティスを参照
- https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/best-practices.html#organizingstacks
- スタックの分割ポリシーは公式のベストプラクティスを参照
- テンプレートには3つのセクションがある
- Resources:構築するAWSリソースの設計を書く
- Parameter:実行時に値を選択する項目を定義する
- Mappingsセクション:変数をMap形式で定義できる