

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用主机
<a name="connections-hosts"></a>

要创建与已安装的提供程序类型（例如 GitHub 企业服务器）的连接，请先使用创建主机 AWS 管理控制台。主机是您创建的资源，用于表示安装提供程序的基础设施。然后使用该主机创建连接。有关更多信息，请参阅 [使用连接](connections.md)。

例如，您为您的连接创建一个主机，以便为您的提供商注册第三方应用程序以表示您的基础设施。为提供程序类型创建一个主机，然后与该提供程序类型的所有连接都使用该主机。

当您使用控制台创建与已安装的提供商类型（例如 En GitHub terprise Server）的连接时，控制台会为您创建主机资源。

**Topics**
+ [创建主机](connections-host-create.md)
+ [设置待处理的主机](connections-host-setup.md)
+ [列出主机](connections-host-list.md)
+ [编辑主机](connections-host-edit.md)
+ [删除主机](connections-host-delete.md)
+ [查看主机详细信息](connections-host-view.md)

# 创建主机
<a name="connections-host-create"></a>

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 来创建与安装在您的基础架构上的第三方代码存储库的连接。例如，您可能让 GitHub企业服务器作为虚拟机在 Amazon EC2 实例上运行。在创建与 GitHub 企业服务器的连接之前，需要创建用于连接的主机。

