背景・目的
Amazon Q Developerについて整理します。
まとめ
下記に特徴をまとめます。
特徴 | 説明 |
---|---|
Amazon Q Developer | 生成AIを活用した会話アシスタント AWSアプリの理解・構築・拡張・運用に役立つ 下記について質問できる ・AWSアーキ ・リソース ・ベストプラクティス ・ドキュメント ・サポート 実用的な回答が得られるように機能を常にアップデートしている |
概要
下記を基に整理します。
Amazon Q Developer は、生成人工知能 (AI) を活用した会話アシスタントであり、 AWS アプリケーションの理解、構築、拡張、運用に役立ちます。 AWS アーキテクチャ、 AWS リソース、ベストプラクティス、ドキュメント、サポートなどについて質問できます。Amazon Q は、コンテキストへの関連性が最も高く、実用的な回答が得られるように、機能を常に更新しています。
- 生成AIを活用した会話アシスタント
- AWSアプリの理解・構築・拡張・運用に役立つ
- 下記について質問できる
- AWSアーキ
- リソース
- ベストプラクティス
- ドキュメント
- サポート
- 実用的な回答が得られるように機能を常にアップデートしている
統合開発環境 (IDE) で使用すると、Amazon Q はソフトウェア開発を支援します。Amazon Q では、コードに関するチャット、インラインコードの完了、新しいコードの生成、セキュリティ上の脆弱性のスキャン、言語の更新、デバッグ、最適化などのコードのアップグレードと改善を行うことができます。
- IDEで使用すると、Qはソフトウェア開発を支援する
- 下記が可能
- コードに関するチャット
- インラインコードの完了
- 新しいコードの生成
- セキュリティ上の脆弱性のスキャン
- 言語の更新
- デバッグ
Amazon Q は、API を介して基盤モデル (FM) を利用可能にするフルマネージドサービスである Amazon Bedrock が基盤となっています。Amazon Q を強化するモデルは、 でのビルドを加速するために、より完全で実用的な、参照された回答を得るために、高品質の AWS コンテンツで強化されています AWS。
- Qは、Bedrockが基盤となっている
- Qを強化するモデルは、高品質のAWSコンテンツで強化されている
機能
分析
データの要約
Amazon Q QuickSight を使用すると、Generative BI オーサリングエクスペリエンスを活用し、データのエグゼクティブサマリーを作成し、データの質問をして回答し、データストーリーを生成できます。
- Q QuickSightでエグゼクティブサマリーを生成し、データの質問を回答しデータストーリーを生成できる
マネジメントとガバナンス
テキストプロンプトを使用したノードの探索
AWS Systems Manager と Amazon Q を使用すると、マネージドノードまたはインスタンスについて自然言語の質問をすることができます。次に、Amazon Q は Systems Manager ListNodesアクションを使用し、テキスト入力に基づいてフィルターを作成して結果を取得します。
- Systems Manager + Qを使用して、マネージドノードまたはインスタンスについて自然言語で質問が可能
- Qは、Systems Manager ListNodesアクションを使用して、テキスト入力に基づきフィルターを作成し結果を取得する
運用上の問題の調査
Amazon CloudWatch の調査は、 AWS 環境全体のリソース、イベント、アクティビティを調査および分析する機能を強化します。Amazon Q は自然言語処理を活用することで、 内の複雑なシナリオや関係を理解するプロセスを簡素化します AWS アカウント。
Amazon Q Developer は、環境全体で CloudWatch 調査を高速化する AWS のに役立ちます。Q はテレメトリで異常を探し、調査すべき関連シグナルを表示し、潜在的な根本原因仮説を特定し、問題をより迅速に修正するための次のステップを提案します。
Amazon Q を調査ワークフローに統合することで、問題解決を加速し、 AWS 環境の理解を深め、インフラストラクチャとアプリケーションについてより多くの情報に基づいた意思決定を行うことができます。
- Qは自然言語処理を活用することで、複雑なシナリオや関係を理解するプロセスを簡素化する
- 問題解決を加速し、AWS環境の理解を深めて、インフラとアプリについてより多くの情報に基づいた意思決定をできる
AWS リソースのインベントリの取得
特定の AWS アカウントリソースについては、 AWS マネジメントコンソールのどこからでも Amazon Q にお問い合わせいただけます。リソースに関する関連情報の場所がわからない場合や、あるサービスのコンソールを利用中に、ワークフローを中断することなく別のサービスのリソースに関する情報にアクセスしたい場合があります。
Amazon Q Developer は、リソースに関する自然言語の質問に回答し、そうしたリソースへの詳細なリンクを提供するため、リソースをすばやく見つけることができます。Amazon Q に、アカウント内のリソースのタイプを一覧表示したり、特定のリソースの詳細を取得したり、リージョンや州などの基準に基づいてリソースを一覧表示したりするようにリクエストできます。
例えば、現在実行している Amazon EC2 インスタンスの数を知りたいとします。その場合、Amazon Q に自然言語で質問すると、特定のリソースに基づいた回答が得られます。
- AWSアカウントリソースについて、マネコンから問い合わせできる
AWS Console Mobile Applicationで Amazon Q を使用する
- AWS Console Mobile Application と統合されている
コンソールエラーの診断
- 下記のようなサービス使用中に発生する一般的なエラーを診断できる
コンピューティング
Amazon Elastic Compute Cloud インスタンスの選択
利用可能な Amazon EC2 インスタンスタイプの数が多いため、ワークロードに適したインスタンスタイプを見つけるには時間と手間がかかることがあります。Amazon Q のインスタンスタイプセレクターでは、ユースケース、ワークロードタイプ、CPU メーカーの優先設定、価格とパフォーマンスの優先度のほかに、ユーザーが指定できる追加のパラメータも考慮されます。そして、このデータを使用して、新しいワークロードに最適な Amazon EC2 インスタンスタイプの推奨とガイダンスを提供します。
- EC2インスタンスタイプセレクターでは下記が可能
- ユースケース
- ワークロードタイプ
- CPUメーカーの優先設定
- 価格とパフォーマンスの優先度
- ユーザが指定できる追加パラメータも考慮できる
データベース
自然言語を使用したデータベースクエリの作成
Amazon Q 生成 SQL は生成 AI を使用してユーザーインテント、クエリパターン、スキーマメタデータを分析し、Amazon Redshift 内で直接一般的な SQL クエリパターンを特定することで、ユーザーのクエリ作成プロセスを高速化し、実用的なデータインサイトを得るのに必要な時間を短縮します。
- ユーザインテント、クエリパターン、メタデータを分析しRedshift 内でSQLパターンを特定することで、クエリ生成プロセスを高速化する
ネットワークとコンテンツ配信
ネットワークのトラブルシューティングの分析
Amazon Q を使用すると、Amazon VPCs で実行されるアプリケーションのネットワーク接続の問題の診断に役立ちます。Amazon Q ネットワークのトラブルシューティングでは、自然言語クエリを理解し、Reachability Analyzer と連携して関連するレスポンスを提供できます。Amazon Q では、ネットワーク到達可能性に関する質問を会話形式で行うことができます。
- VPCで実行される接続診断に利用できる
- Reachability Analyzerと連携して関連するレスポンスを提供できる
セキュリティ、アイデンティティ、コンプライアンス
ネットワークセキュリティ設定の分析 (プレビュー)
ネットワークセキュリティ設定に関する質問に対する回答は、 AWS Shield ネットワークセキュリティディレクターから自然言語で簡単に取得できます。Amazon Q は、ネットワークセキュリティの検出結果を分析し、コンソールとチャットアプリケーションで推奨される修復手順を提供します。
- AWS Shield ネットワークセキュリティディレクターから自然言語で簡単に取得できる
デベロッパーツール
コード機能の開発
開発する機能を自然言語で説明した後、Amazon Q は現在のプロジェクトのコンテキストを使用して実装計画と付随するコードを生成できます。Amazon Q は、 AWS プロジェクトまたは独自のアプリケーションの構築に役立ちます。
- 実装計画と付随するコードを生成できる
インラインコードの提案の取得
Amazon Q は、リアルタイムでコードを提案します コードの記述中、Amazon Q は既存のコードとコメントに基づいて、自動的に提案コードを生成します。
- リアルタイムでコードを提案する
IDEs のコードに関するチャット
統合開発環境 (IDE) 内では、Amazon Q はプログラミングに関する概念的な質問、特定のコードの仕組み、コードの改善、コード生成など、ソフトウェア開発プロセスに関連する質問に答えることができます。また、チャットパネルからコードスニペットを更新および改善するように Amazon Q にリクエストすることもできます。多言語サポートでは、英語、北京語、フランス語、ドイツ語、イタリア語、日本語、スペイン語、韓国語、ヒンディー語、ポルトガル語など、サポートされている任意の自然言語で Amazon Q とチャットできます。
- IDEから、下記に関する質問に答える
- コードの改善
- コード生成など
- ソフトウェア開発プロセス
- 多言語サポート
セキュリティの脆弱性と品質の問題に関するコードの確認
IDEs 内で、Amazon Q はコードのセキュリティの脆弱性とコード品質の問題を確認します。Amazon Q は、開発中のアプリケーションのセキュリティと品質をモニタリングするために、プロジェクト全体をコーディングまたはレビューしながら を確認できます。
- コードのセキュリティの脆弱性とコード品質の問題を確認する
コードの変換
Amazon Q は、アプリケーションの言語およびオペレーティングシステム (OS) レベルの自動アップグレードを実行できます。
- アプリケーションの言語、OSレベルの自動アップグレードを実行できる
ユニットテストの生成
Amazon Q Developer は、AI を活用したユニットテスト生成機能を提供し、開発チームがソフトウェア開発ライフサイクルを通じてコードカバレッジを改善できるようにします。ユニットテスト生成用の Amazon Q Developer エージェントは、次の環境で使用できます。
- Amazon Q Developer IDE 拡張機能
- GitLab の一部として GitLab
- AI を活用したユニットテスト生成機能を提供し、開発チームがソフトウェア開発ライフサイクルを通じてコードカバレッジを改善できる
Amazon CodeCatalyst でのソフトウェア開発
CodeCatalyst の Amazon Q Developer には、スペース内のプロジェクトのユーザーがソフトウェアをより迅速に開発するのに役立つ生成 AI 機能が備わっています。Amazon Q に問題を割り当てたり、Amazon Q にタスクを推奨したりすることができます。また、Amazon Q に説明を記述したり、コンテンツを要約したりするようにリクエストすることもできます。
- CodeCatalyst の Amazon Q Developer には、スペース内のプロジェクトのユーザーがソフトウェアをより迅速に開発するのに役立つ生成 AI 機能が備わっている
Amazon SageMaker AI Studio のコードに関するチャット
Amazon SageMaker AI Studio は、ML ワークフローを実行するためのウェブベースのエクスペリエンスです。Studio 内で Amazon Q Developer とチャットして、SageMaker AI 機能のガイダンスの取得、JupyterLab エラーのトラブルシューティング、サンプルコードの取得を行うことができます。
- Amazon SageMaker AI Studio は、ML ワークフローを実行するためのウェブベースのエクスペリエンス
- 下記が可能
- SageMaker AI 機能のガイダンスの取得
- JupyterLab エラーのトラブルシューティング
- サンプルコードの取得
コマンドラインと の操作 AWS CloudShell
コマンドラインインターフェイス (CLI)
コマンドラインに Amazon Q をインストールしたら、コンテキストに関連するサブコマンド、オプション、引数を入力するときに、それを使用して CLI コマンドを完了できます。コマンドラインに入力すると、AI によって補完が行われます。さらに、Amazon Q を使用して、自然言語指示を記述し、実行可能なシェルコードスニペットに即座に変換させることもできます。Amazon Q の複雑な質問をすることもできます。また、会話に基づいたフィードバックや指示、会話外のコンテキストや情報を提供します。その後、Amazon Q がユーザーに代わってアクションを実行できるように、Amazon Q にアクセス許可を付与できます。多言語サポートでは、英語、北京語、フランス語、ドイツ語、イタリア語、日本語、スペイン語、韓国語、ヒンディー語、ポルトガル語など、サポートされている任意の自然言語で Amazon Q とチャットできます。
- CLIにQをインストール後、コンテキストに関連するサブコマンド、オプション、引数を入力するときに、それを使用して CLI コマンドを完了できる
- AIによって補完される
AWS CloudShell
で Amazon Q CLI を使用して AWS CloudShell 、自然言語の会話をしたり、質問をしたり、ターミナルで Amazon Q からレスポンスを受け取ったりすることもできます。関連するシェルコマンドを取得することで、構文を検索したり記憶したりする必要性を軽減できます。Amazon Q では、ターミナルで入力しながら、コマンドの提案を受け取ることができます。
- CloudShell で自然言語で会話、質問など可能
アプリケーション統合
AWS のサービスを自動化するためのスクリプトの作成
AWS リソースの操作を正確に把握し、同じアクションを繰り返し実行している場合があります。Amazon Q に反復タスクを自動化するコードを記述するようにリクエストできます。
例えば、Amazon VPC、Amazon EC2 インスタンス、Amazon RDS データベースを使用するプロジェクトで作業しているとします。テストを進めるうちに、Amazon VPC の作成、サーバーの立ち上げ、データベースのデプロイを行う際、設定は毎回同じであることがわかりました。必ず同じインスタンスとデータベースタイプを選択し、同じオプションを選んで、同じセキュリティグループを使用しています。サブネットの NACL 設定も同じです。テスト条件を再現する際に、毎回同じ手動プロセスを繰り返すのは避けたいと考えています。
Amazon Q の Console-to-Code 機能を使用すると、ワークフローを毎回手動で実行する代わりに、ワークフローを自動化できます。まず、Amazon EC2 コンソールで Console-to-Code を有効にします。次に、Amazon Q が、インスタンスの設定と起動のプロセスを実行するユーザーのアクションを記録します。最後に、Amazon Q が、先ほど実行したプロセスを自動化するコードを任意の言語で提供します。
- Console-to-Code 機能を使用し、ワークフローを毎回手動で実行する代わりに、ワークフローを自動化できる
ETL スクリプトの記述とデータの統合
AWS Glue は、分析ユーザーが複数のソースからのデータを簡単に検出、準備、移動、統合できるようにするサーバーレスデータ統合サービスです。
での Amazon Q データ統合 AWS Glue には、次の機能が含まれています。
- チャット – の Amazon Q データ統合 AWS Glue は、 および送信 AWS Glue 元 AWS Glue と送信先のコネクタ、 AWS Glue ETL ジョブ、データカタログ、クローラと AWS Lake Formation、その他の機能ドキュメント、ベストプラクティスなどのデータ統合ドメインに関する自然言語の質問に回答できます。の Amazon Q データ統合はstep-by-stepの手順で AWS Glue 応答し、その情報源への参照が含まれています。
- データ統合コード生成 – の Amazon Q データ統合 AWS Glue は、ETL AWS Glue スクリプトに関する質問に回答し、自然言語の質問が英語で与えられた新しいコードを生成できます。
- トラブルシューティング – の AWS Glue Amazon Q データ統合は、 AWS Glue ジョブのエラーを理解し、根本原因を突き止めて問題を解決するためのstep-by-stepの手順を提供することを目的として構築されています。
- Qでは、Glueに対して下記ができる
- チャット
- データ統合コードの生成
- トラブルシューティング
サードパーティ統合
Amazon Q での GitLab デュオ の使用
GitLab Duo Amazon Q を使用すると、ソフトウェア開発オペレーションとソースコード管理ワークフローを実行できます。GitLab Duo で Amazon Q を設定したら、クイックアクションを呼び出して、アイデアのコードの実装、コードベースの変換、品質と脆弱性のマージリクエストの確認、ユニットテストの提案など、タスクを自動化できます。
- GitLab Duo AmazonQで、ソフトウェア開発オペレーションとソースコード管理ワークフローを実行できる
GitHubでの Amazon Q Developer 機能の使用
ソフトウェア開発ワークフローに Amazon Q Developer の機能を活用できます。特殊な開発エージェントを使用すると、新しいアイデアの実装、品質問題のコードのレビュー、ユニットテストによる脆弱性への対応、レガシー Java アプリケーションのモダナイズを行うことができます。
- ソフトウェア開発ワークフローにQの機能を活用できる
クラウド財務管理
コストを理解する
AWS 請求書とアカウントのコストについては、 AWS マネジメントコンソールで Amazon Q にお問い合わせいただけます。Amazon Q では、コストデータの取得、コストの説明、コスト傾向の分析を行うことができます。
- AWS 請求書とアカウントのコストについて問い合わせできる
カスタマーサポート
Amazon Q から直接カスタマーサポートを受ける
Amazon Q は、アカウントのアクティベーション、コストの急増、請求調整、不正イベント、ヘルスイベント、リソースの問題に関する質問に回答できます AWS 。
- 下記の質問について回答できる
- アカウントのアクティベーション
- コストの急増
- 請求調整
- 不正イベント
- ヘルスイベント
- リソースの問題
サポートチケットの作成
Amazon Q は、サポートケースを作成し、AWS のサポート担当者につなげるお手伝いをします。
- サポートチケットを作成できる
チャットアプリケーションの Amazon Q
Slack および Microsoft Teamsアプリケーションで Amazon Q をアクティブ化して、 の構築について質問できます A
- Slack および Microsoft Teamsアプリケーションで Amazon Q をアクティブ化し、AWSの構築に関する質問が可能
料金
下記を基に整理します。
下記に分けられる
- 無料利用枠
- Pro
- 19 USD / 月 / ユーザ
実践
IAM Identity Center でユーザIDを作る
スタンドアロンアカウントで Amazon Q Developer Pro にユーザーをサブスクライブする
Amazon Q
- Amazon Qに移動します
- 「開始する」>「Amazon Q Developer」をクリックします
- 「使用を開始」をクリックします
- ポップアップされるので、「作成」をクリックします
- 対象グループを検索し、「割り当てる」をクリックします
- 追加されました
IAM Identity Center
Qをインストールする
今回は、VS Codeで試します
Visual Studio Code での認証
-
VSCodeを開きます
-
拡張機能をクリックします
-
AWS Toolkitをインストールします
Q Developerを試す
前処理
- プロジェクトを作成します
% gh repo create q-test --public --clone ✓ Created repository XXXX/q-test on github.com https://github.com/XXXX/q-test %
- ワークスペースに追加します
S3バケットの作成
-
CloudFormationテンプレートを新規に作成します(ここでは、s3.yamlとしました)
-
下記のコードが生成されました。なんとなく良さげなコードです
AWSTemplateFormatVersion: '2010-09-09' Description: 'S3 bucket creation template' Resources: S3Bucket: Type: 'AWS::S3::Bucket' Properties: BucketName: !Sub '${AWS::StackName}-bucket' BucketEncryption: ServerSideEncryptionConfiguration: - ServerSideEncryptionByDefault: SSEAlgorithm: AES256 PublicAccessBlockConfiguration: BlockPublicAcls: true BlockPublicPolicy: true IgnorePublicAcls: true RestrictPublicBuckets: true VersioningConfiguration: Status: Enabled Outputs: BucketName: Description: 'S3 Bucket Name' Value: !Ref S3Bucket BucketARN: Description: 'S3 Bucket ARN' Value: !GetAtt S3Bucket.Arn
考察
今回、Qの整理とIAM Identity Centerとの連携を試しました。
次回以降、機能を試してみます。
参考