はじめに
DX技術本部の yu-yama
です。
の記事の
**インスタンスに目的の設定が既に存在する場合、そのインスタンスの置換をインスタンス更新で回避できるようになりました。**この機能を使用すると、目的の設定に一致する設定のインスタンスをスキップすることによって、迅速なロールフォワードやロールバックが可能になります。この追加のインスタンス更新コントロールは、インスタンス更新が失敗した場合や完了前にキャンセルされた場合に ASG を更新する際に便利です。この機能は、EC2 起動テンプレートを使用して目的のインスタンス構成設定を定義します。
の部分の解説をします。
これまでは
インスタンスをv1からv2にバージョンアップする際に失敗した場合
今回の更新によって
失敗したもののみインスタンスの更新を行うことができるように!
具体的なやり方(起動テンプレートのデフォルトバージョンへの移行)
現時点(2021/12/22)ではまだAWS SDK、AWS CLI しか対応してない模様です。マネコン未対応。
上記参考に config を用意して
{
"AutoScalingGroupName": "yu-yama-asg",
"DesiredConfiguration": {
"LaunchTemplate": {
"LaunchTemplateId": "{起動テンプレートのID}",
"Version": "$Default"
},
"MixedInstancesPolicy": {
"LaunchTemplate": {
"Overrides": [
{"InstanceType": "t1.micro"}
]
}
}
},
"Preferences": {
"InstanceWarmup": 400,
"MinHealthyPercentage": 50,
"SkipMatching": true
}
}
のように config.yamlに "SkipMatching": true
を記載して、コマンドを実行すると、
$ aws autoscaling start-instance-refresh --cli-input-json file://config.json
起動テンプレートのデフォルトバージョンを既に使用しているインスタンスに対しては更新がスキップされます。
注意
実行にはaws-cli v2.4.7 を使用しました
$ aws --version
aws-cli/2.4.7 Python/3.8.8 Linux/5.10.75-79.358.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off
最後に
全てをやり直しすることなくインスタンスの更新が出来る地味にうれしいアップデートですね。
こちらの記事が誰かの役に立てば幸いです。