View a markdown version of this page

リリース準備状況コードレビュー - AWS DevOps エージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

リリース準備状況コードレビュー

リリース準備状況コードレビューでは、リポジトリ間の依存リスク、内部標準コンプライアンス、アクセスコントロールの正確性についてコードの変更を評価します。また、 AWS DevOps エージェントによって管理される検証環境で、コードの変更を構築、実行、テストする自動検証テストも実行します。

開始方法

リリース準備状況コードレビューを使用するには、以下のセットアップステップを完了します。

ステップ 1: リポジトリで機能を有効にする

コードレビューと自動テスト機能は、トリガーする前に、接続された GitHub または GitLab リポジトリで有効にする必要があります。

パイプラインプロバイダー統合設定のコードレビューと自動テストセクションには、リポジトリごとに 2 つの機能があります。

  • 自動トリガー変更レビュー — 有効にすると、DevOps Agent はプルリクエストまたはマージリクエストがオープンまたは更新されるたびに、リリース準備状況コードレビューを自動的に実行します。レビューの結果は、PR/MR にインラインコメントとして表示されます。

  • 自動検証テスト — 有効にすると、DevOps Agent はコードレビュー中にマネージド検証環境でコード変更を構築、実行、テストします。これにより、静的分析以外の機能検証が可能になります。詳細については、「自動検証テスト」を参照してください。

リポジトリごとに各機能を個別に有効または無効にできるため、検証テストなしで変更レビューを使用でき、その逆も可能です。

このセクションには、以下も含まれています。

  • ランタイムロール (オプション) — 選択したリポジトリで自動機能を実行するために DevOps Agent が引き受ける IAM ロールを選択します。このロールは、プライベートパッケージレジストリやアーティファクトストアなど、ビルド中に内部サービスにアクセスするときに使用されます。詳細については、「ステップ 2」を参照してください。

GitHub の場合: GitHub 統合設定のコードレビューと自動テストセクションに移動し、各リポジトリの機能を有効にします。リポジトリを接続すると、両方の機能がデフォルトで有効になります。詳細な手順については、「コードレビューと自動テストの設定」を参照してください。

GitLab の場合: GitLab 統合設定のコードレビューと自動テストセクションに移動し、プロジェクトの機能を有効にします。詳細な手順については、「コードレビューと自動テストの設定」を参照してください。

ステップ 2: 検証テスト環境にプライベート VPC アクセスを設定する (オプション)

リリース準備状況コードレビューでは、検証環境でコードの変更を構築、実行、テストすることで、自動検証テストを実行できます (「自動検証テスト」を参照)。コードビルドプロセスで、プライベートイメージリポジトリ (Artifactory、Docker Hub Enterprise など)、内部ビルドアーティファクトストア、依存コードリポジトリなどの内部システムからのアーティファクトが必要な場合は、検証テスト環境に、これらのサービスエンドポイントに到達できる VPC へのアクセスを許可する必要があります。

デフォルトでは、検証テスト環境には内部システムへのネットワークアクセスがありません。アクセスを有効にするには、プライベート接続を作成し、パイプラインプロバイダー (GitHub または GitLab) に関連付けます。検証テスト環境は、VPC 内で ENI を作成および管理することで、そのプライベート接続に関連付けられた VPC を使用し、ビルド環境ネットワークに内部サービスへのアクセスを許可します。

注記

アカウント内の VPCs との統合は、ネットワーク制限に従って、内部ルートを介してネットワークトラフィックをルーティングします。

検証テスト用にプライベート VPC アクセスを設定するには:

  1. 内部ビルドサービスにアクセスできる VPC をターゲットとするプライベート接続を作成します。手順については、「プライベートにホストされたツールへの接続」を参照してください。

  2. AWS DevOps エージェントコンソールを開き、エージェントスペースに移動します。

  3. 機能タブに移動し、パイプラインプロバイダー (GitHub または GitLab) を選択します。

  4. コードレビューと自動テストセクションで、使用可能な接続から選択して、プライベート接続をパイプラインプロバイダーに関連付けます。

  5. ランタイムロールには、ビルド中に DevOps Agent が内部サービスにアクセスするときに引き受ける IAM ロールを選択します。このロールには、エージェントスペースと同じ AWS アカウントの AWS Secrets Manager にアクセスするアクセス許可が必要です。プライマリエージェントロールとは異なるロールを使用することをお勧めします。

  6. 保存を選択して設定を適用します。

関連付けられると、検証テスト環境はプライベート接続の VPC に ENI をプロビジョニングし、コードレビュービルド中に内部サービスに直接ネットワークアクセスできるようにします。

コードレビューの実行

DevOps エージェントチャットを使用して、コードレビューをオンデマンドでリクエストできます。

  • 「リリースリスクについて、repo payment-service のブランチ機能/支払いを確認する」

  • 「リリース準備のためにリポジトリインフラストラクチャでコミット abc123 をレビューする」

  • 「repo order-service の最新の変更にはどのようなリリースリスクがありますか?」

