

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

# Amazon EC2 Linux インスタンスを共有 AWS Managed Microsoft AD にシームレスに結合する
<a name="seamlessly_join_linux_to_shared_MAD"></a>

この手順では、Amazon EC2 Linux インスタンスを共有 AWS Managed Microsoft AD にシームレスに結合します。これを行うには、EC2 Linux AWS Secrets Manager インスタンスを起動するアカウントの EC2 インスタンスロールに IAM 読み取りポリシーを作成します。この手順で、これは `Account 2` と呼ばれます。このインスタンスは、`Account 1` と呼ばれる他のアカウントから共有されている AWS Managed Microsoft AD を使用します。

## 前提条件
<a name="seamlessly_join_linux_to_shared_MAD_prereqs"></a>

Amazon EC2 Linux インスタンスを共有 AWS Managed Microsoft AD にシームレスに結合する前に、以下を完了する必要があります。
+ チュートリアルのステップ 1～3、[チュートリアル: AWS Managed Microsoft AD ディレクトリを共有してシームレスな EC2 ドメイン結合を実現する](ms_ad_tutorial_directory_sharing.md)。このチュートリアルでは、ネットワークの設定と AWS Managed Microsoft AD の共有について説明します。
+ [Amazon EC2 Linux インスタンスを AWS Managed Microsoft AD Active Directory にシームレスに結合する](seamlessly_join_linux_instance.md) に概説されている手順。

## ステップ 1. アカウント 2 で LinuxEC2DomainJoin ロールを作成する
<a name="seamlessly_join_linux_to_shared_MAD_step_1"></a>

このステップでは、`Account 2` にサインインした状態で IAM コンソールを使用し、EC2 Linux インスタンスをドメイン結合するための IAM ロールを作成します。

**LinuxEC2DomainJoin ロールを作成する**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. 左のナビゲーションペインにある **[アクセス管理]** で、**[ロール]** を選択します。

1. **[ロール]** ページで、**[ロールの作成]** を選択してください。

1. **[信頼されたエンティティの種類を選択]** の下で、**[AWS サービス]** ( ) を選択します。

1. **[ユースケース]** で **[EC2]** を選択し、**[次へ]** を選択します。

1. **[Filter policies]** (フィルターポリシー) で、以下を実行します。

   1. `AmazonSSMManagedInstanceCore` と入力します。次に、リスト内のその項目のチェックボックスを選択します。

   1. `AmazonSSMDirectoryServiceAccess` と入力します。次に、リスト内のその項目のチェックボックスを選択します。

   1. これらのポリシーを追加した後、**[ロールを作成]** を選択します。
**注記**  
`AmazonSSMDirectoryServiceAccess` は、 が管理する Active Directory にインスタンスを結合するためのアクセス許可を提供します Directory Service。 `AmazonSSMManagedInstanceCore`は、 を使用するために必要な最小限のアクセス許可を提供します AWS Systems Manager。これらのアクセス許可を使用してロールを作成する方法、および IAM ロールに割り当てることができるその他のアクセス許可とポリシーの詳細については、「*AWS Systems Manager ユーザーガイド*」の「[Systems Manager に必要なインスタンスのアクセス許可を設定する](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-permissions.html)」を参照してください。

1. `LinuxEC2DomainJoin`[Role name]** (ロール名)欄 に、** 適宜の別の名前など 新しいロールの名前を入力します。

1. (選択可能) **[ロールの説明]** に、説明を入力します。**

1. (選択可能) **[ステップ 3: タグの追加]** で **[新しいタグの追加]** を選択して、タグを追加します。**タグのキーと値のペアは、このロールのアクセスを整理、追跡、または制御するために使用されます。

1. [**ロールの作成**] を選択してください。

## ステップ 2. シー AWS Secrets Manager クレットを共有するためのクロスアカウントリソースアクセスを作成する
<a name="seamlessly_join_linux_to_shared_MAD_step_2"></a>

