[アップデート] AWS Elastic Beanstalk デプロイ用の GitHub アクションが追加されました
いわさです。
GitHub Actions を使って、AWS 環境のデプロイを行うことがあると思います。
その際に AWS からリリースされているいくつかの標準アクションを使うことが出来るのですが、先日のアップデートで AWS Elastic Beanstalk へのデプロイアクションが追加されました。
今更 Elastic Beanstalk がサポートされたのか!という感じですが、使ってみたので紹介します。
ワークフローを構成する
ワークフローファイルがこちらです。
aws-actions/aws-elasticbeanstalk-deploy@v1.0.0というアクションを使うことが出来るようになっています。
name: Deploy to Elastic Beanstalk
on:
push:
branches: [main]
env:
AWS_REGION: ap-northeast-1
APPLICATION_NAME: hoge0212github
ENVIRONMENT_NAME: Hoge0212github-env
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: ${{ env.AWS_REGION }}
- uses: aws-actions/aws-elasticbeanstalk-deploy@v1.0.0
with:
aws-region: ${{ env.AWS_REGION }}
application-name: ${{ env.APPLICATION_NAME }}
environment-name: ${{ env.ENVIRONMENT_NAME }}
solution-stack-name: '64bit Amazon Linux 2023 v4.9.2 running Python 3.11'
option-settings: |
[
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "IamInstanceProfile",
"Value": "aws-elasticbeanstalk-ec2-role"
},
{
"Namespace": "aws:elasticbeanstalk:environment",
"OptionName": "ServiceRole",
"Value": "aws-elasticbeanstalk-service-role"
}
]
追加された GitHub アクションのリポジトリは以下になります。
ポイントとしてはElastic Beanstalk の環境とアプリケーションと、ソリューションスタック名を指定する必要があります。
ソリューションスタックは、Elastic Beanstalkが提供する事前設定された実行環境です。
以下のコマンドから使用可能なスタックを取得できます。
% aws elasticbeanstalk list-available-solution-stacks --region ap-northeast-1
{
"SolutionStacks": [
"64bit Windows Server 2019 v2.22.1 running IIS 10.0",
"64bit Windows Server Core 2019 v2.22.1 running IIS 10.0",
"64bit Windows Server 2025 v2.22.1 running IIS 10.0",
"64bit Windows Server 2016 v2.22.1 running IIS 10.0",
"64bit Windows Server Core 2025 v2.22.1 running IIS 10.0",
"64bit Windows Server Core 2016 v2.22.1 running IIS 10.0",
"64bit Windows Server 2022 v2.22.1 running IIS 10.0",
"64bit Windows Server Core 2022 v2.22.1 running IIS 10.0",
"64bit Windows Server 2025 v2.17.0 running IIS 10.0",
"64bit Windows Server 2022 v2.14.0 running IIS 10.0",
"64bit Windows Server 2019 v2.13.1 running IIS 10.0",
"64bit Windows Server 2019 v2.10.6 running IIS 10.0",
"64bit Windows Server Core 2019 v2.6.8 running IIS 10.0",
"64bit Windows Server 2019 v2.6.8 running IIS 10.0",
"64bit Amazon Linux 2023 v5.9.3 running Tomcat 10 Corretto 17",
"64bit Amazon Linux 2023 v5.9.3 running Tomcat 11 Corretto 21",
"64bit Amazon Linux 2023 v5.9.3 running Tomcat 11 Corretto 17",
"64bit Amazon Linux 2023 v5.9.3 running Tomcat 11 Corretto 25",
"64bit Amazon Linux 2023 v5.9.3 running Tomcat 10 Corretto 21",
"64bit Amazon Linux 2023 v4.8.3 running Ruby 3.3",
"64bit Amazon Linux 2023 v5.9.3 running Tomcat 9 Corretto 11",
"64bit Amazon Linux 2023 v4.8.3 running Ruby 3.4",
"64bit Amazon Linux 2023 v5.9.3 running Tomcat 9 Corretto 17",
"64bit Amazon Linux 2023 v4.9.2 running Python 3.12",
"64bit Amazon Linux 2023 v4.9.2 running Python 3.13",
"64bit Amazon Linux 2023 v4.9.2 running Python 3.9",
"64bit Amazon Linux 2023 v4.9.2 running Python 3.14",
"64bit Amazon Linux 2023 v4.9.2 running PHP 8.5",
"64bit Amazon Linux 2023 v4.8.3 running Ruby 3.2",
"64bit Amazon Linux 2023 v4.9.2 running Python 3.11",
"64bit Amazon Linux 2023 v4.9.2 running PHP 8.4",
"64bit Amazon Linux 2023 v4.9.2 running PHP 8.3",
"64bit Amazon Linux 2023 v4.9.2 running PHP 8.1",
"64bit Amazon Linux 2023 v4.9.2 running PHP 8.2",
"64bit Amazon Linux 2023 v4.5.3 running Go 1",
"64bit Amazon Linux 2023 v6.7.3 running Node.js 22",
"64bit Amazon Linux 2023 v6.7.3 running Node.js 24",
"64bit Amazon Linux 2023 v6.7.3 running Node.js 20",
"64bit Amazon Linux 2023 v4.8.3 running Corretto 21",
"64bit Amazon Linux 2023 v4.8.3 running Corretto 17",
"64bit Amazon Linux 2023 v3.7.2 running .NET 9",
"64bit Amazon Linux 2023 v3.7.2 running .NET 10",
"64bit Amazon Linux 2023 v4.3.3 running ECS",
"64bit Amazon Linux 2023 v4.8.3 running Corretto 8",
"64bit Amazon Linux 2023 v4.8.3 running Corretto 25",
"64bit Amazon Linux 2023 v4.9.2 running Docker",
"64bit Amazon Linux 2023 v3.7.2 running .NET 8",
"64bit Amazon Linux 2023 v4.8.3 running Corretto 11",
"64bit Amazon Linux 2 v3.6.3 running ECS",
"64bit Amazon Linux 2 v4.10.3 running Tomcat 9 Corretto 11",
"64bit Amazon Linux 2 v2.12.3 running .NET Core",
"64bit Amazon Linux 2 v4.5.2 running Docker",
"64bit Amazon Linux 2 v4.10.3 running Tomcat 9 Corretto 8",
"64bit Amazon Linux 2 v3.10.3 running Corretto 8",
"64bit Amazon Linux 2 v3.10.3 running Corretto 17",
"64bit Amazon Linux 2 v3.12.2 running PHP 8.1",
"64bit Amazon Linux 2 v3.10.3 running Corretto 11",
"64bit Amazon Linux 2 v3.14.3 running Go 1",
"64bit Amazon Linux 2023 v3.5.4 running .NET 9",
"64bit Amazon Linux 2023 v3.1.1 running .NET 8",
"64bit Amazon Linux 2 v2.3.4 running .NET Core",
"64bit Amazon Linux 2 v2.2.6 running .NET Core",
"64bit Amazon Linux 2 v2.2.4 running .NET Core",
"64bit Amazon Linux 2 v2.2.2 running .NET Core",
"64bit Amazon Linux 2 v3.3.2 running PHP 8.0",
"64bit Amazon Linux 2 v3.2.1 running Corretto 11",
"64bit Amazon Linux 2 v2.1.0 running .NET Core",
"64bit Amazon Linux 2 v5.2.3 running Node.js 12",
"64bit Amazon Linux 2018.03 v2.6.33 running Packer 1.0.3"
],
"SolutionStackDetails": [
{
"SolutionStackName": "64bit Windows Server 2019 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server Core 2019 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2025 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2016 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server Core 2025 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server Core 2016 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2022 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server Core 2022 v2.22.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2025 v2.17.0 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2022 v2.14.0 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2019 v2.13.1 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2019 v2.10.6 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server Core 2019 v2.6.8 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Windows Server 2019 v2.6.8 running IIS 10.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v5.9.3 running Tomcat 10 Corretto 17",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v5.9.3 running Tomcat 11 Corretto 21",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v5.9.3 running Tomcat 11 Corretto 17",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v5.9.3 running Tomcat 11 Corretto 25",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v5.9.3 running Tomcat 10 Corretto 21",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Ruby 3.3",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v5.9.3 running Tomcat 9 Corretto 11",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Ruby 3.4",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v5.9.3 running Tomcat 9 Corretto 17",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running Python 3.12",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running Python 3.13",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running Python 3.9",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running Python 3.14",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running PHP 8.5",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Ruby 3.2",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running Python 3.11",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running PHP 8.4",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running PHP 8.3",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running PHP 8.1",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running PHP 8.2",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.5.3 running Go 1",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v6.7.3 running Node.js 22",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v6.7.3 running Node.js 24",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v6.7.3 running Node.js 20",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Corretto 21",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Corretto 17",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v3.7.2 running .NET 9",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v3.7.2 running .NET 10",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.3.3 running ECS",
"PermittedFileTypes": []
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Corretto 8",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Corretto 25",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.9.2 running Docker",
"PermittedFileTypes": []
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v3.7.2 running .NET 8",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v4.8.3 running Corretto 11",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.6.3 running ECS",
"PermittedFileTypes": []
},
{
"SolutionStackName": "64bit Amazon Linux 2 v4.10.3 running Tomcat 9 Corretto 11",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v2.12.3 running .NET Core",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v4.5.2 running Docker",
"PermittedFileTypes": []
},
{
"SolutionStackName": "64bit Amazon Linux 2 v4.10.3 running Tomcat 9 Corretto 8",
"PermittedFileTypes": [
"war",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.10.3 running Corretto 8",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.10.3 running Corretto 17",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.12.2 running PHP 8.1",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.10.3 running Corretto 11",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.14.3 running Go 1",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v3.5.4 running .NET 9",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2023 v3.1.1 running .NET 8",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v2.3.4 running .NET Core",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v2.2.6 running .NET Core",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v2.2.4 running .NET Core",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v2.2.2 running .NET Core",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.3.2 running PHP 8.0",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v3.2.1 running Corretto 11",
"PermittedFileTypes": [
"jar",
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v2.1.0 running .NET Core",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2 v5.2.3 running Node.js 12",
"PermittedFileTypes": [
"zip"
]
},
{
"SolutionStackName": "64bit Amazon Linux 2018.03 v2.6.33 running Packer 1.0.3",
"PermittedFileTypes": []
}
]
}
使ってみた
新しいアクションを使ってデプロイできる一式を用意してみました。
次のリポジトリに今回ワークフローと Elastic Beanstalk のサンプルアプリケーションを保存しています。
デプロイされた環境がこちらです。設定した IAM ユーザーやロールを使って無事デプロイされました。

さいごに
本日は AWS Elastic Beanstalk デプロイ用の GitHub アクションが追加されたので使ってみました。
今更追加されたのかという感じがしますが、この様子だと Elastic Beanstalk はまだまだサポートされ続けそうですね。
これまでマーケットプレイスの Elastic Beanstalk 用アクションを使われていた方はぜひ移行を検討してみてください。






