對連線進行疑難排解 - 開發人員工具主控台

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

對連線進行疑難排解

以下資訊可能有助於排解 AWS CodeBuild、AWS CodeDeploy 及 AWS CodePipeline 中有關資源連線的常見疑難問題。

我無法建立連線

您可能沒有建立連線的許可。如需更多詳細資訊,請參閱 權限和範例 AWS CodeConnections

嘗試建立或完成連線時收到許可錯誤

嘗試在 CodePipeline 主控台中建立或檢視連線時,可能會傳回下列錯誤訊息。

使用者:使用者名稱未獲授權在資源:連線 ARN上執行許可

如果顯示這則訊息,請確定您有足夠的許可。

在 AWS Command Line Interface (AWS CLI) 或 AWS Management Console 中建立和檢視連線的許可,只是在主控台上建立和完成連線所需許可的一部分。單純檢視、編輯或建立連線,然後完成待定連線所需的許可,範圍應該限制為只需要執行特定任務的使用者。如需更多詳細資訊,請參閱 權限和範例 AWS CodeConnections

嘗試使用連線時收到許可錯誤

如果您嘗試在 CodePipeline 主控台中使用連線,即使您具有列出、取得和建立許可,可能仍會傳回下列其中一個或兩個錯誤訊息。

無法驗證您的帳戶。

使用者:使用者名稱未獲授權在資源:連線 ARN 上執行:codestar-connections:UseConnection

如果出現此訊息,請確定您有足夠的許可。

請確定您擁有使用連線的許可,包括列出位於供應商位置的可用儲存庫。如需更多詳細資訊,請參閱 權限和範例 AWS CodeConnections

連線並非處於可用狀態或已脫離待定狀態

如果主控台顯示連線並非處於可用狀態的訊息,請選擇 Complete connection (完成連線)

如果您選擇完成連線,且出現連線不處於待定狀態的訊息,您可以取消請求,因為連線已處於可用狀態。

新增 GitClone 的連線許可

當您在來源動作和 CodeBuild 動作中使用 AWS CodeStar 連線時,有兩種方式可以將輸入成品傳遞至組建:

  • 預設值:來源動作會產生 zip 檔,其中包含 CodeBuild 下載項目的程式碼。

  • Git 複製:來源程式碼可以直接下載到建置環境。

    Git 複製模式可讓您將原始程式碼當成工作中 Git 儲存庫來互動。若要使用此模式,您必須准許 CodeBuild 環境使用連線。

若要將許可新增至 CodeBuild 服務角色政策,請建立客戶受管政策以連接至 CodeBuild 服務角色。下列步驟建立政策,其中,action 欄位中指定 UseConnection 許可,而 Resource 欄位中指定連線的 Amazon Resource Name (ARN)。

使用主控台新增 UseConnection 許可
  1. 若要尋找管道的連線 ARN,請開啟管道,然後選擇來源動作上的 (i) 圖示。「Configuration (組態)」窗格隨即會開啟,而連線 ARN 會顯示在 ConnectionArn 旁邊。您可以將連線 ARN 新增至 CodeBuild 服務角色政策。

  2. 若要尋找 CodeBuild 服務角色,請開啟管道中使用的建置專案,然後瀏覽至 Build details (建置詳細資訊) 索引標籤。

  3. 在「Environment (環境)」區段中,選擇 Service role (服務角色) 連結。這會開啟 AWS Identity and Access Management (IAM) 主控台,讓您新增政策以授予您連線的存取權。

  4. 在 IAM 主控台,選擇 Attach policies (連接政策),然後選擇 Create policy (建立政策)

    使用下列政策範本範例。在 Resource 欄位中新增連線 ARN,如下列範例所示。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codestar-connections:UseConnection", "Resource": "insert connection ARN here" } ] }

    JSON 索引標籤上,貼上您的政策。

  5. 選擇 Review policy (檢閱政策)。輸入政策的名稱 (例如 connection-permissions),然後選擇 Create policy (建立政策)

  6. 返回服務角色的 Attach Permissions (連接許可) 頁面,重新整理政策清單,然後選取您剛建立的政策。選擇 Attach policies (連接政策)

主機並非處於可用狀態

如果主控台顯示訊息,指出主機並非處於 Available 狀態,請選擇 Set up host (設定主機)

建立主機的第一個步驟會導致建立的主機現在處於 Pending 狀態。若要讓主機變為 Available 狀態,您必須選擇在主控台中設定主機。如需更多詳細資訊,請參閱 設定待定主機

注意

您無法使用 AWS CLI 設定 Pending 主機。

針對發生連線錯誤的主機進行疑難排解

如果刪除或修改基礎 GitHub 應用程式,連線和主機可能會變為錯誤狀態。處於錯誤狀態的主機和連線無法復原,且必須重新建立主機。

  • 更改應用程式 pem 金鑰、更改應用程式名稱 (初始建立後) 等動作,會導致主機和所有相關聯的連線進入錯誤狀態。

如果主控台或 CLI 傳回處於 Error 狀態的主機或與主機相關的連線,您可能需要執行下列步驟:

  • 刪除並重新建立主機資源,然後重新安裝主機註冊應用程式。如需更多詳細資訊,請參閱 建立主機

我無法為主機建立連線

若要建立連線或主機,必須符合以下條件。

  • 您的主機必須處於 AVAILABLE (可用) 狀態。如需詳細資訊,請參閱

  • 必須在與主機相同的區域建立連線。

針對主機的 VPC 組態進行疑難排解

建立主機資源時,您必須提供安裝 GitHub Enterprise Server 執行個體的基礎設施之網路連線或 VPC 資訊。若要對主機的 VPC 或子網路組態進行疑難排解,請使用此處顯示的範例 VPC 資訊做為參考。

注意

使用本節內容,對 Amazon VPC 內 GitHub Enterprise Server 主機組態相關問題進行疑難排解。如需針對設為使用 VPC 的 Webhook 端點 (PrivateLink) 之連線相關問題進行疑難排解,請參閱「針對 GitHub Enterprise Server 連線的 Webhook VPC 端點 (PrivateLink) 進行疑難排解」。

在此範例中,您可以使用下列程序來設定 VPC 和伺服器 (GitHub Enterprise Server 執行個體的安裝位置):

  1. 建立 VPC。如需更多詳細資訊,請參閱 https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC

  2. 在 VPC 中建立子網路。如需更多詳細資訊,請參閱 https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet

  3. 將執行個體啟動至 VPC 中。如需更多詳細資訊,請參閱 https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Launch_Instance

注意

每個 VPC 一次只能與一個主機相關聯 (GitHub 企業伺服器執行個體) 相關聯。

下圖顯示使用 GitHub Enterprise AMI 啟動的 EC2 執行個體。


        主控台螢幕擷取畫面顯示執行個體描述

使用 VPC 進行 GitHub Enterprise Server 連線時,您必須在設定主機時為基礎設施提供下列資訊:

  • VPC ID:安裝 GitHub Enterprise Server 執行個體的伺服器之 VPC,或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的 VPC。

  • 子網路 ID 或 ID:安裝 GitHub Enterprise Server 執行個體的伺服器之子網路,或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的子網路。

  • 安全群組或群組:安裝 GitHub Enterprise Server 執行個體的伺服器之安全群組,或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的安全群組。

  • 端點:準備好您的伺服器端點,繼續執行下一個步驟。

如需使用 VPC 和子網路的詳細資訊,請參閱 Amazon VPC 使用者指南中的 IPv4 的 VPC 和子網路規模調整

我無法讓主機進入待定狀態

