

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

# 建立連至 GitLab 自我管理的連線
<a name="connections-create-gitlab-managed"></a>

您可以使用 GitLab 自我管理安裝來為 GitLab 企業版或社群版建立連線。

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 為 GitLab 自我管理建立連線和主機。

**注意**  
在 GitLab 自我管理中授權此連線應用程式，即表示您授權我們的服務處理您的資料，您隨時可以解除安裝應用程式以撤銷許可。

建立 GitLab 自我管理連線之前，需先建立用於該連線的主機，詳情請見下列步驟。如需為已安裝供應商建立主機工作流程的概觀，請參閱 [建立或更新主機的工作流程](welcome-hosts-workflow.md)。

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

開始之前：
+ 您必須先在 GitLab 建立帳戶，並擁有具自我管理安裝的 GitLab 企業版或 GitLab 社群版。如需詳細資訊，請參閱 [https://docs.gitlab.com/ee/subscriptions/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/)。
**注意**  
連線只能存取用於建立和授權連線之帳戶。
**注意**  
您可以對在 GitLab 中具有**擁有者**角色的儲存庫建立連線，然後該連線可以與具有 CodePipeline 等資源搭配使用。如果是群組中的儲存庫，您不需要為群組擁有者。
+ 您必須已使用下列縮小範圍許可建立 GitLab 個人存取字符 (PAT)：`api`、`admin_mode`。如需詳細資訊，請參閱 [https://docs.gitlab.com/ee/user/profile/personal\$1access\$1tokens.html](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)。您必須是管理員，才能建立和使用 PAT。
**注意**  
您的 PAT 會用於授權主機，不會以其他方式儲存或由連線使用。若要設置主體，您可以建立臨時 PAT，然後在設置主體後刪除 PAT。

**注意**  
對於 GitHub Enterprise Server 或 GitLab 自我管理中的組織，您不會傳遞可用的主機。您為組織中的每個連線建立新的主機，而且務必在主機的網路欄位中輸入相同的資訊 (VPC ID、子網路 IDs 和安全群組 IDs)。如需詳細資訊，請參閱[支援組織的已安裝供應商的連線和主機設定](troubleshooting-connections.md#troubleshooting-organization-host)。

**Topics**
+ [建立 GitLab 自我管理的連線 (主控台)](#connections-create-gitlab-managed-console)
+ [建立連至 GitLab 自我管理的連線 (CLI)](#connections-create-gitlab-managed-cli)

## 建立 GitLab 自我管理的連線 (主控台)
<a name="connections-create-gitlab-managed-console"></a>

在主控台中用這些步驟建立主機與連至 GitHub 自我管理的連線。針對在 VPC 中設定主機的考量事項，請參閱 [(選用) 先決條件：連線的網路或 Amazon VPC 組態](connections-host-create.md#connections-create-host-prereq)。

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

**注意**  
您為單個 GitLab 自我管理安裝建立主機，然後可以管理與該主機的一個或多個 GitLab 自我管理連線。

**步驟 1：建立您的主機**

1. 登入 AWS 管理主控台，然後在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 在 **Hosts (主機)** 索引標籤中，選擇 **Create host (建立主機)**。

1. 在 **Host name (主機名稱)** 中，輸入您想要使用的主機名稱。

1. 在**選取提供者**中，選擇 **GitLab 自我管理**。

1. 在 **URL** 中，輸入安裝供應商之基礎設施的端點。

1. 如果您的伺服器是在 Amazon VPC 內設定的，而您想要與 VPC 連線，請選擇 **Use a VPC (使用 VPC)**。否則，請選擇 **No VPC (無 VPC)**。

1. （選用）如果您已將主機啟動到 Amazon VPC 中，且想與 VPC 連線，請選擇 **使用 VPC**，然後完成以下操作。
**注意**  
對於 GitHub Enterprise Server 或 GitLab 自我管理中的組織，您不會傳遞可用的主機。您為組織中的每個連線建立新的主機，而且務必在主機的網路欄位中輸入相同的資訊 (VPC ID、子網路 IDs 和安全群組 IDs)。如需詳細資訊，請參閱[支援組織的已安裝供應商的連線和主機設定](troubleshooting-connections.md#troubleshooting-organization-host)。

   1. 在 **VPC ID** 底下，選擇您的 VPC ID。請務必選擇安裝主機的基礎設施之 VPC，或是可透過 VPN 或 Direct Connect 存取執行個體的 VPC。

   1. 如果您已設定私有 VPC，且已將主機設定為使用非公有憑證授權機構執行 TLS 驗證，請在 **TLS 憑證)** 中輸入您的憑證 ID。TLS 憑證值應該是憑證的公有金鑰。

1. 選擇 **Create host (建立主機)**。

1. 主機詳細資訊頁面顯示後，主機狀態會隨主機建立而變更。
**注意**  
如果您的主機設定包含 VPC 組態，需花幾分鐘的時間來佈建主機網路元件。

   等待您的主機到達 **Pending (待定)** 狀態，然後完成設定。如需詳細資訊，請參閱[設定待定主機](connections-host-setup.md)。  
![\[主控台螢幕擷取畫面顯示 GitLab 自我管理主機的詳細資訊，主機處於待定狀態。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm-host.png)

**步驟 2：設定待處理主機**

1. 選擇**設定主機**。

1. 將顯示**設定 *host\$1name*** 頁面。在**提供個人存取字符**中，僅提供 GitLab PAT 以下縮小範圍的許可： `api`和 `admin_mode`。
**注意**  
只有管理員可以建立和使用 PAT。  
![\[顯示新主機的 GitLab 個人存取權杖條目之主控台螢幕截圖\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm-pat.png)

1. 主機成功註冊後，會出現主機詳細資訊頁面，並顯示主機狀態為 **Available (可用)**。  
![\[顯示新主機可用狀態的主控台螢幕截圖\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm-host-available.png)

**步驟 3：建立連線**

1. 登入 AWS 管理主控台，然後在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇**設定**，然後選擇**連線**。選擇**建立連線**。

1. 若要建立連至 GitLab 儲存庫的連線，請在**選取提供者**下選擇 **GitLab 自我管理**。在 **Connection name (連線名稱)** 底下，輸入您要建立的連線名稱。  
![\[主控台螢幕截圖中顯示針對 GitLab 自我管理的連線選項。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm.png)

1. 在 **URL** 中，輸入伺服器的端點。

1. 如果您已將伺服器啟動到 Amazon VPC 中，且想與 VPC 連線，請選擇 **Use a VPC (使用 VPC)**，然後完成以下操作。

   1. 在 **VPC ID** 底下，選擇您的 VPC ID。請務必選擇安裝主機的基礎設施之 VPC，或是可透過 VPN 或 Direct Connect 存取主機的 VPC。

   1. 在 **Subnet ID (子網路 ID)** 底下，選擇 **Add (新增)**。在欄位中，選擇您要用於主機的子網路 ID。您最多可選擇 10 個子網路。

      請務必選擇安裝主機的基礎設施之子網路，或是可透過 VPN 或 Direct Connect 存取已安裝主機的子網路。

   1. 在 **Security group IDs (安全群組 ID)** 底下，選擇 **Add (新增)**。在欄位中，選擇您要用於主機的安全群組。您最多可以選擇 10 個安全群組。

      請務必選擇安裝主機的基礎設施之安全群組，或是可透過 VPN 或 Direct Connect 存取已安裝主機的安全群組。

   1. 如果您已設定私有 VPC，且已將主機設定為使用非公有憑證授權機構執行 TLS 驗證，請在 **TLS 憑證)** 中輸入您的憑證 ID。TLS 憑證值應該是憑證的公有金鑰。

1. 選擇**連線 GitLab 自我管理**。建立的連線會顯示 **Pending (待定)** 狀態。系統會利用您提供的伺服器資訊為連線建立主機資源。主機名稱會使用 URL。

1. 選擇 **Update pending connection (更新待定連線)**。

1. GitLab 的登入頁面顯示時，使用您的憑證登入，然後選擇**登入**。

1. 此時會顯示授權頁面，當中包含請求連線授權以存取您的 GitLab 帳戶的訊息。

   選擇 **Authorize** (授權)。

1. 瀏覽器會返回連線主控台頁面。新連線會出現在**建立 GitLab 連線**底下的**連線名稱**中。

1. 選擇**連線 GitLab 自我管理**。

   成功建立連線後，會顯示成功橫幅。連線詳細資訊會在**連線設定**頁面上顯示。

## 建立連至 GitLab 自我管理的連線 (CLI)
<a name="connections-create-gitlab-managed-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 為 GitLab 自我管理建立主機和連線。

若要這麼做，請使用 **create-host** 與 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**步驟 1：為 GitLab 自我管理建立主機 (CLI)**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 來執行 **create-host**命令，`--provider-endpoint`為您的連線指定 `--name`、 `--provider-type`和 。在此範例中，第三方供應商名稱為 `GitLabSelfManaged`，而端點為 `my-instance.dev`。

   ```
   aws codeconnections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"
   ```

   如果成功，此命令會傳回類似下列內容的主機 Amazon Resource Name (ARN) 資訊。

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

   完成此步驟後，主機會處於 `PENDING` 狀態。

1. 使用主控台完成主機設定，並依下列步驟將主機變為 `Available` 狀態。

**步驟 2：在主控台中設定待處理主機**

1. 登入 AWS 管理主控台 並開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用主控台完成主機設定，並將主機變為 `Available` 狀態。請參閱 [設定待定主機](connections-host-setup.md)。

**步驟 3：為 GitLab 自我管理建立連線 (CLI)**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--host-arn`和 。

   ```
   aws codeconnections create-connection --host-arn arn:aws:codeconnections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad"
   }
   ```

1. 在下列步驟使用主控台來設定待處理連線。

**步驟 4：在主控台中完成 GitLab 自我管理的連線**

1. 登入 AWS 管理主控台 並開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用主控台來設定待處理連線，並將連線移動到 `Available` 狀態。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。