各サービス(ロードバランサー、EC2など)を経由せずにEC2サーバーで実行できるようにAmazon Elastic Beanstalkをアトミックユニットとして停止し、それらを個別に停止(および開始)するオプションがあるかどうかを知りたいですか?
EBコマンドラインインターフェイス にはeb stop
コマンドがあります。 ここ は、コマンドが実際に行うことについて少し説明しています。
Eb stopコマンドは、アプリケーションを実行しているAWSリソース(ELBやEC2インスタンスなど)を削除します。ただし、デプロイしたすべてのアプリケーションバージョンと構成設定が残るため、すぐに再開できます。 Eb stopは、アプリケーションを開発およびテストしていて、AWSリソースを一晩実行する必要がない場合に理想的です。 eb startを実行するだけで、再開できます。
編集:
以下のコメントで述べられているように、これは新しいeb-cli
のコマンドではなくなりました。
負荷分散された環境がある場合は、次のトリックを試すことができます
$ aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name my-auto-scaling-group \
--min-size 0 --max-size 0 --desired-capacity 0
環境からすべてのインスタンスを削除しますが、環境自体は削除しません。残念ながら、それでも弾性ロードバランサーの料金を支払うことになります。しかし、通常、EC2は最も「重い」部分です。
0で動作しますか?
はい、そうです
$ aws autoscaling describe-auto-scaling-groups --region us-east-1 \
--auto-scaling-group-name ASG_NAME \
--query "AutoScalingGroups[].{DesiredCapacity:DesiredCapacity,MinSize:MinSize,MaxSize:MaxSize}"
[
{
"MinSize": 2,
"MaxSize": 2,
"DesiredCapacity": 2
}
]
$ aws autoscaling update-auto-scaling-group --region us-east-1 \
--auto-scaling-group-name ASG_NAME \
--min-size 0 --max-size 0 --desired-capacity 0
$ aws autoscaling describe-auto-scaling-groups --region us-east-1 \
--auto-scaling-group-name ASG_NAME \
--query "AutoScalingGroups[].{DesiredCapacity:DesiredCapacity,MinSize:MinSize,MaxSize:MaxSize}"
[
{
"MinSize": 0,
"MaxSize": 0,
"DesiredCapacity": 0
}
]
そして、あなたは環境の状態をチェックすることができます
$ eb status -v
Environment details for: test
Application name: TEST
Region: us-east-1
Deployed Version: app-170925_181953
Environment ID: e-1234567890
Platform: arn:aws:elasticbeanstalk:us-east-1::platform/Multi-container Docker running on 64bit Amazon Linux/2.7.4
Tier: WebServer-Standard
CNAME: test.us-east-1.elasticbeanstalk.com
Updated: 2017-09-25 15:23:22.980000+00:00
Status: Ready
Health: Grey
Running instances: 0
Beanstalk Webコンソールに、次のメッセージが表示されます。
INFO Environment health has transitioned from Ok to No Data.
There are no instances. Auto Scaling group desired capacity is set to zero.
eb stop
は非推奨です。私も同じ問題を抱えていました。私が思いついた唯一の解決策は、環境をバックアップしてから復元することでした。
これが私がそれを説明しているブログ投稿です: http://pminkov.github.io/blog/how-to-shut-down-and-restore-an-elastic-beanstalk-environment.html