皆さん、こんにちは! ITエンジニアのSkyfoxです!
今回は、自己学習用のメモを以下に書いています。
もし活用できる部分があれば、読んでくださると嬉しいです!
1.CloudFormation
-
AWSで環境を構築するときに、リソースの設定やプロビジョニングをコード化したテンプレートを作成できる。
=他案件でも一部使える -
ほとんど全てのAWSのリソース構築や設定を行えるため、自由度が高いサービス。
-
環境のみ構築するため、その上に立てるアプリ・ツールは関係ない。
メリット
・インフラの管理や制御が簡単になる
・テンプレートができることで、同じ・似た構成の環境を素早く簡単に再現でき、開発期間を短縮できる
・CloudFormation自体は無料デメリット
・テンプレートからスタックを作成・適用する必要があるため、修正に時間がかかる
・スタックの作成・削除を繰り返すと、AWSのリソース作成上限に達する可能性がある
2.OpsWorks
-
Chef や Puppet のマネージド型インスタンスを利用できるようになる構成管理サービス。
=サーバの構成を管理・デプロイするサービス -
Chef や Puppet を使用して、Amazon EC2 インスタンスやオンプレミスのコンピューティング環境でのサーバーの設定、デプロイ、管理を自動化できる。
メリット
・インスタンスやアプリの動的な構成変 更に容易に対応可能
・アプリケーションのデプロイのサイクルを自動化する ことで、ビジネスニーズの変化にいち早く対応可能
・サーバーのパッチ適用、アップデート、バックアップの自動化デメリット
・CloudFormationよりコアな部分を扱い、自由度が低い
(ex. ELB、RDS、WebAPの3層だけ作成)
3.Elastic Beanstalk
-
定番構成の構築、アプリケーションデプロイの自動化サービス。
-
複数の環境で、負荷分散、監視、容量設定、ミドルウェアのインストール、アプリケーションのデプロイを自動的に実施することが可能。
メリット
・自動化により効率良くアプリケーションの実行ができる
・使用料金がインスタンスが稼働している時間に応じて決まるため、APIによってはBeanstalkの方が安いデメリット
・デプロイメントの信頼性が低い
・Lambdaに比べてインスタンスの起動とスケーリングが遅い
4.CloudFormation・OpsWorks・Elastic Beanstalkの違い
=カバー範囲
-
含まれる範囲
CloudFormation>OpsWorks>Elastic Beanstalk・CloudFormationを覚えれば、OpsWorksも含まれる
・CloudFormationは1から環境を構築するが、
OpsWorksはCloudFormationより狭い基本的な環境のみカバー。
Elastic Beanstalkに関しては、開発したアプリを渡すだけで自動で環境を
構築してくれる。