目次
Amazon Q Developer v2.0 完全ガイド 2026
概要: Amazon Q Developer は、IDE(VS Code・JetBrains・Visual Studio・Eclipse)でのコード補完・生成・セキュリティスキャン・コード変換・AWS 操作アシストを提供する開発者向けの生成 AI コーディングアシスタント。旧 CodeWhisperer の機能を包含し、Bedrock 上に構築。AWS SDK・CloudFormation・CDK・Lambda・DynamoDB など AWS 固有の API・パターン・ベストプラクティスに特化した高品質なコード提案を生成。
目次
- 1. 本質・課題・特徴
- 2. アーキテクチャ図
- 3. コアコンポーネント
- 4. IDE 統合(5+ IDE 対応)
- 5. 主要機能(10+ ユースケース)
- 6. セキュリティスキャン詳細
- 7. コード変換機能
- 8. AWS 操作アシスト
- 9. Q Developer Pro・エンタープライズ機能
- 10. 設定・操作の具体例
- 11. 類似サービス比較表
- 12. ベストプラクティス
- 13. トラブルシューティング
- 14. 2025-2026 最新動向
- 15. 学習リソース・参考文献
- 16. 実装例・チェックリスト
- 17. まとめ
1. 本質・課題・特徴
1.1 本質
Amazon Q Developer は 「IDE 統合の AWS 専門 AI コーディングアシスタント」 であり、VS Code・JetBrains・Visual Studio などのエディターで、コード補完・生成・セキュリティスキャン・テスト生成・コード変換・AWS 操作アシストを提供する。旧 CodeWhisperer が Q Developer に統合され、Bedrock の Claude ベースモデルを採用。AWS SDK・CloudFormation・CDK などの AWS 固有の API・パターンに深く特化したコード提案を生成。無料枠で基本機能を利用でき、Pro で無制限に拡張可能。
1.2 解決する課題
開発チームが直面する課題
- API・ライブラリ習熟の時間コスト:AWS SDK・CloudFormation・CDK の構文・パラメータを覚えるのに時間を要する。ドキュメント検索→コピペ→試行錯誤の繰り返し
- バグ・セキュリティ脆弱性の見落とし:コードレビュー段階で発見される SQL インジェクション・ハードコード化されたシークレット・OWASP Top 10 の脆弱性
- ボイラープレートコード(定型コード)の記述時間:Lambda ハンドラー・API ゲートウェイ統合・DynamoDB クエリなどの定型コードを毎回記述
- レガシーコードのモダナイゼーション:Java 8 → Java 21・.NET Framework → .NET Core などの大規模コード変換が工数大
- テスト・ドキュメント作成の手間:ユニットテスト・関数ドキュメント・README を手動作成
- 非 AWS 開発者の学習曲線:AWS リソースの命名規則・IAM 権限設定・CloudFormation テンプレート構文を習う時間
1.3 主な特徴
| 特徴 | 説明 |
|---|---|
| AWS 特化 | AWS SDK・CloudFormation・CDK・Lambda・DynamoDB など AWS 固有 API に深く特化。汎用コード補完より高品質な AWS 提案 |
| 5+ IDE 対応 | VS Code・JetBrains(IntelliJ/PyCharm/WebStorm)・Visual Studio・Eclipse(プレビュー)統合 |
| インラインコード補完 | コード入力中にリアルタイムで次のコード行を提案。Ctrl+Space で発動 |
| コード生成エージェント | 自然言語コメント「S3 から 30 日以上前のファイルを削除」→ Python コード自動生成 |
| セキュリティスキャン(Shift-Left) | 開発中(コミット前)にリアルタイムで OWASP・CWE・AWS ベストプラクティス違反を検出。IDE に組み込まれたコードセキュリティスキャナー |
| コード変換(Code Transformation) | Java 8→21・.NET Framework→.NET Core・Oracle SQL→PostgreSQL への自動変換エージェント |
| テスト生成 | 関数・クラスを選択 → /test コマンド → pytest/JUnit/Jest テスト自動生成 |
| ドキュメント生成 | 関数・クラスを選択 → /doc コマンド → JSDoc/JavaDoc 自動生成 |
| コードレビュー補助 | コード選択 → /review コマンド → バグ・パフォーマンス・セキュリティ問題を AI 指摘 |
| AWS コンソール・CLI アシスト | AWS Management Console・CloudShell で自然言語で操作。「東京リージョンの全 EC2 を停止」→ CLI コマンド自動生成 |
| 無料枠 + Pro オプション | Free: 基本機能(月 1,000 回コード補完・50 チャット)。Pro $19/月:無制限 + セキュリティスキャン |
2. アーキテクチャ図
2.1 全体アーキテクチャ
graph TB
subgraph "IDE / Development Environment"
VSC["VS Code<br/>Amazon Q Extension"]
JB["JetBrains IDEs<br/>(IntelliJ/PyCharm/WebStorm)"]
VS["Visual Studio<br/>AWS Toolkit"]
EC["Eclipse IDE<br/>(Preview)"]
end
subgraph "Q Developer Core"
FM["Foundation Model<br/>Claude via Bedrock<br/>AWS-specialized"]
Context["Context Engine<br/>ファイル・プロジェクト<br/>ドキュメント取得"]
AST["AST Parser<br/>コード構造解析<br/>型情報抽出"]
end
subgraph "Feature Engines"
CodeComp["Code Completion<br/>インラインコード提案"]
CodeGen["Code Generation<br/>自然言語→コード"]
SecScan["Security Scanner<br/>OWASP・CWE・AWS ベストプラクティス"]
CodeTx["Code Transformation<br/>Java/COBOL/SQL 変換"]
Test["Test Generation<br/>pytest/JUnit/Jest"]
Doc["Documentation<br/>JSDoc/JavaDoc"]
Review["Code Review<br/>バグ・パフォーマンス検出"]
end
subgraph "AWS Integration"
Console["AWS Console<br/>自然言語操作"]
CLI["AWS CLI / CloudShell<br/>コマンド自動生成"]
CFN["CloudFormation<br/>テンプレート補完"]
CDK["AWS CDK<br/>Python/TypeScript 補完"]
end
subgraph "Backend Services"
Cache["Code Cache<br/>学習用キャッシュ"]
Bedrock["Amazon Bedrock<br/>Model Inference"]
CloudWatch["CloudWatch<br/>利用ログ・メトリクス"]
end
VSC -->|Plugin API| Context
JB -->|Plugin API| Context
VS -->|Toolkit API| Context
EC -->|Plugin API| Context
Context -->|コード情報| AST
AST -->|構造化データ| FM
FM -->|推論| CodeComp
FM -->|推論| CodeGen
FM -->|推論| SecScan
FM -->|推論| CodeTx
CodeComp -->|結果| VSC
CodeGen -->|結果| VSC
SecScan -->|警告| VSC
CodeTx -->|変換案| VSC
Test -->|テスト| VSC
Doc -->|ドキュメント| VSC
Review -->|フィードバック| VSC
CodeGen -->|テンプレート| CDK
CodeGen -->|YAML| CFN
Console -->|自然言語| Context
CLI -->|Query| Context
FM -->|Model Usage| Bedrock
Context -->|Metadata| Cache
CloudWatch -->|Telemetry| Cache
style FM fill:#146EB4
style Bedrock fill:#FF9900
style SecScan fill:#DC143C
2.2 セキュリティスキャン・レビューフロー
sequenceDiagram
participant Dev as 開発者
participant IDE as IDE<br/>Q Developer
participant Scanner as Security<br/>Scanner
participant FM as Claude FM
participant Report as Finding<br/>Report
Dev->>IDE: コード入力・保存
IDE->>IDE: AST 解析
IDE->>Scanner: セキュリティチェック要求
alt Scan as You Code
Scanner->>Scanner: リアルタイム解析
Scanner-->>IDE: ❌ SQL Injection Risk<br/>Line 42: user_input in SQL
else On-Demand Scan
Dev->>IDE: /scan コマンド実行
Scanner->>Scanner: 全プロジェクトスキャン
Scanner-->>IDE: 15 issues found
end
Scanner->>FM: 脆弱性詳細分析
FM->>FM: OWASP Top 10 マッピング
FM-->Report: 修正提案生成
Report-->>IDE: SQL Injection(OWASP A03:2021)<br/>提案: Parameterized Query 使用
Dev->>IDE: 修正提案を承認
IDE->>Dev: コード自動修正・再スキャン
Dev->>Dev: ✅ No Issues Detected
3. コアコンポーネント
3.1 Amazon Q Developer Extension(IDE プラグイン)
定義:各 IDE で Q Developer の機能を提供するプラグイン。言語・IDE ごとに最適化。
対応 IDE と特徴
| IDE | Plugin Name | バージョン | 機能 | インストール |
|---|---|---|---|---|
| Visual Studio Code | amazon-q-vscode | 1.15+ | 全機能対応 | VS Code Marketplace |
| IntelliJ IDEA | amazon-q-jetbrains | 2023.3+ | 全機能対応 | JetBrains Marketplace |
| PyCharm | amazon-q-jetbrains | 2023.3+ | Python 特化 | JetBrains Marketplace |
| WebStorm | amazon-q-jetbrains | 2023.3+ | JavaScript/TypeScript | JetBrains Marketplace |
| Visual Studio | AWS Toolkit for VS | 2022+ | C#・.NET 特化 | VS Extensions |
| Eclipse | amazon-q-eclipse | Preview | Java 対応 | Eclipse Marketplace |
インストール・セットアップ(VS Code 例)
1. VS Code Extensions > "Amazon Q" 検索
2. Install
3. AWS Builder ID でサインイン(アカウント不要)
4. IDE が再起動
5. Status Bar に "Q" アイコン表示 → 準備完了
3.2 Code Completion Engine(コード補完)
定義:開発者がコード入力中、次の行のコードを提案するエンジン。
動作原理
ユーザーが入力:
def fetch_s3_objects(bucket, prefix):
s3_client = boto3.client('s3')
response = s3_client.list_objects_v2(
↓
Q Developer が状況判定:
- 関数シグネチャ: fetch_s3_objects(bucket, prefix)
- 既に書かれたコード: boto3 client 初期化完了
- 次の行: list_objects_v2() の Bucket パラメータ必須
↓
提案(複数案から最も確率の高い順):
案 1(95%): Bucket=bucket,
案 2(3%): Bucket=bucket,
MaxKeys=100,
案 3(2%): )
for obj in response['Contents']:
↓
IDE に提案表示(灰色で提示)
→ Tab キーで受け入れ / Escape で却下
特徴
- 複数言語対応:Python・Java・JavaScript・TypeScript・C#・Go・Rust など
- AWS 特化:boto3(Python)・AWS SDK for JavaScript・AWS CDK(TypeScript/Python)の自動補完精度が高い
- コンテキスト認識:プロジェクトの既存コード・import・型情報を考慮した提案
- インラインリアルタイム:遅延 < 100ms で提案表示
3.3 Code Generation Agent(コード生成)
定義:自然言語コメントまたはチャットから、複数行のコードを生成。
使い方
① コメント方式:
# S3 バケットから 30 日以上前のオブジェクトを削除
→ Q Developer が以下を自動生成:
import boto3
from datetime import datetime, timedelta
def delete_old_s3_objects(bucket_name, days=30):
s3 = boto3.client('s3')
response = s3.list_objects_v2(Bucket=bucket_name)
cutoff_date = datetime.now() - timedelta(days=days)
for obj in response.get('Contents', []):
obj_date = obj['LastModified'].replace(tzinfo=None)
if obj_date < cutoff_date:
s3.delete_object(Bucket=bucket_name, Key=obj['Key'])
print(f"Deleted: {obj['Key']}")
② チャット方式:
Q: "DynamoDB テーブルをスキャンして、status='active' のみ取得"
A: Q Developer がコード生成
from boto3.dynamodb.conditions import Attr
def scan_active_items(table_name):
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(table_name)
response = table.scan(
FilterExpression=Attr('status').eq('active')
)
return response['Items']
3.4 Security Scanner(セキュリティスキャナー)
定義:OWASP Top 10・CWE・AWS ベストプラクティス違反を検出・修正提案。
スキャン対象の脆弱性
OWASP Top 10(Web Application):
✅ A01:2021 - Broken Access Control
✅ A02:2021 - Cryptographic Failures
✅ A03:2021 - Injection(SQL Injection, Command Injection)
✅ A04:2021 - Insecure Design
✅ A05:2021 - Security Misconfiguration
✅ A06:2021 - Vulnerable Dependencies
✅ A07:2021 - Identification and Authentication Failures
✅ A08:2021 - Software and Data Integrity Failures
✅ A09:2021 - Logging and Monitoring Failures
✅ A10:2021 - Server-Side Request Forgery (SSRF)
AWS-specific:
✅ Hardcoded Credentials(シークレットキー)
✅ Over-permissive IAM Policies
✅ Unencrypted Data at Rest / Transit
✅ Public S3 Buckets
✅ Insecure Lambda Execution Role
✅ Missing VPC Encryption
✅ Weak Authentication Mechanisms
実装言語ごと:
✅ Python: SQL Injection, Pickling, Unsafe Shell Commands
✅ Java: SQL Injection, Weak Crypto, Hardcoded Passwords
✅ JavaScript/TypeScript: Prototype Pollution, XSS, SSRF
✅ C#/.NET: LDAP Injection, SQL Injection, Weak Crypto
スキャン実行方法
① Scan as You Code(リアルタイム):
開発者がコード入力中に自動検出
→ IDE の Problem Panel に警告表示
→ hover で修正提案表示
② On-Demand Full Scan:
Command Palette > "Amazon Q: Scan project"
→ 全プロジェクトを深く走査(数分)
→ 脆弱性一覧・修正提案を Report で表示
③ Git Pre-commit Hook:
提供される script で commit 前に自動スキャン
→ 脆弱性ブロック or 警告のみ(設定可能)
脆弱性検出・修正例
❌ 問題コード(SQL Injection):
user_id = request.args.get('id')
query = f"SELECT * FROM users WHERE id = {user_id}"
result = db.execute(query)
Q Developer の警告:
[Security Issue] SQL Injection Risk (OWASP A03:2021)
Line 3: User input directly concatenated in SQL query
修正提案:
✅ 改善コード:
user_id = request.args.get('id')
query = "SELECT * FROM users WHERE id = ?"
result = db.execute(query, (user_id,))
3.5 Code Transformation Agent(コード変換)
定義:大規模なコードベースの言語バージョン・フレームワーク変換を自動実行。
対応変換
| 変換 | Source | Target | 用途 |
|---|---|---|---|
| Java Modernization | Java 8 / 11 | Java 17 / 21 | EOL プラットフォームからの脱却・最新機能活用 |
| .NET Modernization | .NET Framework | .NET 6/7/8 Core | マルチプラットフォーム化・モダナイゼーション |
| SQL Dialect | Oracle SQL | PostgreSQL / MySQL | クラウドDB への移行 |
| Async/Await | Callback-based | Promise / async-await | JavaScript → 非同期構文モダナイゼーション |
| Dependency Updates | Legacy libs | Modern libs | セキュリティ更新・互換性維持 |
| API Updates | Deprecated API | New API | フレームワークバージョンアップ対応 |
Java Modernization 例
入力(Java 8 コード):
List<String> names = users.stream()
.map(u -> u.getName())
.filter(n -> n.length() > 0)
.collect(Collectors.toList());
Q Developer による Java 17/21 への自動変換:
List<String> names = users.stream()
.map(User::getName)
.filter(not(String::isEmpty)) // Java 11 Predicate.not()
.toList(); // Java 16 Stream.toList()
変更理由:
✅ メソッド参照(u -> u.getName() → User::getName)
✅ Predicate.not() の活用(Java 11+)
✅ Stream.toList() の導入(Java 16+)
✅ var の推奨使用(Java 10+)
3.6 Test Generation(テスト生成)
定義:関数・クラスのユニットテストを自動生成。
生成対象テストフレームワーク
| 言語 | テストフレームワーク | 対応 |
|---|---|---|
| Python | pytest / unittest | ✅ |
| Java | JUnit 4 / 5 | ✅ |
| JavaScript | Jest / Mocha | ✅ |
| TypeScript | Jest / Mocha | ✅ |
| C# | xUnit / NUnit / MSTest | ✅ |
| Go | testing | ✅ |
| Rust | cargo test | ✅ |
テスト生成例
入力関数(Python):
def calculate_discount(price, quantity):
if price < 0 or quantity < 0:
raise ValueError("Invalid price or quantity")
if quantity >= 100:
return price * quantity * 0.9
elif quantity >= 50:
return price * quantity * 0.95
else:
return price * quantity
コマンド:
Q Developer: /test (関数選択後)
自動生成テスト:
import pytest
from discount import calculate_discount
class TestCalculateDiscount:
def test_normal_price(self):
assert calculate_discount(100, 10) == 1000
def test_bulk_discount_100plus(self):
assert calculate_discount(100, 100) == 9000
def test_bulk_discount_50plus(self):
assert calculate_discount(100, 50) == 4750
def test_no_discount_under_50(self):
assert calculate_discount(100, 10) == 1000
def test_invalid_price_negative(self):
with pytest.raises(ValueError):
calculate_discount(-100, 10)
def test_invalid_quantity_negative(self):
with pytest.raises(ValueError):
calculate_discount(100, -10)
3.7 AWS Management Console & CLI Integration
定義:AWS Management Console・AWS CloudShell・AWS CLI で自然言語で操作。
コンソール統合の例
AWS Management Console の検索バー(Q Developer チャット)に:
Q: "東京リージョンで起動中の EC2 インスタンスをすべて停止して"
→ Q Developer が提案:
aws ec2 describe-instances \
--region ap-northeast-1 \
--filters "Name=instance-state-name,Values=running" \
--query "Reservations[*].Instances[*].InstanceId" \
--output text | xargs -I {} \
aws ec2 stop-instances \
--instance-ids {} \
--region ap-northeast-1
Q: "RDS MySQL 8.0 インスタンスを東京に作成、20GB ストレージ"
→ Q Developer が CloudFormation テンプレート自動生成
Q: "このエラーログの意味は?[S3 AccessDenied エラーテキスト]"
→ Q Developer が原因・解決策を提示:
「このエラーは、使用している IAM ロールに s3:GetObject パーミッションがありません。
以下をポリシーに追加してください:
"s3:GetObject": "arn:aws:s3:::bucket-name/*"」
4. IDE 統合
4.1 VS Code 統合
インストール・セットアップ
1. Extensions Sidebar: amazon-q を検索 → Install
2. Amazon Q: Authorize IDE を実行
3. AWS Builder ID でサインイン(or 新規作成)
4. IDE 再起動
5. Status Bar に "Q" アイコン表示
主要なキーボードショートカット
| ショートカット | 機能 | 説明 |
|---|---|---|
Ctrl+Shift+Q |
Q Chat 開く | チャットパネル表示 |
Alt+C |
Quick Comment | 関数にコメント追加→コード補完 |
/test |
Test Generation | 選択関数のテスト自動生成 |
/review |
Code Review | コードレビュー実行 |
/doc |
Documentation | JSDoc/JavaDoc 自動生成 |
Ctrl+Space |
Code Completion | インラインコード補完表示 |
Ctrl+Shift+S |
Security Scan | プロジェクト全体セキュリティスキャン |
/transform |
Code Transformation | 言語バージョン・フレームワーク変換 |
用法例
// VS Code で新しい関数を作成
// 1. コメントで要件を記述
// Fetch data from S3, transform to JSON, store in DynamoDB
// 2. Ctrl+Space でコード補完を起動
// → boto3.client('s3') の初期化コード提案
// 3. /test コマンドで テスト自動生成
// → pytest テスト関数が自動作成
// 4. Ctrl+Shift+S でセキュリティスキャン
// → 「Hardcoded credentials detected」警告
// → 修正提案表示
4.2 JetBrains IDEs(IntelliJ・PyCharm・WebStorm)
インストール
- JetBrains IDE > Settings > Plugins > Marketplace > amazon-q
- → Install
- → IDE 再起動
Python-specific(PyCharm)
PyCharm 内で:
from boto3.dynamodb.conditions import Key
[Ctrl+Space を入力]
→ Q Developer が:
- boto3 リソース初期化
- DynamoDB テーブル指定
- Query/Scan メソッド補完
を自動提案(Python 文法・型チェック済み)
4.3 Visual Studio + AWS Toolkit
セットアップ
Visual Studio 2022 > Extensions > Manage Extensions
> "AWS Toolkit for Visual Studio" 検索 → Install
→ Visual Studio 再起動
C#/.NET 特化機能
// Visual Studio で AWS Lambda 関数を作成
public async Task<APIGatewayProxyResponse> FunctionHandler(
APIGatewayProxyRequest request,
ILambdaContext context)
{
// Q Developer のコード補完が:
// - APIGatewayProxyRequest のプロパティ補完
// - Task<APIGatewayProxyResponse> の返却パターン提案
// - async/await の best practice 提案
// を提供
var s3Client = new AmazonS3Client();
// [Ctrl+Space]
// → ListBucketsAsync() など S3 API 自動補完
}
5. 主要機能
5.1 Code Completion(インラインコード補完)
Scenario 1: AWS SDK 補完(Python + boto3)
import boto3
def list_s3_buckets():
s3 = boto3.client('s3')
# [Ctrl+Space]
# 提案: response = s3.list_buckets()
# ← S3 API の正確な補完
for bucket in response['Buckets']:
# [Ctrl+Space]
# 提案: print(bucket['Name'])
Scenario 2: CloudFormation テンプレート補完(YAML)
Resources:
MyLambdaFunction:
Type: AWS::Lambda::Function
Properties:
Runtime: python3.11
Handler: index.handler
# [Ctrl+Space]
# 提案:
# Role: !GetAtt LambdaExecutionRole.Arn
# Code:
# S3Bucket: my-bucket
# Environment: ...
LambdaExecutionRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
# [Ctrl+Space]
# CloudFormation IAM ロール standard template 提案
Scenario 3: AWS CDK(TypeScript)補完
import * as cdk from 'aws-cdk-lib';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as s3 from 'aws-cdk-lib/aws-s3';
export class MyStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const bucket = new s3.Bucket(this, 'MyBucket', {
versioned: true,
// [Ctrl+Space]
// 提案: encryption, blockPublicAccess, removalPolicy など
});
const fn = new lambda.Function(this, 'MyFunction', {
runtime: lambda.Runtime.PYTHON_3_11,
handler: 'index.handler',
// [Ctrl+Space]
// 提案: code, role, environment, timeout, memory など
});
}
}
5.2 Code Generation(自然言語からコード生成)
Scenario 1: DynamoDB クエリ生成
ユーザーコメント:
# Query DynamoDB for all orders by customer_id, sorted by timestamp descending
自動生成コード(Python):
from boto3.dynamodb.conditions import Key
def query_orders_by_customer(table, customer_id):
response = table.query(
KeyConditionExpression=Key('customer_id').eq(customer_id),
ScanIndexForward=False # Descending order by timestamp
)
return response['Items']
Scenario 2: Lambda + API Gateway + DynamoDB の統合
ユーザーコメント:
# Create a serverless API handler that accepts POST request with JSON body,
# stores it in DynamoDB, and returns the item ID
自動生成コード(Python):
import json
import boto3
import uuid
from datetime import datetime
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('items')
def lambda_handler(event, context):
try:
body = json.loads(event['body'])
item_id = str(uuid.uuid4())
table.put_item(Item={
'id': item_id,
'data': body,
'timestamp': datetime.utcnow().isoformat()
})
return {
'statusCode': 201,
'body': json.dumps({'id': item_id})
}
except Exception as e:
return {
'statusCode': 500,
'body': json.dumps({'error': str(e)})
}
5.3 /test(テスト生成)
選択関数(Python):
def authenticate_user(username, password):
if not username or not password:
raise ValueError("Username and password required")
# Simple hash validation (demo only)
expected_hash = hash_password(password)
return validate_hash(username, expected_hash)
コマンド: /test
自動生成テスト(pytest):
import pytest
from auth import authenticate_user
class TestAuthenticateUser:
def test_valid_credentials(self, mocker):
mocker.patch('auth.validate_hash', return_value=True)
assert authenticate_user('user', 'pass') == True
def test_empty_username(self):
with pytest.raises(ValueError, match="Username and password required"):
authenticate_user('', 'pass')
def test_empty_password(self):
with pytest.raises(ValueError, match="Username and password required"):
authenticate_user('user', '')
def test_invalid_credentials(self, mocker):
mocker.patch('auth.validate_hash', return_value=False)
assert authenticate_user('user', 'pass') == False
5.4 /review(コードレビュー)
コード選択:
def process_payment(amount, card_number):
api_key = "sk-1234567890abcdef"
response = requests.post(
"https://api.payment.com/charge",
headers={"Authorization": f"Bearer {api_key}"},
json={"amount": amount, "card": card_number}
)
return response.json()
コマンド: /review
Q Developer の指摘:
⚠️ [SECURITY] Hardcoded API Key (Line 2)
推奨: 環境変数または Secrets Manager を使用
api_key = os.getenv('PAYMENT_API_KEY')
⚠️ [SECURITY] Sensitive Data in Request (Line 7)
推奨: クレジットカード情報はログに記録しない
カード情報は Stripe/Square などのトークン化サービスを使用
⚠️ [PERFORMANCE] Unhandled Exception
推奨: try-except で HTTP エラーをハンドリング
⚠️ [BEST PRACTICE] Hardcoded URL
推奨: 環境変数で API エンドポイント指定
api_url = os.getenv('PAYMENT_API_URL')
5.5 /doc(ドキュメント生成)
関数選択(Python):
def calculate_shipping_cost(distance_km, weight_kg, express=False):
base_cost = distance_km * 0.5
weight_surcharge = weight_kg * 2.0
total = base_cost + weight_surcharge
if express:
total *= 1.5
return total
コマンド: /doc
自動生成ドキュメント:
def calculate_shipping_cost(distance_km, weight_kg, express=False):
"""
Calculate shipping cost based on distance, weight, and express option.
Args:
distance_km (float): Distance in kilometers.
weight_kg (float): Package weight in kilograms.
express (bool, optional): Whether to apply express shipping surcharge.
Defaults to False.
Returns:
float: Total shipping cost in dollars.
Example:
>>> calculate_shipping_cost(100, 5, express=False)
250.0
>>> calculate_shipping_cost(100, 5, express=True)
375.0
"""
6. セキュリティスキャン詳細
6.1 スキャン対象の脆弱性(詳細)
OWASP Top 10 マッピング
A01:2021 - Broken Access Control
例: 個人データに対する権限チェック不足
検出: リソース ID を外部入力から直接使用していないか
A02:2021 - Cryptographic Failures
例: 平文でのパスワード保存、弱い暗号化
検出: hashlib.md5()、base64 encode、硬化されていない暗号化
A03:2021 - Injection(重要)
- SQL Injection
- Command Injection
- LDAP Injection
- Template Injection
例: os.system(f"rm {user_input}")
A04:2021 - Insecure Design
例: レート制限のないブルートフォース可能な API
A05:2021 - Security Misconfiguration
例: S3 バケットの public-read 設定
A06:2021 - Vulnerable Dependencies
例: security:high の脆弱性がある pip パッケージ
A07:2021 - Identification & Authentication Failures
例: hard-coded credentials, weak password validation
A08:2021 - Software and Data Integrity Failures
例: 署名検証なしのパッケージ取得
A09:2021 - Logging & Monitoring Failures
例: セキュリティイベントのログなし
A10:2021 - Server-Side Request Forgery (SSRF)
例: requests.get(user_provided_url)
AWS-specific 脆弱性検出
Hardcoded Credentials:
- AWS Access Keys(AKIA...)
- Secret Keys(含む db_password など)
- API Keys(Stripe, Slack, etc.)
検出戦略: 正規表現パターンマッチング + Secrets 検知
Overly Permissive IAM Policies:
例: "Effect": "Allow", "Action": "s3:*", "Resource": "*"
検出: 全リソース・全アクション許可の組み合わせ
Public S3 Buckets:
- BlockPublicAccess が無効
- Bucket Policy に "Principal": "*"
検出: CloudFormation/Terraform での設定確認
Missing Encryption:
- RDS: StorageEncrypted: false
- S3: ServerSideEncryptionConfiguration 未設定
- EBS: Encrypted: false
Insecure Lambda Execution:
- Overly permissive execution role
- インターネットアクセス可能(VPC なし)
- Secrets Manager 未使用
6.2 セキュリティスキャン実行方法
① Scan as You Code(リアルタイム)
開発者がコード入力→保存
↓
Q Developer が自動検出
↓
IDE Problem Panel(下部)に警告表示:
⚠️ security.py:42:5 - SQL Injection Risk
Hover で修正提案表示:
「Parameterized Query を使用してください」
username = request.args.get('username')
- query = f"SELECT * FROM users WHERE username = '{username}'"
+ query = "SELECT * FROM users WHERE username = ?"
+ db.execute(query, (username,))
② On-Demand Full Scan
IDE Command Palette
→ Amazon Q: Run Code Security Scan
→ 全プロジェクトスキャン開始(数分)
→ Scan Results Report:
┌─────────────────────────────────────┐
│ Found 8 Security Issues │
├─────────────────────────────────────┤
│ [CRITICAL] SQL Injection (1) │
│ [HIGH] Hardcoded Credentials (3) │
│ [MEDIUM] Weak Crypto (2) │
│ [LOW] Logging Issue (2) │
└─────────────────────────────────────┘
各 Issue をクリック:
→ ファイル・行番号に移動
→ 詳細説明・修正提案表示
③ Git Pre-commit Hook
AWS Toolkit が提供する script:
.git/hooks/pre-commit
コミット時に自動実行:
git commit -m "Add payment feature"
→ Pre-commit hook が Q Developer セキュリティスキャン実行
→ Critical/High 脆弱性検出時:
commit をブロック or 警告のみ(設定可能)
7. コード変換機能
7.1 Java Modernization(Java 8 → Java 21)
自動変換内容
【入力】Java 8 レガシーコード:
List<String> names = new ArrayList<>();
for (User user : users) {
if (user.isActive()) {
names.add(user.getName());
}
}
Collections.sort(names);
return names;
【出力】Java 17+ モダンコード:
return users.stream()
.filter(User::isActive)
.map(User::getName)
.sorted()
.toList(); // Java 16: Stream.toList()
変更理由:
✅ Stream API(Java 8+)
✅ メソッド参照(Java 8+)
✅ Stream.toList()(Java 16+)
✅ 明確性・パフォーマンス向上
7.2 .NET Modernization(Framework → .NET Core)
【入力】.NET Framework:
public class OrderController : ApiController
{
[HttpPost]
public IHttpActionResult CreateOrder(Order order)
{
_database.Orders.Add(order);
_database.SaveChanges();
return Ok(order);
}
}
【出力】.NET 6+ Minimal APIs:
app.MapPost("/orders", async (Order order, ApplicationDbContext db) =>
{
db.Orders.Add(order);
await db.SaveChangesAsync();
return Results.Ok(order);
})
.WithName("CreateOrder")
.WithOpenApi();
改善点:
✅ Minimal APIs(boilerplate 削減)
✅ async/await(スケーラビリティ向上)
✅ Dependency Injection(自動管理)
7.3 SQL Dialect Conversion(Oracle → PostgreSQL)
【入力】Oracle SQL コード(Python):
query = """
SELECT * FROM orders
WHERE order_date >= TRUNC(SYSDATE) - 30
AND status IN ('PENDING', 'PROCESSING')
ORDER BY order_id DESC
"""
【出力】PostgreSQL SQL:
query = """
SELECT * FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days'
AND status IN ('PENDING', 'PROCESSING')
ORDER BY order_id DESC
"""
関数マッピング:
TRUNC(SYSDATE) → CURRENT_DATE
SYSDATE → NOW()
NVL() → COALESCE()
SUBSTR() → SUBSTRING()
8. AWS 操作アシスト
8.1 AWS Management Console での操作
チャット UI(Console に組み込まれたパネル)
Q チャット(Console 右下):
Q: "VPC 内のすべての EC2 インスタンスを一覧で見せて"
↓
A: CloudFormation から「vpc-12345」を特定
ec2.describe_instances(Filters=[...]) を実行
"インスタンス 5 個が見つかりました:
- i-001: running, t3.medium
- i-002: stopped, t2.micro
..."
Q: "このセキュリティグループのインバウンドルールを教えて"
↓
A: SG の JSON 表示 + 人間が読める説明:
"Port 443(HTTPS): 0.0.0.0/0 からアクセス可能
Port 22(SSH): 10.0.0.0/8 からのみアクセス可能"
Q: "このエラーは何?[CloudFormation Stack 作成失敗メッセージ]"
↓
A: "このエラーは IAM ロール 'LambdaExecutionRole' が
存在しないために発生しています。
解決策:
1. IAM Console で LambdaExecutionRole を作成
2. AWSLambdaBasicExecutionRole ポリシーをアタッチ
3. CloudFormation Stack を再度実行"
8.2 AWS CloudShell / CLI での操作
CloudShell ターミナルで:
$ aws q "create RDS MySQL instance in Tokyo with 100GB"
→ Q Developer が提案:
aws rds create-db-instance \
--db-instance-identifier my-mysql-db \
--db-instance-class db.t3.medium \
--engine mysql \
--engine-version 8.0.35 \
--master-username admin \
--master-user-password [password] \
--allocated-storage 100 \
--region ap-northeast-1 \
--backup-retention-period 7
$ aws q "list all S3 buckets with public access"
→ CLI コマンド自動生成:
for bucket in $(aws s3 ls | awk '{print $3}'); do
echo "Bucket: $bucket"
aws s3api get-bucket-acl --bucket $bucket | grep ALLusers && \
echo " ❌ PUBLIC ACCESS ALLOWED"
done
9. Q Developer Pro・エンタープライズ機能
9.1 価格体系
| プラン | 価格 | 含まれる機能 | 用途 |
|---|---|---|---|
| Free Tier | $0 | • コード補完 1,000/月 • チャット 50/月 • セキュリティスキャン(限定) |
個人開発・学生 |
| Pro | $19/月 | • 無制限コード補完 • 無制限チャット • 完全セキュリティスキャン • コード変換 • テスト/ドキュメント生成 |
専門開発者・チーム |
| Pro+(エンタープライズ) | カスタム | • 全機能 • カスタム LLM fine-tuning • SSO/SAML 統合 • 専用サポート • Data retention policy 設定 |
大規模組織・規制業界 |
9.2 Q Developer Pro の追加機能
Advanced Security Scanning
Pro でのみ利用可能:
✅ 全言語対象スキャン(Free では限定)
✅ 脆弱性深掘り分析
✅ CWE Top 25 の詳細マッピング
✅ OWASP Mobile Top 10 対応
✅ PCI-DSS, HIPAA, SOC 2 コンプライアンスチェック
Unlimited Code Transformation
Pro でのみ:
✅ 大規模コードベース変換(1M+ 行)
✅ 複数言語・フレームワーク変換
✅ Custom transformation rules 定義
✅ Transformation preview + diff 検証
9.3 Q Developer Pro+ for Enterprises
カスタマイズ・統合
Q Developer Pro+ includes:
✅ SSO 統合(Okta, Azure AD, Google Workspace)
✅ SAML 2.0 対応
✅ MFA・デバイストラスト設定
✅ Granular access control(チーム・プロジェクト別)
✅ Audit logging・detailed telemetry
✅ Data retention policy(On-Premises オプション)
✅ Custom model fine-tuning(企業専有モデル)
Data Privacy & Compliance
Pro+ での保証:
✅ コード・プロンプトが AWS 外に出ない(On-Premises 可能)
✅ GDPR, HIPAA, FedRAMP 準拠
✅ SOC 2 Type II 監査対応
✅ 監査ログの 7 年保存
✅ DLP(Data Loss Prevention)統合
10. 設定・操作の具体例
10.1 IDE セットアップ(VS Code)
ステップ 1: インストール
1. VS Code 起動
2. Extensions Sidebar(Ctrl+Shift+X)
3. "amazon-q" 検索
4. "Amazon Q" をインストール
5. IDE 再起動
ステップ 2: 認証
1. Command Palette(Ctrl+Shift+P)
2. "Amazon Q: Authorize IDE" を実行
3. AWS Builder ID を新規作成 or サインイン
4. ブラウザで認証(コードを ID トークンと交換)
5. IDE に戻る → 認証完了
ステップ 3: 設定
Settings(Ctrl+,)> Extensions > Amazon Q
✅ Code Completion: Enabled
✅ Security Scan: Enabled
✅ Test Generation: Enabled
✅ Scan on Save: Enabled
✅ Inline Suggestions: Enabled
10.2 チームでの展開(Pro)
ステップ 1: 組織アカウント作成
- AWS Builder Hub
- → Organizations > Create
- → 企業名・ドメイン登録
- → SSO 統合設定(Okta/Azure AD)
ステップ 2: チームメンバー追加
Amazon Q Organization Console
→ Members > Invite
→ メールアドレス・ロール(Admin/Developer)指定
→ 招待リンク送付
→ メンバー が受け入れ・IDE セットアップ
ステップ 3: プロジェクト別設定
Organization > Projects > Create
Name: "backend-platform"
Team: Engineering Team
Settings:
- Code Completion Language Preference: Python, Java
- Security Scan Policy: Strict (Critical/High block commit)
- Audit Logging: Enabled
- Data Retention: 90 days
10.3 CI/CD パイプラインへの統合
GitHub Actions
name: Code Quality Checks
on: [pull_request]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Amazon Q Security Scan
run: |
npm install -g amazon-q-cli
amazon-q-cli scan \
--project-path . \
--severity-threshold high \
--report-format json \
> scan-results.json
- name: Parse Results
run: |
if grep -q '"severity":"critical"' scan-results.json; then
echo "❌ Critical security issues found!"
cat scan-results.json
exit 1
fi
AWS CodePipeline
CodePipeline Stage: Scan
↓
AWS CodeBuild:
buildspec.yml:
phases:
pre_build:
commands:
- pip install amazon-q-cli
build:
commands:
- amazon-q-cli scan \
--project . \
--output reports/scan.json
artifacts:
files:
- reports/scan.json
↓
CodePipeline Approval Stage
(Critical 脆弱性がある場合は人間承認が必要)
11. 類似サービス比較表
| 観点 | Q Developer | GitHub Copilot | Cursor | Tabnine | Codeium |
|---|---|---|---|---|---|
| AWS 特化 | ✅✅✅ | ❌ | ❌ | ❌ | ❌ |
| IDE 対応 | 5+(VS/JB/EC/…) | 3(VS/JB/VS Code) | 2(VS Code 主体) | 5+ | 5+ |
| セキュリティスキャン | ✅(組み込み) | 別途(GitHub Advanced Security) | ❌ | ❌(有料プラン) | ❌ |
| コード変換 | ✅(Java/COBOL/SQL) | ❌ | ❌ | ❌ | ❌ |
| テスト生成 | ✅ | ✅(限定) | ✅ | ❌ | ❌ |
| AWS 操作アシスト | ✅(Console/CLI) | ❌ | ❌ | ❌ | ❌ |
| 無料枠 | ✅(月 1000 完成) | ❌(有料のみ) | ❌(有料のみ) | ✅ | ✅ |
| 価格(Pro) | $19/月 | $10-20/月 | $20-40/月 | $12-30/月 | $12/月 |
| エンタープライズ対応 | ✅(Pro+) | ✅(Copilot Business) | ❌ | ✅ | ❌(限定) |
| データプライバシー | 高(オプション On-Premises) | 中(GitHub サーバー) | 中 | 中 | 中 |
選択ガイド
- Q Developer を選ぶべき:AWS 開発・セキュリティスキャン・コード変換が必要
- GitHub Copilot を選ぶべき:汎用コード補完・GitHub との密統合
- Cursor を選ぶべき:VS Code 中心・インタラクティブなコード編集
- Tabnine を選ぶべき:セキュリティ(コードがクラウドに送信されない)
- Codeium を選ぶべき:低価格・シンプルな補完
12. ベストプラクティス
12.1 ✅ 推奨(Do’s)
| プラクティス | 説明 |
|---|---|
| ✅ Code Completion + Code Review ペア | コード補完でスピードアップ → /review で品質確認 |
| ✅ Scan as You Code を有効化 | リアルタイムスキャンで脆弱性を早期発見(Shift-Left) |
| ✅ セキュリティスキャン結果をログ | CloudWatch に脆弱性ログを記録。コンプライアンス対応 |
| ✅ テスト生成を習慣化 | /test で自動テスト。テストカバレッジ向上 |
| ✅ 大規模リファクタリングに /transform | 言語バージョン・フレームワーク変換は AI に任す |
| ✅ チーム全体で Pro を導入 | 個人単位より組織全体での Pro 導入がコスト効率良好 |
| ✅ AI 提案を学習・改善 | AI の提案パターンを学ぶ。次回から手動コード削減 |
| ✅ Pre-commit Hook で自動チェック | コミット前にセキュリティスキャン。脆弱性混入防止 |
| ✅ 複数 IDE のキーバインド統一 | VS Code・JetBrains で同じキー設定。生産性向上 |
| ✅ Audit Logging(Pro+)を有効化 | 誰がどのコードを生成・変換したかを追跡。ガバナンス |
12.2 ❌ 非推奨(Don’ts)
| プラクティス | 理由 |
|---|---|
| ❌ AI 生成コードの無検証使用 | セキュリティリスク・バグ混入の可能性。必ずレビューを |
| ❌ Scan as You Code 無効化 | 脆弱性を後期発見 → 修正コスト増大 |
| ❌ Hardcoded credentials をコードに残す | セキュリティリスク最大。環境変数・Secrets Manager 使用 |
| ❌ AI 提案をそのまま本番環境へ | テスト・パフォーマンスチェック必須 |
| ❌ Free Tier での企業開発 | Pro への投資がないと効率向上期待できない |
| ❌ セキュリティスキャン結果を無視 | コンプライアンス違反・脆弱性放置 |
| ❌ 複雑なコード変換を全自動化 | 変換結果の検証・手動修正が必須。段階的実行を |
| ❌ Deprecated API への補完受け入れ | 新しいコードに deprecated API が混入 → 技術債増加 |
| ❌ チーム内の Q Developer 使い方不統一 | 効率に個人差。トレーニング・ガイドライン必須 |
| ❌ Pro+ の Data Retention 設定無し | コンプライアンス・規制要件に違反する可能性 |
13. トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| コード補完が表示されない | Q Developer が初期化中/認証失敗 | IDE 再起動・AWS Builder ID 再認証 |
| セキュリティスキャンが遅い | プロジェクトサイズ大(1M+ 行)/ SSD スロー | スキャン対象ファイルを限定(.gitignore 活用)。NVMe SSD 推奨 |
| コード変換で構文エラー | 言語・フレームワーク非対応・複雑なロジック | 変換後に手動検査・テスト実行必須 |
| **認証失敗(“Invalid authorization”) | AWS Builder ID トークン期限切れ | Command Palette > “Authorize IDE” で再認証 |
| Pro 機能が使用不可 | Free Tier のまま・請求カード無効 | AWS Builder Hub で Pro に upgrade・支払い確認 |
| **セキュリティスキャン結果がないエラー | Bedrock 接続失敗・リージョン設定誤り | AWS リージョン(us-east-1, eu-west-1, ap-northeast-1)確認 |
| IDE が重くなる | Code Completion キャッシュ肥大化 | Q Developer キャッシュ削除(~/.amazon-q/cache) |
| テスト生成が不正確 | 複雑な型情報・generics | 手動修正 + AI に型情報コメント追加 |
| チーム内で Pro license が競合 | 複数人が同じ Builder ID を共有 | 1 Builder ID = 1 人。個別アカウント必須 |
| On-Premises モデル利用不可 | Pro+ でのみ対応・セットアップ未完了 | AWS Account Manager に Pro+ 利用相談 |
14. 2025-2026 最新動向
14.1 Autonomous Code Generation
動向:コード補完から 自律的な機能実装 へ。
従来(2024):
開発者: "Lambda から RDS へのデータ更新"
Q Developer: コード補完・コメントから 20-30 行のコード提案
2025-2026:
開発者: "Lambda から RDS へのデータ更新(エラーハンドリング・ログ・テスト含む)"
Q Developer Agent:
1. Lambda ハンドラー関数の完全実装
2. RDS 接続プール・トランザクション管理
3. エラーハンドリング・再試行ロジック
4. CloudWatch Logs 統合
5. pytest テストケース自動生成
6. IAM ポリシー定義(最小権限)
完全に実装可能な機能をゼロから自動生成
14.2 Multi-Cloud Code Generation
動向:AWS のみから マルチクラウド対応 へ。
対応クラウド:
✅ AWS(Lambda, DynamoDB, S3)
✅ Azure(Functions, Cosmos DB, Blob Storage)
✅ Google Cloud(Cloud Functions, Firestore, Cloud Storage)
✅ Kubernetes / Docker(クラウド非依存)
使用例:
Q: "Lambda + DynamoDB と同等の機能を GCP で実装"
Q Developer が自動変換:
AWS Lambda → Google Cloud Functions
DynamoDB → Cloud Firestore
S3 → Cloud Storage
14.3 AI-Powered Architecture Design
動向:単なるコード生成から アーキテクチャ設計提案 へ。
従来:
開発者がアーキテクチャを設計
→ Q Developer がコード実装
2026:
開発者: 「月 100 万アクセスの e-commerce API」
Q Developer Architecture Agent:
- API Gateway + Lambda + DynamoDB スケーラビリティ分析
- 推奨: DynamoDB Partition Key 設計
- CloudFront キャッシュ戦略提案
- RDS Read Replica 必要性判定
- Auto Scaling ポリシー自動設定
- コスト見積自動生成
→ CloudFormation テンプレート完全自動生成
14.4 Real-Time Vulnerability Patching
動向:脆弱性を検出するだけから 自動パッチ適用 へ。
従来:
Q Developer: 「numpy 1.21.0 に security:critical 脆弱性」
開発者: 手動で 1.24.0 に upgrade → テスト → デプロイ
2026:
Q Developer Agent:
1. 脆弱性検出(numpy 1.21.0)
2. 互換性チェック(1.24.0 で API 互換か)
3. 自動 upgrade → requirements.txt 更新
4. テストコード自動生成・実行
5. CI/CD パイプラインで自動化
6. PR 自動作成 + マージ提案
14.5 Learning-from-Feedback Loop
動向:AI 生成コード → 開発者フィードバック → モデル改善の継続ループ。
フロー:
1. Q Developer がコード生成
2. 開発者が修正・承認 / 却下
3. フィードバックが Q Developer モデルに反映
4. 組織専有の「学習済み Q Developer」へ進化
効果:
- 初期は一般的な提案
- 3-6 ヶ月で組織に特化した最適提案に進化
- AWS SDK のバージョン・パターンに自動適応
14.6 IDE を超えたコード生成
動向:IDE プラグインから スタンドアロン SaaS 化 へ。
新サービス: "Amazon Q Code Studio"
- IDE 不要でブラウザでコード生成
- AI ペアプログラマーとのリアルタイムコラボレーション
- GitHub・GitLab との直統合(自動 PR 作成)
- Code Review Agent による自動コードレビュー
- 実装 → テスト → デプロイ の完全自動化
15. 学習リソース・参考文献
15.1 公式ドキュメント(AWS)
- Amazon Q Developer User Guide
- Amazon Q Developer in IDEs
- Security Scanning with Q Developer
- Amazon Q Developer Pricing
- AWS Toolkit for VS Code
- AWS Toolkit for JetBrains
- Amazon Bedrock Documentation
- AWS SDK for Python (boto3)
15.2 AWS ブログ・トレーニング
- AWS DevOps Blog - Q Developer Integration
- AWS Machine Learning Blog - Code Security
- AWS Builder Exchange - Q Developer Tips
- AWS Skill Builder - Q Developer Course
15.3 オープンソース・ベストプラクティス
15.4 コミュニティ・チュートリアル
- AWS Tutorials - Q Developer Getting Started
- YouTube: Amazon Q Developer Demo Channel
- Stack Overflow - amazon-q タグ
- Reddit - r/aws - Q Developer discussions
16. 実装例・チェックリスト
16.1 個人開発者向けチェックリスト(セットアップ)
□ IDE セットアップ
□ VS Code に Amazon Q Extension インストール
□ AWS Builder ID 作成・認証
□ Code Completion 動作確認
□ Extension Settings カスタマイズ
□ Free Tier で試行
□ コード補完 5+ 例を実行
□ /review コマンド実行
□ /test で単純関数のテスト生成
□ Security Scan 実行
□ 提案の品質評価
□ Pro への upgrade 検討
□ コスト($19/月)とベネフィット比較
□ チーム内での Co-Benefits 検討
□ 支払い方法設定
16.2 チーム導入チェックリスト(4-8 週間)
週 1: 計画・準備
□ チーム向け Q Developer Pro ライセンス取得
□ IDE ガイドライン・キーバインド統一化
□ セキュリティスキャン Policy 定義
□ Pre-commit Hook スクリプト準備
週 2: 展開・トレーニング
□ 全チームメンバーに IDE plugin インストール
□ 30 分のワークショップ実施
- Code Completion の使用方法
- /test, /review コマンド実演
- セキュリティスキャン解釈方法
□ チーム Wiki に Tips・ベストプラクティス記載
週 3: パイロット・フィードバック
□ 1-2 プロジェクトで本格利用開始
□ 週 1 回のフィードバック会議
□ よくある質問(FAQ)ドキュメント化
□ セキュリティスキャン結果の分析
週 4: 最適化・スケール
□ Git Pre-commit Hook 全プロジェクトに統合
□ CI/CD パイプラインに Q Developer スキャン統合
□ コードレビュー文化への AI ツール統合検証
□ ROI 測定(開発速度向上)
週 5-8: 継続改善
□ チーム内での AI コード生成のベストプラクティス確立
□ 月次の脆弱性統計・改善トレンド分析
□ Pro+ エンタープライズ機能の検討(大規模チーム)
□ カスタム fine-tuning model 検討(Pro+)
17. まとめ
Amazon Q Developer は 「IDE 統合の AWS 専門 AI コーディングアシスタント」 です。
主な価値
- AWS 特化:AWS SDK・CloudFormation・CDK などの AWS 固有 API に深く特化。汎用コード補完より高品質な提案
- Shift-Left セキュリティ:開発中(コミット前)にリアルタイムで脆弱性を検出。OWASP・CWE・AWS ベストプラクティス違反を IDE に組み込んだスキャナーで検出
- 5+ IDE 対応:VS Code・JetBrains・Visual Studio・Eclipse など主要 IDE でシームレスに利用可能
- コード補完から変換まで:インラインコード補完・生成・テスト・ドキュメント・セキュリティスキャン・言語バージョン・フレームワーク変換を統合
- AWS 操作アシスト:AWS Management Console・CloudShell・AWS CLI での自然言語操作でコマンド自動生成
- 無料枠 + Pro:Free Tier(基本機能・月制限あり)→ Pro $19/月(無制限)→ Pro+ カスタム(エンタープライズ)の柔軟な価格体系
2026 年のトレンド
- Autonomous Code Generation(完全な機能自動実装)
- Multi-Cloud Support(AWS・Azure・GCP 統合)
- AI-Powered Architecture Design(設計提案)
- Real-Time Vulnerability Patching(自動パッチ適用)
- Learning-from-Feedback Loop(組織専有モデル進化)
導入時の注意点
- コード補完は学習ツール。AI 提案を検証・改善しながら使用(Shift-Left)
- セキュリティスキャンは 必須。Free でも基本機能有効化
- Pro への投資でチーム全体の効率向上期待できる($19/月 × 開発者数)
- Pre-commit Hook・CI/CD 統合で自動化レベルを高める
Q Developer は、AWS 開発者の生産性向上・セキュリティ強化の主力ツールとして、2026 年も進化を続けます。
最終更新:2026-04-26
バージョン:v2.0