Amazon Web Services ブログ
AWS Control Tower の Account Factory Customization を使用し、AWS アカウントのカスタマイズを自動化する
ワークロードを大規模に構築、移行、運用する前に、組織の増大するニーズをサポートする、マルチアカウントアーキテクチャを実現するための基盤を構築する必要があります。この基盤が整えば、お客様は組織内のワークロードの分離を可能にする AWS アカウントを作成できます。 ビジネス目的と所有権に基づいてワークロードをグループ化し、AWS アカウントの構造を決定する際、お客様は組織の要件に合わせて AWS アカウントをカスタマイズする必要があります。クラウド運用チームは、このような繰り返し可能なアカウント設定を開発し、大規模環境でも一貫して適用できるようにするという課題に直面することがよくあります。AWS Control Tower は、お客様がベースラインとなるセキュリティ体制を整え、アカウント作成を自動化できるよう支援してきましたが、アカウントのカスタマイズとメンテナンスは複雑なプロセスになることがあります。
この投稿では、AWS Control Tower の Account Factory Customization (AFC) 機能を紹介し、AWS Control Tower のブループリントを活用することで、追加の技術的負債を負うことなく AWS アカウントを自動カスタマイズする方法を紹介します。AFC では、AWS Control Tower と AWS Service Catalog を使用してアカウントのブループリントを定義したり、事前定義されている AWS パートナーが提供するブループリントを使用して、マルチアカウントのプロビジョニングをスケールさせ、プロビジョニング後すぐに AWS アカウントの使用を開始することができます。これにより、クラウド運用チームは、新しく払い出された AWS アカウントに、カスタム設定を適用するプロセスを簡略化、繰り返し利用できるようになりました。
このブログ記事に登場する AWS のサービスと機能
- AWS Organizations は、複数の AWS アカウントをポリシーベースで管理できます。AWS Organizations では、アカウントグループの作成、アカウント作成の自動化、それらのグループのポリシーの適用、管理を行うことができます。
- AWS Control Tower は、お客様に代わって複数の AWS サービスを統合することで、組織のセキュリティとコンプライアンス要件に合わせ、シンプルにお客様の AWS 環境の管理を行うことができます。
- Account Factory Customization (AFC) は、AWS アカウントのプロビジョニング・登録・更新の際に、アカウントのカスタマイズを可能にする AWS Control Tower の機能です。
- AWS Service Catalog は、デプロイされた IT サービス、アプリケーション、リソース、メタデータを一元管理して、 Infrastructure as Code (IaC) テンプレートの一貫したガバナンスを実現できます。
- AWS CloudFormation には、クラウド環境のすべてのインフラリソースを記述してプロビジョニングするための共通言語が用意されています。AWS CloudFormation では、標準的なテキストファイルを使用して、すべてのリージョン・アカウント上のアプリケーションに必要なすべてのリソースを、自動的かつ安全に、モデル化・プロビジョニングできます。
このブログ記事で使われている用語
- カスタムブループリント — アカウントのプロビジョニング中に適用される、特定のリソースと構成を記述したカスタム設定のことを指します。AFC で使用します。
- ハブアカウント — AFC が使用するブループリントの Service Catalog 中央リポジトリを管理するための AWS アカウント。
- パートナーブループリント — AWS パートナーが作成したアカウント設定で、AWS パートナーの提供するソリューションと連携するために必要なリソースと設定を定義しています。
- 管理アカウント — 組織(AWS Organizations) を作成するために使用する単一の AWS アカウントです。AWS Control Tower の Account Factory のオペレーションは、管理アカウントから実行されます。
- Service Catalog 入門ライブラリ — (Service Catalogで定義される) 製品(Products)を使い始めるのに役立つ、Well-Architected なベストプラクティステンプレートを提供するソリューションライブラリです。
ウォークスルー
この投稿では、以下の方法を紹介します。
- カスタムブループリントの作成
- カスタムブループリントを新しい AWS アカウントにデプロイする
- すぐに使えるパートナーブループリントを新しい AWS Control Tower アカウントにデプロイする
- 既存の AWS Control Tower アカウントをブループリントで更新する
- AWS Control Tower 管理対象外のアカウントをブループリントで登録する
- プロビジョニング後のカスタムアカウントを管理する
前提条件
- デプロイ済みで利用可能な AWS Control Tower 環境にアクセスできる必要があります。AWS Control Tower を初回起動する必要がある場合は、AWS Control Tower クイックスタートガイド に従ってください。
- ブループリントを一元的に管理する、同じ組織内にあるハブアカウントを用意します。お客様は AFC を使用する前に、ハブアカウントに AWSControlTowerBlueprintAccess ロールを作成する必要があります。
- AWS Control Tower に新たに登録するアカウントには、 AWSControlTowerExecution ロールを追加する必要があります。
- パートナーブループリントで AWS Marketplace のサブスクリプションの必要条件がある場合は、AFC でデプロイする前に管理アカウントレベルで設定する必要があります。
カスタムブループリントの作成
AWS Service Catalog で独自のカスタムブループリントを作成し、要件に合わせて AWS Control Tower アカウントにデプロイすることができます。
- まず、Service Catalog のリファレンスアーキテクチャリポジトリから、サンプル CloudFormation テンプレートをダウンロードします。この記事では、AWS Backup のバックアッププランを作成するテンプレートを使用して、アカウント内の各種 AWS リソースの自動バックアップ設定を行います。
- Service Catalog の製品(products)を一元的に保管する、ハブアカウントにログインします。AWS のベストプラクティスでは、Service Catalog の製品の保管には、管理アカウントを使用しないことが推奨されています。
- Service Catalog に移動し、左側のナビゲーションペインから [製品リスト] を選択します。
- [製品の作成] を選択し、[製品の詳細] ペインで、次のスクリーンショットに示すように製品の詳細を入力します。
- [バージョンの詳細] ペインのさらに下にある [テンプレートファイルの使用] というラベルの付いたラジオボタンを選択し、[ファイルの選択] ボタンを選択します。 1. でダウンロードした CloudFormation テンプレートを選択します。
- コンソールページの下部にある [製品を作成] ボタンを選択します。
- 新しく作成された製品が表示されます。次の手順ではこの製品をカスタムブループリントとして使用します。
製品の作成に関する詳細については、AWS Service Catalog 管理者ガイドを参照してください。
カスタムブループリントを新しい AWS アカウントにデプロイする
これでカスタムブループリントの用意が整いました。次からはこのブループリントを使用し、 AWS Control Tower アカウントファクトリでカスタマイズされたアカウントを作成します。以下の手順で、カスタムブループリントを新しい AWS アカウントにデプロイします。
- AWS Control Tower 管理アカウントにログインします。
- マネジメントコンソールの AWS Control Tower サービス画面に移動します。
- 左側のナビゲーションペインから [Account Factory] を選択し、[アカウントの作成] ボタンを選択します。
- [アカウントの詳細] セクションで、新規作成するアカウントのための表示名と固有のアカウント E メールを入力します。
- [アクセス設定] セクションでは、IAM Identity Center ユーザーの E メールと IAM Identity Center のユーザー名の詳細を入力します。
- [組織単位] セクションで、アカウントを追加する先の組織単位を選択します。
- [アカウントファクトリーのカスタマイズ] セクションを開きます。
- AWS Service Catalog の製品を含むハブアカウント ID を入力し、[アカウントを検証] を選択します。
- ドロップダウンから製品を選択し、使用する製品バージョンを選択します。前述の「カスタムブループリントの作成」で作成したブループリントを選択してください。
- ブループリントにパラメータが含まれている場合は、そのパラメータが表示され、この場で入力することが可能です。デフォルト値がある場合は事前に入力されています。
- 最後に、ブループリントのデプロイ先となる [ホームリージョン] または [すべての管理対象リージョン] を選択します。Route 53 や IAM などのグローバルリソースは 1 つのリージョンにのみデプロイする必要がありますが、EC2 インスタンスや Amazon S3 バケットなどのリージョンリソースはすべての管理対象リージョンにデプロイできます。
- すべてのフィールドに入力したら、[アカウントの作成] を選択します。
- 左側のナビゲーションペインから AWS Control Tower の [組織] 機能に移動すると、アカウントの進捗状況を確認できます。アカウントのプロビジョニングが完了次第、そのアカウント内でブループリントがデプロイされます。
すぐに使えるパートナーブループリントを新しい AWS Control Tower アカウントにデプロイする
お客様はまた、AWS パートナーが作成および管理する定義済みのブループリントを使用して、特定のユースケースに合わせてアカウントをカスタマイズすることもできます。2023 年 3 月現在、11 社のローンチパートナーが、すぐに使えるアカウントブループリントを開発しました。これにより、ユーザーがパートナーのインフラストラクチャやセキュリティ製品サービスと連携するよう、アカウントを簡単に設定できるようになります。
すぐに使用できる AWS Control Tower ブループリントの完全なリストについては、コンソールから AWS Service Catalog に移動し、左側のナビゲーションペインから「入門ライブラリ」を選択してください。AWS Control Tower ブループリントのソースタイプでフィルタリングします。
パートナーブループリントをデプロイする手順は次のとおりです。
- AWS Service Catalog 製品の一元的管理をしている AWS ハブアカウントにログインします。
- Service Catalog サービス画面に移動し、左側のナビゲーションペインから [入門ライブラリ] 機能を選択します。
- AWS Control Tower ブループリントを検索してください。これにより、AFC で使用できるすべてのパートナー製品が表示されます。
- この記事では、Datadog AWS Integration 製品を選択してください。
- 製品の詳細を確認したら、右上の [ポートフォリオに追加] を選択し、使用する新規または既存のポートフォリオを選択します。
- これで、このパートナーブループリントが選択したポートフォリオおよび製品リストに表示され、AFC で使用できるようになります。
- AWS Control Tower 管理アカウントにログインし、前述の「カスタムブループリントを新しい AWS Control Tower アカウントにデプロイする」の手順に従います。その際、先ほど入門ライブラリから追加した Datadog 製品を選択してください。
- Service Catalog から[製品の詳細] セクションにアクセスすると、製品の起動に必要なパラメーターを説明したドキュメントへのリンクが表示されます。必要に応じて参照してください。
または、Cloud Storage Security、Datadog、Cisco、Cribl のいずれかのパートナーブログで、AFCでの導入方法に関する具体的な手順を含むパートナーブループリントの詳細な概要を確認することもできます。
既存の AWS Control Tower アカウントをブループリントで更新する
AWS Control Tower 環境内の既存の登録済アカウントで、ブループリント未登録、またはブループリントの変更が必要なアカウントは、次のように更新できます。
- AWS Control Tower 管理アカウントにログインし、AWS Control Tower サービス画面に移動します。
- 左側のナビゲーションペインから、[組織] 機能を選択します。
- 更新したいアカウントの横にあるラジオボタンを選択します。コンソール右上のセクションから [アクション] ドロップダウンを選択し、[更新] を選択します。
- 必要に応じて [アカウントファクトリーのカスタマイズ] セクションを更新し、[アカウントの更新] を選択します。
- アカウントの進捗状況は [組織] ページで確認できます。アカウントの更新が正常に完了すると、ブループリントが展開されます。アカウントとブループリントの内容と詳細を表示するには、 [組織] ページでアカウント名を選択して [アカウントの詳細] ページに移動します。
AWS Control Tower 管理対象外のアカウントをブループリントで登録する
AWS Control Tower に登録されていない組織内の既存のアカウントは、登録プロセス中に次のようにブループリントで更新できます。
- AWS Control Tower 管理アカウントにログインし、AWS Control Tower サービス画面に移動します。
- 左側のナビゲーションペインから、[組織] 機能を選択します。
- カスタムブループリントに登録したい管理対象外のアカウントを特定します。[状態] 列には、「未登録」ステータスが表示されているはずです。
- アカウントの左側にあるラジオボタンを選択します。コンソール右上のセクションから [アクション] ドロップダウンを選択し、[登録] オプションを選択します。
- アカウントを追加する登録済み OU を選択します。
- 必要に応じて [アカウントファクトリーのカスタマイズ] セクションを更新し、[アカウントの登録] を選択します。
- アカウントの進捗状況は [組織] ページで確認できます。アカウントの更新が正常に完了すると、ブループリントが展開されます。アカウントとブループリントの内容と詳細を表示するには、 [組織] ページでアカウント名を選択して [アカウントの詳細] ページに移動します。
プロビジョニング後のカスタムアカウントを管理する
デプロイ後にアカウントのブループリントを更新する必要がある場合があります。その場合は、CloudFormation テンプレートに必要な変更を加えて更新し、新しいバージョンとして AWS Service Catalog に保存します。AWS Control Tower の [組織] ページでブループリント名とバージョンでフィルタリングし、アカウントの更新プロセスからアカウントのブループリントバージョンを更新し、最新の設定をデプロイできます。
アカウントからブループリントを削除する必要がある場合、またはアカウントを別の用途に転用する必要がある場合は、アカウントの更新プロセスからブループリントを削除し、アカウントを AWS Control Tower のデフォルト設定に戻すことができます。アカウントをAWS Control Tower の管理対象から解除すると、ブループリントからデプロイされたリソースと、アカウント内の AWS Control Tower が管理するリソースがすべて削除されます。その後、必要に応じて AWS Organizations を通じてアカウントを閉鎖できます。新しいブループリントを追加するには、更新ワークフローを再実行し、アカウントに追加する新しいブループリントを選択します。新しくプロビジョニングされたアカウントは、関連するブループリントの実行中に障害が発生すると、AWS Control Tower 環境に登録されません。ブループリントが失敗した後にアカウントを登録するプロセスは、AWS Control Tower ユーザーガイドに記載されています。
結論
この記事では、Account Factory Customization (AFC) がアカウントカスタマイズプロセスの簡略化にどのように役立つかを学びました。AWS Control Tower ブループリントを使用すると、独自のビジネスニーズを満たす完全にカスタム化されたリソースを定義したり、事前定義された AWS パートナーブループリントを使用して AWS Control Tower でネイティブに新しいアカウントのカスタマイズを開始したりできます。また、既存の AWS Control Tower アカウントを更新する方法や、AWS Control Tower 管理対象外のアカウントをブループリントに登録する方法についても学びました。
AFC では、モジュール式で再利用可能なメカニズムで要件を定義し、アカウントライフサイクルのどの時点でもカスタマイズをデプロイできます。これにより、AWS Control Tower 内のアカウントカスタマイズアクティビティが合理化され、独自のソリューションとパイプラインを維持するためのオーバーヘッドが削減されます。詳細については、『Account Factory Customization (AFC) ユーザーガイド』を参照してください。
本記事は、Automate account customization using Account Factory Customization in AWS Control Tower を翻訳したものです。
翻訳はソリューションアーキテクトの白石 一乃が担当しました。