

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

# 使用 `register` 命令列
<a name="registered-instances-register-registering-command"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

**注意**  
只有 Linux 堆疊支援此功能。

若要註冊執行個體，請確定您正在執行至少 1.16.180 版的 AWS CLI。以下顯示 `register` 命令的一般語法。

```
aws opsworks register \
  [--profile profile_name] \
  [--region region_name] \
  --infrastructure-class instance_type \
  --stack-id stack ID \
  [--local] | [--ssh-private-key key_file --ssh-username username] | [--override-ssh command_string] \
  [--override-hostname hostname] \
  [--debug] \
  [--override-public-ip public IP] \
  [--override-private-ip private IP] \
..[--use-instance-profile] \
  [ [IP address] | [hostname] | [instance ID]
```

下列引數適用於所有 AWS CLI 命令。

**`--profile`**  
(選用) 登入資料的描述檔名稱。如果您省略此引數，命令會使用您的預設登入資料執行。如需 如何 AWS CLI 決定預設登入資料的詳細資訊，請參閱[設定 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

**`--region`**  
 （選用） Stacks OpsWorks 服務端點的區域。請勿`--region`設定為堆疊的區域。 OpsWorks 堆疊會自動從堆疊 ID 決定堆疊的區域。  
如果您的預設區域已設定，您可以省略此引數。如需如何指定預設區域的詳細資訊，請參閱[設定 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

針對 Amazon EC2 和內部部署執行個體使用以下引數。

**`--infrastructure-class`**  
（必要） 此參數必須設定為 `ec2`或 `on-premises`，以指出您是分別註冊 Amazon EC2 還是內部部署執行個體。

**`--stack-id`**  
(必要) 要用來註冊執行個體的堆疊 ID。  
若要尋找堆疊 ID，請在 **Stack (堆疊)** 頁面上，選擇 **Settings (設定)**。堆疊 ID 會以 **OpsWorks ID** 標記，而且是看起來類似 `ad21bce6-7623-47f1-bf9d-af2affad8907` 的 GUID。

**SSH 登入引數**  
使用下列引數指定 `register` 應該如何登入執行個體。    
**`--local`**  
(選用) 使用此引數註冊您執行命令的執行個體。  
在此情況下，`register` 不需要登入執行個體。  
**`--ssh-private-key` 和 `--ssh-username`**  
 (選用) 如果您想要從個別工作站註冊執行個體，並想要明確指定使用者名稱或私有金鑰檔案，請使用這些引數。  
+ `--ssh-username` – 使用此引數指定 SSH 使用者名稱。

  如果您省略 `--ssh-username`，`ssh` 會使用預設使用者名稱。
+ `--ssh-private-key` – 使用此引數明確指定私有金鑰檔案。

  如果您省略 `--ssh-private-key`，`ssh` 會嘗試使用不需要密碼的身分驗證技術登入，包含使用預設私有金鑰。如果不支援上述任何技術，`ssh` 會詢問您的密碼。如需 `ssh` 如何處理身分驗證的詳細資訊，請參閱 [The Secure Shell (SSH) Authentication Protocol](https://www.ietf.org/rfc/rfc4252.txt)。  
**`--override-ssh`**  
 (選用) 如果您想要從個別工作站註冊執行個體，並想要指定自訂 [http://linux.about.com/od/commands/l/blcmdl1_ssh.htm](http://linux.about.com/od/commands/l/blcmdl1_ssh.htm) 命令字串，請使用此引數。`register` 命令使用此命令字串登入已註冊的執行個體。
如需 `ssh` 的詳細資訊，請參閱 [SSH](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/slogin.1)。

**`--override-hostname`**  
 （選用） 指定執行個體的主機名稱，僅供 Stacks OpsWorks 使用。預設值是執行個體的主機名稱。

**`--debug`**  
(選用) 如果註冊程序失敗，則提供除錯資訊。如需故障診斷資訊，請參閱[故障診斷執行個體註冊](common-issues.md#common-issues-instance-registration)。

**`--use-instance-profile`**  
（選用，但強烈建議 Amazon EC2 執行個體） 讓`register`命令使用連接的執行個體描述檔，而不是建立 IAM 使用者。如果不小心刪除 IAM 使用者時嘗試管理已註冊的執行個體，新增此參數有助於防止發生錯誤。  
在註冊程序期間建立的 IAM 使用者需要註冊執行個體的整個生命週期。刪除使用者會導致 OpsWorks Stacks 代理程式無法與服務通訊。為了協助避免在意外刪除使用者時管理已註冊執行個體的問題，請將 `--use-instance-profile` 參數新增至您的`register`命令，以改用執行個體的內建執行個體描述檔。新增 `--use-instance-profile` 參數也可防止每 90 天輪換 AWS 帳戶存取金鑰時發生錯誤 （建議的最佳實務），因為它可防止 OpsWorks 代理程式和所需使用者可用的存取金鑰不相符。

**Target**  
(條件式) 如果您從工作站執行此命令，命令字串中的最終值會以下列其中一種方式指定註冊目標。  
+ 執行個體的公有 IP 地址。
+ 執行個體的主機名稱。
+ 對於 Amazon EC2 執行個體，則為執行個體 ID。

  OpsWorks Stacks 使用執行個體 ID 來取得執行個體組態，包括執行個體的公有 IP 地址。根據預設， OpsWorks Stacks 會使用此地址來建構用來登入執行個體的`ssh`命令字串。如果您需要連線至私有 IP 地址，您必須使用 `--override-ssh` 提供自訂命令字串。如需範例，請參閱 [從工作站註冊現場部署執行個體](registered-instances-register-registering-examples.md#registered-instances-register-registering-examples-workstation-onprem)。
如果您指定主機名稱，`ssh` 需要 DNS 伺服器將名稱解析為特定執行個體。如果您不確定主機名稱是唯一的，請使用 `ssh` 確認主機名稱解析為正確的執行個體。
如果您從要註冊的執行個體執行此命令，請省略執行個體識別符，並改用 `--local` 引數。

下列引數僅適用於現場部署執行個體。

**`--override-public-ip`**  
（選用） OpsWorks Stacks 會將指定的地址顯示為執行個體的公有 IP 地址。它不會變更執行個體的公有 IP 地址。不過，如果使用者使用主控台連線至執行個體，例如選擇**執行個體**頁面上的地址， OpsWorks Stacks 會使用指定的地址。 OpsWorks Stacks 會自動判斷引數的預設值。

**`--override-private-ip`**  
（選用） OpsWorks Stacks 會將指定的地址顯示為執行個體的私有 IP 地址。它不會變更執行個體的私有 IP 地址。 OpsWorks Stacks 會自動判斷引數的預設值。