AWS CodeStar のトラブルシューティング - AWS CodeStar
プロジェクトの作成の失敗: プロジェクトが作成されませんでしたプロジェクトの作成: プロジェクトの作成時に Amazon EC2 の設定を編集しようとするとエラーが発生します プロジェクトの削除: AWS CodeStar プロジェクトを削除しても、リソースがまだ存在しますチーム管理の失敗: IAM ユーザーを AWS CodeStar プロジェクトのチームに追加できませんでしたアクセスエラー: フェデレーティッドユーザーが AWS CodeStar プロジェクトにアクセスできないアクセスエラー: フェデレーティッドユーザーが AWS Cloud9 環境にアクセスできない、または環境を作成できないアクセスエラー: フェデレーティッドユーザーが、AWS CodeStar プロジェクトを作成できるが、プロジェクトリソースを表示できない サービスロールの問題: サービスロールを作成できませんでしたサービスロールの問題: サービスロールが有効でないか、または存在しませんプロジェクトロールの問題: AWS Elastic Beanstalk ヘルスステータスチェックが AWS CodeStar プロジェクトのインスタンスで失敗するプロジェクトロールの問題: プロジェクトロールが有効でないか、または存在しませんプロジェクトの拡張機能: JIRA に接続できませんGitHub: リポジトリのコミット履歴、課題、またはコードにアクセスできないAWS CloudFormation: アクセス許可の不足により、スタックの作成がロールバックされたAWS CloudFormation には、Lambda実行ロールで iam:PassRole を実行する権限がありません。GitHub リポジトリの接続を作成できません

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 アカウントにすでに存在している。

  • AWS Management Console にサインインするために使用した IAM ユーザーには、プロジェクトの作成に必要なアクセス許可がない。

  • AWS CodeStar サービスロールに 1 つ以上の必要な権限がない。

  • プロジェクトの 1 つ以上のリソースの上限に達した (IAM、Amazon S3 バケット、または CodePipeline のパイプラインのカスタマー管理ポリシーの制限など)。

プロジェクトを作成する前に、AWSCodeStarFullAccess ポリシーが IAM ユーザーに適用されていることを確認します。詳細については、「 AWSCodeStarFullAccess ポリシー」を参照してください。

プロジェクトを作成するときは、ID が一意で、AWS CodeStar 要件を満たしていることを確認します。[AWS CodeStar would like permission to administer AWS resources on your behalf] チェックボックスがオンになっていることを確認します。

他の問題のトラブルシューティングを行うには、AWS CloudFormation コンソールを開き、作成しようとしたプロジェクトのスタックを選択して、[Events] (イベント) タブを選択します。1 つのプロジェクトに複数のスタックが存在する可能性があります。スタック名は awscodestar- で始まり、プロジェクト ID が続きます。スタックは [Deleted] (削除済み) フィルタービューにある場合があります。スタックイベント内のすべての失敗メッセージを確認し、失敗の原因としてリストされている問題を修正します。

プロジェクトの作成: プロジェクトの作成時に Amazon EC2 の設定を編集しようとするとエラーが発生します

問題: プロジェクトの作成中に Amazon EC2 の設定オプションを編集すると、エラーメッセージまたはグレイアウトされたオプションが表示され、プロジェクトの作成を続行できません。

解決方法: エラーメッセージの最も一般的な原因は次のとおりです:

  • AWS CodeStar プロジェクトテンプレートの VPC (デフォルトの VPC または Amazon EC2 設定の編集時に使用されるもの) は、ハードウェア専有インスタンスのテナンシーを持ち、インスタンスタイプがハードウェア専有インスタンスでサポートされていない。別のインスタンスタイプ、または、別の Amazon VPC を選択します。

  • AWS アカウントに Amazon VPC がない。デフォルトの VPC を削除し、他に作成していない。https://console.aws.amazon.com/vpc/ で、Amazon VPC コンソールを開き、[VPC] を選択し、少なくとも 1 つの VPC が設定されていることを確認します。設定されていない場合は、作成します。詳細については、「Amazon VPC 入門ガイド」の「Amazon Virtual Private Cloud の概要」を参照してください。

  • Amazon VPC にサブネットがない。別の VPC を選択するか、VPC のサブネットを作成します。詳細については、「VPC とサブネットの基本」 を参照してください。

プロジェクトの削除: AWS CodeStar プロジェクトを削除しても、リソースがまだ存在します

問題: AWS CodeStar プロジェクトを削除しても、そのプロジェクト用に作成されたリソースがまだ存在します。デフォルトでは、プロジェクトを削除すると、AWS CodeStar によりプロジェクトリソースも削除されます。バケットにデータが含まれている可能性があるため、ユーザーが [Delete resources] (リソースの削除) チェックボックスをオンにしても、一部のリソース (Amazon S3 バケットなど)は保持されます。

解決方法: AWS CloudFormation コンソールを開き、プロジェクトの作成に使用した 1 つ以上の AWS CloudFormation スタックを探します。スタック名は awscodestar- で始まり、プロジェクト ID が続きます。スタックは [Deleted] (削除済み) フィルタービューにある場合があります。スタックに関連付けられたイベントを確認し、プロジェクトに作成されたリソースを検出します。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 Elastic Beanstalk ヘルスステータスチェックが AWS CodeStar プロジェクトのインスタンスで失敗する

