サクッとアプリを立ち上げようと思って利用したElastic Beanstalkがそもそも起動してくれなくて無駄にハマったのでメモ。
結論
- (2024年1月現在、)Elastic Beanstalk初回利用時は事前にインスタンスプロファイルを作成しておく必要がある
- インスタンスプロファイルとして設定するロールで必要になるポリシーは以下の3つ
- AWSElasticBeanstalkMulticontainerDocker
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
問題
- Elastic Beanstalkでアプリケーションを作成しようとしたところ、
The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.
のエラーが発生し環境が起動しない
原因
- エラーメッセージの通り、
aws-elasticbeanstalk-ec2-role
インスタンスプロファイルが存在しないことでエラーになっている
対処
- インスタンスプロファイルとして設定するロールを作成する(今回はデフォルトに合わせて
aws-elasticbeanstalk-ec2-role
とした)。 - 作成したロールに以下3つのポリシーを付与する。
- AWSElasticBeanstalkMulticontainerDocker
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
- Elastic Beanstalkのアプリケーション設定時に、EC2 インスタンスプロファイルに作成したロールが設定されていることを確認して作成実行する。
上記の対処をしたところ、環境が立ち上がりました。