で Landing Zone Accelerator を使用してアカウントの作成を自動化する AWS - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

で Landing Zone Accelerator を使用してアカウントの作成を自動化する AWS

Amazon Web Services、Justin Kuskowski、Joe Behrens、Nathan Scott

概要

このパターンでは、Landing Zone Accelerator on AWS ソリューションを使用して、承認されたユーザーがリクエストを送信 AWS アカウント したときに新しい を自動的にデプロイする方法について説明します。を使用して、多数の AWS Lambda 関数をオーケストレーション AWS Step Functions します。Lambda 関数は、アカウント情報を Git リポジトリに追加し、 AWS CodePipeline パイプラインを開始し、必要な AWS リソースがプロビジョニングされていることを確認します。このプロセスが完了すると、アカウントが作成されたことを知らせる通知がユーザーに届きます。

必要に応じて、Microsoft Entra ID グループを統合し、アカウント作成プロセス中に AWS IAM アイデンティティセンター アクセス許可セットを割り当てることができます。組織で Microsoft Entra ID を ID ソースとして使用している場合、この方法は、新規アカウントへのアクセスを自動的に管理したり設定したりするのに役立ちます。

前提条件と制限

前提条件

制限事項

このアカウント作成のワークフローは、単一の AWS アカウントをデプロイするシーケンシャル実行に対応しています。この制限を設けることにより、アカウント作成のワークフローを、並列実行中にリソースを競合させることなく正常に完了できます。

アーキテクチャ

ターゲットアーキテクチャ

次の図は、Landing Zone Accelerator on AWS. AWS Step Functions orchestrates AWS アカウント を使用して新しい の作成を自動化する高レベルのアーキテクチャを示しています。Step Functions ワークフローの各タスクは、1 つ以上の AWS Lambda 関数によって実行されます。

Landing Zone Accelerator on AWS を使用して新規アカウントの作成を自動化するワークフロー

この図表は、次のワークフローを示しています:

  1. ユーザーは、Python スクリプトを実行するか、Amazon API Gateway を使用してアカウントをリクエストします。

  2. アカウント作成オーケストレーターのワークフローは、 AWS Step Functionsから始まります。

  3. このワークフローはソースコードリポジトリの account-config.yaml ファイルを更新します。また、ランディングゾーンアクセラレーターを AWS パイプラインで開始し、パイプラインのステータスを確認します。このパイプラインは、新しいアカウントを作成し設定します。この仕組みの詳細については、Landing Zone Accelerator on AWSの「Architecture overview」を参照してください。

  4. (オプション) パイプラインが完了すると、ワークフローは Microsoft Entra ID にグループが存在するかどうかをチェックします。グループが Microsoft Entra ID に存在しない場合、ワークフローは Microsoft Entra ID にグループを追加します。

  5. ワークフローは、Landing Zone Accelerator on AWS ソリューションでは実行できない追加のステップを実行します。デフォルトのステップは次のとおりです。

  6. (オプション) ワークフローは、前に指定した Microsoft Entra ID グループに 1 つ以上のアクセス許可セットを割り当てます。アクセス許可セットがあることにより、グループのユーザーは新規アカウントにアクセスし、設定したアクションを実行することができます。

  7. AWS Lambda 関数は QA テストと検証テストを実行します。リソースの作成を検証し、タグが作成されたことを確認し、セキュリティリソースがデプロイされたことを検証します。

  8. ワークフローはアカウントを解放し、Amazon Simple Email Service (Amazon SES) を使用してプロセスが正常に完了したことをユーザーに通知します。

Step Functions ワークフローの詳細については、このパターン内の「追加情報」セクションにある Step Functions のワークフロー図を参照してください。

Microsoft Entra ID アプリケーション

Microsoft Entra ID と統合させる場合は、このパターンをデプロイする際に次の 2 つのアプリケーションを作成します。

  • IAM アイデンティティセンターにリンクされている、Microsoft Entra ID グループを IAM アイデンティティセンターで利用可能にするアプリケーション。この例では、この Microsoft Entra ID アプリケーションの名前は LZA2 です。

  • Lambda 関数が Microsoft Entra ID と通信し Microsoft Graph API を呼び出すことを許可するアプリケーション。このパターンでは、このアプリケーションの名前は create_aws_account です。

