

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

# 建立主機
<a name="connections-host-create"></a>

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 來建立與安裝在基礎設施上之第三方程式碼儲存庫的連線。例如，您可能在 Amazon EC2 執行個體上將 GitHub Enterprise Server 做為虛擬機器執行。建立連至 GitHub Enterprise Server 的連線之前，需先建立用於該連線的主機。

如需為已安裝供應商建立主機工作流程的概觀，請參閱 [建立或更新主機的工作流程](welcome-hosts-workflow.md)。

開始之前：
+ (選用) 如果要使用 VPC 建立主機，您必須先建立好網路或虛擬私有雲端 (VPC)。
+ 您必須先建立好執行個體，且如果打算與 VPC 連線，須先將主機啟動到 VPC 中。
**注意**  
每個 VPC 一次只能與一個主機相關聯。

您可以選擇性地使用 VPC 來設定主機。如需主機資源網路與 VPC 組態的詳細資訊，請參閱 [(選用) 先決條件：連線的網路或 Amazon VPC 組態](#connections-create-host-prereq) 和 [針對主機的 VPC 組態進行疑難排解](troubleshooting-connections.md#troubleshooting-connections-host-vpc) 中的 VPC 先決條件。

若要使用主控台建立主機與連至 GitHub Enterprise Server 的連線，請參閱 [建立 GitHub Enterprise Server 連線 (主控台)](connections-create-gheserver-console.md#connections-create-gheserver-connection)。主控台會為您建立一個主機。

若要使用主控台建立主機與連至 GitHub 自我管理的連線，請參閱 [建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)。主控台會為您建立一個主機。

## (選用) 先決條件：連線的網路或 Amazon VPC 組態
<a name="connections-create-host-prereq"></a>

如果您的基礎設施已設定網路連線，您可以略過本節。

如果您的主機只能在 VPC 中存取，請遵循這些 VPC 要求再繼續進行。

### VPC 要求
<a name="connections-create-host-prereq-vpc"></a>

您可以選擇性地使用 VPC 建立主機。以下是一般 VPC 要求，具體取決於您為安裝設定的 VPC。
+ 您可以透過公有和私有子網路設定*公有* VPC。如果您沒有慣用的 CIDR 區塊或子網路，您可以使用 AWS 帳戶 的預設 VPC。
+ 如果您已設定*私有* VPC，且已將 GitHub Enterprise Server 執行個體設定為使用非公有憑證授權機構執行 TLS 驗證，則需要為您的主機資源提供 TLS 憑證。
+ 連線建立主機時，會為您建立 Webhook 的 VPC 端點 (PrivateLink)。如需詳細資訊，請參閱[AWS CodeConnections 和介面 VPC 端點 (AWS PrivateLink)](vpc-interface-endpoints.md)。
+ 安全群組組態：
  + 主機建立期間使用的安全群組需要傳入和傳出規則，以允許網路介面連線到您的 GitHub Enterprise Server 執行個體
  + 連接到 GitHub Enterprise Server 執行個體 (不是主機設定的一部分) 的安全群組需要從連線所建立的網路介面進行傳入和傳出的權限。
+ VPC 子網路必須位於您區域中的不同可用區域。可用區域是不同的位置，與其他可用區域的故障隔離。各個子網必須完全位於某一可用區域內，不得跨越多個區域。

如需使用 VPC 和子網路的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [IPv4 的 VPC 和子網路規模調整](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。

**您為主機設定提供的 VPC 資訊**

在下一個步驟中為連線建立主機資源時，您需要提供下列項目：
+ **VPC ID：**安裝 GitHub Enterprise Server 執行個體的伺服器之 VPC ID，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的 VPC。
+ **子網路 ID 或 ID：**安裝 GitHub Enterprise Server 執行個體的伺服器之子網路 ID，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的子網路。
+ **安全群組或群組：**安裝 GitHub Enterprise Server 執行個體的伺服器之安全群組，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的安全群組。
+ **端點：**準備好您的伺服器端點，繼續執行下一個步驟。

如需包含 VPC 或主機連線疑難排解在內的詳細資訊，請參閱「[針對主機的 VPC 組態進行疑難排解](troubleshooting-connections.md#troubleshooting-connections-host-vpc)」。

### 許可要求
<a name="connections-create-host-prereq-permissions"></a>

在主機建立程序中， 會代表您 AWS CodeConnections 建立網路資源，以促進 VPC 連線。這包括 AWS CodeConnections 讓 從主機查詢資料的網路界面，以及讓主機透過 Webhook 將事件資料傳送至連線的 VPC 端點或 *PrivateLink*。若要建立這些網路資源，請確定建立主機所使用的角色具有下列許可：

```
ec2:CreateNetworkInterface
ec2:CreateTags
ec2:DescribeDhcpOptions
ec2:DescribeNetworkInterfaces
ec2:DescribeSubnets
ec2:DeleteNetworkInterface
ec2:DescribeVpcs
ec2:CreateVpcEndpoint
ec2:DeleteVpcEndpoints
ec2:DescribeVpcEndpoints
```

如需針對 VPC 中許可或主機連線進行疑難排解的詳細資訊，請參閱「[針對主機的 VPC 組態進行疑難排解](troubleshooting-connections.md#troubleshooting-connections-host-vpc)」。

如需 Webhook VPC 端點的詳細資訊，請參閱「[AWS CodeConnections 和介面 VPC 端點 (AWS PrivateLink)](vpc-interface-endpoints.md)」。

**Topics**
+ [(選用) 先決條件：連線的網路或 Amazon VPC 組態](#connections-create-host-prereq)
+ [為連線建立主機 (主控台)](#connections-host-create-console)
+ [為連線建立主機 (CLI)](#connections-host-create-cli)

## 為連線建立主機 (主控台)
<a name="connections-host-create-console"></a>

針對安裝連線 (如 GitHub Enterprise Server 或 GitLab 自我管理)，您可以使用主機來代表安裝第三方供應商的基礎設施之端點。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

若要了解在 VPC 中設定主機的考量事項，請參閱「[建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)」。

若要使用主控台建立主機與連至 GitHub Enterprise Server 的連線，請參閱 [建立 GitHub Enterprise Server 連線 (主控台)](connections-create-gheserver-console.md#connections-create-gheserver-connection)。主控台會為您建立一個主機。

若要使用主控台建立主機與連至 GitHub 自我管理的連線，請參閱 [建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)。主控台會為您建立一個主機。

**注意**  
一個 GitHub Enterprise Server 或 GitLab 自我管理帳戶一次只能建立一個主機。所有連至特定 GitHub Enterprise Server 或 GitLab 自我管理帳戶的連線都會使用相同的主機。

## 為連線建立主機 (CLI)
<a name="connections-host-create-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 為已安裝的連線建立主機。

**注意**  
一個 GitHub Enterprise Server 帳戶只能建立一個主機。所有連至特定 GitHub Enterprise Server 帳戶的連線都會使用相同的主機。

您可以使用主機來代表安裝第三方供應商的基礎設施之端點。若要使用 CLI 建立主機，請使用 **create-host** 命令。主機建立完成後，該主機會處於 **Pending (待定)** 狀態。接著需*設定*主機，以將其變為 **Available (可用)** 狀態。主機變為可用後，便可完成建立連線的步驟。

**重要**  
根據預設，透過 建立的主機 AWS CLI 處於 `Pending` 狀態。使用 CLI 建立主機後，需使用主控台將主機狀態設為 `Available`。

若要使用主控台建立主機與連至 GitHub Enterprise Server 的連線，請參閱 [建立 GitHub Enterprise Server 連線 (主控台)](connections-create-gheserver-console.md#connections-create-gheserver-connection)。主控台會為您建立一個主機。

若要使用主控台建立主機與連至 GitHub 自我管理的連線，請參閱 [建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)。主控台會為您建立一個主機。