Amazon Q Developerを使ってみた – Techfirm Cloud Architect Blog

はじめに

2025年4月9日、Amazon Q Developerが日本語に対応しました。
Amazon Q Developer公式ページ
今回の記事では、日本語対応したAmazon Q Developerを実際に使用してみます。

Amazon Q Developerとは

Amazon Q Developerは、AWSが提供する開発者向けのAIアシスタントサービスです。
CLIやIDE(統合開発環境)で利用でき、自然言語での対話を通じてコーディング、デバッグ、テスト、AWSサービスの利用に関する質問応答など、開発のさまざまな側面をサポートします。

Amazon Q Developer

料金体系

Amazon Q Developerの料金体系には無料利用枠とAmazon Developer Proの2種類があります。
無料利用枠では月ごとの実行回数などに制限があり、Proプランは1ユーザーあたり19USD/月(2025年6月1日時点)の費用がかかりますが、さらに高度な機能を使用できるようになります。

1_cost

Amazon Q Developer の料金

利用方法

Amazon Q Developerの利用方法は、CLIか統合開発環境(IDE)の拡張機能の2種類があります。
今回はそれぞれの導入方法をご紹介します。

CLIへの導入方法

CLIはmacOSとLinuxに対応しているようです。
サポートされているコマンドライン環境
今回はmacOSでインストールを行います。
macのターミナルで以下のコマンドを実行します。

% brew install amazon-q

続いてAmazon Q Developer公式ページからDMGファイルをダウンロードします。
ダウンロードできたらDMGファイルを開き、アプリケーションフォルダーに移動します。

2_amazonq

アプリケーションを起動して初期設定を行います。

3_start

shell統合を使うか聞かれるのでinstallをクリックします。
これによってシェルからAmazon Qを実行できるようになります。

4_install

AWS Builder IDを作成してサインインします。
※すでにIDをお持ちの場合はそのままサインイン可能です。

5_signin

サインイン後、ブラウザ上に以下の画面が出てくるのでアクセスを許可します。

6_permission

以下の画面に切り替われば、アクセス許可が有効になっています。

7_approved

するとアプリケーション画面が以下のように切り替わります。

8_started

これでAmazon Q Developer CLIが使用できるようになりました。
試しにターミナルで以下のコマンドを実行してみます。

% q chat

以下の出力があれば正常に動作しています。

~ % q chat

    ⢠⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣶⣦⡀⠀
 ⠀⠀⠀⣾⡿⢻⣿⡆⠀⠀⠀⢀⣄⡄⢀⣠⣤⣤⡀⢀⣠⣤⣤⡀⠀⠀⢀⣠⣤⣤⣤⣄⠀⠀⢀⣤⣤⣤⣤⣤⣤⡀⠀⠀⣀⣤⣤⣤⣀⠀⠀⠀⢠⣤⡀⣀⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠋⠀⠀⠀⠙⣿⣿⡆
 ⠀⠀⣼⣿⠇⠀⣿⣿⡄⠀⠀⢸⣿⣿⠛⠉⠻⣿⣿⠛⠉⠛⣿⣿⠀⠀⠘⠛⠉⠉⠻⣿⣧⠀⠈⠛⠛⠛⣻⣿⡿⠀⢀⣾⣿⠛⠉⠻⣿⣷⡀⠀⢸⣿⡟⠛⠉⢻⣿⣷⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⢸⣿⣿
 ⠀⢰⣿⣿⣤⣤⣼⣿⣷⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⢀⣴⣶⣶⣶⣿⣿⠀⠀⠀⣠⣾⡿⠋⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⡇⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⢹⣿⣇⠀⠀⠀⠀⠀⢸⣿⡿
 ⢀⣿⣿⠋⠉⠉⠉⢻⣿⣇⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⣿⣿⡀⠀⣠⣿⣿⠀⢀⣴⣿⣋⣀⣀⣀⡀⠘⣿⣿⣄⣀⣠⣿⣿⠃⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⣀⣀⣴⣿⡿⠃
 ⠚⠛⠋⠀⠀⠀⠀⠘⠛⠛⠀⠘⠛⠛⠀⠀⠀⠛⠛⠀⠀⠀⠛⠛⠀⠀⠙⠻⠿⠟⠋⠛⠛⠀⠘⠛⠛⠛⠛⠛⠛⠃⠀⠈⠛⠿⠿⠿⠛⠁⠀⠀⠘⠛⠃⠀⠀⠘⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⢿⣿⣿⣋⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⡧

