
オンラインサロン開発部 開発グループ アーキテクトチームの高津です。
普段はアーキテクトチームのメンバーとして、システム刷新プロジェクト「neon」の開発に従事しています。
オンラインサロン開発部ではインフラをAWSメインで構築しているため、情報収集のために11月27日から12月1日まで米ラスベガスで開催された「AWS re:Invent 2023」に参加してきました。

私はAI(LLM)関連のサービスに注目して臨みました。 予想通りkeynoteではAI関連の新サービス、アップデートの発表が数多くありました。
その中でも一番大きな発表は、re:invent 2日目のkeynoteで発表された「AmazonQ」ではないでしょうか?

この記事では、AmazonQとは何か?またどのようなことができるのかを簡単に紹介していきます。
AmazonQとは?
AmazonQのドキュメントを翻訳すると次のように書いてあります。
Amazon Q(For AWS Builder Use) は、AWSアプリケーションの理解、構築、拡張、運用を支援するだけでなく、サポート、アーキテクチャ、ベストプラクティス、ドキュメンテーションなど、AWSに関する質問に答えることができる人工知能(AI) を搭載した会話アシスタントです。Amazon Qは、その機能と能力を常に更新しており、必要に応じて人間に接続する機能を含め、お客様の質問に最も文脈に即した実用的な回答を確実に提供します。
IDE で使用する場合、Amazon Q はさらに、コード説明、コード生成、デバッグや最適化などのコード改善を含むソフトウェア開発支援を提供します。
Amazon Qは、基礎モデル(FM)をAPIを通じて利用可能にするフルマネージドサービスであるAmazon Bedrock によって提供され、AWS上の構築を加速するために、より完全で実用的で参照可能な回答を得るために、高品質のAWSコンテンツで補強されています。
簡単に言うとGPTのAWS版のようなもので、以下のような特長があります。
- 内部モデルのトレーニングのためにお客様の情報を一切使用しないようにしていてセキリティがしっかりしている。
- IDEやコンソール画面から手軽に使用できる。
- AWSに最適化されていて、最新のAWSの情報についてもしっかり返答してくれる。
チャット機能

コンソール画面の右側にデフォルトで表示されるようになっていることからAWSが全面に推していきたい意向が分かります。

現在、日本語対応はされておらず質問は英語でしかできません。

英語で質問するとこのように質問に答えてくれます。
質問する際は最大1000文字 までしか入らないので注意が必要です。
トラブルシューティング
2023年12月5日時点では、東京リージョンでトラブルシューティング機能はリリースされていないのでオレゴンリージョンを利用します。
今回はLambdaで意図的にエラーになる関数を作って実行します。

実行すると、右側の青枠で囲った位置に「Troubleshoot with Amazon Q」と出るので押下します。

そうすると、エラーの原因を分析してくれます。
さらに「Help me resolve」を押下すると、具体的な解決案を提示してくれます。

最適なEC2インスタンスタイプを質問する

コンソールからEC2インスタンスを作成するときにインスタンスタイプを選択するセクションで「Get advice」という新しい項目が追加されています。

- Use Case
- Workload type
- Priority
- CPU Manufactures
の4項目を選択するとAmazonQが最適なインスタンスタイプを提案してくれます。
今回は試しに
- Use Case:Web Hosting
- Workload type:Web/App Server
- Priority:Low cost
- CPU Manufactures:指定なし
でアドバイスを受けてみます。

そうするとこのように自動でプロンプトを作成して質問してくれます。

おすすめのインスタンスタイプの候補とそれぞれの説明、情報リソース(ドキュメントのURL)をセットで返してくれます。
もっと詳しく知りたい場合はドキュメントにすぐ飛べるので便利です。
まとめ
いかがでしたでしょうか?
自分は実際にkeynoteを見て今後さまざまなサービスがAmazonQと連携していき、AIでアプリケーションを構築していくようになるのではないかと感じました。
また今回は紹介しませんでしたがJava 8 もしくは Java 11 から Java 17へのアップグレードが実行できるようにするAmazon Q Code Transformation であったりAmazon Redshift クエリエディタにデータから抽出したいことを自然言語で問い合わせすることで、SQLクエリの推奨事項が生成されるAmazon Q generative SQL in Amazon Redshift Query Editor などさまざまなサービスにAmazonQが導入されはじめています。
個人的には初心者が躓きがちなEC2インスタンスのインスタンスタイプをAmazonQに相談出来たり、ネットワークまわりのトラブルシューティングはAWS初心者にはとても優しくて良い機能だと思いました。
まだPreview版で東京リージョンで使える機能は制限されていますが、今後もAmazonQの動向を追っていきたいとも思います。