有关已安装提供程序的主机创建工作流程的概述，请参阅[创建或更新主机的工作流程](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 企业服务器的连接，请参见[创建您的 GitHub 企业服务器连接（控制台）](connections-create-gheserver-console.md#connections-create-gheserver-connection)。控制台将为您创建一个主机。

要使用控制台创建主机并连接到 GitLab 自行管理，请参阅[创建与 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 企业服务器实例配置为使用非公共证书颁发机构执行 TLS 验证，则需要为您的主机资源提供 TLS 证书。
+ 当连接创建您的主机时，将为您创建用于 Webhook 的 VPC 终端节点 (PrivateLink)。有关更多信息，请参阅 [AWS CodeConnections 和接口 VPC 终端节点 (AWS PrivateLink)](vpc-interface-endpoints.md)。
+ 安全组配置
  + 主机创建期间使用的安全组需要允许网络接口连接到 GitHub 企业服务器实例的入站和出站规则
  + 连接到您的 E GitHub nterprise Server 实例（不是主机设置的一部分）的安全组需要通过连接创建的网络接口进行入站和出站访问。
+ 您的 VPC 子网必须位于您所在区域的不同可用区中。可用区是可以隔离其他可用区的故障的不同位置。每个子网都必须完全位于一个可用区之内，不能跨越多个可用区。

有关使用 VPCs 和子网的更多信息，请参阅 *Amazon VPC 用户指南 IPv4中的 VPC* [和子网大小](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。

**您为主机设置提供的 VPC 信息**

在下一步中为连接创建主机资源时，需要提供以下内容：
+ **VPC ID：**安装 GitHub 企业服务器实例的服务器或可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的 VPC 的 VPC 的 ID。
+ **子网 ID 或 IDs：**安装 GitHub 企业服务器实例的服务器的子网 ID 或可通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的子网 ID。
+ 一个@@ **或多个安全组：**安装 GitHub 企业服务器实例的服务器的安全组，或者可以通过 VPN 或 Direct Connect 访问已安装的 GitHub企业服务器实例的安全组。
+ **终端节点：**准备好您的服务器终端节点，并继续下一步。

有关更多信息，包括 VPC 或主机连接的故障排查，请参阅 [对主机的 VPC 配置进行故障排查](troubleshooting-connections.md#troubleshooting-connections-host-vpc)。

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

作为主机创建过程的一部分，代表您 AWS CodeConnections 创建网络资源以促进 VPC 连接。这包括一个用于 AWS CodeConnections 查询主机数据的网络接口，以及一个*PrivateLink*用于通过 webhook 向连接发送事件数据的 VPC 终端节点。为了能够创建这些网络资源，请确保用于创建主机的 IAM 用户具有以下权限：

```
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>

对于用于安装的连接，例如与 E GitHub nterprise Server 或 GitLab自我管理的连接，您可以使用主机来表示安装第三方提供商的基础架构的端点。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

要了解有关在 VPC 中设置主机的注意事项，请参阅 [创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。

要使用控制台创建主机以及与 GitHub 企业服务器的连接，请参见[创建您的 GitHub 企业服务器连接（控制台）](connections-create-gheserver-console.md#connections-create-gheserver-connection)。控制台将为您创建一个主机。

要使用控制台创建主机并连接到 GitLab 自行管理，请参阅[创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。控制台将为您创建一个主机。

**注意**  
每个 E GitHub nterprise Server 或 GitLab 自我管理帐户只能创建一次主机。您与特定 GitHub 企业服务器或 GitLab自行管理帐户的所有连接都将使用同一台主机。

## 创建用于连接的主机（CLI）
<a name="connections-host-create-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 为已安装的连接创建主机。

**注意**  
每个 GitHub 企业服务器帐户只能创建一次主机。您与特定 GitHub 企业服务器帐户的所有连接都将使用同一台主机。

您可以使用主机来表示安装第三方提供程序的基础设施的终端节点。要使用 CLI 创建主机，请使用 **create-host** 命令。完成主机创建后，主机处于 **Pending (待处理)** 状态。然后您*设置*主机将其变为 **Available (可用)** 状态。主机可用后，完成创建连接的步骤。

**重要**  
默认情况下，通过创建的主机 AWS CLI 处于`Pending`状态。使用 CLI 创建主机后，可使用控制台设置主机使其状态为 `Available`。

要使用控制台创建主机以及与 GitHub 企业服务器的连接，请参见[创建您的 GitHub 企业服务器连接（控制台）](connections-create-gheserver-console.md#connections-create-gheserver-connection)。控制台将为您创建一个主机。

要使用控制台创建主机并连接到 GitLab 自行管理，请参阅[创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。控制台将为您创建一个主机。

# 设置待处理的主机
<a name="connections-host-setup"></a>

通过 AWS Command Line Interface (AWS CLI) 或 SDK 创建的主机默认处于`Pending`状态。创建与控制台或 SDK 的连接后，使用控制台将主机设置为其状态`Available`。 AWS CLI

您必须已创建一个主机。有关更多信息，请参阅 [Create a host (创建主机)](connections-host-create.md)。<a name="proc-host-setup-steps"></a>

**要设置待处理的主机**

创建主机后，它处于 **Pending (待处理)** 状态。要将主机从 **Pending (待处理)** 变为 **Available (可用)** 状态，请完成以下步骤。此过程与第三方提供商进行握手，以便在主机上注册 AWS 连接应用程序。

1. 在 AWS 开发者工具控制台上的主机处于 “**待处理**” 状态后，选择**设置主机**。

1. 如果您正在创建用于 GitLab 自行管理的主机，则会显示 “**设置**” 页面。在**提供个人访问令牌**中，仅向你的 GitLab PAT 提供以下限定范围的权限：api。

1. 在第三方安装的提供商登录页面（例如 **E GitHub nterprise Server** 登录页面）上，如果出现提示，请使用您的帐户凭据登录。

1. 在应用程序安装页面的**GitHub 应用程序名称**中，输入要为主机安装的应用程序的名称。选择 “**创建 GitHub应用程序**”。

1. 成功注册主机后，将显示主机详细信息页面，并显示主机状态为 **Available (可用)**。  
![\[显示主机设置已完成且处于 Available (可用) 状态的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-host-register-complete.png)

1. 在主机可用后，您可以继续创建连接。在成功横幅上，选择 **Create connection (创建连接)**。完成 [Create a connection (创建连接)](connections-create-gheserver-console.md) 中的步骤。

# 列出主机
<a name="connections-host-list"></a>

您可以使用开发人员工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **list-connections** 命令,来查看您账户中的连接列表。

## 列出主机（控制台）
<a name="connections-host-list-console"></a>

**要列出主机**

1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Host (主机)** 选项卡。查看主机的名称、状态和 ARN。

## 列出主机 (CLI)
<a name="connections-host-list-cli"></a>

您可以使用列 AWS CLI 出已安装的第三方提供商连接的主机。

为此，请使用 **list-hosts** 命令。

**列出主机**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符 (Windows)，然后使用运行命令。 AWS CLI **list-hosts**

  ```
  aws codeconnections list-hosts
  ```

  此命令将返回以下输出。

  ```
  {
      "Hosts": [
          {
              "Name": "My-Host",
              "HostArn": "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605",
              "ProviderType": "GitHubEnterpriseServer",
              "ProviderEndpoint": "https://my-instance.test.dev",
              "Status": "AVAILABLE"
          }
      ]
  }
  ```

# 编辑主机
<a name="connections-host-edit"></a>

您可以编辑处于 `Pending` 状态主机的主机设置。您可以编辑主机名、URL 或 VPC 配置。

您不能将同一个 URL 用于多个主机。

**注意**  
要了解有关在 VPC 中设置主机的注意事项，请参阅 [（可选）先决条件：您的连接的网络或 Amazon VPC 配置](connections-host-create.md#connections-create-host-prereq)。

**要编辑主机**

1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Settings > Connections (设置 > 连接)**。

1. 选择 **Host (主机)** 选项卡。

   将显示与您的 AWS 账户关联并在所选 AWS 地区创建的主机。

1. 要编辑主机名，则在 **Name (名称)** 中输入新值。

1. 要编辑主机终端节点，则在 **URL** 中输入新值。

1. 要编辑主机 VPC 配置，请在 **VPC ID** 中输入新值。

1. 选择 **Edit host (编辑主机)**。

1. 将显示更新后的设置。选择 **Set up Pending host (设置待处理主机)**。

# 删除主机
<a name="connections-host-delete"></a>

您可以使用开发工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **delete-host** 命令来删除主机。

**Topics**
+ [

## 删除主机（控制台）
](#connections-host-delete-console)
+ [

## 删除主机 (CLI)
](#connections-host-delete-cli)

## 删除主机（控制台）
<a name="connections-host-delete-console"></a>

**要删除主机**



1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Host (主机)** 选项卡。在 **Name (名称)** 中，选择您要删除的主机的名称。

1. 选择 **Delete**。

1. 在字段中输入 **delete** 以确认，然后选择**删除**。
**重要**  
并且无法撤消。

## 删除主机 (CLI)
<a name="connections-host-delete-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 删除主机。

为此，请使用 **delete-host** 命令。

**重要**  
必须先删除与主机关联的所有连接，然后才能删除主机。  
运行该命令后，将删除主机。不显示任何确认对话框。

**要删除主机**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**delete-host**命令，指定 AWS CLI 要删除的主机的 Amazon 资源名称 (ARN)。

  ```
  aws codeconnections delete-host --host-arn "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605"
  ```

  该命令不返回任何内容。

# 查看主机详细信息
<a name="connections-host-view"></a>

您可以使用开发工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **get-host** 命令来查看主机的详细信息。



**要查看主机详细信息（控制台）**

1. 登录到 AWS 管理控制台 ，然后打开 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 上的开发工具控制台。

1. 选择 **Settings > Connections (设置 > 连接)**，然后选择 **Hosts (主机)** 选项卡。

1. 选择要查看的主机旁边的按钮，然后选择 **View details (查看详细信息)**。

1. 此时将显示以下主机信息：
   + 主机名。
   + 连接的提供程序类型。
   + 安装提供程序的基础设施的终端节点。
   + 主机的设置状态。准备好连接的主机处于 **Available (可用)** 状态。如果您的主机已创建但设置尚未完成，则主机可能处于不同的状态。

     以下是可能的状态：
     + PENDING (待处理) - 主机已完成创建，并准备好通过在主机上注册提供程序应用程序开始设置。
     + AVAILABLE (可用) - 主机已完成创建和设置，可用于连接。
     + ERROR (错误) - 主机创建或注册过程中出错。
     + VPC\$1CONFIG\$1VPC\$1INITIALIZING - 正在创建主机的 VPC 配置。
     + VPC\$1CONFIG\$1VPC\$1FAILED\$1INITIALIZATION - 主机的 VPC 配置遇到错误并失败。
     + VPC\$1CONFIG\$1VPC\$1AVAILABLE - 主机的 VPC 配置已完成设置并且可用。
     + VPC\$1CONFIG\$1VPC\$1DELETING - 正在删除主机的 VPC 配置。  
![\[显示主机处于 Available (可用) 状态的主机详细信息的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-view-host-screen.png)

1. 要删除该主机，请选择 **Delete (删除)**。

1. 如果主机位于 **Pending (待处理)** 状态，要完成设置，请选择 **Set up host (设置主机)**。有关更多信息，请参阅[设置待处理的主机](connections-host-setup.md)。

**要查看主机详细信息 (CLI)**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符 (Windows)，然后使用运行**get-host**命令，指定要查看其详细信息的主机的亚马逊资源名称 (ARN)。 AWS CLI 

  ```
  aws codeconnections get-host --host-arn arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605
  ```

  此命令将返回以下输出。

  ```
  {
      "Name": "MyHost",
      "Status": "AVAILABLE",
      "ProviderType": "GitHubEnterpriseServer",
      "ProviderEndpoint": "https://test-instance-1.dev/"
  }
  ```