

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

# 既存の AWS Config リソースがあるアカウントを登録する
<a name="existing-config-resources"></a>

このトピックでは、既存の AWS Config リソースを持つアカウントを登録する方法をステップバイステップのアプローチを使って説明します。既存のリソースを確認する方法の例については、「[AWS Config リソースでアカウントを登録する](enroll-account.md#example-config-cli-commands)」を参照してください。

**AWS Config リソースの例**

アカウントがすでに持っている可能性のある AWS Config リソースのタイプを次に示します。AWS Control Tower にアカウントを登録できるようにするには、これらのリソースの変更が必要になる場合があります。
+ AWS Config レコーダー
+ AWS Config 配信チャネル
+ AWS Config 集約認可

**制限事項**
+  既存の AWS Config リソースを使用してアカウントを登録することは、ランディングゾーンで設定された管理アカウントまたはサービス統合アカウント (複数可) ではサポートされていません。
+  アカウントは、 を有効にする OU 登録または再登録ワークフローを使用してのみ登録できます`AWSControlTowerBaseline`。アカウントは、 を有効化またはリセットして登録することはできません`ConfigBaseline`。
+  既存の AWS Config リソースを持つアカウントは、 ではサポートされていません[自動登録でアカウントを移動して登録する](account-auto-enrollment.md)。
+ リソースが変更され、アカウントにドリフトが生じても、AWS Control Tower はリソースを更新しません。
+ AWS Config AWS Control Tower によって管理されていないリージョンの リソースは変更されません。

**引き受け**
+ AWS Control Tower ランディングゾーンをデプロイしました。
+ アカウントがまだ AWS Control Tower に登録されていないこと。
+ アカウントには、AWS Control Tower によって管理されるリージョンの少なくとも 1 つに、少なくとも 1 つの既存の AWS Config リソースがあります。
+ アカウントでガバナンスドリフトが発生していないこと。

**注記**  
既存の Config リソースを持つアカウントを、許可リストに追加せずに登録しようとすると、登録は失敗します。後で、同じアカウントを許可リストに追加しようとしても、AWS Control Tower はアカウントが正しくプロビジョニングされていることを検証できません。許可リストをリクエストして登録する前に、AWS Control Tower からアカウントをプロビジョニング解除する必要があります。アカウントを別の AWS Control Tower OU に移動しただけでは、ガバナンスドリフトが発生し、アカウントを許可リストに追加できなくなります。

 既存の AWS Config リソースにアカウントを登録する自動アプローチを説明するブログについては、[「AWS Control Tower への既存の AWS Config リソースを持つアカウントの登録を自動化](https://aws.amazon.com//blogs/mt/automate-enrollment-of-accounts-with-existing-aws-config-resources-into-aws-control-tower/)する」を参照してください。

**このプロセスには主に次の 5 つのステップがあります。**

1. AWS Control Tower 許可リストにアカウント (複数可) を追加します。

1. アカウントで新しい IAM ロールを作成します。

1. 既存の AWS Config リソースを変更します。

1. リソースが存在しない AWS リージョンに AWS Config リソースを作成します。

1. AWS Control Tower にアカウントを登録します。

**先に進む前に、このプロセスに関する次の期待事項を考慮してください。**
+ AWS Control Tower はこのアカウントに AWS Config リソースを作成しません。
+ 登録後、AWS Control Tower コントロールは、新しい IAM ロールを含む、作成した AWS Config リソースを自動的に保護します。
+ 登録後に AWS Config リソースに変更があった場合は、アカウントを再登録する前に、AWS Control Tower の設定に合わせてリソースを更新する必要があります。

## ステップ 1: サポートに連絡して、許可リストにアカウント (複数可) を追加する
<a name="existing-config-step-1"></a>

**チケットの件名には次の文章を使用してください。**

*既存の AWS Config リソースがあるアカウントを AWS Control Tower に登録する*

**チケットの本文に以下の詳細を記載してください。**
+ 管理アカウント番号
+  既存の AWS Config リソースを持つメンバーアカウントのアカウント番号。登録するすべてのアカウントのサポートケースを作成できます。
+ AWS Control Tower のセットアップで選択したホームリージョン

**注記**  
アカウントを許可リストに追加するのに必要な時間は 2 営業日です。

## ステップ 2: メンバーアカウントに新しい IAM ロールを作成する
<a name="existing-config-step-2"></a>

1. メンバーアカウントの CloudFormation コンソールを開きます。

1. 次のテンプレートを使用して新しいスタックを作成します。

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
       
   Resources:
     CustomerCreatedConfigRecorderRole:
       Type: AWS::IAM::Role
       Properties:
         RoleName: aws-controltower-ConfigRecorderRole-customer-created
         AssumeRolePolicyDocument:
           Version: 2012-10-17		 	 	 
           Statement:
             - Effect: Allow
               Principal:
                 Service:
                   - config.amazonaws.com
               Action:
                 - sts:AssumeRole
         Path: /
         ManagedPolicyArns:
           - arn:aws:iam::aws:policy/service-role/AWS_ConfigRole
           - arn:aws:iam::aws:policy/ReadOnlyAccess
   ```

1. スタックの名前を **CustomerCreatedConfigRecorderRoleForControlTower** とします。

1. スタックを作成します。

**注記**  
作成する SCP は `aws-controltower-ConfigRecorderRole*` ロールを除外する必要があります。 AWS Config ルールが評価を実行する機能を制限するアクセス許可を変更しないでください。  
Config の呼び出しから `aws-controltower-ConfigRecorderRole*` をブロックする SCP がある場合に `AccessDeniedException` を受信しないよう、次のガイドラインに従ってください。

## ステップ 3: 既存のリソースがある AWS リージョンを特定する
<a name="existing-config-step-3"></a>

アカウント内の管理対象リージョン (AWS Control Tower 管理対象) ごとに、前述の既存の AWS Config リソースサンプルタイプが少なくとも 1 つあるリージョンを特定してメモします。

## ステップ 4: AWS Config リソースがない AWS リージョンを特定する
<a name="existing-config-step-4"></a>

アカウント内の管理対象リージョン (AWS Control Tower 管理対象) ごとに、前述のサンプルタイプの AWS Config リソースがないリージョンを特定してメモします。

## ステップ 5: 各 AWS リージョンの既存のリソースを変更する
<a name="existing-config-step-5"></a>

このステップでは、AWS Control Tower のセットアップに関する次の情報が必要です。
+  `AUDIT_ACCOUNT` - AWS Config サービス統合アカウント (以前は監査アカウントと呼ばれていました) ID 
+  `CONFIG_BUCKET` - AWS Config が設定スナップショットと設定履歴ファイルを配信する AWS S3 バケット。次のステップに進む前に、AWS S3 バケットがあることを確認します。
  + ランディングゾーンバージョン 3.3 以前では、AWS S3 バケットの名前は で`aws-controltower-logs-LOGGING_ACCOUNT-HOME_REGION`、ログ記録アカウントにあります。
  + ランディングゾーンバージョン 4.0 以降では、AWS S3 バケットの名前は で`aws-controltower-config-logs-AUDIT_ACCOUNT-<REGION_STRING>-<SUFFIX_STRING>`、AWS Config サービス統合アカウント (以前の監査アカウント) にあります。
+ `IAM_ROLE_ARN` - ステップ 2 で作成した IAM ロール ARN
+ `ORGANIZATION_ID` - 管理アカウントの組織 ID
+ `MEMBER_ACCOUNT_NUMBER` - 変更対象のメンバーアカウント
+ `HOME_REGION` - AWS Control Tower のセットアップのホームリージョン

 次のセクション 5a～5c の指示に従って、既存のリソースを変更します。

## ステップ 5a. AWS Config recorder リソース
<a name="modify-config-recorder-resources-step-5a"></a>

 AWS リージョンごとに存在できる AWS Config レコーダーは 1 つだけです。それが存在する場合は、次のように設定を変更します。ホームリージョンでは項目 `GLOBAL_RESOURCE_RECORDING` を **true** に置き換えます。 AWS Config レコーダーが存在する他のリージョンの項目を **false** に置き換えます。
+ **Name:** 変更なし
+ **RoleARN:**` IAM_ROLE_ARN`
  + **RecordingGroup:**
  + **AllSupported:** true
  + **IncludeGlobalResourceTypes:** `GLOBAL_RESOURCE_RECORDING`
  + **ResourceTypes:** 空欄

この変更は、次のコマンドを使用して AWS CLI から行うことができます。文字列を既存の AWS Config レコーダー名`RECORDER_NAME`に置き換えます。

```
aws configservice put-configuration-recorder --configuration-recorder  name={{RECORDER_NAME}},roleARN=arn:aws:iam::{{MEMBER_ACCOUNT_NUMBER}}:role/aws-controltower-ConfigRecorderRole-customer-created --recording-group allSupported=true,includeGlobalResourceTypes={{GLOBAL_RESOURCE_RECORDING}} --region {{CURRENT_REGION}}
```

## ステップ 5b。 AWS Config 配信チャネルリソースを変更する
<a name="modify-config-delivery-channel-step-5b"></a>

リージョンごとに存在できる AWS Config 配信チャネルは 1 つだけです。2 つ以上存在する場合は、次のように設定を変更します。
+ **Name:** 変更なし
+ **ConfigSnapshotDeliveryProperties:** TwentyFour\_Hours
+  **S3BucketName:**{{CONFIG\_BUCKET}} 
+ **S3KeyPrefix: **{{ORGANIZATION\_ID}}
+ **SnsTopicARN:** 次の形式の、監査アカウントからの SNS トピック ARN。

  `arn:aws:sns:{{CURRENT_REGION}}:{{AUDIT_ACCOUNT}}:aws-controltower-AllConfigNotifications`

この変更は、次のコマンドを使用して AWS CLI から行うことができます。文字列を既存の AWS Config レコーダー名`{{DELIVERY_CHANNEL_NAME}}`に置き換えます。

```
aws configservice put-delivery-channel --delivery-channel name={{DELIVERY_CHANNEL_NAME}},s3BucketName={{CONFIG_BUCKET}},s3KeyPrefix="{{ORGANIZATION_ID}}",configSnapshotDeliveryProperties={deliveryFrequency=TwentyFour_Hours},snsTopicARN=arn:aws:sns:{{CURRENT_REGION}}:{{AUDIT_ACCOUNT}}:aws-controltower-AllConfigNotifications --region {{CURRENT_REGION}}
```

## ステップ 5c。 AWS Config 集約認可リソースの変更
<a name="modify-config-aggregator-auth-step-5c"></a>

**注記**  
ランディングゾーンバージョン 4.0 以降では、このステップは必要ありません。

リージョンごとに複数の集約認証が存在できます。AWS Control Tower には、監査アカウントを認可済みアカウントとして指定し、AWS Control Tower のホームリージョンを認可リージョンとして指定する集約認可が必要です。存在しない場合、次の設定を使用して新しく作成します。
+ **AuthorizedAccountId:** 監査アカウント ID
+ **AuthorizedAwsRegion:** AWS Control Tower セットアップのホームリージョン

この変更は、次のコマンドを使用して AWS CLI から行うことができます。

 `aws configservice put-aggregation-authorization --authorized-account-id {{AUDIT_ACCOUNT_ID}} --authorized-aws-region {{HOME_REGION}} --region {{CURRENT_REGION}}` 

## ステップ 6: AWS Control Tower が管理するリージョンで、リソースが存在しない場所にリソースを作成する
<a name="existing-config-step-6"></a>

次の例`GLOBAL_RESOURCE_RECORDING`に示すように、ホームリージョンで **IncludeGlobalResourcesTypes** パラメータの値が になるように CloudFormation テンプレートを改訂します。また、このセクションで指定している、テンプレートの必須フィールドを更新します。

ホームリージョンでは項目 `GLOBAL_RESOURCE_RECORDING` を **true** に置き換えます。 AWS Config レコーダーが存在しない他のリージョンの場合は、項目を **false** に置き換えます。

1. 管理アカウントの CloudFormation コンソールに移動します。

1. **CustomerCreatedConfigResourcesForControlTower** という名前の新しい StackSet を作成します。

1. 次のテンプレートをコピーして更新します。
**注記**  
テンプレートの `CustomerCreatedAggregationAuthorization`リソースは、ランディングゾーンバージョン 4.0 以降では必要ありません。

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
   Resources:
     CustomerCreatedConfigRecorder:
       Type: AWS::Config::ConfigurationRecorder
       Properties:
         Name: aws-controltower-BaselineConfigRecorder-customer-created
         RoleARN: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-controltower-ConfigRecorderRole-customer-created
         RecordingGroup:
           AllSupported: true
           IncludeGlobalResourceTypes: {{GLOBAL_RESOURCE_RECORDING}}
           ResourceTypes: []
     CustomerCreatedConfigDeliveryChannel:
       Type: AWS::Config::DeliveryChannel
       Properties:
         Name: aws-controltower-BaselineConfigDeliveryChannel-customer-created
         ConfigSnapshotDeliveryProperties:
           DeliveryFrequency: TwentyFour_Hours
         S3BucketName: {{CONFIG_BUCKET}}
         S3KeyPrefix: {{ORGANIZATION_ID}}
         SnsTopicARN: !Sub arn:aws:sns:${AWS::Region}:{{AUDIT_ACCOUNT}}:aws-controltower-AllConfigNotifications
     CustomerCreatedAggregationAuthorization:
       Type: "AWS::Config::AggregationAuthorization"
       Properties:
         AuthorizedAccountId: {{AUDIT_ACCOUNT}}
         AuthorizedAwsRegion: {{HOME_REGION}}
   ```

**必須フィールドを使用してテンプレートを更新します。**

   1. **S3BucketName** フィールドで、{{CONFIG\_BUCKET}} を置き換えます。

   1. **[S3KeyPrefix]** フィールドで、{{ORGANIZATION\_ID}} を置き換えます。

   1. **[SnsTopicARN]** フィールドで、{{AUDIT\_ACCOUNT}} を置き換えます。

   1. **[AuthorizedAccountId]** フィールドで、{{AUDIT\_ACCOUNT}} を置き換えます。

   1. **[AuthorizedAwsRegion]** フィールドで、{{HOME\_REGION}} を置き換えます。

1.  CloudFormation コンソールでのデプロイ中に、メンバーアカウント番号を追加します。

1. ステップ 4 で特定した AWS リージョンを追加します。

1. スタックセットをデプロイします。

## ステップ 7: OU を AWS Control Tower に登録する
<a name="existing-config-step-7"></a>

AWS Control Tower のダッシュボードで OU を登録します。

**注記**  
**アカウントの登録**ワークフローは、このタスクでは成功しません。**[Register OU]** (OU の登録) または **[Re-register OU]** (OU の再登録) を選択する必要があります。