GA した GitHub Copilot for Azure で Azure リソースを操作させてみた
いわさです。
最近 AI エージェントの機能や MCP サーバーを使ってクラウドリソースを直接 AI によって操作させることが出来るようになりました。
AWS も Azure も MCP サーバーを使うことで一部リソースの操作をさせることが出来るのですが、現状まだ全てのリソースを扱えるわけではありません。
AWS の場合は Amazon Q Developer にuse_aws
ツールが組み込まれているので、MCP サーバーを使わずに AI にクラウドリソースの操作機能が統合されています。
Azure の場合ですが、昨年の Microsoft Ignite でプレビューリリースされていて GitHub Copilot for Azure が先日ちょうど GA していまして、これが使えそうです。
少し触ってみたのでその様子を紹介します。
インストール
Visual Studio Code の拡張機能としてインストールします。
この機能は GitHub Copilo の拡張機能になるので、GitHub Copilot と GitHub Copilot Chat も併せてインストールしておきます。
リソースグループを作成してみる
GitHub Copilot for Azure では@azure
を使うことで、GitHub Copilot for Azure を使うというか、Azure コンテキスト上での操作が出来るようになります。
Azure に関して質問したり、環境のトラブルシューティングやリソースの操作などを行うことが出来ます。
ちなみに明示的に指定しなくても、エージェントに Azure に関する指示をした際には自律的に@azure
を使っていました。
以下は Azure リソースグループの作成を依頼した様子です。
リソースグループの作成を依頼しただけなのですが、かなり慎重に色々なコマンドを実行していますね。あってるのかなこれ。
リソースグループが作成されました。
どうやらリソースデプロイについては Azure CLI を使っての操作になるみたいです。
そのため単純な1リソースのデプロイだけで見ると、GitHub Copilot for Azure を使わずともエージェントモードで Azure CLI の操作は行ってくれるので、そこまで GitHub Copilot for Azure の恩恵がないかもしれません。
CLI のコマンド作成・実行だけでなく、Azure に絡めて Bicep などのテンプレートベースの開発をしたり、Azure 環境情報を調査してドキュメントやスクリプトを作成するとか、複数のエージェントタスクにまたがって Azure をコンテキストとして与える時のほうが真価を発揮しそうです。
GitHub Copilot for Azure 以外だと
ちなみに、他のエージェントを使った場合との違いを確認してみました。
Claude Code の場合だと次のように Azure CLI コマンドが実行されました。
Amazon Q Developer の場合だと次のように Azure CLI を操作するスクリプトが作成されました。
どちらも Azure CLI ベースでのコマンド生成やデプロイは出来るので、やはり前述のとおりもう少し複雑で Azure の専門知識が要求されるタスクを行うと違いが出てきそうです。
さいごに
本日は、先日 GA した GitHub Copilot for Azure で Azure リソースを操作させてみました。
今回は単純なリソースデプロイ作業しかしていないのであまり恩恵を感じられませんでした。
ドキュメントを見る限りだとテンプレートベースでの開発や Azure 上でのトラブルシューティング周りのほうが真価を発揮しそうなので、もう少し他のタスクなどで使い込んでみたいと思います。