Amazon Web Services ブログ

AWS Config 高度なクエリ機能の利用を自然言語によるクエリ作成機能で簡素化する

AWS Config高度なクエリ機能は、AWS リソースの設定状態を示すメタデータを取得し、リソースのコンプライアンス状態を特定するための SQL ベースのクエリインターフェースを提供します。AWS Config の高度なクエリは、単一の AWS アカウントおよびリージョン、または AWS Config のアグリゲータを使用して設定されたマルチアカウントとクロスリージョンにおいても使用できます。しかしながら、クエリの作成には SQL の知識および、リソースの設定プロパティとリソース間の関係性の理解が必要であり、お客様のAWS 環境の規模と複雑さが増すにつれ、SQL の作成はより複雑で時間のかかる作業になりがちでした。

そこでこの度、AWS Config では自然言語で書かれたシンプルな命令や質問を使用して AWS リソース、設定、コンプライアンス状態を問い合わせることができる生成 AI を活用した自然言語クエリ (プレビュー提供) 機能をリリースしました。クエリを自然言語の文章、命令、質問として記述できるため、SQL を学習したり、リソースの設定プロパティやリソース間の関係性を理解するための負荷が低減します。

本ブログでは、AWS Config の高度なクエリ機能で自然言語クエリを利用する方法を解説します。シンプルな文から始めて、求める回答を得るためにどのように改善していけば良いかも併せて解説します。

前提条件

本ブログでは、AWS Config の高度なクエリ機能と AWS Config アグリゲータ機能に関する説明は省いています。それらについてはドキュメントをご確認ください。また、本ブログの手順を実施するには、事前にお客様の AWS アカウントにおいて最低 2 つのリージョンで AWS Config の有効化、1 つのリージョンでアグリゲータの設定が必要です。手順中に生成されるクエリをテストするには、AWS Config を有効化およびアグリゲータで集約対象としている各リージョンに、暗号化された Amazon Elastic Block Store (Amazon EBS) ボリュームと暗号化されていない Amazon EBS ボリュームが必要です。Amazon EBS ボリュームを作成するにはこちらのドキュメントを参照してください。

手順

本手順のゴールは、「AWS アカウント内のすべての Amazon EBS ボリュームの暗号化の状態を確認すること」とします。まずは、対象となるすべての Amazon EBS ボリュームを確認し、次に、暗号化された Amazon EBS ボリュームを抽出するためのフィルタリングを行っていきます。

1. AWS マネジメントコンソールから AWS Config の画面に遷移し、左側のナビゲーションペインで、[高度なクエリ] を選択します(図 1)

(訳者注)自然言語クエリプロセッサ機能は、2024 年 3 月現在東京リージョンで提供されていないため、バージニア北部 (us-east-1) もしくはオレゴン (us-west-2) リージョンを選択してください。

図 1 AWS Config – 高度なクエリ

2. [新しいクエリ] を選択します。[クエリスコープ][このアカウントとリージョンのみ] ではなく、アグリゲータ名に変更します。自然言語クエリプロセッサに「List volumes」と入力し、[生成] を選択します。すると右側にクエリが自動的に生成されます。その後、 [エディタに移動] を選択します。(図 2)

図 2 自然言語クエリプロセッサ機能による Amazon EBS ボリュームの一覧を出力するクエリ生成

3. [新しいクエリ] に生成されたクエリがコピーされているので [実行] を選択します。クエリの結果には Amazon EBS ボリュームのリストが含まれていますが、resourceId と resourceType フィールドのみが含まれており、暗号化ステータスは含まれていないことが分かります(図 3)。次のステップでプロンプトを少し改善してみましょう。

図 3 Amazon EBS ボリュームの一覧を出力するクエリの実行結果

4. [自然言語クエリプロセッサ] に戻り、「List EBS volumes. show volume ID, AZ, resource type and encryption status」と入力し、[生成] を再度選択します。(図 4)

図 4 Amazon EBS ボリュームの一覧(AZ と暗号化ステータスの情報を含む)を出力するクエリ生成

5. 生成されたクエリには、暗号化ステータスを表す configuration.encrypted フィールドが含まれていることを確認してください。

6. エディタに入力してクエリを実行するには、[エディタに移動] を選択します。

7. クエリを実行すると Amazon EBS ボリュームと暗号化ステータスがリスト表示されます。(図 5)

図 5 Amazon EBS ボリュームの一覧(AZ と暗号化ステータスの情報を含む)を出力するクエリの実行結果

8. 他にも試してみましょう。[自然言語クエリプロセッサ] に戻り、「List encrypted EBS volumes. show volume ID, AZ, resource type and encryption status」と入力し、[生成] を選択してください。(図 6)

図 6 暗号化された Amazon EBS ボリュームの一覧を出力するクエリ生成

9. [エディタに入力] を選択し、生成されたクエリを実行して、次の結果を確認してください。(図 7)

図 7 暗号化された Amazon EBS ボリュームの一覧を出力するクエリの実行結果

他の生成 AI アプリケーションと同様に、想定の結果が得られる SQL を生成するためには、少し試行錯誤が必要な場合があります。そのため、ぜひニーズに合ったプロンプトを自由に試してみてください。

まとめ

本ブログ記事では、AWS Config で生成 AI ベースの自然言語クエリを活用する方法を紹介しました。この機能は、バージニア北部およびオレゴンリージョンでプレビュー版として利用できます。AWS マネジメントコンソールから AWS Config の高度なクエリよりご利用いただけます。

著者について

Faraz Rehman author photo

Faraz Rehman

Faraz Rehman は、サンフランシスコベイエリアを拠点とする AWS のシニアソリューションアーキテクトです。過去数年間、ISV のお客様が AWS 上でビジネスクリティカルな本番規模のワークロードを構築して運用できるよう支援することに注力してきました。彼の専門分野には、クラウド運用、管理、ガバナンスが含まれます。

Avi Harari author photo

Avi Harari

Avi Harari は AWS のシニアテクニカルアカウントマネージャーで、エンタープライズ顧客の AWS サービスの導入と利用をサポートしています。AWS Cloud Operations コミュニティの一員であり、AWS での設定、コンプライアンス、監査を専門としています。仕事以外では、家族と過ごす時間やミクソロジーを楽しんでいます。

翻訳は Solutions Architect 北川が担当しました。原文はこちらです。