先に結論 Elastic Beanstalk のオートスケーリング設定が有効になっている環境で複数の EC2 インスタンスに対してデプロイする際に、どれか一つの EC2 インスタンス上で DB マイグレーションのコマンドを実行したいとします。 その場合、以下のような設定ファイルを追加してデプロイすると実現できます。 container_commands: 01_migrate: # リーダー判定用の一時ファイルを作成 command: "touch /tmp/leader_only" leader_only: true files: "/opt/elasticbeanstalk/hooks/appdeploy/post/10_post_migrate.sh": mode: "000755" owner: root group: root content: | #!/bin/bash -eu
![【AWS】Elastic Beanstalkのデプロイ時に docker exec する](https://cdn-ak-scissors.b.st-hatena.com/image/square/16a371743b4ac5a0f912767baade15cbb3bbafef/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwQVdTJUUzJTgwJTkxRWxhc3RpYyUyMEJlYW5zdGFsayVFMyU4MSVBRSVFMyU4MyU4NyVFMyU4MyU5NyVFMyU4MyVBRCVFMyU4MiVBNCVFNiU5OSU4MiVFMyU4MSVBQiUyMGRvY2tlciUyMGV4ZWMlMjAlRTMlODElOTklRTMlODIlOEImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTZiODk4ZDhiYWQwMzc4OTRkZWMxZDdjNWM5MTJmY2Qz%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweW1tMXgmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTQ3MGI2NTk4YjU0ZGRkNWMzOWVjODE5OGY1MmEzMDMx%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dd8314fa10d5403c4a4691a71d734c823)