如果您的主機進入了 VPC_CONFIG_FAILED_INITIALIZATION 狀態,可能是因為您為主機選取的 VPC、子網路或安全群組出現問題。

  • VPC、子網路和安全群組都必須屬於建立主機的帳戶。

  • 子網路和安全群組必須屬於選取的 VPC。

  • 提供的每個子網路都必須位於不同的可用區域中。

  • 建立主機的使用者必須具有下列 IAM 權限:

    ec2:CreateNetworkInterface ec2:CreateTags ec2:DescribeDhcpOptionsec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DeleteNetworkInterface ec2:DescribeVpcs ec2:CreateVpcEndpoint ec2:DeleteVpcEndpoints ec2:DescribeVpcEndpoints

我無法讓主機進入可用狀態

如果您無法完成主機的 AWS CodeStar Connections 應用程式設定,可能是因為您的 VPC 組態或 GitHub Enterprise Server 執行個體出現問題。

  • 如果您不是使用公有憑證授權機構,則需要為 GitHub Enterprise 執行個體所使用的主機提供 TLS 憑證。TLS 憑證值應該是憑證的公有金鑰。

  • 您需為 GitHub Enterprise Server 執行個體的管理員才能建立 GitHub 應用程式。

我的連線/主機本來正常運作,現在卻停止運作

如果連線/主機之前正常工作,現在卻無法正常運作,可能是因為 VPC 中的組態變更或 GitHub 應用程式經過修改。請檢查以下內容:

  • 連接至您為連線所建立主機資源的安全群組現在有所變更,或無法再存取 GitHub Enterprise Server。AWSCodeStar Connections 需具有可連線至 GitHub Enterprise Server 執行個體的安全群組。

  • DNS 伺服器 IP 最近有所變更。檢查連接至您為連線所建立主機資源中指定的 VPC 的 DHCP 選項,即可確認是否有變更。請注意,如果您最近從 AmazonProviedDNS 移轉至自訂 DNS 伺服器,或是開始使用新的自訂 DNS 伺服器,則主機/連線會停止運作。若要解決這個問題,請刪除您現有的主機並重新建立,這麼做會將最新的 DNS 設定存放在我的資料庫中。

  • 網路 ACL 設定已變更,不再允許 HTTP 連線到您的 GitHub Enterprise Server 基礎設施所在的子網路。

  • GitHub Enterprise Server 上 AWS CodeStar Connections 應用程式的任何設定有所變更。修改任何組態 (例如 URL 或應用程式密碼) 可能會中斷已安裝的 GitHub Enterprise Server 執行個體與 AWS CodeStar Connections 之間的連線。

我無法刪除網路介面

如果您無法偵測到您的網路介面,請檢查下列項目:

  • AWS CodeStar Connections 建立的網路介面只能藉由刪除主機來刪除。使用者無法手動刪除這些網路介面。

  • 您必須具備下列許可:

    ec2:DescribeNetworkInterfaces ec2:DeleteNetworkInterface

針對 GitHub Enterprise Server 連線的 Webhook VPC 端點 (PrivateLink) 進行疑難排解

使用 VPC 組態建立主機時,系統會為您建立 Webhook VPC 端點。

注意

使用本節內容,針對設為使用 VPC 的 Webhook 端點 (PrivateLink) 之連線相關問題進行疑難排解。如需對 Amazon VPC 內 GitHub Enterprise Server 主機組態相關問題進行疑難排解,請參閱「針對主機的 VPC 組態進行疑難排解」。

若您建立連至安裝式供應商類型的連線,並指定您的伺服器是在 VPC 內設定,AWS CodeStar Connections 會建立您的主機,並為您建立 Webhook 的 VPC 端點 (PrivateLink)。這可讓主機透過 Webhook 將事件資料經由 Amazon 網路傳送到您的整合式 AWS 服務。如需更多詳細資訊,請參閱 AWS CodeStar Connections 和界面 VPC 端點 (AWS PrivateLink)

我無法刪除 Webhook VPC 端點

AWS Codestar Connections 會管理主機的 Webhook VPC 端點生命週期。若要刪除端點,您必須刪除對應的主機資源。

  • AWS CodeStar Connections 建立的 Webhook VPC 端點 (PrivateLink) 只能藉由刪除主機來刪除。這些端點無法手動刪除。

  • 您必須具備下列許可:

    ec2:DescribeNetworkInterfaces ec2:DeleteNetworkInterface