╭─────────────────────────────── Did you know? ────────────────────────────────╮
│                                                                              │
│     Get notified whenever Q CLI finishes responding. Just run q settings     │
│                        chat.enableNotifications true                         │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

/help all commands  •  ctrl + j new lines  •  ctrl + s fuzzy search
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>

IDE(Visual Studio Code)への導入方法

続いてIDE(Visual Studio Code)への導入手順になります。
前提としてVisual Studio Codeが必要になるため、あらかじめインストールしてください。

Download Visual Studio Code

まずは以下のURLにアクセスし、「Install」ボタンをクリックします。

Visual Studio Amazon Q

するとVisual Studio Codeが起動しますので、「インストール」ボタンをクリックします。

9_extensions-install

インストール後は画面左側にAmazon Q Developerのアイコンが出てきます。

10_icon

このアイコンをクリックすると、サインインオプションを聞かれます。
今回は無料枠で実施するため、「Use for Free」を選択し「Continue」をクリックしてください。

11_use-for-free

ブラウザ上に以下の画面が出てくるのでアクセスを許可します。

12_access

以下の画面に切り替われば、アクセス許可が有効になっています。

13_approved

Visual Studio Codeに戻り、以下の画面に切り替わっていたら完了です。

14_initial-screen

使ってみた

それでは実際に使ってみます。
今回はIDE(Visual Studio Code)で試してみます。
プロンプトにそのまま日本語を入力することもできますが、以下の特殊コマンドを使用することもできます。

  • CLIで使用できる特殊コマンド
特殊コマンド 概要
/import JSON ファイルから会話状態をインポートする
/export 会話状態を JSON ファイルにエクスポートする
/prompts 使用可能なすべてのプロンプトを一覧表示する
/usage コンテキストウィンドウの使用状況を表示する
! Amazon Q CLI セッション内からシェルコマンドを実行する
ctrl-j 複数行の入力を許可する
ctrl-k あいまい検索を行う
/editor 設定されたエディターを使用してプロンプトを作成する
/help 使用可能なコマンドのリストを表示する
/issue 問題を報告したり、機能リクエストを行ったりする
/quit チャットセッションを終了する
/clear 現在のセッションからチャット履歴をクリアする
/reset 会話コンテキストをリセットし、以前のメッセージをすべてクリアする
/tools Amazon Q が使用できるツールのアクセス許可を管理する
/profile Amazon Q Developer コマンドの Q プロファイルを管理する
/context Amazon Q で利用可能なコンテキスト情報を管理する
/compact 会話履歴を圧縮し、圧縮された会話履歴を出力する

参考 : チャットコマンド

  • IDEで使用できる特殊コマンド

プロンプトに/helpを入力するとコマンドの一覧が出力されます。

特殊コマンド 概要
/clear 現在のセッションからチャット履歴をクリアする
/dev 新しいコードを生成したり、コードの変更を行う
/transform コードを新しいバージョンのものへ自動変換する
/help 使用可能なコマンドのリストを表示する

日本語で質問してみる

今回はそのまま「Amazon Q Developerで何ができるのか説明してください。」と質問しました。

15_questionn

使用感は他の生成AIクライアントを使用している時と変わりません。
Amazon Q DeveloperではClaude Sonnet 3.7を使用しているそうです。
Amazon Q Developer が IDE での新しいエージェントコーディングエクスペリエンスを発表

コードを生成させてみる

続いてコードを生成させてみます。
試しにEC2を作成するTerraformテンプレートを作成してもらいました。

16_code-create

生成されたコードは以下です。

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}


provider "aws" {
  region = "ap-northeast-1"  
}


resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_hostnames = true
  enable_dns_support   = true

  tags = {
    Name = "main-vpc"
  }
}


resource "aws_subnet" "public" {
  vpc_id                  = aws_vpc.main.id
  cidr_block              = "10.0.1.0/24"
  availability_zone       = "ap-northeast-1a"
  map_public_ip_on_launch = true

  tags = {
    Name = "public-subnet"
  }
}


resource "aws_internet_gateway" "main" {
  vpc_id = aws_vpc.main.id

  tags = {
    Name = "main-igw"
  }
}


