AWS CodeStar 疑難排解 - AWS CodeStar

2024 年 7 月 31 日,Amazon Web Services (AWS) 將停止建立和檢視AWS CodeStar專案的支援。2024 年 7 月 31 日之後,您將無法再存取AWS CodeStar主控台或建立新專案。但是AWS CodeStar,由建立的AWS資源 (包括您的來源儲存庫、管道和組建) 將不受此變更的影響,並將繼續運作。 AWS CodeStar連線和AWS CodeStar通知不會受到此停止的影響。

 

如果您想要追蹤工作、開發程式碼以及建置、測試和部署應用程式,Amazon CodeCatalyst 提供簡化的入門程序和其他功能來管理軟體專案。進一步了解 Amazon 的功能定價 CodeCatalyst。

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

AWS CodeStar 疑難排解

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

專案建立失敗:專案未建立

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

可行的修正:最常見的故障原因為:

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

  • 您用來登入的 IAM 使用者AWS Management Console沒有建立專案所需的權限。

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

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

建立專案之前,請確認您已將AWSCodeStarFullAccess政策套用至 IAM 使用者。如需詳細資訊,請參閱 AWSCodeStarFullAccess 政策

當您建立專案時,確保 ID 是唯一且符合 AWS CodeStar 需求。請確定您已選定 AWS CodeStar would like permission to administer AWS resources on your behalf (希望取得代表您管理資源的許可) 核取方塊。

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

專案建立:我在建立專案時嘗試編輯 Amazon EC2 組態時看到錯誤訊息

問題:在專案建立期間編輯 Amazon EC2 組態選項時,您會看到錯誤訊息或灰色選項,而且無法繼續建立專案。

可行的修正:最常見的錯誤訊息原因為:

  • AWS CodeStar專案範本中的 VPC (預設 VPC 或編輯 Amazon EC2 組態時使用的 VPC) 具有專用執行個體租用,專用執行個體不支援執行個體類型。選擇不同的執行個體類型或不同的 Amazon VPC。

  • 您的 AWS 帳戶沒有 Amazon VPC。您可能已刪除預設的 VPC,而不是建立任何其他項目。在 https://console.aws.amazon.com/vpc/ 開啟 Amazon 虛擬私人雲端主控台,選擇您的虛擬私人雲端,並確定您至少已設定一個 VPC。若沒有,請建立一個。如需詳細資訊,請參閱 Amazon VPC 入門指南中的 Amazon 虛擬私有雲概觀

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

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

問題:AWS CodeStar 專案已刪除,但該專案建立的資源仍然存在。在預設情況下,AWS CodeStar 會在專案被刪除時刪除專案資源。即使使用者選取 [刪除資源] 核取方塊,某些資源 (例如 Amazon S3 儲存貯體) 仍會保留,因為儲存貯體可能包含資料。

可行的修正:開啟 AWS CloudFormation 主控台,並尋找用於建立專案的一或多個 AWS CloudFormation 堆疊。堆疊名稱以 awscodestar- 開頭,後面緊接著專案 ID。堆疊可能在刪除篩選條件檢視下方。檢閱與堆疊相關聯的事件,探索為專案建立的資源。在您建立AWS CodeStar專案的「AWS地區」中,開啟這些資源的主控台,然後手動刪除資源。

專案資源可能仍包括:

如果您的專案使用以外的資源 AWS (例如, GitHub 存放庫或 Atlassian JIRA 中的問題),即使已選取 [刪除相關資源與 CodeStar 專案] 方塊,也不會刪除這些AWS資源

團隊管理失敗:IAM 使用者無法新增至AWS CodeStar專案中的團隊

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

能的修正:發生此錯誤的最常見原因是使用者已達到可套用至 IAM 中使用者的受管政策限制。如果您在嘗試新增使用者的AWS CodeStar專案中沒有擁有者角色,或 IAM 使用者不存在或遭到刪除,也可能會收到此錯誤訊息。

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

若要疑難排解其他問題,請開啟 IAM 主控台,選擇您嘗試新增的使用者,然後查看該 IAM 使用者套用了多少受管政策。

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

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

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

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

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

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

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

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

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

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

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

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

在 AWS CodeStar 建立專案資源後,套用到所有專案資源的專案許可,可用於擁有者、參與者及檢視者。若要存取所有資源,您必須手動將擁有者政策連接到您的角色。請參閱 步驟 3:設定使用者的 IAM 許可

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

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

可行的修正:此錯誤最常見的原因是,您登入到 AWS 所用的帳戶,未具備足夠權限建立服務角色。若要建立 AWS CodeStar 服務角色 (aws-codestar-service-role),您必須以管理使用者身分登入,或使用根帳戶登入。登出主控台,然後使用已套用AdministratorAccess受管政策的 IAM 使用者登入。

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

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

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

專案角色問題:AWS CodeStar 專案中針對執行個體進行的 AWS Elastic Beanstalk 運作狀態檢查失敗

問題:如果您在 2017 年 9 月 22 日之前建立了包含 Elastic Beanstalk 的AWS CodeStar專案,Elastic Beanstalk 健康狀態檢查可能會失敗。如果您在建立專案後尚未變更 Elastic Beanstalk 組態,健全狀況狀況檢查會失敗,並報告灰色狀態。儘管運作狀況檢查失敗,您的應用程式仍應如預期執行。如果您在建立專案後變更了 Elastic Beanstalk 組態,健全狀況狀態檢查會失敗,且您的應用程式可能無法正確執行。

修正:一或多個 IAM 角色遺失必要的 IAM 政策陳述式。新增遺失的政策到您的 AWS 帳戶中受影響的角色。

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

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

  2. 在導覽窗格中,選擇角色

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

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

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

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

  7. 為每個受影響的角色重複步驟 3 到 6,該角色的名稱跟隨模式 CodeStarWorker-專案 ID- EB。

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

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

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

專案擴充:無法連接到 JIRA

問題:當您使用 Atlassian JIRA 擴充以嘗試將 AWS CodeStar 專案連接到 JIRA 執行個體時,顯示以下訊息:「URL 不是有效的 JIRA URL。請確認 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沒有授權PassRole 在 Lambda 執行角色上執行 iam:

如果您在 2018 年 12 月 6 日 PDT 之前建立了建立 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 Connector GitHub,因此您需要組織擁有者權限或存放庫的管理員權限,才能建立連線。

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