これらのアプリケーションは、Microsoft Entra ID グループを同期し、アクセス許可セットを割り当てる際に使用されるデータを収集します。

ツール

AWS のサービス

  • Amazon API Gateway は、任意のスケールで REST、HTTP、WebSocket API を作成、公開、維持、監視、保護する上で役立ちます。このパターンでは、API Gateway を使用して AWS アカウント 名前の可用性を確認し、 AWS Step Functions ワークフローを開始し、Step Functions 実行のステータスを確認します。

  • AWS Cloud Development Kit (AWS CDK) は、コードで AWS クラウド インフラストラクチャを定義およびプロビジョニングするのに役立つソフトウェア開発フレームワークです。

  • AWS Control Tower は、規範的なベストプラクティスに従って、 AWS マルチアカウント環境のセットアップと管理に役立ちます。

  • Amazon EventBridge は、アプリケーションをさまざまなソースのリアルタイムデータに接続できるようにするサーバーレスイベントバスサービスです。例えば、 AWS Lambda 関数、API 送信先を使用する HTTP 呼び出しエンドポイント、その他のイベントバスなどです AWS アカウント。このソリューションでは、Step Functions ワークフローの状態が FailedTimed-outAborted のいずれかに変わった場合に Lambda 関数を開始する、EventBridge ルールを使用します。

  • AWS Identity and Access Management (IAM) は、誰を認証し、誰に使用を認可するかを制御することで、 AWS リソースへのアクセスを安全に管理するのに役立ちます。

  • AWS IAM アイデンティティセンター を使用すると、すべての AWS アカウント およびクラウドアプリケーションへのシングルサインオン (SSO) アクセスを一元管理できます。

  • AWS Key Management Service (AWS KMS) は、データの保護に役立つ暗号化キーの作成と制御に役立ちます。このパターンでは、Amazon Simple Storage Service (Amazon S3) に保存されているデータ、Lambda 環境変数、Step Functions のデータなどのデータを暗号化するために AWS KMS キーが使用されます。

  • AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。

  • AWS Organizations は、作成して一元管理する AWS アカウント 組織に複数の を統合するのに役立つアカウント管理サービスです。

  • Amazon Simple Email Service (Amazon SES) は、独自の E メールアドレスとドメインを使用して E メールを送受信するのに役立ちます。新規アカウントが正常に作成されると、Amazon SES からユーザーに通知が届きます。

  • Amazon Simple Notification Service (Amazon SNS) は、ウェブサーバーやメールアドレスなど、パブリッシャーとクライアント間のメッセージの交換を調整および管理するのに役立ちます。アカウント作成のプロセス中にエラーが発生すると、Amazon SNS はユーザーが設定した E メールアドレスに通知を送信します。

  • AWS Step Functions は、 AWS Lambda 関数やその他の を組み合わせてビジネスクリティカルなアプリケーション AWS のサービス を構築するのに役立つサーバーレスオーケストレーションサービスです。

  • AWS Systems Manager Parameter Store は、設定データ管理とシークレット管理のための安全な階層型ストレージを提供します。

その他のツール

  • awscurl は AWS API リクエストの署名プロセスを自動化し、標準の curl コマンドとしてリクエストを行うのに役立ちます。

  • Microsoft Entra ID (旧 Azure Active Directory) は、クラウドベースの ID およびアクセス管理のサービスです。

  • Microsoft Graph API を使用すると、Microsoft Entra や Microsoft 365 など Microsoft のクラウドサービスのデータやインテリジェンスにアクセスすることができます。

コードリポジトリ

このパターンのコードは、GitHub の lza-account-creation-workflow リポジトリで使用できます。

lambda_layer ディレクトリには、複数の Lambda 関数で参照される次のレイヤーが含まれています。

  • account_creation_helper – このレイヤーには、ロールを引き受け、進行状況をチェックするためのモジュールが含まれています AWS Service Catalog。

  • boto3 – このレイヤーには、 に AWS Lambda 最新バージョンがあることを確認するAWS SDK for Python (Boto3)モジュールが含まれています。

  • identity_center_helper – このレイヤーは IAM アイデンティティセンターへの呼び出しをサポートします。

lambda_src ディレクトリには、次の Lambda 関数が含まれています。

  • AccountTagToSsmParameter – この関数は、Parameter Store でパラメータを作成 AWS Organizations するために、アカウントにアタッチされたタグを使用します。各パラメータは、プレフィックス /account/tags/ から始まります。

  • AttachPermissionSet – この関数は、IAM Identity Center グループにアクセス権限セットを追加します。

  • AzureADGroupSync – この関数は、ターゲットの Microsoft Entra ID グループを IAM アイデンティティセンターに同期します。

  • CheckForRunningProcesses – この関数は、AWSAccelerator-Pipeline パイプラインが実行中かどうかをチェックします。パイプラインが実行されている場合、関数は AWS Step Functions ワークフローを遅延させます。

  • CreateAccount – この関数は AWS Service Catalog と AWS Control Tower を使用して新しい を作成します AWS アカウント。

  • CreateAdditionalResources – この関数は、Landing Zone Accelerator によって管理されていない AWS リソース、またはアカウントのエイリアスや AWS Service Catalog タグ AWS CloudFormationなどのリソースを作成します。

  • GetAccountStatus – この関数は、 でプロビジョニングされた製品をスキャンし AWS Service Catalog て、アカウント作成プロセスが完了したかどうかを判断します。

  • GetExecutionStatus – この関数は、実行中または完了した AWS Step Functions 実行のステータスを取得します。

  • NameAvailability – この関数は、 AWS アカウント 名前がすでに存在するかどうかを確認します AWS Organizations。

  • ReturnResponse – アカウントの作成が完了すると、この関数が新規アカウントの ID を返します。アカウントの作成が完了していない場合はエラーメッセージが返されます。

  • RunStepFunction – この関数は、アカウントを作成する AWS Step Functions ワークフローを実行します。

  • SendEmailWithSES – この関数は、アカウントの作成が終わるのを待っているユーザーに E メールを送信します。

  • ValidateADGroupSyncToSSO – この関数は、指定された Microsoft Entra ID グループが IAM アイデンティティセンターと同期されているかどうかをチェックします。

  • ValidateResources – この関数は、すべての AWS Control Tower カスタマイズが正常に実行されたことを検証します。

ベストプラクティス

AWS CDKには、次の命名規則が推奨されます。 

  • すべてのパラメータをプレフィックス p から開始する。

  • すべての条件をプレフィックス c から開始する。

  • すべてのリソースをプレフィックス r から開始する。

  • すべての出力をプレフィックス o から開始する。

エピック

タスク説明必要なスキル

の Landing Zone Accelerator をカスタマイズ AWS する準備をします。

  1. AWS コードリポジトリの Landing Zone Accelerator で、 という名前のファイルを作成しますcustomizations-config.yaml。このファイルを使用してコアソリューションのカスタマイズを定義します。詳細については「Customizing the solution」を参照してください。

  2. customizations-config.yaml ファイルで、cloudFormationStacks というセクションを作成します。

AWS DevOps

lza-account-creation-validation ロールのデプロイを準備する

次に、ソリューションをカスタマイズして、管理アカウント以外のすべてのアカウントに lza-account-creation-validation IAM ロールをデプロイします。このロールは、ValidateResources Lambda 関数に、新規アカウントへの読み取り専用アクセスを付与します。

  1. GitHub から account-creation-validation-role.yaml ファイルをダウンロードします。

  2. customizations-config.yaml ファイルのテンプレートセクションに示されている場所にこのファイルを保存します。

  3. customizations-config.yaml ファイルを開きます。

  4. 次のコードを cloudFormationStacks セクションに追加します。ランディングゾーンの AWS リージョン 必要に応じてターゲットを更新します。

    - deploymentTargets: organizationalUnits: - Root excludedAccounts: - Management description: IAM Role to allow Account Validation name: lza-account-creation-validation regions: - us-east-1 template: cloudformation/account-creation-validation-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. customizations-config.yaml ファイルを保存して閉じます。

