概要
AWS CLIを使い、Docker on Elastic Beanstalkで簡単にアプリケーションを公開するまでの流れを体感して頂きます。
Dockerについては、詳しく解説しません。
前提条件
- AWS CLIを実行する環境構築が完了していること(インストールおよび認証情報の設定など)
- 本日のハンズオン手順は、以下の権限を有している認証情報で動作確認を行いました。
- EC2のフルコントロール権限
- S3のフルコントロール権限
- Elastic Beanstalkのフルコントロール権限
- stsのフルコントロール権限
- 本日のハンズオン手順は、以下の条件で検証しました。
- Amazon Linux上で操作すること(Macであれば同じ手順で実行できるはずです)
- 東京リージョンを指定(Elastic Beanstalkをサポートしている他のリージョンでも動作するはずです)
- Default VPCが存在する
- Internet facingなサブネット(Pubic Subnet)がDefault VPCに構成されている
作業環境が整っていない場合は、JAWS-UG CLI 総合案内をご確認ください。
0. 準備
0.1. リージョンを指定
export AWS_DEFAULT_REGION='ap-northeast-1'
0.2. 資格情報を確認
aws configure list
インスタンスプロファイルを設定したEC2インスタンスでアクセスキーを設定せずに実行した場合、以下のようになります。
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************RDPA iam-role
secret_key ****************9GA8 iam-role
region ap-northeast-1 env AWS_DEFAULT_REGION
0.3. バージョン確認
aws --version
aws-cli/1.10.46 Python/2.7.10 Linux/4.4.14-24.50.amzn1.x86_64 botocore/1.4.36
0.4. バージョンアップ(必要に応じて)
sudo pip install -U awscli
1. アプリケーションの作成
1.1. アプリケーション名の決定
EB_APP_NAME="AWS CLI Conf Elastic Beanstalk Application 20160718"
1.2. アプリケーションの不存在確認 (describe-applications)
aws elasticbeanstalk describe-applications \
--application-names "${EB_APP_NAME}"
{
"Applications": []
}
※以降の手順では、手順を再利用しやすいように変数を利用しています。
1.3. アプリケーション作成
変数の確認
cat << ETX
EB_APP_NAME: "${EB_APP_NAME}"
ETX
EB_APP_NAME: "AWS CLI Conf Elastic Beanstalk Application"
アプリケーションの作成
aws elasticbeanstalk create-application \
--application-name "${EB_APP_NAME}"
{
"Application": {
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"ConfigurationTemplates": [],
"DateUpdated": "2016-06-25T09:10:37.175Z",
"DateCreated": "2016-06-25T09:10:37.175Z"
}
}
1.4. イベント確認
Elastic Beanstalkに対する操作によって発生したイベントを確認することができます。
aws elasticbeanstalk describe-events \
--application-name "${EB_APP_NAME}"
(略)
2. アプリケーションバージョンの作成
デプロイするアプリケーションを定義します。
ここでは、サンプルアプリケーションを指定します。(特にソースを指定しない場合、サンプルアプリケーションが指定されます。)
2.1. 最初のversion名の決定
EB_VER_LABEL="Sample Application"
2.2. アプリケーションバージョンの不存在を確認
aws elasticbeanstalk describe-application-versions \
--application-name "${EB_APP_NAME}"
{
"ApplicationVersions": []
}
2.3. アプリケーションバージョンの作成
変数の確認
cat << ETX
EB_APP_NAME: "${EB_APP_NAME}"
EB_VER_LABEL: "${EB_VER_LABEL}"
ETX
EB_APP_NAME: "AWS CLI Conf Elastic Beanstalk Application"
EB_VER_LABEL: "Sample Application"
アプリケーションバージョンの作成
aws elasticbeanstalk create-application-version \
--application-name "${EB_APP_NAME}" \
--version-label "${EB_VER_LABEL}"
{
"ApplicationVersion": {
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"Status": "UNPROCESSED",
"VersionLabel": "Sample Application",
"DateCreated": "2016-06-25T09:25:23.840Z",
"DateUpdated": "2016-06-25T09:25:23.840Z",
"SourceBundle": {
"S3Bucket": "elasticbeanstalk-ap-northeast-1",
"S3Key": "GenericSampleApplication"
}
}
}
3. 環境の作成
アプリケーションが実際に動作する環境を作成します。
3.1. environment名の決定
EB_ENV_NAME="Default-Environment"
3.2. Solution Stackの一覧確認
aws elasticbeanstalk list-available-solution-stacks \
--query 'SolutionStacks[]'
[
(略)
"64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1",
"64bit Amazon Linux 2015.09 v2.0.6 running Docker 1.7.1",
"64bit Amazon Linux 2015.03 v1.4.6 running Docker 1.6.2",
"64bit Amazon Linux 2016.03 v2.1.1 running Multi-container Docker 1.9.1 (Generic)",
"64bit Amazon Linux 2015.03 v1.4.6 running Multi-container Docker 1.6.2 (Generic)",
"64bit Debian jessie v2.1.0 running GlassFish 4.1 Java 8 (Preconfigured - Docker)",
"64bit Debian jessie v2.1.0 running GlassFish 4.0 Java 7 (Preconfigured - Docker)",
"64bit Debian jessie v1.4.6 running GlassFish 4.1 Java 8 (Preconfigured - Docker)",
"64bit Debian jessie v1.4.6 running GlassFish 4.0 Java 7 (Preconfigured - Docker)",
"64bit Debian jessie v2.1.0 running Go 1.4 (Preconfigured - Docker)",
"64bit Debian jessie v2.1.0 running Go 1.3 (Preconfigured - Docker)",
"64bit Debian jessie v1.4.6 running Go 1.4 (Preconfigured - Docker)",
"64bit Debian jessie v1.4.6 running Go 1.3 (Preconfigured - Docker)",
"64bit Debian jessie v2.1.0 running Python 3.4 (Preconfigured - Docker)",
"64bit Debian jessie v1.4.6 running Python 3.4 (Preconfigured - Docker)",
(略)
]
3.3. Solution Stackの決定
このハンズオンでは、トレンディーなDockerを使います。
EB_ENV_SOL='64bit Amazon Linux 2016.03 v2.1.3 running Docker 1.11.1'
3.4. Solution Stackの内容確認
aws elasticbeanstalk describe-configuration-options \
--solution-stack-name "${EB_ENV_SOL}"
(略)
3.5. Environmentの不存在を確認
aws elasticbeanstalk describe-environments \
--application-name "${EB_APP_NAME}" \
--environment-names "${EB_ENV_NAME}"
{
"Environments": []
}
3.6. environmentの起動
変数の確認
cat << ETX
EB_APP_NAME: "${EB_APP_NAME}"
EB_ENV_NAME: ${EB_ENV_NAME}
EB_VER_LABEL: "${EB_VER_LABEL}"
EB_ENV_SOL: "${EB_ENV_SOL}"
ETX
EB_APP_NAME: "AWS CLI Conf Elastic Beanstalk Application"
EB_ENV_NAME: Default-Environment
EB_VER_LABEL: "Sample Application"
EB_ENV_SOL: "64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1"
Environmentの作成
aws elasticbeanstalk create-environment \
--application-name "${EB_APP_NAME}" \
--environment-name ${EB_ENV_NAME} \
--version-label "${EB_VER_LABEL}" \
--solution-stack-name "${EB_ENV_SOL}"
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"EnvironmentName": "Default-Environment",
"VersionLabel": "Sample Application",
"Status": "Launching",
"EnvironmentId": "e-9rv4qkn3bn",
"SolutionStackName": "64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1",
"Health": "Grey",
"Tier": {
"Version": " ",
"Type": "Standard",
"Name": "WebServer"
},
"DateUpdated": "2016-06-25T09:32:11.470Z",
"DateCreated": "2016-06-25T09:32:11.470Z"
}
3.7. Environment IDの取得
EB_ENV_ID=$(aws elasticbeanstalk describe-environments \
--application-name "${EB_APP_NAME}" \
--environment-names "${EB_ENV_NAME}" \
--query Environments[?EnvironmentName==\'${EB_ENV_NAME}\'].EnvironmentId \
--output text) \
&& echo ${EB_ENV_ID}
e-**********
3.8. Environmentのステータス確認
aws elasticbeanstalk describe-environments \
--application-name "${EB_APP_NAME}" \
--environment-ids "${EB_ENV_ID}" \
--query Environments[?EnvironmentName==\'${EB_ENV_NAME}\'].Status \
--output text
Ready
Readyになるまで、おおむね5分程度かかるようです。
余裕があれば、「1.4. イベント確認」のコマンドで、処理の進捗を確認しましょう。
3.9. URLの取得
aws elasticbeanstalk describe-environments \
--application-name "${EB_APP_NAME}" \
--environment-names "${EB_ENV_NAME}" \
--query Environments[?EnvironmentName==\'${EB_ENV_NAME}\'].CNAME \
--output text
Default-Environment.**********.elasticbeanstalk.com
3.10. アクセス確認
ブラウザでアクセスして、アプリケーションが表示されることを確認しましょう。
3.11. configuration-settingsの確認
ソリューションスタックの既定値に基づいて環境が構成されています。
aws elasticbeanstalk describe-configuration-settings \
--application-name "${EB_APP_NAME}" \
--environment-name "${EB_ENV_NAME}"
(略)
3.12. Environmentのリソース確認
環境の作成によって、実際に作成されたリソース(EC2インスタンス、ELB、AutoScalingGroup、LaunchConfigurationなど)を確認します。
aws elasticbeanstalk describe-environment-resources \
--environment-id ${EB_ENV_ID}
{
"EnvironmentResources": {
"EnvironmentName": "Default-Environment",
"AutoScalingGroups": [
{
"Name": "awseb-e-9rv4qkn3bn-stack-AWSEBAutoScalingGroup-1************"
}
],
"Triggers": [],
"LoadBalancers": [
{
"Name": "awseb-e-9-AWSEBLoa-************"
}
],
"Queues": [],
"Instances": [
{
"Id": "i-0****************"
}
],
"LaunchConfigurations": [
{
"Name": "awseb-e-9rv4qkn3bn-stack-AWSEBAutoScalingLaunchConfiguration-************"
}
]
}
}
4. Environmentの更新(アプリケーションバージョンの入れ替え)
4.1. S3バケットの確認
アプリケーションのソースの配置先として、S3を利用します。
Beanstalkのアプリケーションを作成した際に、Beanstalkを初めて利用する場合にはデフォルトのS3バケットが作成されます。
今回は、そのバケットを利用します。
AWS IDの確認
AWS_ID=`aws sts get-caller-identity \
--query Account --output text` \
&& echo ${AWS_ID}
************
デフォルトのバケット名の指定
S3_BUCKET_NAME="elasticbeanstalk-${AWS_DEFAULT_REGION}-${AWS_ID}" \
&& echo ${S3_BUCKET_NAME}
elasticbeanstalk-ap-northeast-1-************
バケットのコンテンツを確認
aws s3 ls s3://${S3_BUCKET_NAME}
PRE resources/
2016-06-09 10:22:15 0 .elasticbeanstalk
4.2. 新しいアプリケーションバージョン名の指定
EB_VER_LABEL="Sample Application Second Version"
4.3. 新しいアプリケーションバージョンのソースコードを生成
Dockerfileの名前を指定
DOCKER_FILE_NAME="Dockerfile"
Dockerfileを生成
もし、動作させてみたいDockerfileがあれば、以下のヒアドキュメントで生成する内容を置き換えてみてください。
cat << EOF > ${DOCKER_FILE_NAME}
FROM centos:6
RUN yum -y install httpd
RUN chkconfig httpd off
EXPOSE 80
CMD ["/usr/sbin/apachectl", "-DFOREGROUND"]
EOF
cat ${DOCKER_FILE_NAME}
Dockerfileを圧縮
zip ${DOCKER_FILE_NAME}.zip ${DOCKER_FILE_NAME}
adding: Dockerfile (deflated 5%)
4.4. ソースコードのS3バケットへの転送
S3_OBJECT_NAME=${DOCKER_FILE_NAME}.zip
aws s3 cp ${S3_OBJECT_NAME} s3://${S3_BUCKET_NAME}/${S3_OBJECT_NAME}
upload: ./Dockerfile.zip to s3://elasticbeanstalk-ap-northeast-1-************/Dockerfile.zip
4.5. アプリケーションバージョンの不存在を確認
aws elasticbeanstalk describe-application-versions \
--application-name "${EB_APP_NAME}" \
--version-labels "${EB_VER_LABEL}"
{
"ApplicationVersions": []
}
4.6. 新しいアプリケーションバージョンの作成
変数の確認
cat << ETX
EB_APP_NAME: "${EB_APP_NAME}"
EB_VER_LABEL: "${EB_VER_LABEL}"
S3_BUCKET_NAME: ${S3_BUCKET_NAME}
S3_OBJECT_NAME: ${S3_OBJECT_NAME}
ETX
EB_APP_NAME: "AWS CLI Conf Elastic Beanstalk Application"
EB_VER_LABEL: "Sample Application Second Version"
S3_BUCKET_NAME: elasticbeanstalk-ap-northeast-1-************
S3_OBJECT_NAME: Dockerfile.zip
アプリケーションバージョンの作成
aws elasticbeanstalk create-application-version \
--application-name "${EB_APP_NAME}" \
--version-label "${EB_VER_LABEL}" \
--source-bundle "S3Bucket=${S3_BUCKET_NAME},S3Key=${S3_OBJECT_NAME}"
{
"ApplicationVersion": {
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"Status": "UNPROCESSED",
"VersionLabel": "Sample Application Second Version",
"DateCreated": "2016-06-25T10:54:51.343Z",
"DateUpdated": "2016-06-25T10:54:51.343Z",
"SourceBundle": {
"S3Bucket": "elasticbeanstalk-ap-northeast-1-************",
"S3Key": "Dockerfile.zip"
}
}
}
4.7. Environmentの内容確認
この時点では、VersionLabelがSample Applicationです。
aws elasticbeanstalk describe-environments \
--application-name "${EB_APP_NAME}" \
--environment-names "${EB_ENV_NAME}"
{
"Environments": [
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"EnvironmentName": "Default-Environment",
"VersionLabel": "Sample Application",
"Status": "Ready",
"EnvironmentLinks": [],
"EnvironmentId": "e-9rv4qkn3bn",
"EndpointURL": "awseb-e-9-AWSEBLoa-CDOQ0ZQN2970-242230098.ap-northeast-1.elb.amazonaws.com",
"SolutionStackName": "64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1",
"CNAME": "Default-Environment.uksxxctdpr.ap-northeast-1.elasticbeanstalk.com",
"Health": "Green",
"AbortableOperationInProgress": false,
"Tier": {
"Version": " ",
"Type": "Standard",
"Name": "WebServer"
},
"DateUpdated": "2016-06-25T09:38:55.277Z",
"DateCreated": "2016-06-25T09:32:11.440Z"
}
]
}
4.8. Environmentの更新
変数の確認
cat << ETX
EB_ENV_ID: ${EB_ENV_ID}
EB_VER_LABEL: "${EB_VER_LABEL}"
ETX
EB_ENV_ID: e-**********
EB_VER_LABEL: "Sample Application Second Version"
更新
VersionLabelがSample Application Second Versionになっています。
aws elasticbeanstalk update-environment \
--environment-id ${EB_ENV_ID} \
--version-label "${EB_VER_LABEL}"
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"EnvironmentName": "Default-Environment",
"VersionLabel": "Sample Application Second Version",
"Status": "Updating",
"EnvironmentId": "e-**********",
"EndpointURL": "awseb-e-9-AWSEBLoa-CDOQ0ZQN2970-*********.ap-northeast-1.elb.amazonaws.com",
"SolutionStackName": "64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1",
"CNAME": "Default-Environment.**********.ap-northeast-1.elasticbeanstalk.com",
"Health": "Grey",
"AbortableOperationInProgress": true,
"Tier": {
"Version": " ",
"Type": "Standard",
"Name": "WebServer"
},
"DateUpdated": "2016-06-25T11:00:03.588Z",
"DateCreated": "2016-06-25T09:32:11.440Z"
}
更新が完了するまで、5分ほどお待ちください。
4.9. Environmentのステータス確認
aws elasticbeanstalk describe-environments \
--application-name "${EB_APP_NAME}" \
--environment-ids "${EB_ENV_ID}" \
--query Environments[?EnvironmentName==\'${EB_ENV_NAME}\'].Status \
--output text
Ready
4.10. アクセス確認
ブラウザでアクセスして、アプリケーションが表示されることを確認しましょう。
(URLは同じです。)
ノート: キャッシュによって旧コンテンツが見えている場合があります。その場合 は、キャッシュをクリアしてみてください。
5. Environmentの削除
5.1. Environmentの削除
変数の確認
cat << ETX
EB_ENV_ID: ${EB_ENV_ID}
ETX
EB_ENV_ID: e-**********
存在確認
aws elasticbeanstalk describe-environments \
--environment-id ${EB_ENV_ID}
{
"Environments": [
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"EnvironmentName": "Default-Environment",
"VersionLabel": "Sample Application Second Version",
"Status": "Terminating",
"EnvironmentLinks": [],
"EnvironmentId": "e-***********",
"EndpointURL": "awseb-e-f-AWSEBLoa-1AMGFW79TIGSY-**********.ap-northeast-1.elb.amazonaws.com",
"SolutionStackName": "64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1",
"CNAME": "Default-Environment.**********.ap-northeast-1.elasticbeanstalk.com",
"Health": "Grey",
"AbortableOperationInProgress": false,
"Tier": {
"Version": " ",
"Type": "Standard",
"Name": "WebServer"
},
"DateUpdated": "2016-07-10T11:37:03.706Z",
"DateCreated": "2016-07-10T11:19:06.883Z"
}
]
}
削除
aws elasticbeanstalk terminate-environment \
--environment-id ${EB_ENV_ID}
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"EnvironmentName": "Default-Environment",
"Status": "Terminating",
"EnvironmentId": "e-**********",
"EndpointURL": "awseb-e-p-AWSEBLoa-1P5VW8W5KAVPV-*********.ap-northeast-1.elb.amazonaws.com",
"SolutionStackName": "64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1",
"CNAME": "Default-Environment.**********.ap-northeast-1.elasticbeanstalk.com",
"Health": "Grey",
"AbortableOperationInProgress": false,
"Tier": {
"Version": " ",
"Type": "Standard",
"Name": "WebServer"
},
"DateUpdated": "2016-06-26T10:15:49.149Z",
"DateCreated": "2016-06-26T09:44:21.137Z"
}
削除が完了するまで、5分程度かかります。
5.2. Environmentのステータス確認
aws elasticbeanstalk describe-environments \
--application-name "${EB_APP_NAME}" \
--environment-ids "${EB_ENV_ID}" \
--query Environments[?EnvironmentName==\'${EB_ENV_NAME}\'].Status \
--output text
Terminated
5.3. Environmentのリソース確認
aws elasticbeanstalk describe-environment-resources \
--environment-name "${EB_ENV_NAME}"
A client error (InvalidParameterValue) occurred when calling the DescribeEnvironmentResources operation: No Environment found for EnvironmentName = 'Default-Environment'.
6.アプリケーションバージョンの削除
不要になった過去のバージョンを削除します。
6.1. アプリケーションバージョンの一覧取得
aws elasticbeanstalk describe-application-versions \
--application-name "${EB_APP_NAME}" \
--query ApplicationVersions[].VersionLabel
[
"Sample Application Second Version",
"Sample Application"
]
6.2. アプリケーションバージョンの指定(1)
EB_VER_LABEL="Sample Application"
6.3. アプリケーションバージョンの削除(1)
変数の確認
cat << ETX
EB_APP_NAME: "${EB_APP_NAME}"
EB_VER_LABEL: "${EB_VER_LABEL}"
ETX
EB_APP_NAME: "AWS CLI Conf Elastic Beanstalk Application"
EB_VER_LABEL: "Sample Application"
存在確認
aws elasticbeanstalk describe-application-versions \
--application-name "${EB_APP_NAME}" \
--version-label "${EB_VER_LABEL}"
{
"ApplicationVersions": [
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"Status": "UNPROCESSED",
"VersionLabel": "Sample Application",
"DateCreated": "2016-07-10T11:18:00.683Z",
"DateUpdated": "2016-07-10T11:18:00.683Z",
"SourceBundle": {
"S3Bucket": "elasticbeanstalk-ap-northeast-1",
"S3Key": "GenericSampleApplication"
}
}
]
}
削除
aws elasticbeanstalk delete-application-version \
--application-name "${EB_APP_NAME}" \
--version-label "${EB_VER_LABEL}"
(戻り値なし)
6.4. アプリケーションバージョンの指定(2)
EB_VER_LABEL="Sample Application Second Version"
6.5. アプリケーションバージョンの削除(2)
変数の確認
cat << ETX
EB_APP_NAME: "${EB_APP_NAME}"
EB_VER_LABEL: "${EB_VER_LABEL}"
ETX
EB_APP_NAME: "AWS CLI Conf Elastic Beanstalk Application"
EB_VER_LABEL: "Sample Application Second Version"
存在確認
aws elasticbeanstalk describe-application-versions \
--application-name "${EB_APP_NAME}" \
--version-label "${EB_VER_LABEL}"
{
"ApplicationVersions": [
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"Status": "UNPROCESSED",
"VersionLabel": "Sample Application Second Version",
"DateCreated": "2016-07-10T11:30:28.221Z",
"DateUpdated": "2016-07-10T11:30:28.221Z",
"SourceBundle": {
"S3Bucket": "elasticbeanstalk-ap-northeast-1-************",
"S3Key": "Dockerfile.zip"
}
}
]
}
削除
aws elasticbeanstalk delete-application-version \
--application-name "${EB_APP_NAME}" \
--version-label "${EB_VER_LABEL}"
(戻り値なし)
6.6. アプリケーションバージョンの不存在を確認
aws elasticbeanstalk describe-application-versions \
--application-name "${EB_APP_NAME}" \
--query ApplicationVersions[].VersionLabel
[]
6.7. Dockerfileの削除
変数の確認
cat << ETX
S3_BUCKET_NAME: "${S3_BUCKET_NAME}"
S3_OBJECT_NAME: "${S3_OBJECT_NAME}"
ETX
S3_BUCKET_NAME: "elasticbeanstalk-ap-northeast-1-************"
S3_OBJECT_NAME: "Dockerfile.zip"
存在確認
aws s3 ls s3://${S3_BUCKET_NAME}/${S3_OBJECT_NAME}
2016-07-10 11:46:30 283 Dockerfile.zip
削除
aws s3 rm s3://${S3_BUCKET_NAME}/${S3_OBJECT_NAME}
delete: s3://elasticbeanstalk-ap-northeast-1-************/Dockerfile.zip
6.8. Dockerfileの不存在を確認
aws s3 ls s3://${S3_BUCKET_NAME}/${S3_OBJECT_NAME}
(戻り値なし)
7.アプリケーションの削除
7.1. アプリケーションの削除
変数の確認
cat << ETX
EB_APP_NAME: "${EB_APP_NAME}"
ETX
EB_APP_NAME: "AWS CLI Conf Elastic Beanstalk Application"
存在確認
aws elasticbeanstalk describe-applications \
--application-name "${EB_APP_NAME}"
{
"Applications": [
{
"ApplicationName": "AWS CLI Conf Elastic Beanstalk Application",
"ConfigurationTemplates": [],
"DateUpdated": "2016-07-10T11:15:43.891Z",
"DateCreated": "2016-07-10T11:15:43.891Z"
}
]
}
削除
aws elasticbeanstalk delete-application \
--application-name "${EB_APP_NAME}"
(戻り値なし)
7.2. アプリケーションの不存在を確認
aws elasticbeanstalk describe-applications \
--application-name "${EB_APP_NAME}"
{
"Applications": []
}
以上です。
お疲れ様でした。