

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 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：將許可指派給 IAM 使用者](#register-on-premises-instance-iam-user-arn-2)
+ [步驟 3：取得 IAM 使用者登入資料](#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 使用者。如需詳細資訊，請參閱[在 AWS 帳戶中建立 IAM 使用者](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：將許可指派給 IAM 使用者
<a name="register-on-premises-instance-iam-user-arn-2"></a>

如果您的現場部署執行個體將從 Amazon S3 儲存貯體部署應用程式修訂版，您必須將與這些儲存貯體互動的許可指派給 IAM 使用者。您可以使用 AWS CLI 或 IAM 主控台來指派許可。

**注意**  
如果您僅從 GitHub 儲存貯體部署應用程式修訂版，則請跳過此步驟，並直接前往 [步驟 3：取得 IAM 使用者登入資料](#register-on-premises-instance-iam-user-arn-3)。（您仍然需要您在 中建立之 IAM 使用者的相關資訊[步驟 1：為內部部署執行個體建立 IAM 使用者](#register-on-premises-instance-iam-user-arn-1)。 它將用於後續步驟。)

**指派許可權限 (CLI)。**

1. 在您用來呼叫 的 Amazon EC2 執行個體或裝置上建立具有下列政策內容的檔案 AWS CLI。為檔案命名如 **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 IAM 使用者，將政策中指定之任何 Amazon S3 儲存貯體的應用程式修訂部署至內部部署執行個體：

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

1. 選擇**建立政策**。

1. 在導覽窗格中，選擇**使用者** 。

1. 在使用者清單中，瀏覽至 並選擇您在 中建立的 IAM 使用者名稱[步驟 1：為內部部署執行個體建立 IAM 使用者](#register-on-premises-instance-iam-user-arn-1)。

1. 在 **Permissions (許可)** 標籤上，**Managed Policies (受管政策)** 中，選擇 **Attach Policy (連接政策)**。

1. 選擇政策的名稱 **CodeDeploy-OnPrem-Permissions**，然後選擇 **Attach Policy (附加政策)**。

## 步驟 3：取得 IAM 使用者登入資料
<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/zh_tw/codedeploy/latest/userguide/register-on-premises-instance-iam-user-arn.html)  | 
|  人力資源身分 (IAM Identity Center 中管理的使用者)  | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/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/zh_tw/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`選項），並僅查詢存取金鑰 IDs（使用 `--query`和 `--output`選項）。例如：

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

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：取得 IAM 使用者登入資料](#register-on-premises-instance-iam-user-arn-3) 中的步驟執行。

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
   ```
**重要**  
如果您呼叫 **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. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

   1. 如果未顯示於使用者清單，於導覽窗格請選擇 **Users (使用者)**。

   1. 在使用者清單中，瀏覽至 並選擇您在 中建立的 IAM 使用者名稱[步驟 1：為內部部署執行個體建立 IAM 使用者](#register-on-premises-instance-iam-user-arn-1)。

1. 在 **Security credentials (安全登入資料)** 標籤，如果沒有金鑰或只有列出一個金鑰，請選擇 **Create access key (建立存取金鑰)**。

   如果列出兩個存取金鑰，則您必須刪除其中一個。選擇其中一個存取金鑰旁的 **Delete (刪除)**，然後選擇 **Create access key (建立存取金鑰)**。
**重要**  
如果您選擇其中一個存取金鑰旁的**刪除**，且現場部署執行個體已如中所述使用此存取金鑰[步驟 4：將組態檔案新增至現場部署執行個體](#register-on-premises-instance-iam-user-arn-4)，則需要[步驟 4：將組態檔案新增至現場部署執行個體](#register-on-premises-instance-iam-user-arn-4)再次遵循 中的指示，以指定與此 IAM 使用者相關聯的不同存取金鑰 ID 和私密存取金鑰。否則，部署到現場部署執行個體可能卡在永久擱置狀態或一起失敗。

1. 選擇 **顯示** 和備註的存取金鑰 ID 和私密存取金鑰。下一個步驟您將需要這個資訊。或者，您可以選擇 **下載 .csv 檔案**，儲存存取金鑰ID以及秘密存取金鑰的副本。
**重要**  
除非您註記或下載登入資料，否則這將是唯一一次您可以存取到此祕密存取金鑰的機會。如果您忘記或遺失存取此私密存取金鑰，則您需要產生新的私密存取金鑰，請遵循 [步驟 3：取得 IAM 使用者登入資料](#register-on-premises-instance-iam-user-arn-3) 中的步驟執行。

1. 選擇 **Close (關閉)** 傳回給 **使用者 > *IAM 使用者名稱*** 頁面。

## 步驟 4：將組態檔案新增至現場部署執行個體
<a name="register-on-premises-instance-iam-user-arn-4"></a>

使用 root 或管理員許可，將組態檔案新增至現場部署執行個體。此組態檔案將用於宣告要用於 CodeDeploy 的 IAM 使用者登入資料和目標 AWS 區域。該檔案必須新增至現場部署執行個體上的特定位置。檔案必須包含 IAM 使用者的 ARN、私密金鑰 ID、私密存取金鑰和目標 AWS 區域。這個檔案必須遵循特定的格式。

1. 在內部部署執行個體的下列位置建立名為 `codedeploy.onpremises.yml`（適用於 Ubuntu Server 或 RHEL 內部部署執行個體） 或 `conf.onpremises.yml`（適用於 Windows Server 內部部署執行個體） 的檔案：
   + 對於 Ubuntu 伺服器： `/etc/codedeploy-agent/conf`
   + 對於 Windows Server： `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)或 中記下的對應 IAM 使用者的私密金鑰 ID[步驟 3：取得 IAM 使用者登入資料](#register-on-premises-instance-iam-user-arn-3)。
   + *secret-access-key* 是您在 [步驟 1：為內部部署執行個體建立 IAM 使用者](#register-on-premises-instance-iam-user-arn-1)或 中記下的對應 IAM 使用者的私密存取金鑰[步驟 3：取得 IAM 使用者登入資料](#register-on-premises-instance-iam-user-arn-3)。
   + *iam-user-arn* 是您之前備註在 [步驟 1：為內部部署執行個體建立 IAM 使用者](#register-on-premises-instance-iam-user-arn-1) IAM 使用者的 ARN。
   + *supported-region* 是 CodeDeploy 支援的區域的識別符，CodeDeploy 應用程式、部署群組和應用程式修訂版所在的區域 （例如 `us-west-2`)。如需區域清單，請參閱《》中的[區域和端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)*AWS 一般參考*。

    
**重要**  
如果您在 的其中一個存取金鑰旁選擇**刪除**[步驟 3：取得 IAM 使用者登入資料](#register-on-premises-instance-iam-user-arn-3)，且您的現場部署執行個體已使用相關聯的存取金鑰 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 命令已在 1.7.19 版中提供 AWS CLI。如果您 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 CLI （例如，透過呼叫 **aws configure**命令） 時，請務必指定 IAM 使用者的私密金鑰 ID 和私密存取金鑰，這些使用者至少具有下列 AWS 存取許可，以及 中指定的存取許可[設定現場部署執行個體的先決條件](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" : [
           "*"
         ]
       }     
     ]
   }
   ```
這些存取許可可以指派給您在 中建立的 IAM 使用者，[步驟 1：為內部部署執行個體建立 IAM 使用者](#register-on-premises-instance-iam-user-arn-1)或指派給不同的 IAM 使用者。若要將這些許可指派給 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 Server 或 RHEL，請略過此步驟並直接前往 [步驟 7：安裝 CodeDeploy 代理程式](#register-on-premises-instance-iam-user-arn-7)。

在 Ubuntu Server 或 RHEL 內部部署執行個體上安裝 CodeDeploy 代理程式，並在有新版本可用時讓執行個體更新 CodeDeploy 代理程式。您可以透過將執行個體上的`AWS_REGION`環境變數設定為 CodeDeploy 支援的其中一個區域的識別符來執行此操作。我們建議您將 值設定為 CodeDeploy 應用程式、部署群組和應用程式修訂所在的區域 （例如 `us-west-2`)。如需區域清單，請參閱《》中的[區域和端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)*AWS 一般參考*。

若要設定環境變數，請從終端機呼叫下列項目：

```
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 Server 內部部署執行個體，請遵循 中的指示[安裝適用於 Ubuntu Server 的 CodeDeploy 代理程式](codedeploy-agent-operations-install-ubuntu.md)，然後返回此頁面。
+ 對於 RHEL 內部部署執行個體，請遵循 中的指示[安裝適用於 Amazon Linux 或 RHEL 的 CodeDeploy 代理程式](codedeploy-agent-operations-install-linux.md)，然後返回此頁面。
+ 對於 Windows Server 內部部署執行個體，請遵循 中的指示[安裝適用於 Windows Server 的 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)
   + 您在 中建立的 IAM 使用者的使用者 ARN [步驟 1：為內部部署執行個體建立 IAM 使用者](#register-on-premises-instance-iam-user-arn-1)（使用 `--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：//[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) 開啟 CodeDeploy 主控台。
**注意**  
使用您在 中設定的相同使用者登入[CodeDeploy 入門](getting-started-codedeploy.md)。

1. 從 CodeDeploy 功能表中，選擇**內部部署執行個體**。

1. 在現場部署執行個體的清單中，選擇箭號到下一個您想標籤的內部部署執行個體。

1. 在標籤清單中，選擇或輸入的標籤金鑰或標籤值。在您輸入標籤金鑰及標籤值後，將顯示另一個資料列。您最多可重複此標籤 10 次。若要移動標籤，請選擇刪除圖示 (![\[The delete icon.\]](http://docs.aws.amazon.com/zh_tw/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 Server、Ubuntu Server 或 Red Hat Enterprise 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)。