AWS CodeStar 故障診斷 - AWS CodeStar

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

AWS CodeStar 故障診斷

以下資訊可能有助於診斷 AWS CodeStar 內的常見問題。

項目創建失敗:未建立專案

問題:當嘗試建立專案時,您看到訊息表示建立失敗。

可能的修正:最常見的失敗原因為:

  • 具有該 ID 的專案已存在於AWS帳户,可能在不同的AWS區域。

  • 您使用的 IAM 用户登錄到AWS Management Console未具備建立專案所需的許可。

  • AWS CodeStar 服務角色遺失一或多個必要的許可。

  • 您已達到專案的一或多個資源限制 (例如,IAM、Amazon S3 儲存貯體或 CodePipipeline 中的管道之客户受管政策限制)。

在建立專案之前,請確認您已設定AWSCodeStarFullAccess策略應用於您的 IAM 用户。如需詳細資訊,請參閱 AWSCodeStarFullAccess 政策

當您建立專案時,確保 ID 是唯一且符合 AWS CodeStar 要求。請確定您選擇AWS CodeStar 希望獲得管理AWS代表您的資源核取方塊。

若要排除其他問題,請開啟 AWS CloudFormation 主控台,選擇您嘗試建立的專案堆疊,然後選擇事件標籤。可能會有一個以上的專案堆疊。堆疊名稱以 awscodestar- 開頭,後面緊接著專案 ID。堆疊可能會在刪除篩選條件檢視下方。檢閱堆疊事件中的任何故障訊息,並更正列為這些故障的問題原因。

專案建立:我在建立專案時嘗試編輯 Amazon EC2 配置時看到錯誤

問題:當您在專案建立過程中編輯 Amazon EC2 配置選項,看到錯誤訊息或灰色選項,且無法繼續建立專案。

可能的修正:錯誤消息最常見的原因為:

  • AWS CodeStar 專案模板中的 VPC (預設 VPC 或是編輯 Amazon EC2 EC2 配置時使用的 VPC) 有專用的執行個體租用權,而且專用執行個體不支援該執行個體類型。選擇不同的實例類型或不同的 Amazon VPC。

  • 您的 AWS 帳戶沒有 Amazon VPC。您可能已刪除預設的 VPC,而不是建立任何其他項目。在開啟 Amazon VPC 主控台,網址為https://console.aws.amazon.com/vpc/,選擇您的 VPC,並且確認您至少設定一個 VPC。若沒有,請建立一個。如需詳細資訊,請參閱「」Amazon Virtual Private Cloud 概述中的Amazon VPC 入門指南

  • Amazon VPC 沒有任何子網路。選擇不同的 VPC,或建立 VPC 的子網路。如需詳細資訊,請參閱 VPC 和子網路基本概念

專案刪除:AWS CodeStar 專案已刪除,但資源仍然存在

問題:AWS CodeStar 專案已刪除,但該專案建立的資源仍然存在。在預設情況下,AWS CodeStar 會在專案被刪除時刪除專案資源。有些資源如 Amazon S3 儲存貯體會保留,即使使用者選取刪除資源複選框,因為存儲桶可能包含數據。

可能的修正:開啟AWS CloudFormation安慰並找到一或多個AWS CloudFormation用於創建項目的堆棧。堆疊名稱以 awscodestar- 開頭,後面緊接著專案 ID。堆疊可能在刪除篩選條件檢視下方。檢閱與堆疊相關聯的事件,探索為專案建立的資源。打開控制台,在AWS您建立 AWS CodeStar 專案的區域,然後手動刪除資源。

專案資源可能仍包括:

如果您的項目使用AWS(例如,GitHub 儲存庫或 Atlassian JIRA 中的問題),這些資源就不會被刪除,即使刪除關聯AWS資源以及 CodeStar 項目框處於選取狀態。

團隊管理失敗:AWS CodeStar 專案中無法將 IAM 用户添加到團隊

問題:當嘗試新增使用者至專案,您看到錯誤訊息表示附加失敗。

可能的修正:此錯誤最常見的原因是,IAM 使用者已達到可適用於 IAM 內使用者的受管政策限制。如果您在您嘗試新增使用者的 AWS CodeStar 專案中未具備擁有者角色,或是 IAM 使用者不存在或已刪除,此時您也可能收到此錯誤的擁有者角色。

請確定您以 IAM 使用者身分登入,該用者是 AWS CodeStar 專案的擁有者。如需詳細資訊,請參閱 新增團隊成員到 AWS CodeStar 專案

若要排除其他問題,請開啟 IAM 主控台,選擇您嘗試新增的使用者,並檢查有多少個受管政策套用到該 IAM 使用者。

