
AWS_Elastic_Beanstalkとは?
AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS など使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。
特徴
AWS Elastic Beanstalk はECSなどのDocker サービスと連携して、容量のプロビジョニング、負荷の分散、スケーリング、およびアプリケーションの状態の監視の詳細を自動化することができます。
Elastic Beanstalk は自動的にデプロイメントの詳細 (容量のプロビジョニング、負荷分散、Auto Scaling、アプリケーションのヘルスモニタリングなど) を処理します。
インスタンスプロファイルはIAMロールのコンテナであり、インスタンスの起動時に Amazon EC2 インスタンスにロール情報を渡すために使用します。
Elastic Beanstalk コンソールあるいは EB CLI を使用して環境を起動すると、Elastic Beanstalk は aws-elasticbeanstalk-ec2-role と呼ばれるデフォルトのインスタンスプロファイルを作成し、デフォルトのアクセス権限がある管理型ポリシーを割り当てます。
Elastic BeanstalkのARNをCLIを利用時にはリソースの Amazon リソースネーム(ARN)を使用して、IAM ポリシーのリソースを指定します。
初期化はeb initコマンドによって正確に行われる。
インスタンスプロファイルはコンテナを起動するたびに置き換える必要がない。
参考サイト
AWS KMSリクエストが1秒あたりの制限を超えてしまい、エラーとなってしまう場合の対処
AWS暗号化SDKを使用する
AWS 暗号化 SDK は、言語固有の SDK とは別の暗号化ライブラリです。
この暗号化ライブラリを使用すると、アプリケーションで暗号化のベストプラクティスをより簡単に実装できます。AWS 暗号化 SDK は Amazon S3 専用ではなく、任意の場所にデータを保存または復号するために使用できます
要件(ユースケース)
- WEBアプリケーションのプロビジョニング方法を検討
- サーバーOSにはLinuxを利用して構成し、モニタリング用に運用ダッシュボードが必要
- Linux OSのバッチ配布などの運用は自動で行う
仕様
サーバー用のOSはLinux を利用しアプリケーションを構成し、運用ダッシュボードとLinux OSのバッチ配布の自動化が必要です。AWS Elastic Beanstalk は自動的にデプロイタスク (バッチ配布の自動化、容量のプロビジョニング、負荷分散、Auto Scaling、アプリケーションのヘルスモニタリングなど) を処理します。
AWS Elastic BeanstalkによりアプリケーションがホストされるAWS リソースをユーザー側で完全に制御することができます。また、Elastic Beanstalkコンソールを運用ダッシュボードとして、環境の状態とアプリケーションの状態を一目で分かるように表示することができます。
OpsWorksについて
OpsWorksはChef や Puppet のマネージド型インスタンスを利用できるようになる構成管理サービスです。
これはインフラ構成の自動化に利用しますが、WEBアプリケーションのデプロイには利用されません。