エージェントは、ブランチ、コミット、または一連の変更など、指定されたスコープを評価し、リリース準備状況レポートを返します。レポートには以下が含まれます。

  • 推奨されるアクション — ブロック、注意の続行、または安全なリリース

  • 変更の概要 — 変更内容と影響範囲

  • リスク分析 — 影響を受けるコードの場所に関する特定の検出結果

  • 推奨事項 — 各検出結果を解決するための実用的なステップ

レビューは通常、変更のサイズと複雑さに応じて 8~10 分で完了します。

自動コードレビュー

自動コードレビューは、手動操作なしで実行されます。2 つのコンテキストでトリガーできます。

コード生成中のコードレビュー

Kiro Power または Claude Code プラグインを使用すると、コードの生成時にコーディングエージェントがリリース準備状況レビューを呼び出すことができます。このレビューでは、進行中の変更をポリシーと依存関係に照らして評価し、コードがコミットされる前に IDE に直接結果を表示します。

問題が見つかった場合、コーディングエージェントに通知され、ポリシー違反の修正、過剰な IAM ポリシーの修正、他のリポジトリでの依存変更の準備など、すぐに対処できます。

プルリクエストとマージリクエストのコードレビュー

自動 PR/MR レビューを有効にすると、エージェントは接続されたリポジトリ内のすべての新しいプルリクエストとマージリクエストを確認します。次の場合にトリガーを確認します。

  • 新しい PR/MR が開かれる

  • 新しいコミットが既存の PR/MR にプッシュされる

結果は、影響を受けるコード行にインラインコメントとして表示され、全体的な評価は PR/MR コメントとして投稿されます。検出結果ブロックをマージ (必須ステータスチェック) するか、アドバイザリのみにするかを設定できます。

自動検証テスト

リリース準備リスク評価がトリガーされると、DevOps Agent は AWSマネージド検証環境を作成し、コードのクローンを作成します。環境は、ビルド、アーティファクトストレージ、取得のための信頼できるサービスへのアクセスを制限するネットワーク制限がある専用のコンピューティングリソースで実行されます。

DevOps エージェントは、アプリケーションのコードとプロジェクトファイルを読み取り、必要なビルドツールと依存関係を判断し、検証環境にインストールします。アプリケーションが正常に構築されると、エージェントはテストプランを生成し、それを実行して、障害や予期しない動作につながる可能性のあるエッジケースなどの機能リスクを特定します。

検証テストの結果は、最終リリース準備状況レポートに、標準、依存関係、アクセスコントロールの結果とともに含まれます。

エージェントの指示 (AGENTS.md) を使用して、検証テストの実行方法を調整できます。たとえば、実行するテストコマンド、合格ビルドを構成するもの、検証中に実行するアプリケーションの部分を指定できます。

許可されたネットワーク送信先

検証テスト環境には、事前定義された許可リストに制限されたアウトバウンドネットワークアクセスがあります。アプリケーションは、検証中に次のドメインに到達できます。

ドメイン 目的
.amazonaws.com, .aws.amazon.com AWS サービス
.public.ecr.aws Amazon ECR Public
.docker.com, .docker.io Docker Hub
.github.com, .githubusercontent.com GitHub
.gitlab.com GitLab
.npmjs.com, .npmjs.org npm レジストリ
.pypi.org, .pypi.python.org, .pythonhosted.org Python パッケージインデックス
.crates.io, .rustup.rs Rust パッケージ
.maven.org, .gradle.org Java/Gradle パッケージ
.nuget.org .NET パッケージ
.rubygems.org, .ruby-lang.org Ruby パッケージ
.golang.org, .pkg.go.dev, .goproxy.io Go パッケージ
.nodejs.org, .yarnpkg.com Node.js
.alpinelinux.org, .debian.org, .ubuntu.com, .centos.org, .fedoraproject.org Linux ディストリビューションリポジトリ
.cloudfront.net CloudFront ディストリビューション
.google.com, .googleapis.com Google APIs
.microsoft.com, .visualstudio.com Microsoft のサービス
.sourceforge.net, .bitbucket.org ソースホスティング
注記

アプリケーションがこのリストにないドメインへのネットワークアクセスを必要とする場合、検証テスト環境を VPC に接続することで、エージェントは独自のネットワークファイアウォール設定を使用するため、アプリケーションに必要なサービスへのアクセスを設定できます。

コードレビュー結果の確認

各コードレビューでは、DevOps エージェントウェブアプリの変更ページでアクセスできるレポートが生成されます。レポートには以下が含まれます。

  • 検出結果カテゴリ — ポリシー違反、依存リスク、アクセスコントロールの問題、テストカバレッジギャップ

  • 重要度レベル — ブロック (マージ前に修正する必要があります)、警告 (アドレスが必要)、および情報 (認識のみ)

  • 実行ジャーナル — エージェントが使用する評価ステップとツールの完全なトレース。結論の達成方法の透明性を提供します。