AWS DevOps

account-tagging-to-ssm-parameter-role ロールのデプロイを準備する

次に、ソリューションをカスタマイズして、管理アカウント以外のすべてのアカウントに account-tagging-to-ssm-parameter-role IAM ロールをデプロイします。このロールは、Parameter Store AWS Systems Manager でパラメータを作成するために使用されます。

  1. GitHub から account-tagging-to-ssm-parameter-role.yaml ファイルをダウンロードします。

  2. customizations-config.yaml ファイルのテンプレートセクションに示されている場所にこのファイルを保存します。

  3. customizations-config.yaml ファイルを開きます。

  4. 次のコードを cloudFormationStacks セクションに追加します。ランディングゾーンの AWS リージョン 必要に応じてターゲットを更新します。

    - deploymentTargets: organizationalUnits: - Root excludedAccounts: - Management description: IAM Role to create SSM Parameters based on Account Tagging name: lza-account-tagging-to-ssm-parameter regions: - us-east-1 template: cloudformation/account-tagging-to-ssm-parameter-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. customizations-config.yaml ファイルを保存して閉じます。

AWS DevOps

config-log-validation-role ロールのデプロイを準備する

次に、ソリューションをカスタマイズして、config-log-validation-role IAM ロールをログアーカイブアカウントにデプロイします。このロールにより、ValidateResourcesLambda 関数はログ記録とアクセス AWS Config ルールのために Amazon S3 バケットにアクセスできます。

  1. GitHub から config-log-validation-role.yaml ファイルをダウンロードします。

  2. customizations-config.yaml ファイルのテンプレートセクションに示されている場所にこのファイルを保存します。

  3. customizations-config.yaml ファイルを開きます。

  4. 次のコードを cloudFormationStacks セクションに追加します。ランディングゾーンの AWS リージョン 必要に応じてターゲットを更新します。

    - deploymentTargets: accounts: - LogArchive description: IAM Role to validate Config and Logs name: lza-config-log-validation-role regions: - us-east-1 template: cloudformation/config-log-validation-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. customizations-config.yaml ファイルに加えた変更を保存して閉じ、コミットします。

AWS DevOps
タスク説明必要なスキル

Lambda 関数に Microsoft Entra ID との通信を許可するアプリケーションを作成する。

  1. Microsoft Entra ID 管理センターで、create_aws_account アプリケーションを登録します。手順は、Microsoft ドキュメントの「Register an application」を参照してください。

  2. Microsoft ドキュメントの「Update an app's requested permissions」の手順に従い、create_aws_account アプリケーションに対して次の Microsoft Graph アクセス許可を設定します。

Microsoft Entra ID

create_aws_account アプリケーションの値を取得する。

次に、create_aws_account アプリケーションに必要な値を取得します。

  1. Microsoft Entra ID 管理センターで、[App registrations] に移動し、create_aws_account を選択します。

  2. 左側のペインで [Overview] を選択します。

  3. [Overview] ページで、次の値を書き留めます。

    • アプリケーション (クライアント) ID

    • ディレクトリ (テナント) ID

  4. 左のナビゲーションペインの [Manage][Certificates & secrets] を選択します。

  5. [Certificates & secrets] ページで、[Client secrets] タブを選択し、次の値を書き留めます。

    • クライアントシークレット値

    • クライアントシークレット ID

Microsoft Entra ID

Microsoft Entra ID を IAM アイデンティティセンターと統合するアプリケーションを作成する。

Microsoft Entra ID 管理センターで、LZA2 アプリケーションを登録します。手順は、Microsoft ドキュメントの「Register an application」を参照してください。

Microsoft Entra ID

LZA2 アプリケーションの値を取得する。

次に、LZA2 アプリケーションに必要な値を取得します。

  1. Microsoft Entra ID 管理センターで、[Enterprise applications] に移動し、LZA2 を選択します。

  2. 左側のペインで [Overview] を選択します。

  3. [Overview] ページで、次の値を書き留めます。

    • 名前

    • オブジェクト ID

  4. 左側のペインの [Manage][Manifest] を選択します。

  5. JSON ファイルの appRoles セクションで、User という名前のアプリケーションロールを見つけます。

  6. このアプリロールの id の値を書き留めます。

Microsoft Entra ID

シークレットを作成します。

  1. で AWS CLI、次のコマンドを入力して変数を作成します。create_aws_accountLZA2 のアプリケーション用に取得した値を使用します。

    # Variables for create_aws_account app TENANT_ID='<Directory ID>' CLIENT_ID='<Application ID>' SECRET_ID='<Client secret ID>' SECRET_VALUE='<Client secret value>' # Variables for LZA2 app OBJECT_ID='<Object ID>' APP_ROLE_ID='<App role ID>' ENTERPRISE_APP_NAME='<Name>'
  2. 次のコマンドを入力して、 GraphApiSecret という名前のシークレットを作成します AWS Secrets Manager。

    aws secretsmanager create-secret \ --name GraphApiSecret \ --secret-string "{\"client_id\": \"${CLIENT_ID}\", \"tenant_id\": \"${TENANT_ID}\", \"object_id\": \"${OBJECT_ID}\", \"app_role_id\": \"${APP_ROLE_ID}\", \"secret_value\": \"${SECRET_VALUE}\", \"secret_id\": \"${SECRET_ID}\"}"

    今後シークレットを更新する必要がある場合は、この変数を更新して次のコマンドを実行します。

    aws secretsmanager update-secret \ --secret-id GraphApiSecret \ --secret-string "{\"client_id\": \"${CLIENT_ID}\", \"tenant_id\": \"${TENANT_ID}\", \"object_id\": \"${OBJECT_ID}\", \"app_role_id\": \"${APP_ROLE_ID}\", \"secret_value\": \"${SECRET_VALUE}\", \"secret_id\": \"${SECRET_ID}\"}"
AWS DevOps
タスク説明必要なスキル

ソースコードを複製します。

  1. 次のコマンドを入力して、lza-account-creation-workflow リポジトリのクローンを作成します。

    git clone https://github.com/aws-samples/lza-account-creation-workflow
  2. 次のコマンドを入力して、クローンを作成したリポジトリ内の config ディレクトリに移動します。

    cd lza-account-creation-workflow/config
DevOps エンジニア

deploy-config.yaml ファイルを更新します。

  1. deploy-config.yaml ファイルを開きます。

  2. テンプレートを確認し、 AWS 環境へのデプロイに必要な値を更新します。例えば、次の値を更新します。

    • accountCreationFailure

    • accountCompletionFromEmail

    • ssoLoginUrl

    • rootEmailPrefix

    • rootEmailDomain

  3. Microsoft Entra ID と統合する場合は、次の操作を行います。

    • enableAzureADIntegrationtrue に設定します。

    • graphApiSecretName 値には、前に作成したシークレット (GraphApiSecret) を入力します。

  4. deploy-config.yaml ファイルを保存して閉じます。

AWS DevOps

ソリューションを AWS 環境にデプロイします。

  1. 次のコマンドを入力します。

    cdk bootstrap <account-number>/<Region>

    詳細については、 AWS CDK ドキュメントの「ブートストラップ」を参照してください。

  2. 次のコマンドを入力して CloudFormation テンプレートを合成します。

    cdk synth

    詳細については、 AWS CDK ドキュメントのAWS CDK 「スタック合成の設定と実行」を参照してください。

  3. 次のコマンドを入力してソリューションをデプロイします。

    cdk deploy

    詳細については、 AWS CDK ドキュメントのAWS CDK 「アプリケーションのデプロイ」を参照してください。

注記

このソリューションでは、Amazon S3 バケットを使用してこのソリューションのソースコードを保存します。upload_to_source_bucket.py スクリプトを使用すれば、ソースコードのアーカイブを作成して更新したバージョンをアップロードできます。

AWS DevOps
タスク説明必要なスキル

使用する引数を特定する。

Step Functions のワークフローを開始する Python スクリプトを実行するときに使用する引数を選択します。引数の一覧については、本パターン内の「追加情報」のセクションを参照してください。

AWS DevOps、Python

Python スクリプトを実行する。

  1. 次のコマンドを入力してクローンが作成されたリポジトリに移動します。

    cd lza-account-creation-workflow
  2. Step Functions ワークフローを開始する Python スクリプトを実行します。以下は、引数と値のサンプルを含むコマンドの例です。

    python ./run-stepfunction.py \ --account-name "lza-test-01" \ --support-dl "johnsmith@example.com" \ --managed-org-unit "Workloads/Workload-1" \ --purpose "Testing new micro service" \ --force-update true \ --ad-integration "{\"CustomerAccountAdmin\": \"platform-admin\", \"CustomerAccountDev\": \"workload1-app1\"}" \ --bypass-creation true \ --tags APPLICATION=TestingMicroService
  3. アカウントが正常に作成されたことを知らせる通知が届くまで待機します。

    注記

    アカウント作成プロセスに失敗すると、Amazon SNS はユーザーが deploy-config.yaml ファイルの accountCreationFailure で定義した E メールアドレスに通知を送信します。アカウントのリクエスタには通知されません。

DevOps エンジニア、Python
タスク説明必要なスキル

awscurl の変数を設定します。

  1. 次のコマンドを入力して、ソースコードディレクトリに移動します。

    cd lza-account-creation-workflow
  2. 次のコマンドを入力して、 AWS アクセスキー変数を設定します。変数は AWS アクセスポータルからコピーし、シェルに貼り付けることができます。以下に例を示します。

    export AWS_ACCESS_KEY_ID="<id>" export AWS_SECRET_ACCESS_KEY="<key>" export AWS_SESSION_TOKEN="<token>"
  3. 次のコマンドを入力して、 API コール AWS リージョン の を設定します。

    export AWS_REGION=$(aws configure get region)
  4. 次のコマンドを入力して、lza-account-creation-workflow-application CloudFormation の出力から API Gateway エンドポイントを取得します。

    export API_GATEWAY_ENDPOINT=$(aws cloudformation describe-stacks --stack-name "lza-account-creation-workflow-application" --query 'Stacks[*].Outputs[?OutputKey==`oApiGatewayCreateAccountEndpoint`].OutputValue' --output text)
AWS DevOps

名前を使用できるかどうかチェックします。

次のコマンドを入力して、この名前を AWS アカウントに使用できるか確認します。<AWS_ACCOUNT_NAME> をターゲットアカウントの名前に置き換えます。

awscurl --service execute-api \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X POST ${API_GATEWAY_ENDPOINT}check_name?account_name=<AWS_ACCOUNT_NAME>
AWS DevOps

アカウント作成のワークフローを実行します。

  1. クローンが作成されたリポジトリのルートフォルダで api_example.json ファイルを開きます。

  2. 設定値を使ってパラメータを更新します。

    { "account_name": "lza-test-01", "account_email": "johnsmith+lzatest01@example.com", "support_dl": "johnsmith@example.com", "managed_org_unit": "Workloads/Workload-1", "ad_integration": [ { "PermissionSetName": "CustomerAccountAdmin", "ActiveDirectoryGroupName": "platform-admin" }, { "PermissionSetName": "CustomerAccountDev", "ActiveDirectoryGroupName": "workload1-app1" } ], "force_update": "true", "bypass_creation": "false", "account_tags": [ { "Key": "Environment", "Value": "Dev" }, { "Key": "DeploymentMethod", "Value": "ApiGateway" } ] }
  3. api_example.json ファイルを保存して閉じます。

  4. 次のコマンドを入力して Step Functions ワークフローを開始します。

    awscurl --service execute-api \ --data @api-example.json \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X POST ${API_GATEWAY_ENDPOINT}execute
  5. 前のコマンドの出力で、Step Functions の実行 Amazon リソースネーム (ARN) を書き留めます。

  6. Step Functions ワークフローのステータスをチェックするには、次のコマンドを入力します。<STEP_FUNCTION_EXECUTION_NAME> を Step Functions 実行の ARN または名前に置き換えます。

    awscurl --service execute-api \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X GET ${API_GATEWAY_ENDPOINT}get_execution_status?execution=<STEP_FUNCTION_EXECUTION_NAME>
  7. アカウントが正常に作成されたことを知らせる通知が届くまで待機します。

    注記

    アカウント作成プロセスに失敗すると、Amazon SNS はユーザーが deploy-config.yaml ファイルの accountCreationFailure で定義した E メールアドレスに通知を送信します。アカウントのリクエスタには通知されません。

AWS DevOps
タスク説明必要なスキル

Amazon S3 バケットからオブジェクトを削除します。

次の Amazon S3 バケット内にオブジェクトがあれば削除します。

  • lza-account-creation-work-<CDK_UNIQUE_ID>

  • lza-account-creation-workflow-src-<AWS_REGION>-<AWS_ACCOUNT>

  • lza-account-creation-workflow-<AWS_REGION>-<AWS_ACCOUNT>

AWS DevOps

CloudFormation スタックを削除します。

次の コマンドを実行して CloudFormation スタックを削除します。

aws cloudformation delete-stack \ --stack-name lza-account-creation-workflow-application aws cloudformation wait stack-delete-complete \ --stack-name lza-account-creation-workflow-application
AWS DevOps

パイプラインを削除します。

次のコマンドを入力して lza-account-creation-workflow-pipeline パイプラインを削除します。

cdk destroy lza-account-creation-workflow-pipeline --force
AWS DevOps

関連リソース

追加情報

Step Functions のワークフロー図

次の図は、Step Functions のワークフローで実行される手順を示したものです。

Step Functions ワークフローの状態

引数

以下は、Step Functions ワークフローを開始する Python スクリプトを実行するときに使用できる引数です。

以下の引数が必要です。

  • account-name (-a) (文字列) – 新しい の名前 AWS アカウント。

  • support-dl (-s) (文字列) – アカウント作成プロセスが完了したときに通知を受信する E メールアドレス。

  • managed-org-unit (-m) (文字列) – 新規アカウントを含むマネージド組織単位 (OU)

以下の引数はオプションです。

  • ad-integration (-ad) (文字列ディクショナリ) – Microsoft Entra ID グループと割り当てられたアクセス許可セット。以下は、このコマンドの使用方法の例です。

    --ad-integration "{\"<PermissionSetName>\": \"<EntraIdGroupName>\"}"
  • account-email (-e) (文字列) – 新しい のルートユーザーの E メールアドレス AWS アカウント。

    注記

    この引数を使用しないと、E メールアドレスは configs/deploy-config.yaml ファイルから rootEmailPrefixrootEmailDomain の値を使用して生成されます。E メールアドレスが指定されていない場合、E メールアドレスは rootEmailPrefix+accountName@rootEmailDomain の形式を使用して生成されます。

  • region (-r) (文字列) – Step Functions ワークフロー AWS リージョン がデプロイされた 。デフォルト値は us-east-1 です。

  • force-update (-f) (文字列ブール値) – trueを入力して、プロビジョニング済み製品の更新 AWS Service Catalog を強制します。

  • bypass-creation (-b) (文字列ブール値) – true を入力して accounts-config.yaml ファイルへのアカウントの追加を回避し、AWSAccelerator-Pipeline パイプラインの実行を回避します。この引数は、通常、アカウント作成ワークフロープロセスをテストしたり、Landing Zone Accelerator パイプラインでエラーが発生した場合に残りの Step Functions ステップを実行したりするために使用されます。

  • tags (-t) (文字列) – に追加する追加のタグ AWS アカウント。デフォルトでは account-namesupport-dlpurpose のタグが追加されます。以下は、このコマンドの使用方法の例です。

    --tags TEST1=VALUE1 TEST2=VALUE2