[アップデート] AWS Systems Manager Change Manager で指定した数の承認が得られれば変更を許可する設定が出来るようになりました

2023.02.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

最近 Change Manager と Change Calendar を触る機会があったのですが、本日タイムリーに Change Manager でアップデートがありました。

従来も変更テンプレートで承認者をグループ指定で必須人数の指定は出来ていたと記憶していますが、テンプレートからユーザー指定時あるいは組み合わせで複数人を指定した上で必要な承認数も指定出来るようになりました。

どのような感じなのか見てみたいと思います。

テンプレートの承認レベルごとに必要な承認者の数が指定出来るようになった

従来以下のようにユーザーあるいはグループやロールを指定する形で、テンプレート側で指定された承認者の承認は必ず必要でした。

それが以下のようにレベルごとに必要な承認者数を指定出来るようになりました。

最大値は 5 です。
ここで例えば 3 人の承認者を指定して、必要な承認者数に 2 を指定すると次のようになります。

3 人中 2 人の承認が得られれば良いということです。

既存テンプレートの場合は First レベルを一度削除したら設定可能に

変更前の既存テンプレートの場合だと承認者数の入力テキストボックスが表示されていませんでした。
テンプレートの編集時に一度レベルを削除して追加しなおすと入力出来るようになりました。

必要な承認者数と追加された人数で制御されている

従来どおり全員必須にしたい場合は必要な人数を入力した上で、同じ数の承認者を指定することで従来どおりの全員必須の承認レベルを作成することが出来ます。

また、追加した承認者の数が指定した必要な承認者数に満たない場合はテンプレートの更新に失敗します。
まぁそうですよね。

複数人で承認してみる

では実際に何人かで承認して挙動を見てみます。
テンプレートを 2 つ用意しました。

1 つはアップデート前に用意したテンプレートで、承認者に 3 人指定されているものです。
もう 1 つは必要な承認者数に 2 が指定されており、対象承認者に 3 人指定しているものです。

テンプレートで実行される変更は EC2 の起動です。

1 人目の承認

1 人目承認しました。
ここではまだ何も動きなしです。

2 人目の承認

2 人目承認しました。

すると、必要承認者数が 2 の変更リクエストが、期待どおり進行中になりましたね。
EC2 が起動されました。

必要承認数が 3 人である従来のテンプレートは保留中のままです。

3 人目の承認

3 人目の承認ですが、先程実行されたリクエストについては承認者側の保留中リクエスト画面には表示されませんでした。

リクエストの承認一覧では 3 人目の承認者のステータスが「待機中」にはなっていますが、リクエスト自体のステータスが「成功」なのでもう終わったものとして扱われているようです。

3 人目も残ったリクエストを承認します。

従来のテンプレートを使ったリクエストも期待どおり処理されましたね。

誰か 1 人でも却下するとリクエストは即却下される

全員がなかなか承認しくれない状況でも必要数が許可してくれれば変更を実行出来るようになりました。
ここで仮に承認者が「却下」を選択した場合はどうなるのでしょうか。

例えば必要な承認者数が 2 人で、最初の 1 人目が許可している次のような状態で、が残り 2 人がそれぞれ順に却下と承認をした場合です。

上記状態で先程は 2 人目で承認を行い、それによって変更が実行されました。
そして 3 人目の承認・却下操作は行えなくなりました。そのため、必要数 2 の場合に「承認 → 承認 → 却下」となるケースは無いですね。

2 人目で却下してみます。

2 人目で却下されるとリクエストステータスが「保留中」ではなく「却下済み」になりました。
3 人目が承認することでこの却下されたリクエストは復活するのか、果たして。

3 人目の保留中リクエストには表示されませんでした。
誰か一人でも却下した場合は即リクエストが破棄されるようです。なるほど。

さいごに

本日は AWS Systems Manager Change Manager で指定した数の承認が得られれば変更を許可する設定が出来るようになったのでいくつか基本的なパターンを実際に試してみました。

以前自動承認機能が登場しましたが、組織の承認者が多すぎてボトルネックになるようなケースもあるので、こういった柔軟な指定が出来るようになるのは良いですね。

「拒否はしないが承認もしない。誰かがやるだろう。」みたいな承認者が登場しなければ良いですね。