はじめまして。 ニフティ株式会社の浅利です。
現在、私は既存のクラウド環境から新しいクラウド環境への移行するプロジェクトを推進しています。
移行の対象システムには、長年の運用を経て内部構造が複雑化し、いわゆる「ブラックボックス」となってしまったシステムもいくつか含まれています。
他にも要因はあるのですが、プロジェクト全体のスケジュールにも遅延が見え始めてきました。
この状況をどう乗り越えるべきかをAWSの方との定例相談会でこの課題を共有したところ、この記事のタイトルにある構成を紹介いただいたので、今回は導入部分と実際の利用の二回に記事を分けてお送りします。
導入にあたって事前に確認したポイントも併せてご紹介しますので、同様の課題を抱える方の参考になれば幸いです。
利用するサービスについて
- Cline, Amazon Bedrock
Cline
VSCode上で動作する拡張機能です。ユーザーがAIに指示を出す対話インターフェースとして機能し、その内容を背後にあるAmazon Bedrockへ送信する役割を担います。
Amazon Bedrock
Clineからのリクエストを受け取るAWSのサービスです。Amazonやサードパーティ製の様々なAIモデルの中から、指定されたモデルを使って指示を処理し、結果をClineに返します。 - Amazon Q, Amazon Q Developer
Amazon Q
VSCode上で動作する拡張機能で、開発者が直接対話するAIアシスタントの窓口です。コード生成などの指示を受け付け、そのリクエストをAmazon Q Developerに送ります。
Amazon Q Developer
Amazon Q Developerは、リクエストに応じて最適な基盤モデルを呼び出して処理を実行します。
AI利用における情報漏洩や目的外利用のリスク
社内ソースコードをツールに入力した際、そのデータが外部のAIモデルの学習に利用されたり、意図せず外部に共有されたりしないかを確認しました。
結論から言うと今回の構成であればAIモデルの学習に利用されません。
- Cline(VS Code拡張機能)
Clineは、APIプロバイダーとして「Amazon Bedrock」を選択した場合、ユーザーのデータ(ソースコードやプロンプト)を自社サーバーを経由させず、直接AWSのエンドポイントに送信する仕組みになっています。
これはClineの利用規約にも明記されており「ユーザーが管理するインフラストラクチャ(Amazon Bedrockなど)経由ですべてのモデル呼び出しを指示する場合、Clineはユーザーの入力トークン、出力トークン、基盤となるコード、またはその他のユーザーコンテンツを受信または保存しない」と記載されています。
Cline Terms of Service (セクション3 “User Content”) - Amazon Bedrockのデータ取り扱いについて
AWSは、Amazon Bedrockに送信された顧客のコンテンツ(ソースコード、プロンプト、生成結果)を、ベースモデルの改善(学習)には使用せず、いかなるモデルプロバイダー(Anthropic社など)とも共有しないことを公式に明言しています。
Amazon Bedrock FAQs
Amazon Bedrock Security and Compliance - Amazon Q Developer
AWSは公式FAQページで、Proプランのデータ保護について以下のように明記しています。
Pro Tier で Amazon Q Developer にアクセスするユーザーのコンテンツが、サービスの改善や、基礎となる基盤モデル (FM) のトレーニングに利用されることはありません。
https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/data-protection.html
(プライバシーのセクション「Amazon Q Developer はモデルのトレーニングに私のコンテンツを使用しますか?」)
Cline + Amazon bedrock の導入
- IAMユーザーの作成とアクセスキーの取得
マネジメントコンソールから「IAM」にアクセスし、ユーザーを作成します。
アクセスキーを作成し、キーとシークレットキーを取得します。
また、作成したユーザーにカスタムポリシーをアタッチします。
(ご利用の環境にあわせて適宜変更ください) - モデルアクセスの有効化
今回は Amazon Bedrock で Claude Sonnet 4 を使用します。
使用可能なモデルはリージョンに依存しますが、Claude Sonnet 4 が利用可能な「オレゴンリージョン(us-west-2)」に切り替えておきます。
マネジメントコンソールから「Amazon Bedrock」にアクセスし、メニュー下部にある「モデルアクセス」をクリックします。
「特定のモデルを有効にする」のボタンをクリックし、「次へ」ボタンを押します。
必要な情報を入力し、「次へ」ボタンを押します。
最後に入力した内容を確認して送信します。
アクセスが付与されるまで数分待ちます。 - Clineのインストールと設定
Visual Studio Codeを開き、拡張機能から「Cline」をインストールします。
Clineの拡張機能を開き、「Use Your Own API Key」を選択後、以下の設定を入れます。- 「AWS Access Key」と「AWS Secret Key」にアクセスキーの情報を入力
- Use cross-region inference にチェック
(普段開発しているリージョンで、使いたいAIモデルが提供されていない場合) - Use Prompt caching にチェック
(応答速度を求める場合やコストを抑えたい場合) - Modelは「anthropic.claude-sonnet-4-20250514-v1:0」を選択
これで「Cline + Amazon bedrock」側の導入は完了です。
Amazon Q + Amazon Q Developer の導入
- IAM Identity Center ユーザの作成
IAM Identity Centerでサブスクライブ対象のユーザを作成します。
Organization環境下どうかで手順が異なりますので、ここでは詳細は割愛させていただきます。
ご利用の環境にあわせて、AWS公式ドキュメントなどを参考にユーザーの作成を進めてください。 - Amazon Q Developer プロファイル作成
Amazon Q Developer プロファイルを作成し、VS Code で Amazon Q Developer にアクセスするための「スタートページ URL」を取得します。
マネジメントコンソールから「Amazon Q」にアクセスし、Amazon Q Developer の使用を開始します。
サブスクライブ対象のユーザのEメールを入力し、「続行」をクリックします。
Amazon Q Developer プロファイルを作成します。
(表示されているプロファイル名はデフォルトになります)
プロファイルの作成が完了すると以下の画面になるので、「設定」ボタンを押すとセッティング画面に遷移するのでそこで「スタートページ URL」を取得します。 - Amazon Q のインストールと設定
Visual Studio Codeを開き、拡張機能から「Amazon Q」をインストールします。
インストール後、サインインの選択画面で「Company account」を選択します。
取得した「スタートページ URL」の入力と、Regionには IAM Identity Center が存在するリージョンを選択します。
「アクセスの許可」をクリックするとRequest approved の画面が開きます。
以下の様に VScode でAmazon Q が利用可能になります。
これで「Amazon Q + Amazon Q Developer」側の導入は完了です。
次回は実際の利用とそれぞれの構成による違いについて触れます。