如需詳細資訊,請參閱 &IAM; 實體和物件的限制。如需可變更之限制資訊,請參閱 AWS 服務限制

存取失敗: 聯合身分使用者無法存取 AWS CodeStar 專案

問題:聯合身分使用者無法在 AWS CodeStar 主控台查看專案。

可能的修正:如果您以聯合身分使用者身分登入,請確定您有適當的受管政策連接到要登入的所擔任角色。如需詳細資訊,請參閱 將專案的AWS CodeStar Viewer /貢者/擁有者受管政策附加到聯合身份使用者的角色

藉由手動附加政策的方式,將聯合身分使用者加入到您的 AWS Cloud9 環境。請參閱 將 AWS Cloud9 受管政策連接至聯合身分使用者的角色

存取失敗: 聯合身分使用者無法存取或建立AWS Cloud9環境

問題:聯合身分使用者無法查看或建立AWS Cloud9環境中AWS Cloud9主控台。

可能的修正:如果您以聯合身分使用者身分登入,請確定您有適當的受管政策連接到聯合身分使用者的角色。

手動連接政策至聯合身分使用者的角色,藉此將聯合身分使用者加入到您的 AWS Cloud9 環境。請參閱 將 AWS Cloud9 受管政策連接至聯合身分使用者的角色

存取失敗: 聯合身分使用者可以建立 AWS CodeStar 專案,但無法檢視專案資源

問題:聯合身分使用者能夠建立專案,但無法檢視專案資源,如專案管道。

可能的修正:如果您已經附加AWSCodeStarFullAccess託管政策,您擁有許可,所以可在 AWS CodeStar 建立專案。不過,若要存取所有專案資源,您必須連接擁有者受管政策。

在 AWS CodeStar 建立專案資源後,所有專案資源的專案許可在擁有者、參與者和查看者管政策中獲取。若要存取所有資源,您必須手動將擁有者政策連接到您的角色。請參閱 設定聯合身分使用者適用的許可

服務角色問題:無法建立服務角色

問題:當您嘗試在 AWS CodeStar 中建立專案時,您看到訊息提示您建立服務角色。當您選擇選項來建立角色時,您看到錯誤。

可能的修正:此錯誤最常見的原因是,您登入到AWS使用的帳户,未具備足夠權限建立服務角色。要創建 AWS CodeStar 服務角色(aws-codestar-service-role),您必須以管理使用者身分登入,或使用根帳户登入。登出主控台,並使用具有AdministratorAccess已應用託管策略。

服務角色問題:服務角色無效或遺失

問題:當您開啟 AWS CodeStar 主控台時,您看到的訊息表示 AWS CodeStar 服務角色已遺失或無效。

