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

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

對連線進行疑難排解

下列資訊可協助您疑難排解 AWS CodeBuild、 AWS CodeDeploy和中資源連線的常見問題 AWS CodePipeline。

我無法建立連線

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

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

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

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

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

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

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

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

無法驗證您的帳戶。

用戶:用戶未被授權執行:代碼之星連接:在資源UseConnection 上:連接 ARN

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

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

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

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

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

新增連線 GitClone 權限

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

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

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

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

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

使用主控台新增 UseConnection 權限
  1. 若要尋找管道的連線 ARN,請開啟管道,然後選擇來源動作上的 (i) 圖示。[組態] 窗格隨即開啟,連線 ARN 會出現在旁ConnectionArn邊。您可以將連線 ARN 新增至您的 CodeBuild 服務角色原則。

  2. 若要尋找您的 CodeBuild 服務角色,請開啟管線中使用的建置專案,然後瀏覽至 [建置詳細資料] 索引標籤。

  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. 選擇檢閱政策。輸入政策的名稱 (例如 connection-permissions),然後選擇 Create policy (建立政策)

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

主機並非處於可用狀態

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

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

注意

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

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

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

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

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

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

我無法為主機建立連線

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

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

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

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

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

注意

使用本節進行與 Amazon VPC 中 GitHub 企業伺服器主機組態相關的疑難排解。如需與設定為使用適用於 VPC (PrivateLink) 的 webhook 端點之連線相關的疑難排解,請參閱。疑難排解 GitHub 企業伺服器連線的 Webhook VPC 人雲端端點 (PrivateLink)

在此範例中,您可以使用下列程序來設定要安裝 GitHub 企業伺服器執行個體的 VPC 和伺服器:

注意

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

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

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

當您將 VPC 用於 GitHub 企業伺服器連線時,必須在設定主機時為基礎結構提供下列資訊:

  • VPC ID:安裝 GitHub企業伺服器執行個體的伺服器的 VPC,或可透過 VPN 或直 Connect 存取已安裝 GitHub企業伺服器執行個體的 VPC。

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

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

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

如需使用 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

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

如果您無法完成主機的 CodeConnections 應用程式設定,可能是因為您的 VPC 組態或 GitHub 企業伺服器執行個體發生問題。

  • 如果您未使用公用憑證授權單位,則需要向您的 GitHub 企業執行個體使用的主機提供 TLS 憑證。TLS 憑證值應該是憑證的公有金鑰。

  • 您必須是 GitHub 企業伺服器執行個體的系統管理員,才能建立 GitHub 應用程式。

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

如果連線/主機之前正在運作且目前無法運作,則可能是由於 VPC 中的組態變更或 GitHub 應用程式已修改。請檢查以下內容:

  • 連接至您為連線建立之主機資源的安全性群組現在已變更,或無法再存取 GitHub 企業伺服器。 CodeConnections 需要與 GitHub 企業伺服器執行個體具有連線能力的安全群組。

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

  • 網路 ACL 設定已變更,不再允許 HTTP 連線至您 GitHub 企業伺服器基礎結構所在的子網路。

  • GitHub 企業伺服器上 CodeConnections 應用程式的任何設定都已變更。修改任何設定 (例如 URL 或應用程式密碼) 都可能會中斷已安裝的 GitHub Enterprise Server 執行個體和 CodeConnections.

我無法刪除網路介面

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

  • 建立的網路介面只 CodeConnections 能透過刪除主機來刪除。使用者無法手動刪除這些網路介面。

  • 您必須具備下列許可:

    ec2:DescribeNetworkInterfaces ec2:DeleteNetworkInterface

疑難排解 GitHub 企業伺服器連線的 Webhook VPC 人雲端端點 (PrivateLink)

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

注意

您可以使用本節進行與設定為使用適用於 VPC 的 webhook 端點的連線相關的疑難排解 () PrivateLink。如需與 Amazon VPC 中 GitHub 企業伺服器主機組態相關的疑難排解,請參閱針對主機的 VPC 組態進行疑難排解

當您建立與已安裝的提供者類型的連線時,並指定已在 VPC 中設定伺服器,然後 AWS CodeConnections 建立主機,並為您建立 Webhook 的 VPC 端點 (PrivateLink)。這使主持人可以通過 Webhook 通過 Amazon 網絡將事件數據發送到您的集成 AWS 服務。如需詳細資訊,請參閱 AWS CodeConnections 和介面VPC端點 (AWS PrivateLink)

我無法刪除 Webhook VPC 端點

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

  • 建立的 Webhook VPC 端點 (PrivateLink) 只 CodeConnections 能透過刪除主機來刪除。這些端點無法手動刪除。

  • 您必須具備下列許可:

    ec2:DescribeNetworkInterfaces ec2:DeleteNetworkInterface

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

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

如需詳細資訊,請參閱 AWS CodeConnections 和介面VPC端點 (AWS PrivateLink)