次のセクションでは、EC2 Linux インスタンスを共有 AWS Managed Microsoft AD にシームレスに結合するために満たす必要がある追加要件について説明します。これらの要件には、リソースポリシーの作成と、適切なサービスとリソースへのアタッチが含まれます。

アカウントのユーザーが別のアカウントの AWS Secrets Manager シークレットにアクセスできるようにするには、リソースポリシーと ID ポリシーの両方でアクセスを許可する必要があります。このタイプのアクセスは「[クロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」と呼ばれます。

このタイプのアクセスは、シークレットと同じアカウントのアイデンティティにアクセスを許可することとは異なります。また、シークレットの暗号化に使用されている [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) (KMS) キーをアイデンティティで使用できるようにする必要があります。クロスアカウントアクセスに AWS マネージドキー (`aws/secretsmanager`) を使用できないため、このアクセス許可が必要です。代わりに、作成した KMS キーを使用してシークレットを暗号化し、キーポリシーをそれにアタッチする必要があります。シークレットの暗号化キーを変更するには、「[AWS Secrets Manager シークレットを変更する](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html)」を参照してください。

**注記**  
使用するシークレットに応じて AWS Secrets Manager、 に関連する料金が発生します。現在の価格の詳細なリストについては、「[AWS Secrets Manager 料金表](https://aws.amazon.com/secrets-manager/pricing/)」を参照してください。Secrets Manager AWS マネージドキー `aws/secretsmanager`が作成する を使用して、シークレットを無料で暗号化できます。独自の KMS キーを作成してシークレットを暗号化すると、 は現在の KMS AWS レートで AWS 課金します。詳細については、「[AWS Key Management Service 料金](https://aws.amazon.com/kms/pricing/)」を参照してください。

次の手順では、ユーザーが EC2 Linux インスタンスを共有 AWS Managed Microsoft AD にシームレスに結合できるようにするリソースポリシーを作成できます。

**アカウント 1 のシークレットにリソースポリシーをアタッチします。**

1. [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) から Secrets Manager コンソールを開きます。

1. シークレットのリストから、[前提条件](#seamlessly_join_linux_to_shared_MAD_prereqs) の間に作成した **[シークレット]** を選択します。

1. **[概要]** タブの **[シークレットの詳細ページ]** で、**[リソースアクセス許可]** までスクロールダウンします。

1. **[アクセス許可を編集する]** を選択します。

   1. ポリシーフィールドに次のポリシーを入力します。次のポリシーでは、`Account 2` の **[LinuxEC2DomainJoin]** が `Account 1` のシークレットにアクセスすることを許可しています。ARN 値を、「[ステップ 1](#seamlessly_join_linux_to_shared_MAD_step_1)」で作成した `LinuxEC2DomainJoin` ロールである `Account 2` の ARN 値に置き換えます。このポリシーを使用するには、「 [AWS Secrets Manager シークレットにアクセス許可ポリシーをアタッチする](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)」を参照してください。

------
#### [ JSON ]

****  

     ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "AWS": "{{arn:aws:iam::123456789012:role/LinuxEC2DomainJoin}}"
           },
           "Action": "secretsmanager:GetSecretValue",
           "Resource": "*"
         }
       ]
     }
     ```

------

**Account 1 の KMS キーのキーポリシーにステートメントを追加します。**

1. [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) から Secrets Manager コンソールを開きます。

1. 左のナビゲーションバーで、**[カスタマーマネージドキー]** を選択します。

1. **[カスタマーマネージドキー]** ページで、作成したキーを選択します。

1. **[キーの詳細]** ページで、**[キーポリシー]** に移動し、**[編集]** を選択します。

1. 次のキーポリシーステートメントにより、`Account 2` の `ApplicationRole` が `Account 1` で KMS キーを使用して `Account 1` のシークレットを復号化できるようにします。このステートメントを使用するには、それを KMS キーのキーポリシーに追加します。詳細については、[キーポリシーの変更](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)を参照してください。

   ```
   {
   {
     "Effect": "Allow",
     "Principal": {
       "AWS": "{{arn:aws:iam::Account2:role/ApplicationRole}}"
     },
     "Action": [
       "kms:Decrypt",
       "kms:DescribeKey"
     ],
     "Resource": "*"
   }
   ```

**Account 2 のアイデンティティにアイデンティティポリシーを作成する**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. 左のナビゲーションペインにある **[アクセス管理]** で、**[ポリシー]** を選択します。

1. [**ポリシーの作成**] を選択します。**[ポリシーエディター]** で、**[JSON]** を選択します。

1. 次のポリシーにより、`Account 2` の `ApplicationRole` が `Account 1` のシークレットにアクセスし、同じく `Account 1` にある暗号化キーを使用してシークレットの値を復号化できるようになります。Secrets Manager コンソールで、**[シークレットの詳細]** ページの **[シークレットの ARN]** の下に、シークレットの ARN を見つけられます。または、[describe-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html) を呼び出してシークレットの ARN を識別することもできます。リソース ARN をシークレット ARN と `Account 1` のリソース ARN に置き換えます。このポリシーを使用するには、「 [AWS Secrets Manager シークレットにアクセス許可ポリシーをアタッチする](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)」を参照してください。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "secretsmanager:GetSecretValue",
         "Resource": "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333{{:secret:}}secretName-AbCdEf}}"
       },
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:Describekey"
         ],
         "Resource": "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{Your_Encryption_Key}}"
       }
     ]
   }
   ```

------

1. **[次へ]** を選択し、**[変更の保存]** を選択します。

1. [Attach a resource policy to the secret in Account 1](#step1ResourcePolicy) の `Account 2` で作成したロールを検索して選択します。

1. **[アクセス許可を追加する]** の下で、**[ポリシーを追加する]** を選択します。

1. 検索バーで、[Add a statement to the key policy for the KMS key in Account 1](#step2KeyPolicy) で作成したポリシーを検索し、チェックボックスを選択してポリシーをロールに追加します。**[アクセス許可を追加する]** を選択します。

## ステップ 3. Linux インスタンスをシームレスに結合する
<a name="seamlessly_join_linux_to_shared_MAD_prereqs_step_3"></a>

次の手順を使用して、EC2 Linux インスタンスを共有 AWS Managed Microsoft AD にシームレスに結合できるようになりました。

**Linux インスタンスをシームレスに結合するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開きます。

1. ナビゲーションバーのリージョンセレクターから、既存のディレクトリ AWS リージョン と同じ を選択します。

1. [**EC2 ダッシュボード**] の [**インスタンスを起動する**] セクションで、[**インスタンスを起動する**] を選択します。

1. **[インスタンスを起動する]** ページの **[名前とタグ]** セクションで、Linux EC2 インスタンスに使用する名前を入力します。

1.  (選択可能) **[補足タグを追加]** で、タグとキーの値のペアを 1 つまたは複数追加して、この EC2 インスタンスのアクセスを整理、追跡、またはコントロールします。**

1. **Application and OS Image (Amazon Machine Image)**セクションで、起動したいLinux AMIを選択します。
**注記**  
使用する AMI には AWS Systems Manager 、(SSM Agent) バージョン 2.3.1644.0 以降が必要です。その AMI からインスタンスを起動して AMI にインストールされている SSM Agent のバージョンを確認するには、「[現在インストールされている SSM Agent バージョンを取得するには](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-get-version.html)」を参照してください。SSM Agent をアップグレードする必要がある場合は、「[Linux の EC2 インスタンスで SSM Agent をインストールして設定する](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html)」を参照してください。  
SSM は Linux インスタンスを Active Directory `aws:domainJoin` ドメインに参加させる際にプラグインを使用します。プラグインは、Linux インスタンスのホスト名を EC2AMAZ-{{XXXXXXX}} の形式に変更します。`aws:domainJoin` の詳細については、「*AWS Systems Manager ユーザーガイド*」の「[AWS Systems Manager コマンドドキュメントプラグインリファレンス](https://docs.aws.amazon.com//systems-manager/latest/userguide/documents-command-ssm-plugin-reference.html#aws-domainJoin)」を参照してください。

1. [**インスタンスタイプ**] セクションで、[**インスタンスタイプ**] ドロップダウンリストから使用するインスタンスタイプを選択します。

1. [**キーペア (ログイン)**] セクションで、新しいキーペアを作成するか、既存のキーペアから選択します。新しいキーペアを作成するには、[**新しいキーペアの作成**] を選択します。キーペアの名前を入力し、[**キーペアタイプ**] と [**プライベートキーファイル形式**] のオプションを選択します。OpenSSH で使用できる形式でプライベートキーを保存するには、[**.pem**] を選択します。プライベートキーを PuTTY で使用できる形式で保存するには、[**.ppk**] を選択します。[**キーペアの作成**] を選択します。ブラウザによって秘密キーファイルが自動的にダウンロードされます。ダウンロードしたプライベートキーのファイルを安全な場所に保存します。
**重要**  
プライベートキーのファイルを保存できるのはこのタイミングだけです。

1. [**インスタンスを起動する**] ページの [**ネットワーク設定**] セクションで、[**編集**] を選択します。**[VPC - *必須*]** ドロップダウンリストから、ディレクトリが作成された **[VPC]** を選択します。

1. [**サブネット**] ドロップダウンリストから VPC 内のパブリックサブネットの 1 つを選択します。選択するサブネットで、すべての外部トラフィックがインターネットゲートウェイにルーティングされるように選択する必要があります。そうでない場合は、インスタンスにリモート接続できません。

   インターネットゲートウェイへの接続方法の詳細については、「*Amazon VPC User Guide*」の「[Connect to the internet using an internet gateway](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。

1. [**自動割り当てパブリック IP**] で、[**有効化**] を選択します。

   公開 IP アドレス指定とプライベート IP アドレス指定の詳細については、「Amazon EC2 インスタンスユーザーガイド」の「[Amazon EC2 インスタンスの IP アドレス指定](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html)」を参照してください。**

1. [**ファイアウォール (セキュリティグループ)**] 設定にはデフォルト設定を使用するか、必要に応じて変更を加えることができます。

1. [**ストレージの設定**] 設定にはデフォルト設定を使用するか、必要に応じて変更を加えることができます。

1. [**高度な詳細**] セクションを選択し、[**ドメイン結合ディレクトリ**] ドロップダウンリストからドメインを選択します。
**注記**  
ドメイン結合ディレクトリを選択すると、次のようになります:   

![ドメイン結合ディレクトリを選択したときのエラーメッセージ。既存の SSM ドキュメントにエラーがあります。](http://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

このエラーは、EC2 起動ウィザードが予期しないプロパティを持つ既存の SSM ドキュメントを識別した場合に発生します。次のいずれかを試すことができます。  
以前に SSM ドキュメントを編集し、プロパティの存在が予想される場合は、[閉じる] を選択して EC2 インスタンスを変更せずに起動します。
ここで既存の SSM ドキュメントを削除するリンクを選択して、SSM ドキュメントを削除します。これにより、正しいプロパティを使用する SSM ドキュメントを作成できます。EC2 インスタンスを起動すると、SSM ドキュメントが自動的に作成されます。

1. **[IAMインスタンスプロファイル]**には、前提条件のセクションで以前に作成したIAMロールを選択します **[ステップ2：LinuxEC2DomainJoinロールを作成します]**

1. **[インスタンスを起動]** を選択します。

**注記**  
SUSE Linux でシームレスなドメイン結合を実行する場合は、認証が機能する前に再起動する必要があります。Linux ターミナルから SUSE を再起動するには、「**sudo reboot**」と入力します。