可能的修正:此錯誤最常見的原因是,管理使用者已編輯或刪除服務角色 (aws-codestar-service-role。如果服務角色已刪除,系統會提示您建立該角色。您必須以管理使用者身分登入,或使用根帳戶登入,如此才能建立角色。如果該角色已遭編輯,便不再有效。以管理使用者身分登入 IAM 主控台,在角色清單中尋找服務角色,並將其刪除。切換到 AWS CodeStar 主控台,並依照説明操作來建立服務角色。

項目角色問題:AWS Elastic BeanstalkAWS CodeStar 專案中的實例的運作狀態檢查失敗

問題:如果您在 2017 年 9 月 22 日之前建立的 AWS CodeStar 專案包括 Elastic Beanstalk,則彈性豆類運作狀態檢查可能失敗。如果您自建立專案以來尚未變更 Elastic Beanstalk 配置,運作狀態檢查會失敗,並且報告灰色狀態。儘管運作狀況檢查失敗,您的應用程式仍應如預期執行。如果您自建立專案以來更改 Elastic Beanstalk 配置,運作狀態檢查會失敗,而且您的應用程式可能無法正確運作。

修正:遺失一或多個 IAM 角色所需的 IAM 政策聲明。新增遺失的政策到您的 AWS 帳戶中受影響的角色。

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

    (如果您無法執行此操作,請洽詢您的 AWS 帳戶管理員以尋求協助)。

  2. 在導覽窗格中,選擇 Roles (角色)。

  3. 在角色清單中,選擇 CodeStarWorker-Project-ID-EB,其中 Project-ID 是其中一個受影響專案的 ID。(如果您無法輕鬆找到清單中的角色,請在搜尋方塊中輸入部分或全部的角色名稱)。

  4. 在 [權限] 索引標籤上,選擇 [連接政策]。

  5. 在策略清單,選取 AWSElasticBeanstalkEnhancedHealthAWSElasticBeanstalkService。(如果您無法輕鬆找到清單中的政策,請在搜尋方塊中輸入部分或全部的政策名稱)。

  6. 選擇 Attach Policy (連接政策)

  7. 針對每個受影響角色重複步驟 3 到 6,其名稱格式為 CodeStarWorker-Project-ID-EB

項目角色問題:專案角色無效或遺失

問題:當您嘗試新增使用者至專案,看到錯誤訊息,其表示附加失敗,因為專案角色政策遺失或無效。

可能的修正:此錯誤最常見的原因是,一或多個專案政策已在 IAM 中編輯,或已刪除。專案政策是 AWS CodeStar 專案獨有的,且無法重新建立。專案無法使用。在 AWS CodeStar 中建立專案,然後將資料遷移到新的專案。從無法使用的專案的儲存庫複製專案程式碼,並將該程式碼推送到新專案的儲存庫。從舊專案將團隊 wiki 資訊複製到新的專案。新增使用者到新的專案。當您確定已遷移所有資料和設定,請刪除不可用的專案。

專案延伸 無法連線到 JIRA

問題:當您使用 Atlassian JIRA 擴充以嘗試將 AWS CodeStar 專案連接到 JIRA 執行個體時,會顯示以下訊息:「該網址不是有效的 JIRA 網址。請確認 URL 是否正確。」

可能的修正:

  • 確定 JIRA URL 是正確的,然後再試一次連線。

  • 您的自我託管 JIRA 執行個體可能無法從公有網際網路存取。聯絡您的網路管理員,確保您的 JIRA 執行個體可從公有網際網路存取,然後再次嘗試連線。

GitHub: 無法存取儲存庫的遞交歷史記錄、問題或代碼

問題:在將其代碼存儲在 GitHub 中的項目的儀錶板中,遞交歷史記錄GitHub 問題磁貼顯示連接錯誤,或選擇在 GitHub 中開啟或者建立問題在這些瓷磚中顯示錯誤。

可能原因:

  • AWS CodeStar 專案可能不再有 GitHub 儲存庫存取權。

  • 在 GitHub 中,儲存庫可能已遭到刪除或重新命名。

AWS CloudFormation:遺失許可的回復建立堆疊

在新增資源到 template.yml 檔案後,檢視任何錯誤訊息的 AWS CloudFormation 堆疊更新。如果未達特定條件 (例如,當必要的資源許可遺失時),堆疊更新失敗。

注意

截至 2019 年 5 月 2 日,我們更新了AWS CloudFormation所有現有專案的工作者角色政策。此更新會減少授予您專案管道的存取範圍,來改善您專案中的安全性。

若要排除故障,可在 AWS CodeStar 儀表板檢視畫面查看您專案管道的故障狀態。

接著,在您管道的部署階段選擇 CloudFormation 連結,以診斷 AWS CloudFormation 主控台的故障。若要檢視堆疊建立詳細資訊,請展開專案的事件清單,並檢視任何失敗訊息。訊息會指出缺少哪些許可。修正 AWS CloudFormation 工作者角色政策,然後再次執行您的管道。

AWS CloudFormation未獲授權在 Lambda 執行角色上執行 IAM: PassRole

如果您在 2018 年 12 月 6 日之前建立的專案會建立 Lambda 函數,則可能會出現AWS CloudFormation像這樣的錯誤:

User: arn:aws:sts::id:assumed-role/CodeStarWorker-project-id-CloudFormation/AWSCloudFormation is not authorized to perform: iam:PassRole on resource: arn:aws:iam::id:role/CodeStarWorker-project-id-Lambda (Service: AWSLambdaInternal; Status Code: 403; Error Code: AccessDeniedException; Request ID: id)

發生此錯誤的原因是AWS CloudFormation工作者角色不具備許可,無法傳遞用於預配新 Lambda 函數的角色。

若要修正此錯誤,您需要使用下列程式碼片段來更新您的 AWS CloudFormation 工作者角色政策。

{ "Action":[ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id:role/CodeStarWorker-project-id-Lambda", ], "Effect": "Allow" }

更新政策後,請再次執行管道。

或者,您可以將許可界限新增至您的專案,為 Lambda 函數使用自定義角色,如新增 IAM 許可界限至現有的專案

無法為 GitHub 儲存庫建立連線

問題:

由於與 GitHub 存儲庫的連接使用AWS連線器,您需有組織擁有者許可或儲存庫的管理員許可才能建立連線。

可能的修正:GitHub 儲存庫的許可級別的信息,請參閲https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization