update-ami

module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2023 License: MIT

README

Coverage Status

update-ami

更新されたAuto Scaling Groupの設定をECSコンテナインスタンスに反映させるため,インスタンスの入れ替え作業を行うCLI

Usage

Install

go install github.com/noritama73/update-ami/cmd/update-ami@latest

Example

update-ami replace-instances --region ap-northeast-1 --profile <user>@<account> --cluster <cluster> --max-attempt 20 --waiter-delay 10

Arguments

cluster (Required)

対象とするECSクラスタ名.無ければAWS_ECS_CLUSTERを読む

region (Required)

対象のAWSリージョン.無ければAWS_REGIONを読む

profile (Required)

AWS CLIを使用するユーザのprofile,MFA対応.無ければAWS_PROFILEを読む

max-attempt (optional)

インスタンスのステータスチェックを行う最大試行回数.デフォルト40回

delay (optional)

インスタンスのステータスチェックを行う間隔.デフォルト20秒

asg-name (optional)

対象クラスタに紐づくAutoScaling Groupの名前.指定しないとクラスタと同じ文字列が入ります

内部的に実行される手順

  1. 既存のコンテナインスタンスのIDを控える
  2. ASGのmax-sizeとdesired capacityを1増やす
  3. 新しいインスタンスが追加されるのを待つ
  4. 古いインスタンスを1つドレインする
  5. ドレインされたらderegister→terminate
  6. インスタンスが増えるのを待つ
  7. サービスを強制更新
  8. ちょっと待つ
  9. 4.に戻る
  10. 最後のインスタンスをterminateしたら,max-sizeとdesired capacityを1減らす(元に戻す)

Directories

Path Synopsis
cmd
internal
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL