クラウド運用管理者は、vRealize Automation Cloud Guardrails を使用して、組織単位 (OU) およびメンバー アカウントを作成し、環境に展開することができます。既存の OU にメンバー アカウントを追加することもできます。
たとえば、AWS をブートストラップし、組織 (org) と 2 つの主要な組織単位 (OU) を作成できます。
- コア OU には、セキュリティ、ログ アーカイブ、および共有サービスのメンバー アカウントを含めることができます。
- ポリシー OU にベースライン アカウントを含めて、組織のポリシーを制御することができます。
この例では、OU とメンバー アカウントを作成して AWS 環境をブートストラップし、OU にポリシーを適用します。AWS をブートストラップするには、Cloud Guardrails テンプレート ライブラリで 1 つ以上のブートストラップ テンプレート SLS ファイルを選択し、必要に応じて更新して、Cloud Guardrails の目的の状態として実行します。例:
- AWS 組織単位
- AWS メンバー アカウント
- AWS ランディング ゾーンの作成
Cloud Guardrails によって OU およびメンバー アカウントがプロビジョニングされたら、ワークロードとアプリケーションを展開できる仮想プライベート クラウド (VPC) などのランディング ゾーンを作成できます。Kubernetes クラスタを使用している場合、設定を速やかに行うために OU とメンバー アカウントを作成するテンプレートを使用することが特に重要になります。
Guardrails テンプレートを使用すると、OU とメンバー アカウントをすばやく作成して、環境に展開することができます。ネストされた OU とメンバー アカウントを使用して AWS をブートストラップする場合は、名前、タイプ、プロバイダ、説明、およびパラメータなどの特定のメタデータを含める必要があります。
例:
META: name: AWS landing zone type: GUARDRAILS_BUNDLE provider: AWS description: Create nested OUs and member accounts with SCP polices. parameters: - root_org_name : Root Organization name type: String
OU ブートストラップ テンプレート コードは次のようになります。
META: name: AWS Organizational Unit provider: AWS category: BOOTSTRAP description: An organizational unit (OU) is a group of AWS accounts within an organization. An OU can also contain other OUs enabling you to create a hierarchy. {% set organization_unit_name = params.get('organization_unit_name') %} {% set parent_org_id = params.get('parent_org_id') %} {{organization_unit_name}}: META: name: Create organization unit parameters: organization_unit_name: uiElement: text name: Organization Unit description: An organizational unit (OU) is a group of AWS accounts within an organization. An OU can also contain other OUs enabling you to create a hierarchy. parent_org_id: uiElement: text name: Parent Org Id description: An organizational name is a group of AWS accounts or OUs within an organization. aws.organizations.organization_unit.present: - org_unit_name: {{organization_unit_name}} - parent_id: {{parent_org_id}}
メンバー アカウント ブートストラップ テンプレート コードは次のようになります。
META: name: AWS Member Account provider: AWS category: BOOTSTRAP description: An account in Organizations is a standard AWS account that contains your AWS resources and the identities that can access those resources. {% set member_account_name = params.get('member_account_name') %} {% set member_account_email = params.get('member_account_email') %} {% set member_account_role = params.get('member_account_role', 'OrganizationAccountAccessRole') %} {% set parent_org_id = params.get('parent_org_id') %} {{member_account_name}}: META: name: Create AWS member account description: An account in Organizations is a standard AWS account that contains your AWS resources and the identities that can access those resources. parameters: member_account_name: uiElement: text name: Account Name description: Name of member account. member_account_role: uiElement: text name: Role Name description: Provide some role to member account. member_account_email: uiElement: text name: Email description: Email id for creating member account. parent_org_id: uiElement: text name: Parent Org Id description: Id of the Organization or Organization Unit under which the account will be created. aws.organizations.account.present: - account_name: {{member_account_name}} - role_name: {{member_account_role}} - email: {{member_account_email}} - iam_user_access_to_billing: ALLOW - parent_id: {{parent_org_id}}
次の例では、ネストされた OU とメンバー アカウントを使用して AWS をブートストラップし、OU とメンバー アカウントにポリシーを適用します。
前提条件
- 統合を設定します。Cloud Guardrails の設定を参照してください。
- Cloud Guardrails を有効にして、適切なロールがあることを確認します。Cloud Guardrails でユーザー アクセスを管理する方法を参照してください。
手順
結果
Cloud Guardrails テンプレート ライブラリからいくつかのブートストラップ テンプレートをインポートしました。これにより、これらのテンプレートを Cloud Guardrails の目的の状態として適用できるようになりました。
次のタスク
選択した Cloud Guardrails テンプレートを実行する、Cloud Guardrails の目的の状態を作成します。テンプレートから Cloud Guardrails の目的の状態を作成して適用する方法を参照してください。
Cloud Guardrails テンプレート リポジトリに直接アクセスできる場合は、使用可能なすべてのテンプレートがそこに表示されます。