resource "aws_route_table" "public" {
  vpc_id = aws_vpc.main.id

  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = aws_internet_gateway.main.id
  }

  tags = {
    Name = "public-rt"
  }
}


resource "aws_route_table_association" "public" {
  subnet_id      = aws_subnet.public.id
  route_table_id = aws_route_table.public.id
}


resource "aws_security_group" "ec2" {
  name        = "ec2-security-group"
  description = "Security group for EC2 instance"
  vpc_id      = aws_vpc.main.id

  
  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]  
  }

  
  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  tags = {
    Name = "ec2-security-group"
  }
}


resource "aws_instance" "web" {
  ami           = "ami-0d52744d6551d851e"  
  instance_type = "t2.micro"
  subnet_id     = aws_subnet.public.id

  vpc_security_group_ids = [aws_security_group.ec2.id]
  
  
  key_name = "your-key-pair-name"  

  tags = {
    Name = "web-server"
  }

  root_block_device {
    volume_size = 8  
    volume_type = "gp3"
    encrypted   = true
  }
}


output "instance_public_ip" {
  value = aws_instance.web.public_ip
}

そのまま画面下にスクロールすると、「Insert at cursor」があります。

17_insert-at-cursor

この「Insert at cursor」をクリックすると、右側に自動でコードが挿入されます。
これは便利ですね。

18_automatic-insertion

コードを修正させてみる

続いてコードを修正させてみます。
たとえば先ほど生成してもらったコードで、作成するEC2を2台に増やしてもらいます。

19_create-2-units

生成されたコードは以下です。

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}


provider "aws" {
  region = "ap-northeast-1"  
}


resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_hostnames = true
  enable_dns_support   = true

  tags = {
    Name = "main-vpc"
  }
}


resource "aws_subnet" "public" {
  vpc_id                  = aws_vpc.main.id
  cidr_block              = "10.0.1.0/24"
  availability_zone       = "ap-northeast-1a"
  map_public_ip_on_launch = true

  tags = {
    Name = "public-subnet"
  }
}


resource "aws_internet_gateway" "main" {
  vpc_id = aws_vpc.main.id

  tags = {
    Name = "main-igw"
  }
}


resource "aws_route_table" "public" {
  vpc_id = aws_vpc.main.id

  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = aws_internet_gateway.main.id
  }

  tags = {
    Name = "public-rt"
  }
}


resource "aws_route_table_association" "public" {
  subnet_id      = aws_subnet.public.id
  route_table_id = aws_route_table.public.id
}


resource "aws_security_group" "ec2" {
  name        = "ec2-security-group"
  description = "Security group for EC2 instance"
  vpc_id      = aws_vpc.main.id

  
  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]  
  }

  
  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  tags = {
    Name = "ec2-security-group"
  }
}


resource "aws_instance" "web" {
  count         = 2
  ami           = "ami-0d52744d6551d851e"  
  instance_type = "t2.micro"
  subnet_id     = aws_subnet.public.id

  vpc_security_group_ids = [aws_security_group.ec2.id]
  
  
  key_name = "your-key-pair-name"  

  tags = {
    Name = "web-server-${count.index + 1}"
  }

  root_block_device {
    volume_size = 8  
    volume_type = "gp3"
    encrypted   = true
  }
}


output "instance_public_ips" {
  value = aws_instance.web[*].public_ip
}

countを使用してEC2を複数台作成できる記述に修正されました。
コード生成だけでなく、以下のように解説もしてくれます。

20_modification-explanation

MCPサーバとの連携

2025年4月29日にAmazon Q Developer CLIでMCPのサポートが開始されました。

Amazon Q Developer CLI で Model Context Protocol (MCP) のサポートを開始

AWS MCP Serversと連携可能(それ以外のMCP Serverとも連携可能)で、たとえばAWS Terraform MCP Serverを使用してコードのレビューやセキュリティチェックを行ったり、AWS Diagram MCP Serverを使用してアーキテクチャ図を生成したり、さまざまな使い方ができます。

今回の記事では具体的な設定方法などは割愛します。

まとめ

今回の記事では日本語に対応したAmazon Q Developerを使用してみました。
使用した感じでは、とくにIaCを多く使用する方は開発効率が大幅に向上するのではないかと思いました。
AWS Terraform MCP Serverとの連携でさらに便利になりそうです。




元の記事を確認する

関連記事