問題: 2017 年 9 月 22 日以前の Elastic Beanstalk を含む AWS CodeStar プロジェクトを作成した場合、Elastic Beanstalk ヘルスステータスチェックは失敗する可能性があります。プロジェクト作成後 Elastic Beanstalk 設定を変更していない場合、ヘルスステータスチェックは失敗し、灰色の状態がレポートされます。ヘルスチェックの失敗にもかかわらず、アプリケーションは正常に実行します。プロジェクト作成後、Elastic Beanstalk 設定を変更した場合は、ヘルスステータスチェックが失敗するだけでなく、アプリケーションは正常に実行されない可能性があります。

修正: 1 つ以上の 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. [Permissions] (アクセス許可) タブで [Attach Policy] (ポリシーの添付) を選択します。

  5. ポリシーのリストで、[AWSElasticBeanstalkEnhancedHealth] および [AWSElasticBeanstalkService] を選択します。(リストでポリシーを見つけるのが困難な場合は、ポリシーの名前の一部またはすべてを [検索] ボックスに入力します。)

  6. [Attach Policy] (ポリシーの添付) を選択します。

  7. 名前が [CodeStarWorker-Project-ID-EB] パターンで、影響を受けるロールごとに、ステップ 3~6 を繰り返します。

プロジェクトロールの問題: プロジェクトロールが有効でないか、または存在しません

問題: プロジェクトにユーザーを追加しようとすると、プロジェクトロールのポリシーが存在しないか、または無効であるため、追加に失敗したことを示すエラーメッセージが表示されます。

解決方法: このエラーの最も一般的な原因は、1 つ以上のプロジェクトポリシーが編集または IAM から削除されたことです。プロジェクトポリシーは AWS CodeStar プロジェクトに固有であり、再作成できません。プロジェクトは使用できません。AWS CodeStar で新しいプロジェクトを作成し、新しいプロジェクトにデータを移行します。使用できないプロジェクトのリポジトリからプロジェクトコードをクローンし、そのコードを新しいプロジェクトのリポジトリにプッシュします。チームの wiki 情報を古いプロジェクトから新しいプロジェクトにコピーします。新しいプロジェクトにユーザーを追加します。すべてのデータと設定を移行したら、使用できないプロジェクトを削除します。

プロジェクトの拡張機能: JIRA に接続できません

問題: Atlassian JIRA 拡張機能を使用して AWS CodeStar プロジェクトを JIRA インスタンスに接続しようとすると、次のメッセージが表示されます。「URL が有効な JIRA URL ではありません。URL が正しいことを確認してください。」

解決方法:

  • JIRA URL が正しいことを確認してから、再接続を試みます。

  • お客様のセルフホスト型の JIRA インスタンスは、公開インターネットからアクセスできない可能性があります。ネットワーク管理者に連絡して、公共のインターネットから JIRA インスタンスにアクセスできることを確認してから、再度接続してみてください。

GitHub: リポジトリのコミット履歴、課題、またはコードにアクセスできない

問題:GitHub にコードを保存するプロジェクトのダッシュボードで、[Commit history] (コミット履歴) および [GitHub Issues] (GitHub の課題) タイルに接続エラーが表示されるか、これらのタイルの [Open in GitHub] (GitHub で開く) または [Create issue] (課題を作成) にエラーが表示されます。

考えられる原因:

  • AWS CodeStar プロジェクトは GitHub リポジトリにアクセスできなくなる可能性があります。

  • GitHub でリポジトリが削除されたか名前が変更された可能性があります。

AWS CloudFormation: アクセス許可の不足により、スタックの作成がロールバックされた

リソースを template.yml ファイルに追加したら、AWS CloudFormation スタック更新を表示して、エラーメッセージがないか確認します。特定の条件が満たされない場合、スタック更新は失敗します (例:必要なリソースに対するアクセス許可が不足している)。

注記

2019 年 5 月 2 日 時点で、既存のすべてのプロジェクトの AWS CloudFormation ワーカーロールポリシーが更新されました。この更新により、プロジェクトパイプラインに付与されるアクセス権限の範囲が減り、プロジェクトのセキュリティが向上します。

トラブルシューティングするには、AWS CodeStar ダッシュボードビューのエラーステータスを表示して、プロジェクトのパイプラインを確認します。

次に、パイプラインのデプロイステージの CloudFormation リンクを選択して、AWS CloudFormation コンソールでエラーをトラブルシューティングします。スタック作成の詳細を表示するには、プロジェクトの [Events] (イベント) リストを展開し、障害メッセージがあれば表示します。このメッセージによって、不足しているアクセス許可が分かります。AWS CloudFormation ワーカーロールポリシーを修正してから、パイプラインを再実行します。

AWS CloudFormation には、Lambda実行ロールで iam:PassRole を実行する権限がありません。

Lambda 関数を作成する、2018 年 12 月 6 日 以前に作成したプロジェクトがある場合は、次のような 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" }

ポリシーを更新したら、パイプラインを再実行します。

または、「既存のプロジェクトへの IAM アクセス許可の境界の追加」で説明しているように、プロジェクトにアクセス許可の境界を追加して、Lambda 関数のカスタムロールを使用できます。

GitHub リポジトリの接続を作成できません

問題:

GitHub リポジトリへの接続は AWS Connector for GitHub を使用するため、接続を作成するには、リポジトリへの組織所有者のアクセス許可または管理者のアクセス許可が必要です。

解決方法: GitHub リポジトリのアクセス許可レベルの詳細については、https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization を参照してください。