【生成AI】Amazon Qがリリース【re:Invent 2023】
AWS re:Invent 2023で待ちに待った機能がリリースされました!
chat GPT のように質問をするとAIが回答を出してくれます。他にもAWSの様々なサービスに搭載されたり、エンタープライズ用途にも利用できます。
いままでAWS環境構築で詰まったりエラーが解消できないことが山ほどありましたが、このAmazon Qを使うと余計な時間が大幅削減できるかもしれません。
「Amazon Qとしてのサービス」の他にも色々なところに登場しており理解が難しい部分がありますので、Amazon Qについて整理いたしました。
Amazon Qとは
Amazon Q は生成AIを活用した対話型のアシスタントで、AWSアプリケーションの理解を深めたりするだけではなく、開発や設定などの支援もしてくれます。
参考にしているデータはAWSのベストプラクティスや公式のドキュメントですので、精度の高い解答が得られます。
また、IDE で使用するとコードの説明、コード生成、デバッグや最適化などのソフトウェア開発支援もしてくれます。
Amazon Q の料金
プランはビジネス向けの「Amazon Q Business」と、開発者向けの「Amazon Q Builder」が用意されています。
プラン | 費用 |
---|---|
Amazon Q Business | 1アカウントにつき$20/月 |
Amazon Q Builder | 1アカウントにつき$25/月 |
2023年12月現在はプレビュー版として無料公開されています。今のうちに色々と出来る事を検証してみましょう。
Amazon Q はAWSの様々なサービスで登場します。
また、サービスによっては別途費用が掛かるものもあるようです。本記事執筆自伝ではCodeCatalyst との連携は費用が掛かるようです。
現在発表されている関連サービスの一部を紹介いたします。
- マネジメントコンソールで会話型QAが可能(ChatGPTのような機能)
- エラー発生時のトラブルシューティング
- Amazon Q Code TransformでJava 8からJava 17にコードを変換
- Amazon Q generative SQL in Amazon Redshift
- Amazon CodeCatalystと連携し、Amazon Qにタスクをアサイン
- Amazon Q Data integration in AWS Glue
- Amazon QによるEC2インスタンス選定支援
- AWS ChatbotがAmazon Q conversationをサポート
- Amazon Q in the AWS Console Mobile Application
それではこの中からいくつかピックアップして検証してみたものをご紹介
マネジメントコンソールでのAmazon Q
マネジメントコンソールの左側に「Q」のタブが追加されています。
早速触ってみましょう。
クリックすると下記の画面が表示されます。ChatGPTのような画面ですね。
Amazon Q への質問内容サンプルも提示されています。
今回は、以前当ブログでも紹介した「codepipelineとgitlabを連携したCI/CD環境構築」について質問してみました。
how to build CICD pipeline from gitlab
Amazon Q は現在日本語対応はされていません。ただ、上記のようなつたない英語でもしっかり回答してくれます。
Amazon Q の回答は下記の通りでした。マニュアルなどを探しにいかずとも、まとめて手順を示してくれるのでとても便利です!
Here are the steps to build a CICD pipeline from GitLab to deploy to EC2/Lightsail instances:
- Create a GitLab project and commit code changes to a branch (e.g. master)
- Setup a GitLab CI/CD pipeline that builds and tests the code
- Connect the GitLab project to AWS CodePipeline via the GitLab connector
- Create CodePipeline stages for building, testing and deploying
- For the build stage, use CodeBuild to build the code
- For the test stage, use CodeBuild or EC2 instances to run tests
- For the production stage:
- Use CodeDeploy to deploy builds to an EC2/Lightsail instance for the production environment
- Optionally create separate CodeDeploy deployment groups for testing and production environments to deploy different branches to different instances
- CodePipeline will automatically trigger on GitLab pushes/merges to the branch and run the pipeline to build, test and deploy changes.
This allows maintaining a GitLab-based CICD workflow while deploying the application to AWS production infrastructure using services like CodeBuild and CodeDeploy.
Sources
[1] How to deploy workloads in a multicloud environment with AWS developer tools
[2] Setting Up OpenID Connect with GitLab CI/CD to Provide Secure Access to Environments in AWS Accounts
[3] CICD Production and testing enviroments to lightsail or EC2 instance
情報の取得元も提示されています。
AWSの公式ブログだけでなくrepostも参考にしていることがわかります。
エラー発生時のトラブルシューティング
2023年12月2日現在はオレゴンリージョンのみのサービスとなっています。
AWSのマネジメントコンソール上でエラーが表示された際に、そのままAmazon Q がトラブルシューティングのサポートをしてくれる機能です。
下記のサンプルではEC2インスタンスで終了保護を設定したインスタンスに対して、終了コマンドを実行しようとした際のエラーメッセージです。
青枠で囲った部分に注目です。
「Troubleshoot with Amazon Q」というボタンが追加されています。
このボタンを押下することでAmazon Q がエラー内容を解析し、解決方法を提示してくれます。
ボタン押下すると下記の画面になります。
解析結果として、終了保護の設定が言及されています。想定してた通りの内容です。
解決方法を提示して欲しい場合は「Help me resolve」を押下します。そのまんま「解決方法を教えて」という意味ですね。
解決方法として「終了保護」の設定をDisableにするようにと提示されています。
今回はとても簡単なエラー内容の解決方法提示をサポートしてもありましたが、実際の開発現場で遭遇するもっと複雑なエラーにも対応できるのではないでしょうか(願望)
まとめ
2023年のAWS re:Inventで最も注目されたAmazon Q のご紹介でした。
流行りの生成AIですがAWSでの開発現場でのそのメリットを享受することができるようになりましたね。Amazon Q を使いこなすことで、AWSでの開発スピードが爆上がりしていきそうです。
AIに仕事を奪われないように「AIを使いこなすエンジニア」としてのスキルも身につけていきたいですね。