DevOps エージェントチャットでフォローアップの質問をすることもできます。「レビューで IAM の変更が 42 行目で検出されたのはなぜですか?」 または「変更した API エンドポイントに依存するリポジトリは何ですか?」

Kiro IDE および CLI との統合

Kiro でリリース準備状況コードレビューを使用するには:

  1. Kiro Power Marketplace から DevOps Agent Kiro Power をインストールする

  2. Power には、大幅なコード変更後および PR を作成する前に、リリース準備状況レビューを呼び出すタイミングをコーディングエージェントに指示するスキルが含まれています。

  3. 結果は IDE に直接表示され、Kiro は特定された問題を解決するために を提供します。

Kiro CLI から、明示的にレビューをトリガーすることもできます。コーディングエージェントはリリース準備状況レビューを呼び出し、結果をワークフローに組み込みます。

Claude コードとの統合

Claude Code でリリース準備状況コードレビューを使用するには:

  1. DevOps Agent Claude Code プラグインをインストールする

  2. プラグインは Claude Code をエージェントスペースに接続し、コーディングエージェントがリリース準備状況レビューを呼び出せるようにします。

  3. 開発中、Claude Code はコミットする前に進行中の変更のレビューをリクエストし、検出結果に対処できます。

AWS 変換カスタムとの統合

AWS Transform custom でリリース準備状況コードレビューを使用するには:

  1. GitHub の AWS Transform custom samples リポジトリから、 AWS DevOps Agent リリース準備コードレビュースキルをダウンロードします。

  2. リポジトリ README の指示に従って AWS 、変換環境にスキルをインストールします。

  3. インストールされると、スキルは AWS Transform のコード生成ワークフローと統合されます。Transform がコードを生成または変更すると、スキルは提案された変更に対するリリース準備状況レビューを呼び出します。

  4. 結果は変換出力に直接表示されます。問題が特定された場合、変換はコード変更を確定する前に問題に対処できます。

GitHub でのコードレビューの使用

前提条件: 自動レビューを有効にして エージェントスペースに接続された GitHub リポジトリ。セットアップ手順については、「コードレビューと自動テストの設定」を参照してください。

  • レビューはプルリクエストの差分にインラインコメントとして表示され、全体的なステータスコメントが表示されます。

  • 結果をブロックするときにマージをブロックするために必要なステータスチェックとして を設定する

  • エージェントはデフォルトですべての PRs を確認します。パスとブランチのフィルタリングはエージェントスペース設定で設定できます。

GitLab でのコードレビューの使用

前提条件: 自動レビューを有効にして エージェントスペースに接続された GitLab プロジェクト。セットアップ手順については、「コードレビューと自動テストの設定」を参照してください。

  • レビューは、マージリクエストの差分にインラインコメントとして表示され、全体的なメモが付きます。

  • をマージリクエスト承認ルールとして設定して、ブロッキングの検出結果の解決を要求する

  • エージェントはデフォルトですべての MRsを確認します。パスとブランチのフィルタリングはエージェントスペース設定で設定できます。

DevOps エージェントチャットでのコードレビューの使用

DevOps エージェントチャットでは、次のことができます。

  • ブランチ、コミット、またはリポジトリの範囲のレビューをリクエストする

  • エージェントがプロジェクトの依存関係について知っていることを質問します。「支払いリポジトリでサービスとやり取りするコードベースはどれですか?」

  • 特定の検出結果についてフォローアップの質問をする

  • エージェントが特定された問題の修正を生成するようリクエストする

  • 接続されたリポジトリの依存関係ナレッジグラフを表示する

エージェント安全ガードレール

リリース準備状況レビューには、一般的な安全でないエージェントの動作を防ぐ組み込み安全ガードレールが含まれています。これらのガードレールは、レビュープロセス中に常にアクティブになります。特定のカバレッジと強制動作は、機能が進化するにつれて変化する可能性があります。一般的な安全でない動作をできるだけ多くカバーすることを目指していますが、一部の動作には対応するガードレールがありません。

認証情報漏洩の防止

エージェントは、ツール入力にキー、アクセストークン、プライベート AWS キーなどの一般的な認証情報パターンがプレーンテキストで含まれているツール呼び出しをブロックします。

機密ファイル流出検出

エージェントは、機密性の高いファイルパスへのアクセスとネットワークオペレーションを組み合わせるシェルコマンドをスキャンしてブロックし、データ流出の試みを防ぎます。

ミューテーション AWS オペレーションのブロック

エージェントは、インフラストラクチャを変更する AWS API コールをブロックします。これにより、レビューエージェントが分析中に AWS 環境を変更できなくなります。読み取り専用オペレーション (説明、取得、リスト) が許可されます。ミューテーションオペレーションはブロックされます。

describe_*get_*、 などの読み取り専用オペレーションlist_*が許可されます。

シーケンスフェーズの適用

リリース準備状況レビューフェーズは、順番に実行する必要があります。これにより、体系的かつ徹底的な評価が保証され、不完全な評価がスキップされるのを防ぐことができます。