針對 2020 年 11 月 24 日之前建立的主機進行疑難排解

自 2020 年 11 月 24 日起,AWS CodeStar Connections 設定您的主機時,同時會為您設定額外的 VPC 端點 (PrivateLink) 支援。對於在此更新之前建立的主機,請使用本節疑難排解內容。

如需更多詳細資訊,請參閱 AWS CodeStar Connections 和界面 VPC 端點 (AWS PrivateLink)

我有一個 2020 年 11 月 24 日之前建立的主機,而且想將 VPC 端點 (PrivateLink) 用於 Webhook

您為 GitHub Enterprise Server 設定主機時,系統會為您建立 Webhook 端點。連線現在使用 VPC PrivateLink Webhook 端點。如果您是在 2020 年 11 月 24 日之前建立主機,且想要使用 VPC PrivateLink Webhook 端點,您必須先刪除主機,然後建立新主機。

我無法讓主機進入可用狀態 (VPC 錯誤)

如果您的主機是在 2020 年 11 月 24 日之前建立的,而且您無法完成主機的 AWS CodeStar Connections 應用程式設定,可能是因為您的 VPC 組態或 GitHub Enterprise Server 執行個體出現問題。

您的 VPC 需要一個 NAT 閘道 (或傳出網際網路存取權),才能讓您的 GitHub Enterprise Server 執行個體傳送 GitHub Webhook 的輸出網路流量。

無法為 GitHub 儲存庫建立連線

問題:

由於連至 GitHub 儲存庫的連線使用適用於 GitHub 的 AWS Connector,因此您需有組織擁有者許可或儲存庫的管理員許可才能建立連線。

可能的修正方式:如需 GitHub 儲存庫許可層級的詳細資訊,請參閱 https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization

編輯 GitHub Enterprise Server 連線應用程式許可

如果您在 2020 年 12 月 23 日或之前安裝 GitHub Enterprise Server 的應用程式,您可能需要將應用程式的唯讀存取權提供給組織成員。如果您是 GitHub 應用程式擁有者,請依照下列步驟編輯建立主機時所安裝應用程式的許可。

注意

您必須在 GitHub Enterprise Server 執行個體上完成這些步驟,而且您必須是 GitHub 應用程式擁有者。

  1. 在 GitHub Enterprise Server 中,從您個人檔案照片上的下拉式選項中,選擇 ​Settings (設定)

  2. 選擇 Developer settings (開發人員設定),然後選擇 GitHub Apps (GitHub 應用程式)

  3. 在應用程式清單中,為連線選擇應用程式名稱,然後在設定畫面中選擇 Permissions and events (許可與事件)

  4. Organization permissions (組織許可) 下,對於 Members (成員),從 Access (存取權) 下拉式清單中選擇 Read-only (唯讀)。

  5. Add a note to users (為使用者新增附註) 底下,新增更新原因說明。選擇 Save changes (儲存變更)

連線至 GitHub 時發生連線錯誤:「發生問題,請確定您的瀏覽器已啟用 Cookie」或「組織擁有者必須安裝 GitHub 應用程式」

問題:

如要建立 GitHub 儲存庫的連線,您必須是 GitHub 組織擁有者。對於不在組織下的儲存庫,您必須是儲存庫擁有者。由組織擁有者以外的其他人員建立連線時,會針對組織擁有者建立請求,並顯示下列其中一個錯誤:

發生問題,請確保您的瀏覽器已啟用 cookie

組織擁有者必須安裝 GitHub 應用程式

可能修正:對於 GitHub 組織中的儲存庫,組織擁有者必須建立與 GitHub 儲存庫的連線。對於不在組織下的儲存庫,您必須是儲存庫擁有者。

我想提高連線的限額

您可以請求提高 AWS CodeStar Connections 的某些限額。如需更多詳細資訊,請參閱 連線的配額