

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

# CodeDeploy 用のオンプレミスインスタンスを用いての作業
<a name="instances-on-premises"></a>

オンプレミスインスタンスは、CodeDeploy エージェントを実行してパブリック AWS サービスエンドポイントに接続できる Amazon EC2 インスタンスではない物理デバイスです。

CodeDeploy アプリケーションリビジョンをオンプレミスインスタンスにデプロイするには、2 つの主なステップがあります。
+ **ステップ 1** – オンプレミスインスタンスを設定して CodeDeploy を用いて登録し、タグをつけます。
+ **ステップ 2** － アプリケーションリビジョンをオンプレミスインスタンスにデプロイします。
**注記**  
サンプルアプリケーションリビジョンの作成と、正しく設定および登録されたオンプレミスインスタンスへのデプロイを試す場合は、「[チュートリアル: CodeDeploy (Windows サーバー、Ubuntu サーバー、または Red Hat エンタープライズ Linux) を使用してオンプレミスインスタンスにアプリケーションをデプロイします。](tutorials-on-premises-instance.md)」を参照してください。オンプレミスインスタンス、および CodeDeploy の使用方法の詳細については、[CodeDeploy 用のオンプレミスインスタンスを用いての作業](#instances-on-premises) を参照してください。

オンプレミスインスタンスをデプロイでそれ以上使用したくない場合は、デプロイグループからオンプレミスインスタンスタグを削除できます。より強力な方法としては、インスタンスからオンプレミスインスタンスタグを削除します。明示的にオンプレミスインスタンスを登録解除し、デプロイでそれ以上使用されないようにすることもできます。詳細については、「[CodeDeploy でのオンプレミスインスタンスのオペレーションの管理](on-premises-instances-operations.md)」を参照してください。

このセクションの手順では、デプロイで使用できるようにオンプレミスインスタンスを設定し、CodeDeploy を用いて登録し、タグ付けする方法を学びます。また、このセクションでは、デプロイする計画がなくなった後に、CodeDeploy を使用して、オンプレミスインスタンスについての情報を取得する情報や、オンプレミスインスタンスの登録を解除する方法を説明します。

**Topics**
+ [オンプレミスインスタンスを設定するための前提条件](instances-on-premises-prerequisites.md)
+ [オンプレミスインスタンスの登録](on-premises-instances-register.md)
+ [オンプレミスインスタンスオペレーションの管理](on-premises-instances-operations.md)

# オンプレミスインスタンスを設定するための前提条件
<a name="instances-on-premises-prerequisites"></a>

オンプレミスインスタンスを登録するには、次の前提条件を満たす必要があります。

**重要**  
[register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) コマンドを使用していて、 AWS Security Token Service (AWS STS) で生成された一時的な認証情報を定期的に更新する場合は、他の前提条件があります。詳細については、「[IAM セッション ARN 登録前提条件](register-on-premises-instance-iam-session-arn.md#register-on-premises-instance-iam-session-arn-prerequisites)」を参照してください。

**デバイスの要件**

CodeDeploy を用いてオンプレミスインスタンスとして準備し、登録し、タグ付けするデバイスは、サポートされている OS を実行している必要があります。リストについては、「[CodeDeploy エージェントで対応するオペレーティングシステム](codedeploy-agent.md#codedeploy-agent-supported-operating-systems)」を参照してください。

OS がサポートされていない場合、ニーズに適合するために CodeDeploy エージェントをオープンソースとして利用できます。さらなる詳細については、GitHub の [CodeDeploy agent](https://github.com/aws/aws-codedeploy-agent) リポジトリを参照してください。

**アウトバウンド通信**

オンプレミスインスタンスは、CodeDeploy と通信するためにパブリック AWS サービスエンドポイントに接続できる必要があります。

CodeDeploy エージェントは、ポート 443 経由で HTTPS を使用してアウトバウンドの通信をします。

**管理コントロール**

オンプレミスインスタンスの設定のためにオンプレミスインスタンス上で使用するローカルまたはネットワークのアカウントは、`sudo` あるいは `root` (Ubuntu サーバーの場合)、または管理者 (Windows サーバーの場合) として実行できる必要があります。

**IAM アクセス許可**

オンプレミスインスタンスを登録するために使用する IAM アイデンティティは、登録を完了するため(および必要に応じて登録を削除するため)の許可を付与されている必要があります。

「[ステップ 3: CodeDeploy ユーザーのアクセス許可を制限する](getting-started-policy.md)」で説明されているポリシーに加えて、呼び出し元の IAM アイデンティティに以下の追加のポリシーが添付済みであることを確認します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow", 
      "Action": [
        "iam:CreateAccessKey",
        "iam:CreateUser",
        "iam:DeleteAccessKey",
        "iam:DeleteUser",
        "iam:DeleteUserPolicy",
        "iam:ListAccessKeys",
        "iam:ListUserPolicies",
        "iam:PutUserPolicy",
        "iam:GetUser"
      ],
      "Resource": "*"
    }
  ]
}
```

------

IAM ポリシーをアタッチする方法については、[IAM ポリシーの管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html)を参照してください。

# CodeDeploy を用いてへのオンプレミスインスタンスを登録
<a name="on-premises-instances-register"></a>

オンプレミスインスタンスを登録するには、リクエストを認証するために IAM ID を使用する必要があります。使用する IAM ID と登録方法を以下のオプションから選択できます。
+ リクエストを認証するため、IAM ロール ARN を使用します。
  + [register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) コマンドを使用し、 AWS Security Token Service (AWS STS) で生成された一時的な認証情報を定期的に更新して、ほとんどの登録オプションを手動で設定します。認証はタイムアウトする一時的なトークンを使用して行われ、定期的に更新する必要があるため、このオプションは最高レベルのセキュリティを提供します。このオプションは、どのような規模の実稼働向けデプロイにも推奨されます。詳細については、「[[register-on-premises-instance] コマンド (IAM セッション ARN) を使用してオンプレミスインスタンスを登録](register-on-premises-instance-iam-session-arn.md)」を参照してください。
+ (非推奨) リクエストを認証するため、IAM ユーザー ARN を使用します。
  + 最も自動化された登録プロセスのために、[register](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) コマンドを使用します。このオプションは、セキュリティがそれほど問題にならない実稼働以外のデプロイでのみ使用してください。このオプションは認証に静的 (永続的) 認証情報を使用するため、安全性が低くなります。このオプションは、単一のオンプレミスインスタンスを登録する場合に適しています。詳細については、「[オンプレミスインスタンスを登録するために登録コマンド (IAM ユーザー ARN) を使用](instances-on-premises-register-instance.md)」を参照してください。
  + [register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) コマンドを使って、ほとんどの登録オプションを手動で設定します。少数のオンプレミスインスタンスを登録するのに適しています。詳細については、「[[register-on-premises-instance] コマンド (IAM ユーザー ARN) を使用してオンプレミスインスタンスを登録します。](register-on-premises-instance-iam-user-arn.md)」を参照してください。

**Topics**
+ [[register-on-premises-instance] コマンド (IAM セッション ARN) を使用してオンプレミスインスタンスを登録](register-on-premises-instance-iam-session-arn.md)
+ [オンプレミスインスタンスを登録するために登録コマンド (IAM ユーザー ARN) を使用](instances-on-premises-register-instance.md)
+ [[register-on-premises-instance] コマンド (IAM ユーザー ARN) を使用してオンプレミスインスタンスを登録します。](register-on-premises-instance-iam-user-arn.md)

# [register-on-premises-instance] コマンド (IAM セッション ARN) を使用してオンプレミスインスタンスを登録
<a name="register-on-premises-instance-iam-session-arn"></a>

オンプレミスインスタンスの認証と登録を最大限制御するには、[register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) コマンドと AWS Security Token Service 、 () で生成された一時的な認証情報を定期的に更新しますAWS STS。インスタンスの静的 IAM ロールは、CodeDeploy デプロイオペレーションを実行するために、これらの更新された AWS STS 認証情報のロールを引き受けます。

多数のインスタンスを登録する必要がある場合は、このメソッドが最も役に立ちます。これにより、CodeDeploy での登録処理を自動化できます。自分の ID と認証システムを使用して、オンプレミスインスタンスを認証でき、CodeDeploy で使用するためにインスタンス IAM セッション認証情報をサービスからインスタンスへ配布できます。

**注記**  
または、すべてのオンプレミスインスタンスに分散された共有 IAM ユーザーを使用して AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API を呼び出し、オンプレミスインスタンスのセッション認証情報を取得することもできます。このメソッドは安全性が低いため、本番稼働用またはミッションクリティカルな環境での使用は推奨しません。

次のトピックの情報を使用して、 で生成された一時的なセキュリティ認証情報を使用してオンプレミスインスタンスを設定します AWS STS。

**Topics**
+ [IAM セッション ARN 登録前提条件](#register-on-premises-instance-iam-session-arn-prerequisites)
+ [ステップ 1: オンプレミスインスタンスが引き受ける IAM ロールを作成](#register-on-premises-instance-iam-session-arn-1)
+ [ステップ 2: を使用して個々のインスタンスの一時的な認証情報を生成する AWS STS](#register-on-premises-instance-iam-session-arn-2)
+ [ステップ 3: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-session-arn-3)
+ [ステップ 4:CodeDeploy デプロイのためオンプレミスインスタンスを準備します。](#register-on-premises-instance-iam-session-arn-4)
+ [ステップ 5: CodeDeploy でオンプレミスインスタンスを登録します。](#register-on-premises-instance-iam-session-arn-5)
+ [ステップ 6: オンプレミスインスタンスにタグ付け](#register-on-premises-instance-iam-session-arn-6)
+ [ステップ 7: アプリケーションリビジョンをオンプレミスインスタンスにデプロイ](#register-on-premises-instance-iam-session-arn-7)
+ [ステップ 8: オンプレミスインスタンスへのデプロイを追跡](#register-on-premises-instance-iam-session-arn-8)

## IAM セッション ARN 登録前提条件
<a name="register-on-premises-instance-iam-session-arn-prerequisites"></a>

[オンプレミスインスタンスを設定するための前提条件](instances-on-premises-prerequisites.md) にリストされている前提条件に加えて、次の追加の要件を満たす必要があります。

**IAM アクセス許可**

オンプレミスインスタンスを登録するのに使用する IAM 識別子には、CodeDeploy オペレーションを実行するためのアクセス権限が付与される必要があります。**AWSCodeDeployFullAccess** 管理ポリシーが IAM ID に添付されていることを確認します。詳細については、 [IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)の *AWS マネージドポリシー* を参照してください。

**一時的な認証情報を更新するシステム**

IAM セッション ARN を使用してオンプレミスインスタンスを登録する場合、一時的な認証情報を定期的に更新する適切なシステムが必要です。一時的な認証情報は 1 時間後、または認証情報が生成されたときより短い時間が指定されていればそれより早く期限切れになります。認証情報を更新するためのメソッドは 2 つあります。
+ **メソッド 1**: 企業ネットワーク内で ID および認証システムを適切に使用し、CRON スクリプトを使って ID および認証システムを定期的にポーリングし、最新のセッション認証情報をインスタンスへコピーするようにします。これにより、組織で使用する認証タイプをサポートするために CodeDeploy エージェントまたはサービスを変更 AWS することなく、認証とアイデンティティ構造を と統合できます。
+ **方法 2**: インスタンスで定期的に CRON ジョブを実行して AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) アクションを呼び出し、CodeDeploy エージェントがアクセスできるファイルにセッション認証情報を書き込みます。このメソッドでは、IAM ユーザーの使用、およびオンプレミスインスタンスへの認証情報のコピーをする必要はありますが、多くのオンプレミスインスタンスで同じ IAM ユーザーおよび認証情報を使用できます。

**注記**  
メソッド 1 と 2 のどちらを使用しているかにかかわらず、一時的なセッション認証情報が更新された後に CodeDeploy エージェントを再起動するプロセスを設定して、新しい認証情報が有効になるようにする必要があります。

 AWS STS 認証情報の作成と操作の詳細については、[AWS Security Token Service 「 API リファレンス](https://docs.aws.amazon.com/STS/latest/APIReference/)」および[「一時的なセキュリティ認証情報を使用して AWS リソースへのアクセスをリクエストする](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)」を参照してください。

## ステップ 1: オンプレミスインスタンスが引き受ける IAM ロールを作成
<a name="register-on-premises-instance-iam-session-arn-1"></a>

 AWS CLI または IAM コンソールを使用して、オンプレミスインスタンスが CodeDeploy を認証および操作するために使用する IAM ロールを作成できます。

単一の IAM ロールのみを作成する必要があります。各オンプレミスインスタンスは、このロールに付与されたアクセス権限を提供する一時認証情報を取得するためにこのロールを引き受けることができます。

作成するロールは、CodeDeploy エージェントをインストールするのに必要なファイルにアクセスするために、次の権限が必要です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

このポリシーを、オンプレミスインスタンスがアクセスする必要のある Amazon S3 バケットにのみ制限することをお勧めします。このポリシーを制限する場合、CodeDeploy エージェントを含む Amazon S3 バケットへのアクセスを許可することを確認します。そうしない場合、CodeDeploy エージェントがオンプレミスインスタンスにインストールされる、または更新されるたびに、エラーが発生する可能性があります。Amazon S3 リソースへのアクセスコントロールの詳細については、[Managing access permissions to your Amazon S3 resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) を参照してください。

**IAM ロールを作成するには**

1. [ オプションを使用して ](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)create-role`--role-name` コマンドを呼び出し、IAM ロールの名前 (例: `CodeDeployInstanceRole`) と `--assume-role-policy-document` オプションを指定してアクセス権限を提供します。

   このインスタンスの IAM ロールを作成するときは、`CodeDeployInstanceRole` という名前を付け、`CodeDeployRolePolicy.json` という名前のファイルに必要なアクセス権限を含めます。

   ```
   aws iam create-role --role-name CodeDeployInstanceRole --assume-role-policy-document file://CodeDeployRolePolicy.json
   ```

1. **create-role** コマンドを呼び出した出力で、ARN フィールドの値をメモします。例えば、次のようになります。

   ```
   arn:aws:iam::123456789012:role/CodeDeployInstanceRole
   ```

    AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API を使用して各インスタンスの短期認証情報を生成する場合は、ロール ARN が必要です。

   IAM ロールの作成の詳細については、*IAM ユーザーガイド*の[「 AWS サービスにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

   既存のロールにアクセス権限を割り当てる方法については、[AWS CLI Command Reference](https://docs.aws.amazon.com/cli/latest/reference/) の [put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) を参照してください。

## ステップ 2: を使用して個々のインスタンスの一時的な認証情報を生成する AWS STS
<a name="register-on-premises-instance-iam-session-arn-2"></a>

オンプレミスインスタンスの登録に使用する一時認証情報を生成する前に、一時認証情報を生成する IAM ID (ユーザーまたはロール) を作成または選択する必要があります。`sts:AssumeRole` アクセス権限は、この IAM ID のポリシーの設定に含める必要があります。

IAM ID にアクセス`sts:AssumeRole`許可を付与する方法については、「 [AWS サービスにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」および[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)」を参照してください。

一時認証情報を生成するには、2 とおりの方法があります。
+  AWS CLIを用いて [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) コマンドを使用します。例えば、次のようになります。

  ```
  aws sts assume-role --role-arn arn:aws:iam::12345ACCOUNT:role/role-arn --role-session-name session-name
  ```

  コードの説明は以下のとおりです。
  + *12345ACCOUNT* が組織の 12 桁のアカウント番号です。
  + *role-arn* は、[ステップ 1: オンプレミスインスタンスが引き受ける IAM ロールを作成](#register-on-premises-instance-iam-session-arn-1) で生成した引き受けるロールの ARN です。
  + *session-name* は、現在作成しているロールセッションへ付ける名前です。
**注記**  
ID と認証システムを定期的にポーリングし、最新のセッション認証情報をインスタンスにコピーする CRON スクリプトを使用する場合 (「」で説明されている一時的な認証情報を更新するための方法 1[IAM セッション ARN 登録前提条件](#register-on-premises-instance-iam-session-arn-prerequisites))、代わりにサポートされている AWS SDK を使用して [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) を呼び出すことができます。
+ が提供するツールを使用します AWS。

  aws-codedeploy-session-helper ツールは AWS STS 認証情報を生成し、インスタンスに配置するファイルに書き込みます。このツールは、[IAM セッション ARN 登録前提条件](#register-on-premises-instance-iam-session-arn-prerequisites) で説明している一時認証情報を更新するメソッド 2 に最適です。このメソッドでは、aws-codedeploy-session-helper ツールは、各インスタンスに配置され、IAM ユーザーのアクセス権限を使用してコマンドを実行します。各インスタンスは、このツールとともに同じ IAM ユーザーの認証情報を使用します。

  詳細については、[aws-codedeploy-session-helper](https://github.com/awslabs/aws-codedeploy-samples/tree/master/utilities/aws-codedeploy-session-helper) GitHub リポジトリを参照してください。
**注記**  
IAM セッション認証情報を作成した後、オンプレミスインスタンスの任意の場所に保存します。次のステップで、CodeDeploy エージェントがこの場所の認証情報にアクセスできるように設定します。

続ける前に、定期的に一時認証情報を更新するために使用するシステムを確認します。一時認証情報が更新されていない場合、オンプレミスインスタンスへのデプロイは失敗します。詳細については、[IAM セッション ARN 登録前提条件](#register-on-premises-instance-iam-session-arn-prerequisites) にある「一時認証情報を更新するシステム」を参照してください。

## ステップ 3: オンプレミスインスタンスに設定ファイルを追加
<a name="register-on-premises-instance-iam-session-arn-3"></a>

ルートまたは管理者権限を使用して、オンプレミスインスタンスに設定ファイルを追加します。この設定ファイルは、IAM の認証情報、および CodeDeploy のために使われる AWS のリージョンを宣言するために使用されます。ファイルは、オンプレミスインスタンスの指定の場所に追加する必要があります。ファイルには、IAM 一時セッション ARN、そのシークレットキー ID とシークレットアクセスキー、およびターゲット AWS リージョンが含まれている必要があります。

**設定ファイルを追加するには**

1. オンプレミスインスタンスの以下の場所に、`codedeploy.onpremises.yml` (Ubuntu サーバーまたは RHEL オンプレミスインスタンスの場合)、または、`conf.onpremises.yml` (Windows サーバーオンプレミスインスタンスの場合) という名前のファイルを作成します。
   + Ubuntu サーバーの場合:`/etc/codedeploy-agent/conf`
   + Windows サーバーについて：`C:\ProgramData\Amazon\CodeDeploy`

1. テキストエディタを使用して、新しく作成した `codedeploy.onpremises.yml` ファイル (Linux) または `conf.onpremises.yml` ファイル (Windows) に次の情報を追加します。

   ```
   ---
   iam_session_arn: iam-session-arn
   aws_credentials_file: credentials-file
   region: supported-region
   ```

   コードの説明は以下のとおりです。
   + *iam-session-arn* は、「[ステップ 2: を使用して個々のインスタンスの一時的な認証情報を生成する AWS STS](#register-on-premises-instance-iam-session-arn-2)」でメモしておいた IAM セッション ARN です。
   + *credentials-file* は、[ステップ 2: を使用して個々のインスタンスの一時的な認証情報を生成する AWS STS](#register-on-premises-instance-iam-session-arn-2) でメモした一時セッション ARN の認証情報ファイルの場所です。
   + *supported-region* は、「*AWS 全般のリファレンス*」の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」に一覧表示されているように、CodeDeploy がサポートするリージョンの 1 つです。

## ステップ 4:CodeDeploy デプロイのためオンプレミスインスタンスを準備します。
<a name="register-on-premises-instance-iam-session-arn-4"></a>

**のインストールと設定 AWS CLI **

オンプレミスインスタンス AWS CLI に をインストールして設定します。( AWS CLI は、CodeDeploy エージェントをダウンロードしてオンプレミスインスタンスにインストールするために使用されます）。

1. オンプレミスインスタンス AWS CLI に をインストールするには、*AWS Command Line Interface 「 ユーザーガイド*」の[「 のセットアップ AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)」の手順に従います。
**注記**  
オンプレミスインスタンスを使用するための CodeDeploy コマンドは、 AWS CLIのバージョン 1.7.19 で使用できるようになりました。のバージョンが AWS CLI 既にインストールされている場合は、 を呼び出してそのバージョンを確認できます**aws --version**。

1. オンプレミスインスタンス AWS CLI で を設定するには、*AWS Command Line Interface 「 ユーザーガイド*」の[「 の設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」の手順に従います。
**重要**  
( **aws configure** コマンドを呼び出す AWS CLI などして) を設定するときは、少なくとも で説明されているアクセス許可を持つ IAM ユーザーのシークレットキー ID とシークレットアクセスキーを必ず指定してください[IAM セッション ARN 登録前提条件](#register-on-premises-instance-iam-session-arn-prerequisites)。

**AWS\$1REGION 環境変数を設定する (Ubuntu Server および RHEL のみ)**

Ubuntu サーバーまたは RHEL をオンプレミスインスタンスで実行していない場合は、このステップをスキップして「CodeDeploy エージェントをインストールする」へ進んでください。

Ubuntu サーバーまたは RHEL オンプレミスインスタンスに CodeDeploy エージェントをインストールし、新しいバージョンが使用可能になったらいつでも CodeDeploy エージェントを更新するようにインスタンスを有効にします。これを行うには、インスタンス上の `AWS_REGION` の環境変数を、CodeDeploy がサポートしているリージョンのうちの １ つの識別子に設定します。CodeDeploy アプリケーション、デプロイグループ、およびアプリケーションリビジョンのある (`us-west-2` など)リージョンの値に設定することをお勧めします 。リージョンのリストについては、「*AWS 全般のリファレンス*」の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」を参照してください。

環境変数を設定するには、端末から以下を呼び出します。

```
export AWS_REGION=supported-region
```

*supported-region* がリージョンの識別子である場所 (例:`us-west-2`)。

**CodeDeploy エージェントをインストール**
+ Ubuntu サーバーオンプレミスインスタンスの場合は、[Ubuntu サーバー用の CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install-ubuntu.md) の手順に従った後、このページに戻ります。
+ RHEL オンプレミスインスタンスについては、[Amazon Linux または RHEL 用の CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install-linux.md) の手順に従った後、このページに戻ります。
+ Windows サーバーオンプレミスインスタンスの場合は、[Windows サーバー用の CodeDeploy エージェントです。](codedeploy-agent-operations-install-windows.md) の手順に従った後、このページに戻ります。

## ステップ 5: CodeDeploy でオンプレミスインスタンスを登録します。
<a name="register-on-premises-instance-iam-session-arn-5"></a>

このステップの手順では、オンプレミスインスタンス自体からオンプレミスインスタンスを登録していることを想定します。オンプレミスインスタンスは、 AWS CLI がインストールされ、設定された別のデバイスまたはインスタンスから登録できます。

 AWS CLI を使用してオンプレミスインスタンスを CodeDeploy に登録し、デプロイで使用できるようにします。

を使用する前に AWS CLI、 で作成した一時セッション認証情報の ARN が必要です[ステップ 3: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-session-arn-3)。例えば、`AssetTag12010298EX` と指定したインスタンスの場合:

```
arn:sts:iam::123456789012:assumed-role/CodeDeployInstanceRole/AssetTag12010298EX
```

[register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) コマンドを呼び出し、以下を指定します。
+  オンプレミスインスタンスを一意に識別する名前 (`--instance-name` オプションで指定)。
**重要**  
オンプレミスインスタンスを識別するために、特にデバッグのため、オンプレミスインスタンスの一意な特徴を示す名前 (例えば、もしあれば、STS 認証情報の session-name とシリアルナンバー、または内部アセット識別子など) を指定することを強くお勧めします。名前として MAC アドレスを指定した場合、MAC アドレスにはコロン (:) など CodeDeploy が許可しない文字が含まれることに注意してください。許可された文字の一覧については、「[CodeDeploy のクォータ](limits.md)」を参照してください。
+ 複数のオンプレミスインスタンスを認証するために [ステップ 1: オンプレミスインスタンスが引き受ける IAM ロールを作成](#register-on-premises-instance-iam-session-arn-1) で設定した IAM セッション ARN。

例:

```
aws deploy register-on-premises-instance --instance-name name-of-instance --iam-session-arn arn:aws:sts::account-id:assumed-role/role-to-assume/session-name
```

コードの説明は以下のとおりです。
+ *name-of-instance* は、オンプレミスインスタンスを識別するのに使用する名前です (例:`AssetTag12010298EX`)。
+ *account-id* は、組織の 12 桁のアカウント IDです (例: `111222333444`)。
+ *role-to-assume* は、インスタンス用に作成した IAM ロールの名前です (例: `CodeDeployInstanceRole`)。
+ *session-name* は、[ステップ 2: を使用して個々のインスタンスの一時的な認証情報を生成する AWS STS](#register-on-premises-instance-iam-session-arn-2) で指定したセッションロールの名前です。

## ステップ 6: オンプレミスインスタンスにタグ付け
<a name="register-on-premises-instance-iam-session-arn-6"></a>

 AWS CLI または CodeDeploy コンソールを使用して、オンプレミスインスタンスにタグを付けることができます。(CodeDeploy はオンプレミスインスタンスタグを使用してデプロイ中にデプロイターゲットを識別します。)

**オンプレミスインスタンスにタグ付けするには (CLI)**
+ [add-tags-to-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html) コマンドを呼び出し、以下を指定します。
  + オンプレミスインスタンスを一意に識別する名前 (`--instance-names` オプションで指定)。
  + 使用するオンプレミスインスタンスのタグキーの名前とタグ値 (`--tags` オプションで指定)。名前と値はいずれも指定する必要があります。CodeDeploy は値のみがあるオンプレミスインスタンスタグを許可しません。

    例:

    ```
    aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
    ```

**オンプレミスインスタンスにタグ付けするには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで、**Deploy** を展開し、**On-premises instances** を選択します。

1. オンプレミスインスタンスのリストで、タグ付けするオンプレミスインスタンスの名前を選択します。

1. タグのリストで、目的のタグキーとタグ値を選択または入力します。タグキーとタグ値を入力するたびに、別の行が表示されます。最大 10 個のタグにこれを繰り返すことができます。タグを削除するには**[削除]** を選択してください。

1. タグを追加したら、[**Update Tags**] を選択します。

## ステップ 7: アプリケーションリビジョンをオンプレミスインスタンスにデプロイ
<a name="register-on-premises-instance-iam-session-arn-7"></a>

登録され、タグ付けされたオンプレミスインスタンスにアプリケーションリビジョンをデプロイする準備ができました。

Amazon EC2 インスタンスにアプリケーションリビジョンをデプロイするのと同様の方法でオンプレミスインスタンスにアプリケーションリビジョンをデプロイします。手順については、「[CodeDeploy でデプロイを作成する](deployments-create.md)」を参照してください。これらの指示には、アプリケーションの作成、開発グループの作成、およびアプリケーションリビジョンの準備を含む前提条件へのリンクが含まれています。シンプルなサンプルアプリケーションリビジョンをデプロイすることが必要な場合は、[チュートリアル: CodeDeploy (Windows サーバー、Ubuntu サーバー、または Red Hat エンタープライズ Linux) を使用してオンプレミスインスタンスにアプリケーションをデプロイします。](tutorials-on-premises-instance.md) の [ステップ 2: サンプルのアプリケーションリビジョンを作成する](tutorials-on-premises-instance-2-create-sample-revision.md) で説明してあるものを作成できます。

**重要**  
オンプレミスインスタンスを対象としたデプロイグループの作成の一部として、CodeDeploy サービスロールを再利用する場合は、`Tag:get*` をサービスロールのポリシーステートメントの `Action` の部分に含める必要があります。詳細については、「[ステップ 2: CodeDeployのサービスのロールを作成する](getting-started-create-service-role.md)」を参照してください。

## ステップ 8: オンプレミスインスタンスへのデプロイを追跡
<a name="register-on-premises-instance-iam-session-arn-8"></a>

登録されタグ付けされたオンプレミスインスタンスへアプリケーションリビジョンをデプロイした後、デプロイの進行状況を追跡できます。

Amazon EC2 インスタンスへのデプロイの追跡と同様の方法でオンプレミスインスタンスへのデプロイの追跡をします。手順については、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

# オンプレミスインスタンスを登録するために登録コマンド (IAM ユーザー ARN) を使用
<a name="instances-on-premises-register-instance"></a>

**重要**  
IAM ユーザーを使用してインスタンスを登録することは、認証に静的 (永続的) 認証情報を使用するため推奨されません。セキュリティ向上のため、認証には一時的な認証情報を使用してインスタンスを登録することをお勧めします。詳細については、「[[register-on-premises-instance] コマンド (IAM セッション ARN) を使用してオンプレミスインスタンスを登録](register-on-premises-instance-iam-session-arn.md)」を参照してください。

**重要**  
IAM ユーザーのアクセスキー (永続的認証情報) をローテーションする計画を立ててください。アクセスキーのローテーションの詳細については、「[アクセスキーの更新](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)」を参照してください。

このセクションでは、最低限の労力でオンプレミスインスタンスを CodeDeploy で設定してタグ付けする方法を説明します。**register** コマンドは、単一の、または少数のオンプレミスインスタンスを処理する際に最も有用です。**register** のコマンドは、インスタンスを認証するために IAM ユーザー ARN を使用している場合のみ使用できます。**register** のコマンドは、認証のための IAM セッション ARN とは共に使用することはできません。

**register** のコマンドを使用すると、CodeDeploy で次の操作ができます。
+ コマンドで IAM ユーザーを指定しない場合は、オンプレミスインスタンス AWS Identity and Access Management の に IAM ユーザーを作成します。
+ オンプレミスインスタンスの設定ファイルに IAM ユーザーの認証情報を保存します。
+ CodeDeploy でオンプレミスインスタンスを登録します。
+ コマンドの一部にタグを指定した場合、オンプレミスインスタンスにタグを追加します。

**注記**  
[register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) コマンドは、[register](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) コマンドの代わりです。CodeDeploy を用いてオンプレミスインスタンスの設定、登録、タグ付けのほとんどを自分で行いたい場合は、**register-on-premises-instance** のコマンドを使用します。また、**register-on-premises-instance** のコマンドを使うと、IAM ユーザー ARN の代わりに、IAM セッション ARN を使用してインスタンスを登録できます。このアプローチは、大量のオンプレミスインスタンスがある場合、大きな利点となります。具体的には、各オンプレミスインスタンスに 1 つずつ IAM ユーザーを作成するかわりに、単一の IAM セッション ARN を使用して複数のインスタンスを認証できます。詳細については、「[[register-on-premises-instance] コマンド (IAM ユーザー ARN) を使用してオンプレミスインスタンスを登録します。](register-on-premises-instance-iam-user-arn.md)」および「[[register-on-premises-instance] コマンド (IAM セッション ARN) を使用してオンプレミスインスタンスを登録](register-on-premises-instance-iam-session-arn.md)」を参照してください。

**Topics**
+ [ステップ 1: オンプレミスインスタンス AWS CLI に をインストールして設定する](#instances-on-premises-register-instance-1-install-cli)
+ [ステップ 2: 登録コマンドを呼び出す](#instances-on-premises-register-instance-2-register-command)
+ [ステップ 3: インストールコマンドを呼び出す](#instances-on-premises-register-instance-3-install-command)
+ [ステップ 4: デプロイアプリケーションリビジョンをオンプレミスインスタンスにデプロイする](#instances-on-premises-register-instance-4-deploy-revision)
+ [ステップ 5: オンプレミスインスタンスへのデプロイを追跡](#instances-on-premises-register-instance-5-track-deployment)

## ステップ 1: オンプレミスインスタンス AWS CLI に をインストールして設定する
<a name="instances-on-premises-register-instance-1-install-cli"></a>

1. オンプレミスインスタンス AWS CLI に をインストールします。* AWS CLIユーザーガイド* の [Getting set up with the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) の指示に従います。
**注記**  
オンプレミスインスタンスを操作するための CodeDeploy コマンドは、 AWS CLI バージョン 1.7.19 以降で使用できます。 AWS CLI が既にインストールされている場合は、 を呼び出し**aws --version**てバージョンを確認します。

1. オンプレミスインスタンス AWS CLI で を設定します。* AWS CLIユーザーガイド* の [Configuring the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) の指示に従います。
**重要**  
( **aws configure** コマンドを呼び出す AWS CLI などして) を設定するときは、 で指定されたアクセス許可に加えて、少なくとも次の AWS アクセス許可を持つ IAM ユーザーのシークレットキー ID とシークレットアクセスキーを必ず指定してください[オンプレミスインスタンスを設定するための前提条件](instances-on-premises-prerequisites.md)。これにより、オンプレミスインスタンスで CodeDeploy エージェントをダウンロードしてインストールすることができるようになります。アクセス権限は次のようになります。  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*",
           "iam:CreateAccessKey",
           "iam:CreateUser",
           "iam:DeleteAccessKey",
           "iam:DeleteUser",
           "iam:DeleteUserPolicy",
           "iam:ListAccessKeys",
           "iam:ListUserPolicies",
           "iam:PutUserPolicy",
           "iam:GetUser",
           "tag:getTagKeys",
           "tag:getTagValues",
           "tag:GetResources"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket1/*"
         ]
       }     
     ]
   }
   ```
前述の Amazon S3 バケットのいずれかにアクセスしようとしたときにアクセス拒否エラーが表示される場合は、バケットのリソース ARN の `/*` の部分 (例: `arn:aws:s3:::aws-codedeploy-sa-east-1`) を省略してみてください。

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*",
           "iam:CreateAccessKey",
           "iam:CreateUser",
           "iam:DeleteAccessKey",
           "iam:DeleteUser",
           "iam:DeleteUserPolicy",
           "iam:ListAccessKeys",
           "iam:ListUserPolicies",
           "iam:PutUserPolicy",
           "iam:GetUser",
           "tag:GetResources"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket2/*"
         ]
       }     
     ]
   }
   ```

## ステップ 2: 登録コマンドを呼び出す
<a name="instances-on-premises-register-instance-2-register-command"></a>

このステップでは、オンプレミスインスタンス自体からオンプレミスインスタンスを登録していることを想定します。前のステップで説明したように、 AWS CLI がインストールされ、設定された別のデバイスまたはインスタンスからオンプレミスインスタンスを登録することもできます。

を使用して [register](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) コマンドを AWS CLI 呼び出し、以下を指定します。
+ CodeDeploy に対してオンプレミスインスタンスを一意に識別する名前 (`--instance-name` のオプションを用いて)。
**重要**  
後でオンプレミスインスタンスを識別するために、特にデバッグのため、オンプレミスインスタンスの一意な特徴を示す名前 (例えば、もしあれば、シリアルナンバーや一意の内部アセット識別子など) を使用することを強くお勧めします。名前に MAC アドレスを指定した場合、MAC アドレスにはコロン (`:`) など、CodeDeploy が許可しない文字が含まれることに注意してください。許可された文字の一覧については、「[CodeDeploy のクォータ](limits.md)」を参照してください。
+ 必要に応じて、このオンプレミスインスタンスと関連付ける既存の IAM ユーザーの ARN (`--iam-user-arn` のオプションを用いて) IAM ユーザーの ARN を取得するには、[get-user](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html) コマンドを呼び出すか、IAM コンソールの **[ユーザー]** セクションで IAM ユーザー名を選択した後、**[サマリー]** セクションで **[ユーザー ARN]** の値を見つけます。このオプションを指定しない場合、CodeDeploy はユーザーに代わって AWS アカウント内に IAM ユーザーを作成し、オンプレミスインスタンスに関連付けます。
**重要**  
`--iam-user-arn` オプションを指定する場合は、「[ステップ 4: オンプレミスインスタンスに設定ファイルを追加](register-on-premises-instance-iam-user-arn.md#register-on-premises-instance-iam-user-arn-4)」の説明にあるとおり、オンプレミスインスタンスの設定ファイルを手動で作成することも必要です。  
 1 つのオンプレミスインスタンスのみに対し、1 人の IAM ユーザーのみを関連付けることができます。複数のオンプレミスインスタンスに 1 人の IAM ユーザーを関連付けようとすると、エラー、オンプレミスインスタンスへのデプロイの失敗、またはオンプレミスインスタンスへのデプロイが無期限の保留状態のままとなります。
+ 必要に応じて、デプロイ先の Amazon EC2 インスタンスのセットを識別するために CodeDeploy が使用するオンプレミスインスタンスタグのセット (`--tags` の オプションを用いて)。各タグを `Key=tag-key,Value=tag-value` で指定します (例: `Key=Name,Value=Beta Key=Name,Value=WestRegion`)。このオプションを指定しない場合、タグは登録されません。後でタグを登録するには、[add-tags-to-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html) コマンドを呼び出します。
+ オプションで、オンプレミスインスタンスが CodeDeploy に登録される AWS リージョン ( `--region`オプションを使用）。これは、「*AWS 全般のリファレンス*」(例: `us-west-2`) の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」にリストされているサポートされたリージョンの 1 つである必要があります。このオプションを指定しない場合、呼び出し元の IAM ユーザーに関連付けられたデフォルトの AWS リージョンが使用されます。

例えば、次のようになります。

```
aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2
```

**register** コマンドは次のことを行います。

1. 既存の IAM ユーザーを指定しない場合、IAM ユーザーを作成して必要なアクセス権限を付与し、対応するシークレットキーおよびシークレットアクセスキーを生成します。オンプレミスインスタンスは、この IAM ユーザーとアクセス権限および認証情報を使用して CodeDeploy との認証および操作を行います。

1. CodeDeploy でオンプレミスインスタンスを登録します。

1. 指定されている場合には、CodeDeploy 中で、`--tags` のオプションで指定したタグと、登録済みのオンプレミスインスタンスの名前を関連付けます。

1. IAM ユーザーが作成されている場合、**register** のコマンドの呼び出し元と同じディレクトリに必要な設定ファイルも作成します。

このコマンドでエラーが発生した場合、エラーメッセージが表示され、手動で残りのステップを完了する方法について説明します。そうでない場合は、成功メッセージが表示され、次のステップに示すとおり、**install** コマンドを呼び出す方法について説明します。

## ステップ 3: インストールコマンドを呼び出す
<a name="instances-on-premises-register-instance-3-install-command"></a>

オンプレミスインスタンスから、 AWS CLI を使用して [install](https://docs.aws.amazon.com/cli/latest/reference/deploy/install.html) コマンドを呼び出し、以下を指定します。
+ 設定ファイルへのパス (`--config-file` オプションで指定)。
+ 必要に応じて、オンプレミスインスタンスにある既存の設定ファイルを置き換えるかどうか (`--override-config` オプションで指定)。指定しない場合、既存の設定ファイルは置き換えられません。
+ オプションで、オンプレミスインスタンスが CodeDeploy に登録される AWS リージョン ( `--region`オプションを使用）。これは、「*AWS 全般のリファレンス*」(例: `us-west-2`) の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」にリストされているサポートされたリージョンの 1 つである必要があります。このオプションを指定しない場合、呼び出し元の IAM ユーザーに関連付けられたデフォルトの AWS リージョンが使用されます。
+ 必要に応じて、CodeDeploy エージェントのインストール元のカスタムロケーション (`--agent-installer` のオプションを用いて)。このオプションは、CodeDeploy が公式にはサポートしていない [CodeDeploy エージェント](https://github.com/aws/aws-codedeploy-agent) のカスタムバージョンのインストールに使用できます (GitHub の CodeDeploy エージェント リポジトリに基づくカスタムバージョンなど)。値は、次のいずれかを含む Amazon S3 バケットへのパスである必要があります。
  + CodeDeploy エージェントのインストールスクリプト (GitHub の [CodeDeploy agent](https://github.com/aws/aws-codedeploy-agent/blob/master/bin/install) エージェントリポジトリにあるインストールファイルと同様、Linux または Unix ベースの OS 用)。
  + CodeDeploy エージェントのインストーラパッケージ (.msi) ファイル (Windows ベースの OS 用)。

   このオプションを指定しない場合、CodeDeploy は独自の場所から、オンプレミスインスタンス上の OS と互換性のある正式にサポートされているバージョンの CodeDeploy エージェントをインストールしようとします。

例:

```
aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi
```

**install** コマンドは次のことを行います。

1. オンプレミスインスタンスが Amazon EC2 インスタンスかどうかを確認します。そうである場合は、エラーメッセージが表示されます。

1. オンプレミスインスタンスの設定ファイルを、インスタンスの指定された場所から CodeDeploy エージェントが見つけやすい場所へ (まだその場所にない場合) コピーします。

   Ubuntu サーバーおよび Red Hat Enterprise Linux (RHEL)の場合、これは `/etc/codedeploy-agent/conf`/`codedeploy.onpremises.yml` になります。

   Windows サーバーの場合、これは `C:\ProgramData\Amazon\CodeDeploy`\$1`conf.onpremises.yml` になります。

   `--override-config` オプションを指定した場合は、ファイルを作成または上書きします。

1. オンプレミスインスタンスに CodeDeploy エージェントをインストールし、起動します。

## ステップ 4: デプロイアプリケーションリビジョンをオンプレミスインスタンスにデプロイする
<a name="instances-on-premises-register-instance-4-deploy-revision"></a>

登録され、タグ付けされたオンプレミスインスタンスにアプリケーションリビジョンをデプロイする準備ができました。

Amazon EC2 インスタンスにアプリケーションリビジョンをデプロイするのと同様の方法でオンプレミスインスタンスにアプリケーションリビジョンをデプロイします。手順については、「[CodeDeploy でデプロイを作成する](deployments-create.md)」を参照してください。これらの指示は、アプリケーションの作成、開発グループの作成、およびアプリケーションリビジョンの準備を含む前提条件と関連しています。シンプルなサンプルアプリケーションリビジョンをデプロイすることが必要な場合は、[チュートリアル: CodeDeploy (Windows サーバー、Ubuntu サーバー、または Red Hat エンタープライズ Linux) を使用してオンプレミスインスタンスにアプリケーションをデプロイします。](tutorials-on-premises-instance.md) の [ステップ 2: サンプルのアプリケーションリビジョンを作成する](tutorials-on-premises-instance-2-create-sample-revision.md) で説明してあるものを作成できます。

**重要**  
オンプレミスインスタンスを対象としたデプロイグループの作成の一部として、既存の CodeDeploy サービスロールを再利用する場合は、`Tag:get*` をサービスロールのポリシーステートメントの `Action` の部分に含める必要があります。詳細については、「[ステップ 2: CodeDeployのサービスのロールを作成する](getting-started-create-service-role.md)」を参照してください。

## ステップ 5: オンプレミスインスタンスへのデプロイを追跡
<a name="instances-on-premises-register-instance-5-track-deployment"></a>

登録されタグ付けされたオンプレミスインスタンスへアプリケーションリビジョンをデプロイした後、デプロイの進行状況を追跡できます。

Amazon EC2 インスタンスへのデプロイの追跡と同様の方法でオンプレミスインスタンスへのデプロイの追跡をします。手順については、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

他のオプションについては、「[CodeDeploy でのオンプレミスインスタンスのオペレーションの管理](on-premises-instances-operations.md)」を参照してください。

# [register-on-premises-instance] コマンド (IAM ユーザー ARN) を使用してオンプレミスインスタンスを登録します。
<a name="register-on-premises-instance-iam-user-arn"></a>

**重要**  
IAM ユーザーを使用してインスタンスを登録することは、認証に静的 (永続的) 認証情報を使用するため推奨されません。セキュリティ向上のため、認証には一時的な認証情報を使用してインスタンスを登録することをお勧めします。詳細については、「[[register-on-premises-instance] コマンド (IAM セッション ARN) を使用してオンプレミスインスタンスを登録](register-on-premises-instance-iam-session-arn.md)」を参照してください。

**重要**  
IAM ユーザーのアクセスキー (永続的認証情報) をローテーションする計画を立ててください。アクセスキーのローテーションの詳細については、「[アクセスキーの更新](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)」を参照してください。

認証に固定 IAM ユーザー認証情報を使って、CodeDeploy でオンプレミスインスタンスの設定、登録、タグ付けをほとんど自分で行う場合は、これらの手順に従います。

**Topics**
+ [ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1)
+ [ステップ 2: ユーザーにアクセス権限を割り当てる](#register-on-premises-instance-iam-user-arn-2)
+ [ステップ 3: ユーザーの認証情報を取得する](#register-on-premises-instance-iam-user-arn-3)
+ [ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4)
+ [ステップ 5: をインストールして設定する AWS CLI](#register-on-premises-instance-iam-user-arn-5)
+ [ステップ 6: AWS\$1REGION 環境変数を設定する (Ubuntu Server および RHEL のみ)](#register-on-premises-instance-iam-user-arn-6)
+ [ステップ 7: CodeDeploy エージェントのインストール](#register-on-premises-instance-iam-user-arn-7)
+ [ステップ 8: CodeDeploy でオンプレミスインスタンスを登録します。](#register-on-premises-instance-iam-user-arn-8)
+ [ステップ 9: オンプレミスインスタンスにタグ付けする](#register-on-premises-instance-iam-user-arn-9)
+ [ステップ 10: アプリケーションリビジョンをオンプレミスインスタンスにデプロイする](#register-on-premises-instance-iam-user-arn-10)
+ [ステップ 11: オンプレミスインスタンスへのデプロイを追跡する](#register-on-premises-instance-iam-user-arn-11)

## ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する
<a name="register-on-premises-instance-iam-user-arn-1"></a>

オンプレミスインスタンスが認証や CodeDeploy とのやり取りに使用する IAM ユーザーを作成します。

**重要**  
それぞれの参加しているオンプレミスインスタンスに対して個別の IAM ユーザーを作成する必要があります。複数のオンプレミスインスタンスに対して単独の IAM ユーザーを再利用しようとすると、CodeDeploy を用いての、オンプレミスインスタンスの登録やタグ付けができない場合があります。それらのオンプレミスインスタンスへのデプロイは、無期限の保留状態のまま、または完全にエラーとなる場合があります。

IAM ユーザーに、目的を識別するために、[CodeDeployUser-OnPrem] のような名前を割り当てることをお勧めします。

 AWS CLI または IAM コンソールを使用して IAM ユーザーを作成できます。詳細については、「[Creating an IAM user in your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) を参照してください。

**重要**  
 AWS CLI または IAM コンソールを使用して新しい IAM ユーザーを作成するかどうかにかかわらず、ユーザーに提供されたユーザー ARN を書き留めます。この情報は後に [ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) と [ステップ 8: CodeDeploy でオンプレミスインスタンスを登録します。](#register-on-premises-instance-iam-user-arn-8) で必要になります。

## ステップ 2: ユーザーにアクセス権限を割り当てる
<a name="register-on-premises-instance-iam-user-arn-2"></a>

オンプレミスインスタンスが Amazon S3 バケットからアプリケーションリビジョンをデプロイする場合、IAM ユーザーがバケットとやり取りするための権限を割り当てる必要があります。 AWS CLI または IAM コンソールを使用してアクセス許可を割り当てることができます。

**注記**  
GitHub リポジトリからのみアプリケーションリビジョンをデプロイする場合は、このステップを飛ばして [ステップ 3: ユーザーの認証情報を取得する](#register-on-premises-instance-iam-user-arn-3) へ進んでください。([ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) で作成した IAM ユーザーに関する情報はまだ必要です。後のステップで使用します。)

**アクセス権限 (CLI) を割り当てるには**

1.  AWS CLIを呼び出すのに使用している Amazon EC2インスタンスまたはデバイス上に、次のポリシーの内容を用いてファイルを作成します。ファイルに **CodeDeploy-OnPrem-Permissions.json** のような名前を付けて、ファイルを保存します。

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**注記**  
このポリシーを、オンプレミスインスタンスがアクセスする必要のある Amazon S3 バケットにのみ制限することをお勧めします。このポリシーを制限する場合は、 AWS CodeDeploy エージェントを含む Amazon S3 バケットへのアクセスも許可してください。そうしない場合、CodeDeploy エージェントが関連するオンプレミスインスタンスにインストールされる、または更新されるたびに、エラーが発生する可能性があります。  
例:  

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::aws-codedeploy-us-east-2/*",
           "arn:aws:s3:::aws-codedeploy-us-east-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-2/*",
           "arn:aws:s3:::aws-codedeploy-ca-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-3/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-north-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-2/*",
           "arn:aws:s3:::aws-codedeploy-il-central-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-east-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",        
           "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-2/*",
           "arn:aws:s3:::aws-codedeploy-me-central-1/*",
           "arn:aws:s3:::aws-codedeploy-me-south-1/*",
           "arn:aws:s3:::aws-codedeploy-sa-east-1/*"
         ]
       }
     ]
   }
   ```

1. [put-user-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-user-policy.html) コマンドを呼び出し、IAM ユーザーの名前 (`--user-name` のオプションを用いて)、ポリシーの名前 (`--policy-name` のオプションを用いて)、および新しく作成したポリシードキュメントへのパス (`--policy-document` のオプションを用いて) を指定します。例えば、**CodeDeploy-OnPrem-Permissions.json** というファイルが、コマンドを呼び出しているのと同じディレクトリ (フォルダ) にあるとします。
**重要**  
ファイル名の前に必ず `file://` を含めてください。このコマンドでは必須です。

   ```
   aws iam put-user-policy --user-name CodeDeployUser-OnPrem --policy-name CodeDeploy-OnPrem-Permissions --policy-document file://CodeDeploy-OnPrem-Permissions.json
   ```

**アクセス権限を割り当てるには (コンソール)**

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

1. ナビゲーションペインで、[**Policies**] を選択し、[**Create Policy**] を選択します。([**Get Started**] ボタンが表示された場合は、そのボタンを選択してから、[**Create Policy**] を選択します)。

1. **[独自のポリシーを作成]** の横で、**[選択]** を選択します。

1. [**ポリシー名**] ボックスに、このポリシーの名前を入力します (**CodeDeploy-OnPrem-Permissions** など)。

1. **ポリシードキュメント**ボックスで、次のアクセス許可式を入力または貼り付けます。これにより、 AWS CodeDeploy は、ポリシーで指定された Amazon S3 バケットから IAM ユーザーに代わってオンプレミスインスタンスにアプリケーションリビジョンをデプロイできます。

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```

1. **[ポリシーを作成]** を選択します。

1. ナビゲーションペインで **[ユーザー]** を選択します。

1. ユーザーのリストで、[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) で作成した IAM ユーザーを探して選択します。

1. [**Permissions**] タブを開き、[**Managed Policies**] で [**Attach Policy**] を選択します。

1. **CodeDeploy-OnPrem-Permissions** という名前のポリシーを選択した後、[**ポリシーのアタッチ**] を選択します。

## ステップ 3: ユーザーの認証情報を取得する
<a name="register-on-premises-instance-iam-user-arn-3"></a>

IAM ユーザーのシークレットキー ID およびシークレットアクセスキーを取得します。これは、[ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) で必要になります。 AWS CLI または IAM コンソールを使用して、シークレットキー ID とシークレットアクセスキーを取得できます。

**注記**  
すでにシークレットキー ID およびシークレットアクセスキーがある場合、このステップを飛ばして [ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) へ進んでください。  
ユーザーが の AWS 外部とやり取りする場合は、プログラムによるアクセスが必要です AWS マネジメントコンソール。プログラムによるアクセスを許可する方法は、 がアクセスするユーザーのタイプによって異なります AWS。  
ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。  


****  

| プログラムによるアクセス権を必要とするユーザー | 目的 | 方法 | 
| --- | --- | --- | 
| IAM | (推奨) コンソール認証情報を一時的な認証情報として使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/register-on-premises-instance-iam-user-arn.html)  | 
|  ワークフォースアイデンティティ (IAM アイデンティティセンターで管理されているユーザー)  | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/register-on-premises-instance-iam-user-arn.html)  | 
| IAM | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 | 「IAM [ユーザーガイド」の「 AWS リソースでの一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)の使用」の手順に従います。 | 
| IAM | (非推奨)長期認証情報を使用して、 AWS CLI、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/register-on-premises-instance-iam-user-arn.html)  | 

**認証情報 (CLI) を取得するには**

1. [list-access-keys](https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html) コマンドを呼び出し、IAM ユーザーの名前を指定し (`--user-name` のオプションを用いて)、アクセスキー ID のみのクエリを実行します (`--query` および `--output` のオプションを用いて)。例:

   ```
   aws iam list-access-keys --user-name CodeDeployUser-OnPrem --query "AccessKeyMetadata[*].AccessKeyId" --output text
   ```

1. キーが出力に表示されないか、1 つのキーについての情報だけが出力に表示されたら、[create-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html) コマンドを呼び出し、IAM ユーザーの名前を指定します (`--user-name` のオプションを用いて)。

   ```
   aws iam create-access-key --user-name CodeDeployUser-OnPrem
   ```

   **create-access-key** コマンドを呼び出した出力で、`AccessKeyId` フィールドおよび `SecretAccessKey` フィールドの値をメモします。この情報は [ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) で必要になります。
**重要**  
このシークレットアクセスキーにアクセスできるのは、この時だけです。このシークレットアクセスキーを忘れた、またはアクセスできなくなった場合、[ステップ 3: ユーザーの認証情報を取得する](#register-on-premises-instance-iam-user-arn-3) のステップに従い、新しいキーを生成する必要があります。

1. 2 つのアクセスキーが既にリストされている場合は、そのうちの 1 つを削除する必要があります。削除するには、[delete-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html) コマンドを呼び出して、IAM ユーザーの名前 (`--user-name` のオプションを用いて) と削除するアクセスキーの ID (`--access-key-id` のオプションを用いて) を指定します。それから、このステップの前のほうにある説明のとおり、**create-access-key** コマンドを呼び出します。**delete-access-key** コマンドを呼び出す例は以下のとおりです。

   ```
   aws iam delete-access-key --user-name CodeDeployUser-OnPrem --access-key-id access-key-ID
   ```
**重要**  
このアクセスキーの 1 つを削除するために **delete-access-key** のコマンドを呼び出すとき、および [ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) で説明するようにオンプレミスインスタンスがすでにこのアクセスキーを使用しているときは、[ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) の説明に再び従って、この IAM ユーザーに関連付けられる別のアクセスキー ID とシークレットアクセスキーを指定する必要があります。そうしない場合、そのオンプレミスインスタンスへのデプロイは、無期限の保留状態のまま、または完全にエラーとなる可能性があります。

**認証情報を取得するには (コンソール)**

1. 

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

   1. ユーザーのリストがナビゲーションペインに表示されない場合は、[**Users**] を選択します。

   1. ユーザーのリストで、[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) で作成した IAM ユーザーを探して選択します。

1. [**Security credentials**] タブにキーが表示されていない場合、または 1 つしか表示されていない場合は、[**Create access key**] を選択します。

   2 つのアクセスキーが表示されている場合は、片方を削除する必要があります。片方のアクセスキーの横にある [**Delete**] を選択した後、[**Create access key**] を選択します。
**重要**  
このいずれかのアクセスキーの横にある **Delete** を選択する場合、および、オンプレミスインスタンスが [ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) にある説明のとおりにすでにそのアクセスキーを使用している場合は、[ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) の手順に再び従って、この IAM ユーザーと関連付けられた異なるアクセスキー ID およびシークレットアクセスキーを指定する必要があります。そうしない場合、そのオンプレミスインスタンスへのデプロイは、無期限の保留状態のまま、または完全にエラーとなる可能性があります。

1. [**Show**] を選択し、アクセスキー ID とシークレットアクセスキーをメモします。この情報は、次のステップで必要になります。または、[**Download .csv file**] を選択して、アクセスキー ID とシークレットアクセスキーのコピーを保存することができます。
**重要**  
認証情報をメモする、または、ダウンロードするのでない限り、このシークレットアクセスキーにアクセスできるのは、この時だけです。このシークレットアクセスキーを忘れた、またはアクセスできなくなった場合、[ステップ 3: ユーザーの認証情報を取得する](#register-on-premises-instance-iam-user-arn-3) のステップに従い、新しいキーを生成する必要があります。

1. [**Close**] を選択して [**Users > *IAM User Name***] ページに戻ります。

## ステップ 4: オンプレミスインスタンスに設定ファイルを追加
<a name="register-on-premises-instance-iam-user-arn-4"></a>

ルートまたは管理者権限を使用して、オンプレミスインスタンスに設定ファイルを追加します。この設定ファイルは、CodeDeploy に使用する IAM ユーザー認証情報とターゲット AWS リージョンを宣言するために使用されます。ファイルは、オンプレミスインスタンスの指定の場所に追加する必要があります。ファイルには、IAM ユーザーの ARN、シークレットキー ID、シークレットアクセスキー、およびターゲット AWS リージョンが含まれている必要があります。ファイルは特定の形式に従っている必要があります。

1. オンプレミスインスタンス上の以下の場所に、`codedeploy.onpremises.yml` (Ubuntu サーバーまたは RHEL オンプレミスインスタンスの場合)、または `conf.onpremises.yml` (Windows サーバーのオンプレミスインスタンスの場合) という名前のファイルを作成します。
   + Ubuntu サーバーの場合:`/etc/codedeploy-agent/conf`
   + Windows サーバーについて：`C:\ProgramData\Amazon\CodeDeploy`

1. テキストエディタを使用して、新しく作成した `codedeploy.onpremises.yml` または `conf.onpremises.yml` ファイルに次の情報を追加します。

   ```
   ---
   aws_access_key_id: secret-key-id
   aws_secret_access_key: secret-access-key
   iam_user_arn: iam-user-arn
   region: supported-region
   ```

   コードの説明は以下のとおりです。
   + *secret-key-id* は、[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) または [ステップ 3: ユーザーの認証情報を取得する](#register-on-premises-instance-iam-user-arn-3) でメモした、対応するIAM ユーザーのシークレットキー ID です。
   + *secret-access-key* は、[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) または [ステップ 3: ユーザーの認証情報を取得する](#register-on-premises-instance-iam-user-arn-3) でメモした、対応する IAM ユーザーのシークレットアクセスキーです。
   + *iam-user-arn* は、「[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1)」で先にメモした IAM ユーザーの ARN です。
   + *supported-region* は、CodeDeploy でサポートされているリージョンの識別子で、CodeDeploy アプリケーション、デプロイグループ、およびアプリケーションリビジョンがある場所です (`us-west-2` など)。リージョンのリストについては、「*AWS 全般のリファレンス*」の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」を参照してください。

    
**重要**  
[ステップ 3: ユーザーの認証情報を取得する](#register-on-premises-instance-iam-user-arn-3) の片方のアクセスキーの横にある **Delete** を選択し、またオンプレミスインスタンスがすでに関連するアクセスキー ID およびシークレットアクセスキーを使用している場合は、[ステップ 4: オンプレミスインスタンスに設定ファイルを追加](#register-on-premises-instance-iam-user-arn-4) の手順に再び従って、この IAM ユーザーと関連付けられた異なるアクセスキー ID およびシークレットアクセスキーを指定する必要があります。そうしない場合、オンプレミスインスタンスへのデプロイは、無期限の保留状態のまま、または完全にエラーとなる可能性があります。

## ステップ 5: をインストールして設定する AWS CLI
<a name="register-on-premises-instance-iam-user-arn-5"></a>

オンプレミスインスタンス AWS CLI に をインストールして設定します。( AWS CLI は で使用され[ステップ 7: CodeDeploy エージェントのインストール](#register-on-premises-instance-iam-user-arn-7)、オンプレミスインスタンスに CodeDeploy エージェントをダウンロードしてインストールします。)

1. オンプレミスインスタンス AWS CLI に をインストールするには、*AWS Command Line Interface 「 ユーザーガイド*」の[「 のセットアップ AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)」の手順に従います。
**注記**  
オンプレミスインスタンスを使用するための CodeDeploy コマンドは、 AWS CLIのバージョン 1.7.19 で使用できるようになりました。のバージョンが AWS CLI 既にインストールされている場合は、 を呼び出してそのバージョンを確認できます**aws --version**。

1. オンプレミスインスタンス AWS CLI で を設定するには、*AWS Command Line Interface 「 ユーザーガイド*」の[「 の設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」の手順に従います。
**重要**  
( **aws configure** コマンドを呼び出す AWS CLI などして) を設定するときは、 で指定されたアクセス許可に加えて、少なくとも以下の AWS アクセス許可を持つ IAM ユーザーのシークレットキー ID とシークレットアクセスキーを必ず指定してください[オンプレミスインスタンスを設定するための前提条件](instances-on-premises-prerequisites.md)。これにより、オンプレミスインスタンス上で CodeDeploy エージェントをダウンロードしてインストールすることができます。  
   

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket1/*"
         ]
       }     
     ]
   }
   ```

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "*"
         ]
       }     
     ]
   }
   ```
これらのアクセス権限は、[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) で作成した IAM ユーザー、または別のユーザーのいずれかに割り当てられることができます。これらのアクセス権限を ユーザーに割り当てるには、[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) にある手順に従いますが、手順のアクセス権限の代わりにこれらのアクセス権限を使用します。

## ステップ 6: AWS\$1REGION 環境変数を設定する (Ubuntu Server および RHEL のみ)
<a name="register-on-premises-instance-iam-user-arn-6"></a>

オンプレミスインスタンス上で Ubuntu サーバーまたは RHEL を実行中でなければ、このステップをスキップして直接 [ステップ 7: CodeDeploy エージェントのインストール](#register-on-premises-instance-iam-user-arn-7) へ進んでください。

Ubuntu サーバーまたは RHEL オンプレミスインスタンス上に CodeDeploy エージェントをインストールし、新しいバージョンが使用可能になったらいつでも CodeDeploy エージェントを更新するようにインスタンスを有効にします。これを行うには、インスタンス上の `AWS_REGION` の環境変数を CodeDeploy がサポートしているリージョンのうちの １ つの識別子に設定します。CodeDeploy アプリケーション、デプロイグループ、およびアプリケーションリビジョンのある (`us-west-2` など)リージョンの値に設定することをお勧めします 。リージョンのリストについては、「*AWS 全般のリファレンス*」の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」を参照してください。

環境変数を設定するには、端末から以下を呼び出します。

```
export AWS_REGION=supported-region
```

*supported-region* がリージョンの識別子である場所 (例:`us-west-2`)。

## ステップ 7: CodeDeploy エージェントのインストール
<a name="register-on-premises-instance-iam-user-arn-7"></a>

オンプレミスインスタンスに CodeDeploy エージェントをインストールします。
+ Ubuntu サーバーオンプレミスインスタンスの場合は、[Ubuntu サーバー用の CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install-ubuntu.md) の手順に従った後、このページに戻ります。
+ RHEL オンプレミスインスタンスについては、[Amazon Linux または RHEL 用の CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install-linux.md) の手順に従った後、このページに戻ります。
+ Windows Server オンプレミスインスタンスの場合は、[Windows サーバー用の CodeDeploy エージェントです。](codedeploy-agent-operations-install-windows.md) の手順に従った後、このページに戻ります。

## ステップ 8: CodeDeploy でオンプレミスインスタンスを登録します。
<a name="register-on-premises-instance-iam-user-arn-8"></a>

このステップの手順では、オンプレミスインスタンス自体からオンプレミスインスタンスを登録していることを想定します。「」で説明されているように、 AWS CLI がインストールされ、設定された別のデバイスまたはインスタンスからオンプレミスインスタンスを登録できます[ステップ 5: をインストールして設定する AWS CLI](#register-on-premises-instance-iam-user-arn-5)。

 AWS CLI を使用してオンプレミスインスタンスを CodeDeploy に登録し、デプロイで使用できるようにします。

1. を使用する前に AWS CLI、 で作成した IAM ユーザーのユーザー ARN が必要です[ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1)。ユーザー ARN がまだない場合は、[get-user](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html) コマンドを呼び出し、IAM ユーザーの名前を指定し (`--user-name` のオプションを用いて)、ユーザー ARN のみをクエリします (`--query` のオプションと `--output` のオプションを用いて)。

   ```
   aws iam get-user --user-name CodeDeployUser-OnPrem --query "User.Arn" --output text
   ```

1. [register-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) コマンドを呼び出し、以下を指定します。
   + オンプレミスインスタンスを一意に識別する名前 (`--instance-name` オプションで指定)。
**重要**  
オンプレミスインスタンスを識別するために、特にデバッグのため、オンプレミスインスタンスの一意な特徴を示す名前 (例えば、もしあれば、シリアルナンバーや内部アセット識別子など) を指定することを強くお勧めします。名前として MAC アドレスを指定した場合、MAC アドレスには、コロン (`:`) など CodeDeploy が許可しない文字が含まれることに注意してください。許可された文字の一覧については、「[CodeDeploy のクォータ](limits.md)」を参照してください。
   + [ステップ 1: オンプレミスインスタンス用に IAM ユーザーを作成する](#register-on-premises-instance-iam-user-arn-1) で作成した IAM ユーザーの ARN (`--iam-user-arn` のオプションを用いて)

     例:

     ```
     aws deploy register-on-premises-instance --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem
     ```

## ステップ 9: オンプレミスインスタンスにタグ付けする
<a name="register-on-premises-instance-iam-user-arn-9"></a>

 AWS CLI または CodeDeploy コンソールを使用して、オンプレミスインスタンスにタグを付けることができます。(CodeDeploy はオンプレミスインスタンスタグを使用してデプロイ中にデプロイターゲットを識別します。)

**オンプレミスインスタンスにタグ付けするには (CLI)**
+ [add-tags-to-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html) コマンドを呼び出し、以下を指定します。

   
  + オンプレミスインスタンスを一意に識別する名前 (`--instance-names` オプションで指定)。
  + 使用するオンプレミスインスタンスのタグキーの名前とタグ値 (`--tags` オプションで指定)。名前と値はいずれも指定する必要があります。CodeDeploy は値のみがあるオンプレミスインスタンスタグを許可しません。

    例:

    ```
    aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
    ```

**オンプレミスインスタンスにタグ付けするには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. CodeDeploy メニューから **On-premises instances** を選択します。

1. オンプレミスインスタンスのリストで、タグ付けするオンプレミスインスタンスの横にある矢印を選択します。

1. タグのリストで、目的のタグキーとタグ値を選択または入力します。タグキーとタグ値を入力するたびに、別の行が表示されます。最大 10 個のタグにこれを繰り返すことができます。タグを削除するには、削除アイコンを選択します (![\[The delete icon.\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/images/delete-triggers-x.png))。

1. タグを追加したら、[**Update Tags**] を選択します。

## ステップ 10: アプリケーションリビジョンをオンプレミスインスタンスにデプロイする
<a name="register-on-premises-instance-iam-user-arn-10"></a>

登録され、タグ付けされたオンプレミスインスタンスにアプリケーションリビジョンをデプロイする準備ができました。

Amazon EC2 インスタンスにアプリケーションリビジョンをデプロイするのと同様の方法でオンプレミスインスタンスにアプリケーションリビジョンをデプロイします。手順については、「[CodeDeploy でデプロイを作成する](deployments-create.md)」を参照してください。これらの指示には、アプリケーションの作成、開発グループの作成、およびアプリケーションリビジョンの準備を含む前提条件へのリンクが含まれています。シンプルなサンプルアプリケーションリビジョンをデプロイすることが必要な場合は、[チュートリアル: CodeDeploy (Windows サーバー、Ubuntu サーバー、または Red Hat エンタープライズ Linux) を使用してオンプレミスインスタンスにアプリケーションをデプロイします。](tutorials-on-premises-instance.md) の [ステップ 2: サンプルのアプリケーションリビジョンを作成する](tutorials-on-premises-instance-2-create-sample-revision.md) で説明してあるものを作成できます。

**重要**  
オンプレミスインスタンスを対象としたデプロイグループの作成の一部として、CodeDeploy サービスロールを再利用する場合は、`Tag:get*` をサービスロールのポリシーステートメントの `Action` の部分に含める必要があります。詳細については、「[ステップ 2: CodeDeployのサービスのロールを作成する](getting-started-create-service-role.md)」を参照してください。

## ステップ 11: オンプレミスインスタンスへのデプロイを追跡する
<a name="register-on-premises-instance-iam-user-arn-11"></a>

登録されタグ付けされたオンプレミスインスタンスへアプリケーションリビジョンをデプロイした後、デプロイの進行状況を追跡できます。

Amazon EC2 インスタンスへのデプロイの追跡と同様の方法でオンプレミスインスタンスへのデプロイの追跡をします。手順については、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

# CodeDeploy でのオンプレミスインスタンスのオペレーションの管理
<a name="on-premises-instances-operations"></a>

このセクションの手順に従って、オンプレミスインスタンスに関する詳細情報の取得、タグの削除、オンプレミスインスタンスのアンインストールと登録解除など、オンプレミスインスタンスをCodeDeployに登録した後の操作を管理します。

**Topics**
+ [単一のオンプレミスインスタンスに関する情報を取得します](on-premises-instances-operations-view-details-single.md)
+ [複数のオンプレミスインスタンスに関する情報を取得します](on-premises-instances-operations-view-details-multiple.md)
+ [オンプレミスインスタンスから手動でオンプレミスインスタンスタグを削除します](on-premises-instances-operations-remove-tags.md)
+ [CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除します。](on-premises-instances-operations-uninstall-agent.md)
+ [オンプレミスインスタンスを自動的に登録解除します](on-premises-instances-operations-deregister-automatically.md)
+ [手動でオンプレミスのインスタンスの登録を解除します](on-premises-instances-operations-deregister-manually.md)

# 単一のオンプレミスインスタンスに関する情報を取得します
<a name="on-premises-instances-operations-view-details-single"></a>

[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md) にある手順に従って、単一のオンプレミスインスタンスに関する情報を取得できます。 AWS CLI または CodeDeploy コンソールを使用して、単一のオンプレミスインスタンスに関する詳細情報を取得できます。

**単一のオンプレミスインスタンスについての情報を取得するには (CLI)**
+ [get-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-on-premises-instance.html) コマンドを呼び出し、オンプレミスインスタンスを一意に識別する名前を指定します (`--instance-name` のオプションを用いて)。

  ```
  aws deploy get-on-premises-instance --instance-name AssetTag12010298EX
  ```

**単一のオンプレミスインスタンスに関する情報を取得するには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで、**Deploy** を展開し、**On-premises instances** を選択します。

1. オンプレミスインスタンスのリストで、詳細を表示するオンプレミスインスタンスの名前を選択します。

# 複数のオンプレミスインスタンスに関する情報を取得します
<a name="on-premises-instances-operations-view-details-multiple"></a>

[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md) にある手順に従って、オンプレミスインスタンスに関する情報を取得できます。 AWS CLI または CodeDeploy コンソールを使用して、オンプレミスインスタンスに関する詳細情報を取得できます。

**複数のオンプレミスインスタンスに関する情報を取得するには (CLI)**

1. オンプレミスインスタンスの名前のリストでは、[list-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-on-premises-instances.html) コマンドを呼び出し、以下を指定します。
   + すべての登録または登録解除されたオンプレミスインスタンスに関する情報を取得するかどうか (`--registration-status` オプションの `Registered` または `Deregistered` でそれぞれ指定)。これを省略すると、登録されている、および登録解除されたオンプレミスインスタンスの名前が両方とも返されます。
   + 特定のオンプレミスインスタンスのタグが付けられたオンプレミスインスタンスに関する情報だけを取得するかどうか (`--tag-filters` オプションで指定)。各オンプレミスインスタンスタグで、`Key`、`Value`、および `Type` を指定します (常に `KEY_AND_VALUE` である必要があります)。複数のオンプレミスインスタンスタグは、`Key`、`Value`、`Type` の間にスペースを入れて区切ります。

   例:

   ```
   aws deploy list-on-premises-instances --registration-status Registered --tag-filters Key=Name,Value=CodeDeployDemo-OnPrem,Type=KEY_AND_VALUE Key=Name,Value=CodeDeployDemo-OnPrem-Beta,Type=KEY_AND_VALUE
   ```

1. 詳細については、オンプレミスインスタンスの名前で (`--instance-names` のオプションを用いて)、[batch-get-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/batch-get-on-premises-instances.html) コマンドを呼び出します 。

   ```
   aws deploy batch-get-on-premises-instances --instance-names AssetTag12010298EX AssetTag09920444EX
   ```

**複数のオンプレミスインスタンスに関する情報を取得するには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで、**Deploy** を展開し、デプロイを選択し、**On-premises instances** を選択します。

   オンプレミスインスタンスに関する情報が表示されます。

# オンプレミスインスタンスから手動でオンプレミスインスタンスタグを削除します
<a name="on-premises-instances-operations-remove-tags"></a>

通常、タグが使われなくなった場合や、タグに依存するデプロイグループからオンプレミスインスタンスを削除する場合は、オンプレミスインスタンスからオンプレミスインスタンスタグを削除します。 AWS CLI または AWS CodeDeploy コンソールを使用して、オンプレミスインスタンスからオンプレミスインスタンスタグを削除できます。

登録を解除する前にオンプレミスインスタンスからオンプレミスインスタンスタグを削除する必要はありません。

オンプレミスインスタンスからオンプレミスインスタンスタグを手動で削除しても、インスタンスの登録は解除されません。CodeDeploy エージェントはインスタンスからアンインストールされません。インスタンスから設定ファイルは削除されません。インスタンスに関連付けられた IAM ユーザーは削除されません。

自動的にオンプレミスインスタンスの登録を解除するには、[オンプレミスインスタンスを自動的に登録解除します](on-premises-instances-operations-deregister-automatically.md) を参照してください。

オンプレミスインスタンスの登録を手動で解除するには、[手動でオンプレミスのインスタンスの登録を解除します](on-premises-instances-operations-deregister-manually.md) を参照してください。

CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除するには、[CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除します。](on-premises-instances-operations-uninstall-agent.md) を参照してください。

CodeDeploy エージェントだけをオンプレミスインスタンスから手動でアンインストールするには、[CodeDeploy エージェントのオペレーションの管理](codedeploy-agent-operations.md) を参照してください。

関連する IAM ユーザーを手動で削除するには、[Deleting an IAM user from your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeletingUserFromAccount.html) を参照してください。

**オンプレミスインスタンスから手動でオンプレミスインスタンスタグを削除するには (CLI)**
+ [remove-tags-from-on-premises-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/remove-tags-from-on-premises-instances.html) を呼び出し、以下を指定します。

   
  + オンプレミスインスタンスを一意に識別する名前 (`--instance-names` オプションで指定)。
  + 削除するタグの名前と値 (`--tags` オプションで指定)。

    例:

    ```
    aws deploy remove-tags-from-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
    ```

**オンプレミスインスタンスから手動でオンプレミスインスタンスタグを削除するには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで、**Deploy** を展開し、**On-premises instances** を選択します。

1. オンプレミスインスタンスのリストで、タグを削除するオンプレミスインスタンスの名前を選択します。

1. [**タグ**] で、削除する各タグの横にある [**削除**] を選択します。

1. タグを削除したら、[**Update tags**] を選択します。

# CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除します。
<a name="on-premises-instances-operations-uninstall-agent"></a>

通常、今後デプロイする予定がなければ、CodeDeploy エージェントをアンインストールし、オンプレミスインスタンスから設定ファイルを削除します。

**注記**  
CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除しても、オンプレミスインスタンスの登録は解除されません。オンプレミスインスタンスに関連付けられたオンプレミスインスタンスタグの関連付けは解除されません。オンプレミスインスタンスに関連付けられた IAM ユーザーは削除されません。  
自動的にオンプレミスインスタンスの登録を解除するには、[オンプレミスインスタンスを自動的に登録解除します](on-premises-instances-operations-deregister-automatically.md) を参照してください。  
オンプレミスインスタンスの登録を手動で解除するには、[手動でオンプレミスのインスタンスの登録を解除します](on-premises-instances-operations-deregister-manually.md) を参照してください。  
オンプレミスインスタンスタグの関連付けを手動で解除するには、[オンプレミスインスタンスから手動でオンプレミスインスタンスタグを削除します](on-premises-instances-operations-remove-tags.md) を参照してください。  
オンプレミスインスタンスから CodeDeploy エージェントを手動でアンインストールするには、[CodeDeploy エージェントのオペレーションの管理](codedeploy-agent-operations.md) を参照してください。  
関連する IAM ユーザーを手動で削除するには、[Deleting an IAM user from your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeletingUserFromAccount.html) を参照してください。

オンプレミスインスタンスから、 AWS CLI を使用して[アンインストール](https://docs.aws.amazon.com/cli/latest/reference/deploy/uninstall.html)コマンドを呼び出します。

例えば、次のようになります。

```
aws deploy uninstall
```

**uninstall** コマンドは次のことを行います。

1. オンプレミスインスタンスで実行の CodeDeploy エージェントを停止します。

1. オンプレミスインスタンスから CodeDeploy エージェントをアンインストールします。

1. オンプレミスインスタンスから設定ファイルを削除します。(Ubuntu サーバーとRHELの場合、これは`/etc/codedeploy-agent/conf`/`codedeploy.onpremises.yml` です。Windows サーバーの場合、これは`C:\ProgramData\Amazon\CodeDeploy`\$1`conf.onpremises.yml` です。)

# オンプレミスインスタンスを自動的に登録解除します
<a name="on-premises-instances-operations-deregister-automatically"></a>

通常は、デプロイする計画がなくなった後、オンプレミスインスタンスの登録を解除します。オンプレミスインスタンスの登録を解除すると、オンプレミスインスタンスがデプロイグループのオンプレミスインスタンスタグの一部であっても、オンプレミスインスタンスはデプロイには含まれなくなります。を使用して、オンプレミスインスタンスの登録 AWS CLI を解除できます。

**注記**  
CodeDeploy コンソールを使用してオンプレミスインスタンスの登録を解除することはできません。また、オンプレミスインスタンスの登録を解除しても、オンプレミスインスタンスに関連付けられたオンプレミスインスタンスタグは解除されません。オンプレミスインスタンスから CodeDeploy エージェントをアンインストールしません。オンプレミスインスタンスの設定ファイルはオンプレミスインスタンスから削除されません。  
このセクションのアクティビティの一部 (ただしすべてではない) を実行するために CodeDeploy コンソールを使うには、[手動でオンプレミスのインスタンスの登録を解除します](on-premises-instances-operations-deregister-manually.md) の CodeDeploy コンソールセクションを参照してください。  
オンプレミスインスタンスタグの関連付けを手動で解除するには、[オンプレミスインスタンスから手動でオンプレミスインスタンスタグを削除します](on-premises-instances-operations-remove-tags.md) を参照してください。  
CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除するには、[CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除します。](on-premises-instances-operations-uninstall-agent.md) を参照してください。  
CodeDeploy エージェントのみをオンプレミスインスタンスから手動でアンインストールするには、[CodeDeploy エージェントのオペレーションの管理](codedeploy-agent-operations.md) を参照してください。

を使用して AWS CLI 登録[解除](https://docs.aws.amazon.com/cli/latest/reference/deploy/deregister.html)コマンドを呼び出し、以下を指定します。
+ CodeDeploy に対してオンプレミスインスタンスを一意に識別する名前 (`--instance-name` のオプションを用いて) 
+  必要に応じて、オンプレミスインスタンスに関連付けられた IIAM ユーザーを削除するかどうか デフォルトの動作では、IAM ユーザーが削除されます。オンプレミスインスタンスに関連付けられた IAM ユーザーを削除しない場合は、コマンドで `--no-delete-iam-user` オプションを指定します。
+ オプションで、オンプレミスインスタンスが CodeDeploy に登録された AWS リージョン ( `--region`オプションを使用）。これは、「*AWS 全般のリファレンス*」(例: `us-west-2`) の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」にリストされているサポート対象のリージョンの 1 つである必要があります。このオプションを指定しない場合、呼び出し元の IAM ユーザーに関連付けられたデフォルトの AWS リージョンが使用されます。

インスタンスを登録解除し、ユーザーを削除する例:

```
aws deploy deregister --instance-name AssetTag12010298EX --region us-west-2
```

インスタンスを登録解除し、ユーザーを削除しない例:

```
aws deploy deregister --instance-name AssetTag12010298EX --no-delete-iam-user --region us-west-2
```

**deregister** コマンドは次のことを行います。

1. CodeDeploy でオンプレミスインスタンスの登録を解除します。

1. 指定した場合、オンプレミスインスタンスに関連付けられている IAM ユーザーを削除します。

オンプレミスインスタンスの登録解除後:
+  コンソールにはすぐに表示されなくなります。
+  直後に同じ名前で別のインスタンスを作成できます。

このコマンドでエラーが発生した場合、エラーメッセージが表示され、手動で残りのステップを完了する方法について説明します。それ以外の場合は、成功メッセージが表示され、**uninstall** コマンドを呼び出す方法が説明されます。

# 手動でオンプレミスのインスタンスの登録を解除します
<a name="on-premises-instances-operations-deregister-manually"></a>

通常は、デプロイする計画がなくなった後、オンプレミスインスタンスの登録を解除します。を使用して AWS CLI 、オンプレミスインスタンスを手動で登録解除します。

手動でオンプレミスインスタンスの登録を解除しても、CodeDeploy エージェントはアンインストールされません。インスタンスから設定ファイルは削除されません。インスタンスに関連付けられた IAM ユーザーは削除されません。インスタンスに関連付けられるタグは削除されません。

CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除するには、[CodeDeploy エージェントを自動でアンインストールし、設定ファイルをオンプレミスインスタンスから削除します。](on-premises-instances-operations-uninstall-agent.md) を参照してください。

手動で CodeDeploy エージェントのみをアンインストールするには、[CodeDeploy エージェントのオペレーションの管理](codedeploy-agent-operations.md) を参照してください。

関連する IAM ユーザーを手動で削除するには、[Deleting an IAM user from your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeletingUserFromAccount.html) を参照してください。

関連付けられたオンプレミスインスタンスタグのみを手動で削除するには、[オンプレミスインスタンスから手動でオンプレミスインスタンスタグを削除します](on-premises-instances-operations-remove-tags.md) を参照してください。
+ [deregister-on-premises-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/deregister-on-premises-instance.html) コマンドを呼び出し、オンプレミスインスタンスを一意に識別する名前を指定します (`--instance-name` のオプションを用いて)。

  ```
  aws deploy deregister-on-premises-instance --instance-name AssetTag12010298EX
  ```

  オンプレミスインスタンスの登録解除後:
  +  コンソールにはすぐに表示されなくなります。
  +  直後に同じ名前で別のインスタンスを作成できます。