[アップデート] Control Tower のバージョン 2.9 がリリースされたのでアップデートしてみた

Control Tower の新しいランディングゾーンのバージョン 2.9 がリリースされました。Lambda 関数のランタイムサポートに関するアップデートであるため、はやめのアップデートを検討しましょう。
2022.04.28

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

こんにちは、大前です。

Control Tower にアップデートがあり、ランディングゾーンのバージョン 2.9 がリリースされました。バージョンアップによる更新内容を確認しつつ、実際にバージョンアップを行なってみましたので紹介します。

参考 : AWS Control Tower now supports Python 3.9 runtime

Control Tower 2.9 の更新内容

Control Tower 2.8 → 2.9 における変更点は以下です。

  • 通知フォワード用の Lambda 関数のランタイムを Python 3.6 から Python 3.9 に更新

Control Tower 2.7 → 2.8 のアップデートでは機能追加や設定変更がいくつかありましたが、今回はシンプルですね。

Control Tower は、各メンバーアカウントに Config Rule とそのステータスを監視、通知するための EventBridge Rule、Lambda を展開しています。今回のアップデートの対象となるのはこの仕組みに登場する Lambda 関数になります。


Lambda における Python 3.6 のサポートは、2022/7/18 で 新規作成が不可、2022/8/17 で 作成も更新も不可 となることが発表されているため、それに対応するためのアップデートになります。Lambda のランタイムサポートに関する詳細については、以下ドキュメントを見ていただければと思います。(英語版を参照ください)

参考 : Lambda runtimes - AWS Lambda


Lambda のサポート期間を過ぎても関数の実行ができなくなるわけではありませんが、セキュリティパッチ等の更新がなくなることや、Lambda 関数の更新ができなくなることによる Control Tower 側への影響も懸念されます。そのため、2.9 へのアップデートは必須と考えるのが良さそうです。


また、Control Tower のランディングゾーンを 2.9 にあげると、当然ですが、2.8 以前の変更も適用される形になります。2.8 以前でどの様な変更が発生するかについては、公式がリリースノートを提供していますので、まずはこちらを参照いただければと思います。

AWS Control Tower release notes - AWS Control Tower


また、弊社ブログでは過去の Control Tower アップデートを都度紹介しております。こちらも参考にしていただけますと幸いです。

やってみた

では、実際に Control Tower を 2.9 にアップデートしてみます。

アップデート前の状態を確認

コンソールから、アップデートを実施する前の状態を確認しておきます。

Control Tower のバージョンは 2.8 です。


2.9 が利用可能であることも確認できます。


適当なメンバーアカウントにログインし、Lambda 関数(aws-controltower-NotificationForwarder)を確認すると、ランタイムが Python 3.6 であることも確認できます。

Control Tower 2.9 にアップデートしてみる

管理アカウントに戻り、Control Tower のバージョンを 2.9 にアップデートします。バージョン 2.9 を選択し、「更新」をクリック。


確認画面に遷移し、2.9 における変更の概要を確認できます。


確認し、問題なければ画面下の「ランディングゾーンの更新」をクリック。


しばらく待ち、下図の様にランディングゾーンの更新が完了すれば OK です。


バージョンも 2.9 になっています。


一方で、Control Tower のバージョンをあげただけでは各アカウントに変更は反映されませんので、変更を適用するための作業が必要です。Control Tower のコンソール画面からアカウント一覧を見ると、"更新が利用できます" というステータスになっていることを確認できます。


アカウントに変更を適用する方法は、OU 単位で一気に適用する方法と、アカウント単位で適用する方法が可能です。今回は検証のため、アカウント単位の更新作業で進めます。

参考 : Update existing OUs and accounts - AWS Control Tower

Control Tower のコンソール画面から更新したいアカウントの詳細画面を開き、「アカウントの更新」をクリック。


確認のポップアップが出るので、「アカウントの更新」をクリックして続行します。


アカウントの更新状況については、Service Catalog の「プロビジョニングされた製品」からステータス確認することができます。(アクセスフィルターを "アカウント" にする必要があります)


こちらもしばらく待機するとステータスが "使用可能" になります。これで Control Tower 2.9 の変更が適用できました。


再度メンバーアカウントにログインし、該当の Lambda 関数を確認すると、ランタイムが Python 3.9 に更新されていることが確認できます。

おわりに

Control Tower の新しいランディングゾーンのバージョン 2.9 の更新内容を紹介しつつ、実際に更新をしてみました。

Lambda 関数のランタイムサポート切れに対応するためのアップデートになるため、原則アップデートしていただく必要があるかと思います。

Control Tower のバージョンをしばらくアップデートしていない場合には、過去の変更内容を確認した上でバージョンアップの検証などを実施ください。


以上、AWS 事業本部の大前でした。

参考