AWS Elastic Beanstalkを使ってざっくり環境構築
はじめに
AWSの学習を再度始めました。
現在は、CIFとSAAを取得しておりますが、機能などについてすっかり忘れてしまったので、復習メモ用にこちらに記載していきます。
AWS Elastic Beanstalkとは
アプリケーションコード以外の環境を、AWSが一括で構築してくれる。(ざっくり)
コードをアップロードするだけで、Elastic Beanstalk は、キャパシティープロビジョニング、負荷分散、自動スケーリングからウェブアプリケーションの状態のモニタリングまで、デプロイを自動的に処理し、パッチやセキュリティのフルマネージド型の更新を継続的に行います。
引用元:AWS公式
開発者によっては、余計なことに目を向けず、コーディングに集中できるようです。
始めかた
Elastic Beanstalkのページからcreate Application
プラットフォームの選択
アプリケーションのプラットフォームを選択する
今回はPHPをプラットフォームに作ってみる
プリセット選択
設定を色々変えることができる模様。
単一インスタンスは、現在は無料利用枠対象。
作成できたので、URLをクリックすると
このようになりました。
簡単にアプリケーションの土台が作成されました。
その他大事なこと
サービスロール
Elastic Beanstalkが作成されたAWSのリソースを管理するために、サービスロールというIAMロールが必要になる。
デフォルトでは下記管理ポリシーがアタッチされている
- AWSElasticBeanstalkEnhancedHealth
- インスタンスや環境の正常性確認
- AWSElasticBeanstalkService
- 環境を作成、更新するためのポリシー
※上記ロールは、ElasticBeanstalkで作成されたもの内でのものであり、他サービスとの連携にはIAMロールが必要
- 環境を作成、更新するためのポリシー
環境のカスタマイズ
AWS Elastic Beanstalk設定ファイルである(.ebextensions)を追加すると、環境のカスタマイズができる。例えば、EC2インスタンスにCloudWatchのカスタムメトリクスを設定するなど。
ワーカー環境
Webアプリケーションだけでなく、ワーカー環境も構築可能。
例えば、SQSに送信されたタスクメッセージを受信して、タスクを処理するなど。
EB CLIコマンドでも環境構築可能
主要コマンド
-
eb init
- アプリケーションの作成
-
eb create
- アプリケーションの環境構築
-
eb deploy
- アプリケーションの更新デプロイ
- S3にも更新時のソースコードが保存される
- アプリケーションの更新デプロイ
終わりに
やはり、実際に手を動かすことでないと、なかなか覚えることができないと実感しました。
今後もAWSの学習では、実際に手を動かしながら作成していこうと思います。
Discussion