我有一個在 2020 年 11 月 24 日之前創建的主機,我想將 VPC 端點(PrivateLink)用於網絡掛鉤

當您為 GitHub 企業伺服器設定主機時,會為您建立 webhook 端點。連線現在會使用 VPC PrivateLink 網路掛接端點。如果您在 2020 年 11 月 24 日之前建立了主機,並且想要使用 VPC PrivateLink Webhook 端點,則必須先刪除主機,然後再建立新主機。

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

如果您的主機是在 2020 年 11 月 24 日之前建立的,且您無法為主機完成 CodeConnections 應用程式設定,可能是因為您的 VPC 組態或 GitHub 企業伺服器執行個體發生問題。

您的 VPC 將需要 NAT 閘道(或輸出網際網路存取),以便您的 GitHub企業伺服器執行個體可以傳送 Webhook 的輸出 GitHub 網路流量。

無法建立儲 GitHub 存庫的連線

問題:

由於 GitHub 存放庫的連線會使用 AWS Connector GitHub,因此您需要組織擁有者權限或存放庫的管理員權限,才能建立連線。

可能的修正:如需 GitHub 儲存庫權限層級的相關資訊,請參閱 https://docs.github.com/en/ free-pro-team @latest /github/-/setting-up-and-managing-組織。organizations-and-teams permission-levels-for-an

編輯 GitHub 企業伺服器連線應用程式權限

如果您在 2020 年 12 月 23 日或之前安裝適用於 GitHub 企業伺服器的應用程式,則可能需要將應用程式授予組織成員的唯讀存取權。如果您是 GitHub 應用程式擁有者,請依照下列步驟編輯建立主機時所安裝之應用程式的權限。

注意

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

  1. 在 GitHub 企業伺服器中,從設定檔相片的下拉式選項中,選擇「設定」。

  2. 選擇開發人員設置,然後選擇GitHub應用程序

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

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

    Organization permissions interface showing Members access set to Read-only from dropdown menu.
  5. Add a note to users (為使用者新增附註) 底下,新增更新原因說明。選擇儲存變更

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

問題:

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

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

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

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

資源中的連線服務前置詞可能需要更新 IAM 政策

2024 年 3 月 29 日,服務已從「 AWS CodeStar 連線」重新命名為。 AWS CodeConnections從 2024 年 7 月 1 日開始,主控台將在資源 ARN codeconnections 中建立連線。具有兩個服務前置詞的資源將繼續顯示在控制台中。使用控制台創建的資源的服務前綴將是codeconnections。新的軟體開發套件 /CLI 資源是使用codeconnections在資源 ARN 中建立的。創建的資源將自動具有新的服務前綴。

以下是在中建立的資源 AWS CodeConnections:

  • 連線

  • 主機

問題:

在 ARN codestar-connections 中建立的資源不會自動重新命名為資源 ARN 中的新服務前置詞。創建一個新的資源將創建一個具有連接服務前綴的資源。但是,具有codestar-connections服務前綴的 IAM 政策不適用於具有新服務前綴的資源。

可能的修正:若要避免資源存取或權限問題,請完成下列動作:

  • 更新新服務前置詞的 IAM 政策。否則,重新命名或建立的資源將無法使用 IAM 政策。

  • 透過使用主控台或 CLI I/CDK/CFN 建立新服務前置詞的資源來更新資源。

視需要更新策略中的動作、資源和條件。在下列範例中,已針對兩個服務前置字元更新Resource欄位。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "codeconnections:UseConnection" ], "Resource": [ "arn:aws:codestar-connections:*:*:connection/*", "arn:aws:codeconnections:*:*:connection/*" ] } }

由於使用控制台創建的資源中的服務前綴導致權限錯誤

目前,使用主控台建立的連線資源只會有codestar-connections服務前置詞。對於使用主控台建立的資源,政策陳述式動作必須包含作codestar-connections為服務前置詞。

注意

目前,如果您使用主控台建立連線,這只會在資源 ARN codestar-connections 中建立資源。若要建立在 ARN 中具有codeconnections服務前置詞的資源,請使用 CLI、SDK 或 CFN。具有兩個服務前綴的資源仍將顯示在控制台中。自 2024 年 7 月 1 日起,可以建立主控台資源。

問題:

使用主控台建立連線資源時,必須在策略中使用codestar-connections服務前置詞。使用原則中含有codeconnections服務前置詞的原則時,使用主控台建立的連線資源會收到下列錯誤訊息:

User: user_ARN is not authorized to perform: codestar-connections:action on resource: resource_ARN because no identity-based policy allows the codestar-connections:action action

可能的修正:對於使用主控台建立的資源,政策陳述式動作必須包含codestar-connections做為服務前置詞,如中的政策範例所示範例:使用主控台建立 AWS CodeConnections 的政策

我想提高連線的限額

您可以在中要求提高某些限制的限制 CodeConnections。如需更多詳細資訊,請參閱 連線的配額