[アップデート] CloudFormation で EBS のブロックパブリックアクセスを管理できるようになりました

2023.12.15

こんにちは、AWS事業本部の平木です!

本日のアップデートで CloudFormation にて EBS のブロックパブリックアクセスを管理できるようになったためご紹介します。

EBS ブロックパブリックアクセスとは

EBS のブロックパブリックアクセスの機能は、先月2023年11月10日に追加されたもので
EBS スナップショットのパブリック共有を禁止させる機能です。

詳細は下記ブログで説明していますのでご覧ください。

やってみる

今回、CloudFormation にてサポートされたとのことなので、
今後使われるであろう CloudFormation StackSets にてマルチアカウントマルチリージョンにデプロイしてみます。

前提

StackSets でデプロイしたいアカウントまたはリージョンでは有効化されていない必要があります。

既に手動で有効化されている場合には、

ResourceStatusReason:Resource handler returned message: "Resource of type 'AWS::EC2::SnapshotBlockPublicAccess' with identifier '<AWS_ACCOUNT_ID>' already exists."

のようなエラーが出ます。

必要に応じて無効化またはデプロイの対象外にしていただくと良いです。

使用するテンプレート

今回下記テンプレートを使用しました。

AWSTemplateFormatVersion: '2010-09-09'

Resources:
  SnapshotBlockPublicAccess:
    Type: AWS::EC2::SnapshotBlockPublicAccess
    Properties:
      State: block-new-sharing

State の値は、block-all-sharing | block-new-sharing のどちらかを選ぶ必要があるため、
既存のスナップショットのパブリック共有を無効にしたい場合は、block-all-sharing を、
新規のみを対象にしたい場合は、block-new-sharing
記載してください。

実際にデプロイする

CloudFormation StackSets の管理アカウントまたは委任管理アカウントに入り、 StackSets を開きます。

詳細な手順は割愛しますが、「リージョンの指定」では必要なリージョン分指定します。

デプロイが無事できました。

コンソールを確認すると全てのアカウントにて指定したリージョンのみ有効化でき、指定していないリージョンではデプロイされていないことが確認できました。

削除するとどうなるか

今回デプロイした StackSets スタック を削除すると削除した対象アカウント対象リージョンの全てのブロックパブリックアクセスが無効化されます。

参考

おわりに

今回は、CloudFormation が EBS ブロックパブリックアクセスの管理ができるようになったアップデートをご紹介しました。

マルチアカウントのガバナンスを利かせるために便利なアップデートかと思いますのでぜひご活用いただければと思います。

この記事がどなたかの役に立つと嬉しいです。