目次

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. 1. 本質・課題・特徴
  2. 2. アーキテクチャ図
  3. 3. コアコンポーネント
  4. 4. IDE 統合(5+ IDE 対応)
  5. 5. 主要機能(10+ ユースケース)
  6. 6. セキュリティスキャン詳細
  7. 7. コード変換機能
  8. 8. AWS 操作アシスト
  9. 9. Q Developer Pro・エンタープライズ機能
  10. 10. 設定・操作の具体例
  11. 11. 類似サービス比較表
  12. 12. ベストプラクティス
  13. 13. トラブルシューティング
  14. 14. 2025-2026 最新動向
  15. 15. 学習リソース・参考文献
  16. 16. 実装例・チェックリスト
  17. 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)

  1. Amazon Q Developer User Guide
  2. Amazon Q Developer in IDEs
  3. Security Scanning with Q Developer
  4. Amazon Q Developer Pricing
  5. AWS Toolkit for VS Code
  6. AWS Toolkit for JetBrains
  7. Amazon Bedrock Documentation
  8. AWS SDK for Python (boto3)

15.2 AWS ブログ・トレーニング

  1. AWS DevOps Blog - Q Developer Integration
  2. AWS Machine Learning Blog - Code Security
  3. AWS Builder Exchange - Q Developer Tips
  4. AWS Skill Builder - Q Developer Course

15.3 オープンソース・ベストプラクティス

  1. OWASP Top 10 2021
  2. CWE Top 25
  3. AWS Security Best Practices
  4. GitHub Copilot vs Amazon Q Comparison

15.4 コミュニティ・チュートリアル

  1. AWS Tutorials - Q Developer Getting Started
  2. YouTube: Amazon Q Developer Demo Channel
  3. Stack Overflow - amazon-q タグ
  4. 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