re:Invent 2024: AWSがAmazon Q Developerで開発・運用を最適化
はじめに
海外の様々な講演を日本語記事に書き起こすことで、隠れた良質な情報をもっと身近なものに。そんなコンセプトで進める本企画で今回取り上げるプレゼンテーションはこちら!
📖 AWS re:Invent 2024 - Optimize your AWS operations with generative AI and Amazon Q Developer (DOP211)
この動画では、AWS上でのソフトウェア開発と運用を支援するGenerative AIアシスタント「Amazon Q Developer」の機能と活用方法について解説しています。Software Development Lifecycleの全段階をサポートする本ツールは、コード補完だけでなく、Infrastructure as Codeのテンプレート生成、運用効率の向上、コスト最適化まで幅広い機能を提供します。特に運用面では、Amazon CloudWatchと連携したOperational Investigationsにより問題解決時間を65-80%短縮できた事例や、DatadogやWizとの統合による監視・セキュリティ管理の効率化についても紹介されています。AWS Management Consoleに組み込まれたチャットインターフェースを通じて、AWSの17年以上の経験に基づく専門家レベルのガイダンスを提供します。
※ 画像をクリックすると、動画中の該当シーンに遷移します。
re:Invent 2024関連の書き起こし記事については、こちらのSpreadsheet に情報をまとめています。合わせてご確認ください!
本編
Amazon Q Developerが変革するAWS運用の未来
AWS の運用を Generative AI と Amazon Q Developer で最適化する、このセッションにご参加いただき、ありがとうございます。私は Svetlana Kolomeyskayal で、Worldwide Specialist Organization の一員として、Amazon Q Developer のアウトバウンド Go-to-Market をリードしています。本日は、Services チームの Principal Product Manager である Ankur Agarwal と一緒に登壇させていただきます。本日のセッションを皆様とご一緒できることを大変嬉しく思います。それでは、始めさせていただきます。
私たちの人生において、仕事や生活へのアプローチを根本から見直す機会をもたらすような、革新的な技術の進歩に立ち会える機会は限られています。もちろん、インターネットの登場、モバイルコンピューティング、クラウドコンピューティング、そして今や Generative AI の時代が到来し、その勢いは今後も衰えることはないでしょう。本日は、Generative AI、特に Amazon Q Developer が、AWS 上でのビルドと運用をどのように再構築し、変革しているかについてお話しさせていただきます。
皆様の一日の業務内容について考えてみてください。AWS 上でクラウドネイティブアプリケーションの開発に携わる Developer かもしれませんし、本番環境のトラブルシューティングを行う Cloud Ops エンジニアかもしれません。あるいは、機械学習プロジェクトに取り組む Data Scientist かもしれません。チームの中に AWS のエキスパートがいて、あなた専属のアシスタントとして、質問に答え、推奨事項やガイダンスを提供し、必要な時にいつでも対応してくれる世界を想像してみてください。これこそが、私たちが Amazon Q Developer で実現しようとしているビジョンなのです。
これから、そのビジョンの基盤についてお話ししていきます。Amazon Q Developer とは何か、Software Development Lifecycle (SDLC) 全体における役割について説明し、そして現在ご利用いただける Amazon Q Developer の機能について詳しく見ていきます。これらの機能をご紹介する際には、皆様にデモをたくさんお見せします。デモは誰もが大好きですからね。最後に、重要なポイントをまとめさせていただきます。
Amazon Q Developerの進化:コーディングアシスタントからSDLC全体のサポートへ
Amazon Q Developer は、データと AI の管理のための高度な機能を備え、Software Development Lifecycle のあらゆる段階でソフトウェアの構築、運用、変革を支援する、最も有能な Generative AI 搭載アシスタントです。 私たちは 2022 年 6 月に Generative AI Coding Assistant の提供を開始し、2023 年 4 月に GA(一般提供)を開始しました。この Generative AI Coding Assistant は、開発フェーズでアプリケーションを構築する際に、開発者のためのインラインコード補完を支援するものでした。
私たちが確認したところ、開発者がアプリケーションの構築や新しいソフトウェアの開発に費やす時間は全体のごく一部に過ぎず、残りの時間はアプリケーションの保守、設計に関するミーティング、古いバージョンのアプリケーションを新しいバージョンや言語、ツールキットに変換するといった作業に費やされています。そこで私たちは、開発フェーズを支援する生成AIコーディングアシスタントから、研究、設計、開発、テスト、運用、そして長年蓄積された技術的負債への対処までを含むソフトウェア開発ライフサイクルの全フェーズをサポートするAmazon Q Developerへと戦略を拡大しました。この1年間、私たちはIDE内だけでなく、AWS Management Consoleにも機能を追加し続け、クラウド環境の構築、運用、最適化をサポートしてきました。
私たちは、すべての技術者がAWSと関わる際に、CLI、AWSドキュメント、IDE、AWS Management Consoleなど、あらゆる場面で最も必要とされる場所でサポートを提供するAWSエキスパートとなることを目指しています。このアプローチは、ソフトウェア開発者を念頭に置いてAmazon Q Developerの旅を始め、ソフトウェア開発ライフサイクルのすべての段階をサポートする他の技術者へと対象を拡大してきた私たちの歩みを反映しています。左側には、開発者に加えて、DevOpsエンジニアやデータサイエンティストなど、ソフトウェア開発ライフサイクルの開発や関与を支援するすべての役割が含まれています。彼らはアプリケーションの構築、テスト、バグ修正、アップグレードを行い、通常は何らかの開発環境IDEで作業を行います。そして、クラウド環境の運用、保守、最適化を支援する他の役割やチームがあります。これらはクラウドエンジニア、セキュリティインフラストラクチャ、Site Reliability Engineerとして、クラウドの運用とインフラストラクチャ管理を支援する人々です。
今週は、最初の分野であるIDEと変換に関する多くのセッションがあります。本日は、主にクラウドの運用とインフラストラクチャ管理に焦点を当てて説明します。クラウドの運用とインフラストラクチャ管理におけるAmazon Q Developerの主な利点は、まず俊敏性の向上です。日々のワークフローを支援し、反復的なタスクと差別化された作業を削減することで、生産性を向上させ、お客様のために革新を行うという最も重要なことに集中できるようになります。次に、本番環境やその他の問題におけるアラートの問題を特定し、調査し、解決するまでの時間を短縮することで、運用の回復力を向上させます。そして、AWSへの投資価値を最大化するためのコストの最適化を行います。
全体として、従業員の満足度を向上させる傾向があります。若手スタッフの場合、メンターとして日々のタスクをサポートし、知識を提供し、自信を持たせ、専門的な成長を加速させる役割を果たします。ベテランの専門家の場合、Amazon Q Developerは、やりたくないと感じる面倒で手作業の多いタスクを削減するのに役立ちます。より自信を持って、ストレスを軽減し、より戦略的なイニシアチブに集中するための時間と余裕を与えてくれます。全体として、従業員の満足度と仕事の満足度を向上させることができます。
AWS Management ConsoleにおけるAmazon Q Developerの主要機能
それでは、AWS Management Console内でのAmazon Q Developerの主要なユースケースについて、まずBuildから見ていきましょう。これについては簡単に説明し、次のセクションでこれらの機能の詳細とデモをご紹介します。Buildから始めると、AWSでの構築とデプロイに関する専門家のガイダンスを得ることができます。クラウドネイティブアプリケーションを構築する際に、AWS Lambda、コンテナサービス、Beanstalkのどれを使用するべきか、またそれぞれを使用する際のオプションについて、専門家のアドバイスを求めることができます。また、今週のre:Inventで発表されたばかりのサービスについても質問することができます。
Amazon Qは、Amazon RedshiftやAmazon SageMakerなど、多くのサービスやエクスペリエンスと統合されています。データサイエンティストやデータエンジニアにとって、作業中に実用的なレコメンデーションを提供し、データスニペットやコードスニペットの作成を支援し、さらにSQLクエリの作成もサポートします。また、Amazon Q Developerは、「Qで診断」機能を通じて、コンソールでの一般的なエラーの特定と解決を支援します。例えば、Lambda関数をデプロイしてエラーが発生した場合、Qに問題解決を依頼することができます。さらに、Infrastructure as Codeの生成もサポートします。 運用フェーズでは、運用効率の向上を支援し、既存のAWSインフラストラクチャに関する知識を提供し、その理解を深めるのに役立ちます。
Amazon Q Developerは、AWSリソースを発見することで、既存のAWSインフラストラクチャの理解を支援します。例えば、AWSアカウントにデプロイされているEC2インスタンスや、デフォルトのVPCが設定されていないインスタンスを特定することができます。また、トラブルシューティングのためのステップバイステップのガイダンスを提供し、運用上の問題の調査と解決を支援します。昨日、本番環境の問題などの根本原因究明を支援する「Operational Investigation」と呼ばれるアシスト型インシデント調査機能が発表されました。これについては、Ankurが詳しく説明とデモを行います。
また、コンソールから直接アクセスできるサードパーティ統合も提供しています。ユーザーは、チャットインターフェースから信頼できるパートナーサービスにアクセスできます。現在、WizとDatadogの統合をサポートしています。「Datadog、今日のアラートは何ですか?」や「Wiz、今日注目すべき上位3つのセキュリティ問題は何ですか?」といった質問を、コンソールを離れることなく行うことができます。Amazon Q Developerは、AWSの請求書の調査もサポートし、AWS請求額に最も貢献している上位5つのサービスは何かといった質問に答え、EC2インスタンスのサイジングアドバイスなど、傾向や最適化の機会の特定を支援します。
それでは、これらの機能についてデモを交えながら詳しく見ていきましょう。まず、ビルドから始めます - AWSでのビルドとデプロイに関する専門家のガイダンスを得ることができます。Amazon Q Developerは、 17年以上の経験から得られた知識をもとに学習した、Well-Architectedアドバイスを含む専門家のアドバイスとベストプラクティスを提供します。コンソールで直接利用できるため、Qボタンをクリックして質問を始めることができます。例えば、「Webアプリケーションを構築するにはどうすればよいですか?どのような選択肢がありますか?」 というように質問すると、追加情報を得られるソースへのリンクとともに、ガイダンスとさまざまな選択肢を提供します。特定の選択肢が気に入って質問がある場合は、さらに掘り下げて会話を続けることができます。
Amazon Q Developer は、Amazon Redshift、AWS Glue、Amazon SageMaker、JupyterLabなど、複数のサービスと統合されており、さらに多くの統合が予定されています。実用的なレコメンデーションを提供します。Amazon Redshiftを使用した大規模データ分析プロジェクトに取り組んでいる場合、SQLクエリの作成や定義、自然言語を使用したデータからのインサイト取得をサポートします。また、Amazon SageMakerを使用した機械学習プロジェクトに取り組んでいる場合は、開始に必要なコードスニペットの作成を支援します。
実際の動作をいくつかご紹介させていただきます。こちらはJupyterLabのデモです。データサイエンティストが一般的にデータの探索やMLモデルのチューニングに使用するAmazon SageMakerのウェブインターフェースです。この例では、社会保障番号などのPII情報を削除するETLコマンドを実行したいと思います。自分でコードを書く代わりに、Amazon Q Developerに手伝ってもらいましょう。まず、Redshiftの従業員テーブルを表示するようお願いします。すると、コードスニペットを提供してくれました。次に、社会保障番号の列を削除する必要があるので、自然言語でその列の削除をお願いします。最後に、結果を特定のS3バケットにアップロードしたいと思います。簡単にコードを作成してくれました。私の指示がシンプルだったので1行のコードが生成されましたが、より複雑な要件の場合は、複数行のコードを生成してくれます。
次に、Lambda関数での新しい体験をご紹介します。Lambda consoleの一部として、ウェブベースのコードエディタを追加しました。ここでAPI Gatewayを使用したLambda関数があり、コードスニペットがあります。新しいコードエディタの体験をご覧いただいています。
GETメソッドはありますが、他のメソッドがいくつか不足しています。そこでAmazon Q Developerに手伝ってもらいましょう。コメントで、deleteメソッドの追加をお願いすると、Q Developerが書き方を教えてくれます。この作業を続けることができ、次はupdateメソッドの追加もお願いしてみましょう。チェックインの準備ができるまで、この作業を続けることができます。Q Developerは、あなたのコーディングスタイル全体を見て、それを模倣しようとします。これまでに開発したコードを参考にしているのです。準備ができたら、デプロイして完了です。このようにQ Developerは作業のスピードアップを実現してくれます。
さらに、Q Developerはコンソールでの一般的なエラーの特定と解決をサポートします。Amazon EC2、Amazon ECS、Amazon S3、AWS Lambda、そして最近ではAWS CloudFormationでも、Diagnose with Qが利用可能になっています。Diagnose with Qは、権限不足、設定の誤り、サービス制限の超過といった一般的なエラーの診断を支援します。ここでAWS CloudFormationのデモをご覧いただきましょう。Lambda関数のスタック、つまりCloudFormationスタックをデプロイしてみます。更新中で、最終的には失敗するでしょう。
通常であれば、エラーを確認し、検索したりファイルを確認したりしてエラーの原因を特定しようとするところです。ここでは、Qにエラーの診断を依頼してみましょう。エラーを分析して、考えられる原因を提示してくれます。この場合、有効なLambdaファイルがないか、zipファイルが正しくないということです。通常なら、エラーの可能性や解決方法を調べる必要がありますが、ここではQに解決をお願いしてみましょう。S3バケットが正しいか、URLが正しいかなど、問題のトラブルシューティングに必要な手順を順を追って説明してくれます。これは非常にシンプルなエラーですが、もちろん複雑なエラーの場合でも、推奨事項を提供してくれます。とても便利ですね。また、必要に応じて、この推奨事項が役立ったかどうかをサービスチームにフィードバックすることもできます。これによってサービスの改善に貢献することができます。
Q Developerはまた、Infrastructure as Codeのテンプレート生成もサポートしています。 Infrastructure as Codeはクラウドリソースの管理とプロビジョニングのベストプラクティスですが、その記述にはエラーが発生しやすいものです。そこでQ Developerが、CDK、Terraform、CloudFormationのテンプレート作成をサポートします。既存のファイルを分析して、その定義内容を理解することもできます。また最近、Console to Codeという新機能をプレビューリリースしました。例えば、AWS Management Consoleを使って学習やソリューションのプロトタイピングを行う場合、Console to Codeはリソースを定義する際のすべてのアクションを記録し、コードを生成してくれます。
実際の例を見てみましょう。ここではデータベースを作成してみます。Console to Codeを呼び出します。記録が開始され、データベースの作成に進みます。これはAuroraデータベースです。プロトタイピングを行っているので開発/テスト環境として、 Eコマースアプリケーション向けのソリューションを作成しています。インスタンス識別子を定義し、設定を構成します。
これらの設定を定義していく中で、選択した項目だけでなく、すべてのデフォルト設定も含めて、すべてのアクションが記録されます。すべてを捕捉し、準備ができたら作成に進みます。この場合は、データベースを作成します。 Console to Codeは私のすべてのアクションを記録し、CDKまたは CloudFormationのコードを生成できます。私はPython開発者なので、CDKをPythonで生成してみます。 CLIコマンドの作成を支援し、CDK Pythonコードの作成もサポートしてくれます。準備ができたら、そのファイルをダウンロードして本番環境のデプロイメントに必要な修正を加えることができ、Infrastructure as Codeの準備が整います。
Amazon Q Developer Operational Investigationsによる運用効率の向上
ここまでビルドの側面について説明してきましたが、ここからはAnkurに運用効率について説明してもらいます。ありがとうございます、Svetlana。皆さん、こんにちは。Amazon Q Developerのプロダクトマネージャーを務めるAnkur Agarwalです。本日は、AWSでの運用体験を変革するさまざまな方法についてお話しできることを嬉しく思います。 AWS Management Consoleで最も一般的に見られるワークフローの1つは、お客様がAWSリソースと対話する場面です。必要な情報にたどり着くまでに、複数回コンソールにアクセスしたり、複数のAPI呼び出しが必要になることがよくあると聞いています。今年初めに、AWSリソースとチャット形式で対話できるようにし、最近ではその機能を拡張して、関連リソースの取得やより複雑な質問への回答が可能になりました。これについてはすぐにデモをお見せします。
例えば、Amazon Qに対してEC2インスタンスの一覧表示を依頼したり、フィルタリング条件を適用したり、更新が必要なS3インスタンスについて質問したりして、そのままコンソール上で会話を続けることができます。また、AWSでの17年以上に及ぶ構築・デプロイメントの経験を活かしたガイド付きエラー解決ワークフローも構築しました。これはAWSアカウントリソースの詳細な診断を実行し、マルチステップ推論エージェントを使用して、お客様の環境に合わせた具体的なエラー解決手順を提供します。お客様から多く報告されているユースケースから始めて、これらの機能を継続的に拡張していく予定です。
昨日リリースした Amazon Q Developer の運用調査機能についてもお話しします。この機能は、問題の検出からトリアージ、そして解決に至るまでの運用上のトラブルシューティングの過程で、皆様をサポートするように設計されています。これらの機能は、オペレーターとしての日々の作業を加速し、問題解決にかかる平均時間を短縮することを目指しています。それでは、これらの機能について詳しく見ていきましょう。まず、AWS リソースの検出について説明します。 簡単な質問から始めてみましょう:EC2 インスタンスを一覧表示してください。今、AWS Management Console を開いています。Amazon Q Developer は私のリージョンが US East 1 であると判断し、すべてのインスタンスを表示しています。ここから追加の質問をするか、インスタンスの詳細ページに移動することができます。
詳細ページに移動して、Amazon Q にこのインスタンスの概要を説明してもらいましょう。 Amazon Q Developer は、私がインスタンスページにいることを認識しているため、私が参照しているインスタンスを自動的に特定し、設定を含むすべての詳細情報とメタデータを提供してくれました。最後に、 JSON 形式でのダウンロードが可能で、さらに権限や関連する Elastic Block Storage ボリュームなどの関連リソースも取得してくれています。このインスタンスがデフォルトの VPC で実行されているかどうか確認してみましょう。企業では通常、それを好まないためです。このインスタンスは確かにデフォルトの VPC で実行されており、次のアクションを取る準備ができています。また、実行中の VPC も正確に取得しており、これはコンソールで確認できます。この会話を続けて、Amazon Q にまとめを依頼したり、リソースについてより詳しい情報を得たりすることができます。では、もう少し複雑なことを試してみて、インスタンスの中にアップグレードが必要なものがあるかどうか、Amazon Q に尋ねてみましょう。
Amazon Q は多くのインスタンスがアップグレードの時期を迎えていることを特定しました。私たちは、これらの情報を取得するためにより深く掘り下げており、皆様に代わって複数の API コールを実行することで、これらの洞察を得るための時間を短縮し、より迅速に処理できるようにしています。 2つのインスタンスが特定され、それらがアップグレードの必要があることを示し、さらにこれらのアップグレードを実行する方法についていくつかの詳細情報も提供してくれています。
Svetlana が先ほど共有したように、Amazon Q はすでにサポート対象のコンソールでエラーが発生した際に表示されるこのボタンで、コンテキストに応じた診断支援を提供しています。それに加えて、コンソール内の Amazon Q Developer チャットインターフェースで特別なトラブルシューティング機能も設計しました。これらの機能は、マルチステップ推論エージェントを使用しています。これらのエージェントは、AWS リソースやアプリケーションなどのログインユーザーのアカウントコンテキストと、過去の会話履歴やコンソール内でのユーザーの位置などのユーザーコンテキストを組み合わせています。これにより、Q Developer は AWS リソースの深い診断を実行し、これらの問題を解決するためのアカウント固有の情報を提供することができます。
現在、Amazon ECS の障害、ネットワークの問題、AWS Glue 関連の障害など、いくつかのユースケースから始めています。これらは私たちが今まで構築してきたものの一部です。ユーザーとしては、右側に表示されるすべてが Q Developer によって管理されています。ユーザーは Amazon Q に直接質問するだけで、Q が自動的に適切なエージェントのセットを見つけて質問に答えます。エージェントが見つからない場合でも、Amazon Q Developer に組み込まれた AWS のベストプラクティスに基づいて、一般的な Q&A の回答を提供します。
ネットワークの問題について見ていきましょう。デバッグするのは常に楽しいですよね?私のアカウントにはいくつかのインスタンスがあります。すべて実行中の状態ですが、これらのインスタンスの一部が互いに通信できていません。これは私のアプリケーションにとって重要な問題です。そこで、なぜインスタンスAがインスタンスCに到達できないのか尋ねてみましょう。Amazon Q Developerは適切なツールとエージェントを選択し、すでに2つのインスタンス、VPC、Security Groupを確認して、適切なポートが開いているかどうかを調べています。検査を実行し、応答を開始しています。インスタンスの詳細が表示されています。
最初の仮説が出てきたようです。インスタンスが異なるVPCにあることが判明し、通信を可能にするためにどのような方法を採用できるかすでに示されています。VPC Peering、Transit Gatewayなどが提案され、VPCはデフォルトで分離されているという事実についても詳しく説明されています。ここで最も興味深い部分は、ハイライトされている箇所です。VPC Peeringは、これらのインスタンスが通信するために必要なアクションの1つに過ぎません。さらに、ルーティングテーブルの更新、適切なセキュリティポートの開放、そしてこれら2つのインスタンス間のNetwork ACLが正しく設定されていることを確認する必要があります。同じレベルの洞察を得るためにどれだけの時間がかかるか考えると - おそらく複数のドキュメントページを確認する必要があるでしょう。私個人としては、解説ビデオを探すことが好きです。インスタンス間の通信方法を見つけるのに多くの時間を費やす可能性があり、それでも一般的なガイダンスしか見つからないかもしれません。このケースでご覧の通り、これらは非常に具体的なステップであり、アクションを取る必要のあるリソースの名前も含まれています。
インシデント調査のデモ:Pet Clinicアプリケーションの問題解決
エラー解決のワークフローは、問題が何であり、AWSリソースへの影響を把握している場合に優れています。昨日、私たちはAWS Management Consoleのどこからでもアプリケーションの運用上の問題を迅速に調査し、修正するのに役立つQ Developer Investigationsもリリースしました。Q Developer Operational Investigationsは、インシデントの調査中にサポートを提供し、関連するメトリクスの探索、アプリケーションの異常の特定、問題の仮説や根本原因の生成を支援し、さらに同じインターフェース内からAWS Systems Managerのrunbookを使用して修正することもできます。これらの調査は、Q Developerのチャットインターフェース、AWSの一元的な監視システムであるAmazon CloudWatch、または複数のAWSサービスに組み込まれたCloudWatchから開始できます。実際にお見せしましょう。
AWSの監視システムと、複数のAWSサービスに組み込まれたCloudWatchウィジェットについてです。Amazon Q Developer InvestigationsとOperational Investigationsの例をいくつか見ていきましょう。まずはチャットインターフェースからです。EC2上にデプロイされた私のアプリケーションの1つについて、顧客から問題があると報告を受けているとしましょう。問題が具体的に何なのかはわかりませんが、まずは全体的なチェックを始めてみましょう。「EC2に何か問題があるか」や「Lambdaのヘルスチェックを実行して」といった質問ができます。
Amazon Qは詳細について尋ねてきましたが、具体的な情報を共有したくない場合は、単に「わからない」と答えることもできます。次のアクションを確認してきました。過去30分間のすべてのログとメトリクスを確認し、EC2メトリクス名前空間の詳細なチェックを実行します。「はい」と答えると、実際にネットワークパケットインメトリクスにいくつかの異常が見つかりました。異常のないメトリクスも表示され、個々のメトリクスページにアクセスできるリンクもそこにあります。
チャットインターフェース内から調査を開始するために使用できるボタンもあります。一般的なヘルスチェックの他に、オペレーターが最も頻繁に遭遇するのがアラームやインシデントなので、Amazon Qがそれらのシナリオにどのように役立つか見ていきましょう。 今日のデモでは、Pet Clinicアプリを使用していくつかのインシデントをお見せします。このアプリケーションは、ペットの飼い主が獣医との健康診断を予約できるものです。これらのサービスは全体的に、Application Load Balancer、フロントエンドサービス、そして顧客管理、予約、支払いのための3つのバックエンドサービスを含み、すべてElastic Kubernetes Service上にデプロイされています。
現在対処している問題は以下の通りです:ユーザーがアプリケーションにアクセスする際に高いレイテンシーを経験しており、一部のユーザーがペットの予約時にエラーを目にしています。 通常、私の対応手順はこのようになります。これは全ての手順を把握している場合の理想的なパターンです。実際にはもっと複雑で、おそらくスライド1枚には収まりきらないでしょう。もし実際の流れを捉えようとすると、まずダッシュボードから始めて、ログを検索し、トレースを確認し、同様の問題を見たことがあるかチームメートにメッセージを送ることになるでしょう。サービスの成熟度とオペレーターの専門知識によっては、サービスの問題の初期仮説に到達するまでにかなりの時間がかかる可能性があります。
これらの情報はすべて異なる場所に存在します。毎回どこを確認すべきか覚えておく必要があり、最近この問題を引き起こすような変更を行っていないことも確かです。では、Amazon Q Developer Operational Investigationsを使用してこれをどのように簡素化できるか見てみましょう。ここでは、「なぜページングを受けているのか?」という広範な質問をしてみます。 これはAWS Management Console内から直接行えます。Amazon Qが支援を申し出て、具体的な情報があれば教えてほしいと尋ねていますが、より広く調査することもできます。ここでは広く調査するようお願いしてみましょう。
Amazon Qが私のためにアラームを取得しました。現在3つのアラームが発生しており、以前にも1つのアラームが発生していたようです。 問題と思われるPetSiteLatencyAlarmを選択してみましょう。 次のアクションを確認しています。アラームが発生した理由を調査し、このアラームについての詳細情報を提供してくれます。
Amazon Qが詳細情報を返してきました。5回中5回のチェックで2000ミリ秒のしきい値に達し、それがこのアラームの原因であることがわかりました。調査を作成してみましょう。ご覧の通り、Amazon Q Developerが自動的に関連するグラフを選択してくれました。調査のタイトルといくつかの詳細を追加して、調査を開始します。 グラフが表示されました。正しく見えますので、開いてみましょう。
Amazon CloudWatch Consoleで全体を表示してみましょう。ご覧の通り、私が追加した観察結果が表示され、これで準備が整いました。では、提案を生成してみましょう。Suggestionsをクリックすると、Amazon Qがバックグラウンドで作業を始め、数分後に提案が生成されます。
提案が生成される間、ペットの予約でユーザーがエラーを経験している別のインシデントを見てみましょう。Amazon Q Developer Operational Investigationsは共同作業が可能な環境なので、チームメイトが作成した調査から始めて、残りのステップをご説明します。
ここでは既存の調査を確認しています。可用性が最近92%まで低下したことが分かります。詳細を見てみましょう。分析が完了しており、提案を確認する準備が整っているようです。Suggestionsボタンをクリックします。Amazon Q Developerは高い確信度で仮説を提示しており、アプリケーションがDynamoDBへの書き込みができず、スロットリングが発生しているのが原因のようです。影響を受けているお客様の概要と、対応策として考えられる手順の概要も示されています。
さらに詳しく調べることもできます。Supporting データを見ると、この仮説を導き出すために使用されたすべてのログとメトリクスが表示されています。関連するグラフもすべて確認できます。私自身、適切な関連グラフを見つけてインシデントチケットに追加するのに多くの時間を費やしてきました。ここでお客様への影響も確認できます。Amazon Qが自動的に検出してくれました。
DynamoDBのグラフを探してみましょう。ここでDynamoDBの書き込みスロットリングイベントが確かに増加していることが分かります。これにより、この仮説がおそらく正しいという確信が持てます。ここから直接この仮説を承認することもできますし、確信が持てない場合は却下することもできます。しかし、この場合は裏付けとなるデータが十分そろっているようです。
それでは承認を進めていきましょう。承認後、提案されたアクションと改善方法を確認します。この問題を解決するために実行される内容の概要が表示されています。ご覧の通り、 AWS Systems Managerのrunbookが選択されており、これを使用してDynamoDBに直接コマンドを実行し、この問題を修正することができます。また、DynamoDBのスロットリングイベントについてより詳しく知るために、ナレッジ記事も表示されています。
では、これを承認してrunbookの作業を開始しましょう。このrunbookを使用すると、このコンソール内から直接DynamoDBテーブルの適切なキャパシティを編集することができます。更新が可能です。テーブル名を入力し、Write Capacity Unitsを更新します。まずは修正してみましょう。20に設定して実行します。このコマンドは現在実行中で進行中の状態です。完了したかどうかを確認するため、数回更新してみましょう。はい、成功しました。DynamoDBテーブルのWrite Capacityが20 WCUに設定されたようです。
これで可用性の低下は解決されるはずです。最新のデータを確認し、更新して可用性が回復しているか見てみましょう。可用性が回復してきており、ペットの情報も再び表示されるようになりました。このような分析を、ログやメトリクスの手動レビューから始めた場合、仮説を立てるまでにかなりの時間がかかる可能性があります。しかし、今回は異なるスタートポイントから始めています。Amazon Qにその作業の多くを任せ、Amazon Q Developerが仮説を立てる際に使用したすべてのサポートデータを確認し、是正措置を講じることができるのです。
これは私たちのユーザーにとって何を意味するのでしょうか?私たちはAmazon内部でこれをテストしており、数ヶ月間使用しているチームの1つがAmazon Kindleチームです。彼らはAmazon Q Developer Operational Investigationの機能を使用することで、問題解決が65-80%速くなったと報告しています。これにより、最高のユーザーエクスペリエンスを提供するために、顧客のニーズにより迅速に対応することができています。
問題解決が3倍速くなることを想像してみてください - お客様の満足度が向上するだけでなく、従業員の満足度も大幅に向上することでしょう。
Amazon Q Developerによるコストとインフラストラクチャの最適化
私たちのお客様は様々なツールを使用しており、コンテキストの切り替えが作業の遅延を引き起こすことを認識しています。この課題に対応するため、私たちはAmazon Qに機能を組み込み、最近DatadogとWizの初めてのプラグインセットをリリースしました。これらのプラグインはAWS Management Consoleから直接有効にでき、これらのサービスについて直接Qに質問することができます。AWS Management Console上で作業しているため、これらのプラグインで管理・保護されているAWSリソースに対して、フォローアップアクションを取ることも可能です。
具体的な使用例をいくつか見てみましょう。これはDatadogプラグインですが、このプラグインを呼び出すには、明示的に「at Datadog」というプラグイン名を指定する必要があります。Datadogに現在のMonitorのリストを表示するよう依頼してみましょう。レスポンスが生成され、すべてのMonitorのリストが表示されました。これらが設定されているリソースの詳細も確認できるので、クリックしてDatadog Consoleで詳細を確認したり、フォローアップアクションを取ったり、要約を依頼したりすることができます。また、Datadogプラグインに対して、インスタンスでのAPMのセットアップ方法について質問したり、すべてのケースのリストを表示するよう依頼することもできます。
Wizでは、主要なセキュリティ問題を確認することができ、影響を受けているリソースがすべて表示されます。Wizに重大度が「Critical」の問題をすべて表示するよう依頼してみましょう。いくつかのCriticalな問題が見つかりました - 一部のVMがパブリックインターネットに露出しており、該当するリソース名も表示されています。Consoleに移動して修正アクションを取ることができ、また毎回手動で要約を書く必要がないよう、これらの問題の要約を依頼することもできます。さらに、AWS Management Console上で高度なフィルタリングを行い、問題の優先順位付けを行って作業を開始することも可能です。
本日は運用面について多く話してきましたが、お客様から簡素化を求められているもう一つの分野が、コスト管理とインフラストラクチャに関する適切なトレードオフの判断です。そのため、私たちはAmazon Q Developerに、自然言語クエリを通じてコストについてより深い洞察を得られる機能を導入しました。Q Developerを使用すると、特定のコストコンポーネントについて質問し、傾向を分析することができます。例えば、予測コストが高すぎる理由や、先月の上位3つの増加要因について質問することができます。Qの最適化機能はコスト分析にとどまらず、お客様の特定のニーズや最適化の目的に基づいて、最適なEC2インスタンスの選択をサポートすることもできます。
これらの機能を詳しく見てみましょう。この例では、過去6ヶ月の月次請求額を表示するようQに依頼できます。請求データを照会し、過去6ヶ月の要約が表示されました。10月と11月にはかなり請求額が上がっているようです。かなり急激な増加が見られる10月から11月の間の増加要因について、フォローアップの質問をすることができます。
Q が主な理由を挙げてくれています。Savings Plans への加入が数件あり、これは前払いの可能性があるので、 あまり気にしないでおきましょう。EC2を含む他のサービスもいくつかあるので、フォローアップの質問をしてみましょう。先月請求された EC2 インスタンスをすべてリストアップするよう Q に依頼して、それらが私のユースケースに本当に適したインスタンスなのかを確認してみましょう。
Q は私たちが使用したすべてのインスタンスのリストを返してきました - かなりの数のようです。私は Squid を使用して Web キャッシュを構築しようとしているので、Q に推奨を求めてみましょう。Squid を使用した Web キャッシュの構築に、Q はどのインスタンスタイプを推奨するでしょうか?そこで、この質問をしてみます。
質問後、Q はいくつかの異なるオプションを提示し、なぜそれらが特定のユースケースに適していると考えるのかの理由を説明してくれました。 これらは計算能力とストレージに最適化されているようで、素晴らしいですね。それらすべてが必要ですが、現時点では、このためのコスト効率の良いソリューションを探しています。そこで、同じ質問をしながら、コスト効率を重視して最適化し、異なるパラメータを与えることができます。
この場合、より限定的なオプションセットが返ってきて、なぜこれらが最も効果的なインスタンスタイプだと考えるのかの理由を説明してくれています。また、トレードオフについても指摘しています。最後の点では、これらのインスタンスはネットワーク帯域幅やストレージが最高というわけではないものの、この特定のユースケースにおいて最もコスト効率の良いソリューションであることを指摘しています。
Amazon Q Developerがもたらす未来:AWSの構築と運用の変革
私たちは Amazon Q Developer を使用してソフトウェア開発ライフサイクル全体を再構築しています。 パーソナライズされた専門家のガイダンスを提供し、AWS 上でのアプリケーションの構築とデプロイの複雑さをナビゲートするのに役立ちます。Q Developer はチャットインターフェースとして利用できますが、単なるチャットボット以上のものです。Lambda コンソールで関数の実行が失敗した場合や、自然言語からコードを生成したい場合など、Amazon Q はそこにいて、必要ないときは背景に溶け込みます。
Amazon Redshiftコンソールやつい最近ローンチされたSageMaker Unified Studioを使用している場合、Amazon Q Developerはそれらに組み込まれています。そして、これらの統合はまだ始まったばかりです。私たちは日常的なワークフローとのさらなる統合を通じて、日々のタスクの効率化を継続的に進めていきます。日常的なワークフローを超えて、Amazon Q DeveloperはAWSの運用上の問題をトラブルシューティングする上で最も有能なアシスタントです。AWSリソースに関する特定の問題に対処する場合でも、インフラストラクチャでアプリケーションのインシデントをトラブルシューティングする場合でも、最適なサポートを提供します。これは、AWSが運用上のトラブルシューティングのために10年以上かけて蓄積してきたナレッジベースを、お客様のAWSアカウントのコンテキストと強力なAIエージェントやアルゴリズムと組み合わせた、最も有能なアシスタントなのです。お客様の中には、Q Developerを使用することで、問題解決にかかる時間が3分の1にまで短縮されたと報告する方々もいます。
Q Developerは、お客様が AWSで構築・運用していく未来の形です。Amazonでは、すべてはお客様から始まり、お客様で終わります。すでにコンソールでQ Developerを使用しているお客様から最近いただいたフィードバックをご紹介します。彼らは、アジリティの向上、意思決定の迅速化、必要な洞察の迅速な取得といったメリットを実感しています。クラウドテクノロジーにあまり詳しくないチームメンバーでも、日々のワークフローを加速させるのに非常に役立っているとの声をいただいています。
AWS Management ConsoleでAmazon Q Developerを今すぐお試しください。コンソールにログインして、右上のQボタンをクリックしてください。また、QRコードをスキャンしてAmazon Q Developerの詳細をご確認いただけます。Svetlanaとわたしはみなさまのユースケースについてお話を伺えることを楽しみにしています。セッション終了後、この部屋の外でご質問にお答えさせていただきます。 モバイルアプリのアンケートから、ぜひフィードバックをお寄せください。お時間をいただき、ありがとうございました。残りの週も素晴らしいものになりますように。
※ こちらの記事は Amazon Bedrock を利用することで全て自動で作成しています。
※ 生成AI記事によるインターネット汚染の懸念を踏まえ、本記事ではセッション動画を情報量をほぼ変化させずに文字と画像に変換することで、できるだけオリジナルコンテンツそのものの価値を維持しつつ、多言語でのAccessibilityやGooglabilityを高められればと考えています。
Discussion