Elastic Beanstalkで初めて環境を作成するときの注意点
はじめに
2024年10月以降にAWSアカウントを作成して、Elastic Beanstalkにて環境を作成する際に正常に起動しなかったことから、備忘録として以下に注意すべき手順を記載します。
1. IAMによるロールの作成
Elastic Beanstalk環境作成時のステップ2(サービスアクセスの設定)において、以下の項目が必要となります。
- サービスロール
- EC2インスタンスプロファイル
サービスロールは、"新しいサービスロールを作成して使用"を選択することで、
"aws-elasticbeanstalk-service-role" として自動的に作成されます。
しかし、EC2インスタンスプロファイルは、各自で別途作成する必要があります。
(以前は自動で作成されていた模様です)
これを解決するためには、IAM(Identity and Access Management)より、
サイドバーのアクセス管理→ロールを選択します。
右上の"ロールを作成"をクリックするとウィザードが表示されるため、以下のように選択します。
"信頼されたエンティティタイプ"→"AWSのサービス"
"ユースケース"→"EC2"、"EC2"
次に、許可ポリシーに以下の3つを追加します。
- AWSElasticBeanstalkMulticontainerDocker
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
ロールの作成が完了したら、
ステップ2(サービスアクセスの設定)のEC2インスタンスプロファイルのセレクトボックスから、
先程作成したロールを選択します。
2. 起動テンプレートへの移行
RootVolumeTypeオプションをgp3に設定します。
DisableIMDSv1をtrueにします。
それ以外のオプションは私が環境を作成する際にオプションとして見つかりませんでしたが、
上記どちらかひとつでも設定していれば問題ないとのことです。
おわりに
Elastic Beanstalkを用いることで、各サービスを十分理解していない初学者でもアプリケーションをデプロイできる環境を作成することができます。
しかし、ここ数年でいくつかの手順が必要となっています。
私も現時点でAWSについて学習中であり、Elastic Beanstalkを用いてデプロイ環境を作成しようと思っていました。
しかし、上記のようにいくつかの手順が必要であったため、備忘録として残しています。
同様のケースで環境を作成できない方がいらっしゃいましたら、コメントいただければ調査させていただきます。
Discussion