こんにちは、ACS 事業部の埜下です。
本日、Microsoft Copilot in Azure が GA したというアナウンスがありました!
こちらの記事では Copilot in Azure の概要や使用例を紹介します。
Copilot in Azure とは?
Copilot in Azure は Microsoft Copilot ファミリーの 1 つです。 Copilot in Azure を利用することで Azure で動かすアプリやインフラの設計、運用、最適化、トラブルシューティングを簡素化できます。
通常の Azure だけでなく Azure Arc にも対応しており、Copilot in Azure はクラウドからエッジまで扱うことができます。
Copilot in Azure のドキュメントもありますが、日本語ドキュメントはまだプレビュー時のまま (2025/4/9 時点) のため、英語ドキュメントで確認するのをオススメします。
できること
Copilot in Azure を使うことで自然言語によって Azure リソースに関する情報の参照や、リソースを操作できます。
Copilot in Azure のドキュメントには活用できるシナリオ例として大きく 3 つのジャンルに分けられています。
- Azure 環境を理解する
- Azure サービスでよりスマートに作業する
- コードを記述して最適化する
各ジャンルには具体的なシナリオが掲載されていますので、ぜひご確認ください。
費用
現在、Copilot in Azure の機能を利用するための費用は発生しません (2025/4/9 時点) 。
ただし、今後出てくる新しい機能には追加費用が発生する可能性があると言及されています。
アクセスするリソース
Copilot in Azure がアクセスできるのはユーザーがアクセスできるリソースのみです。
ユーザーの確認後に、ユーザーが実行する権限を持つアクションのみを実行できます。 Azure ロールベースのアクション制御、特権 ID 管理、Azure ポリシー、リソース ロックなど、既存のアクセス管理に Copilot in Azure は従っています。
入力データの扱い
ユーザーが提供するプロンプトと Copilot in Azure の応答は Copilot in Azure のトレーニング、改善に使用されることはありません。
ただし、ユーザーが明示的に同意した場合はデータが収集され、Microsoft 製品とサービスの向上に使用されます。 チャット セッションの数とセッション期間、特定のセッションで使用された Copilot スキル、高評価、低評価、フィードバックなどのユーザー エンゲージメント データを収集します。 この情報は、Microsoft プライバシー ステートメントに規定されているとおりに保持され、使用されます。
アクセス管理
既定ではテナント内のすべてのユーザーが Copilot in Azure を利用できます。
もし Copilot in Azure の利用を制限したい場合はテナントのグローバル管理者がアクセスを管理できます。 また、特定のユーザーまたはグループにだけアクセス権を付与することもできます。
詳しい手順はこちらのドキュメントをご確認ください。
制限
現在、Copilot in Azure には以下の制限があります。
- 24 時間を超える同一会話はできない
- 同時に 10 個を超えるリソースへのアクションはできない
- 一部の回答で一覧表示が上位 5 項目に制限される
- 一部のタスクとクエリでリソース名を使用できない
- 過度な利用時の Copilot in Azure への一時的なアクセス制限
Copilot in Azure を使ってみよう
それでは Copilot in Azure を使ってみましょう。
Copilot in Azure は「Azure Portal」と「Azure mobile app」そして「AI Shell」から利用できます。 Azure Portal の場合は、ポータル上部にある Copilot ボタンを押すと、ポータル右端に Copilot 専用の画面が表示されます。
この画面にプロンプトを入力して Copilot in Azure を操作します。
Copilot in Azure のドキュメントには Copilot in Azure を使うためのサンプル プロンプトや、Copilot in Azure を活用できるシナリオ例が記載されています。 活用シナリオは大きく 3 つのジャンルに分けられています。
- Azure 環境を理解する
- Azure サービスでよりスマートに作業する
- コードを記述して最適化する
その中でも、Copilot in Azure の活用シナリオをいくつか試してみました。
【Azure 環境を理解】コストを分析する
このシナリオでは Azure に構築したリソースなどの情報を Copilot in Azure に聞くことができます。
「過去 6 か月間のコストを集計してください。」と尋ねてみました。 すると、特定サブスクリプションで発生しているコストを Azure サービス単位で表示してくれました。
また、「コスト分析で表示」というリンクを選択してみると、Copilot in Azure を開いている Azure Portal の画面で Cost Management が表示されました。 しかもデフォルトのビューではなく、Copilot in Azure が作ったビューが表示されており、ちゃんとプロンプトで指定した「過去 6 か月間」を反映した期間になっています。
つづけて、サンプルにあわせて「コストを削減するにはどうすればよいですか?」と尋ねてみます。
すると、「特定のリソースを選択して、対応する推奨事項を表示する?」という回答とともに [Yes] と [No] ボタンが表示されました。 [Yes] ボタンを押してみると、Azure Portal に リソース選択画面が表示されました。 サブスクリプション全体ではなく、リソースを絞ってコスト削減を図るようです。
今回は Azure AI Service のリソースを選択しました。 すると、Azure Advisor を元にコスト削減方法をいくつか提案してくれました。
【よりスマートに作業】コマンドを実行する
このシナリオでは Copilot in Azure にリソースを操作するコマンドを実行してもらいます。
まずは仮想マシンを停止してみます。 「◯◯という VM を停止してください。」というプロンプトを渡します。
すると、Copilot in Azure からコマンドが実行されます。 無事に仮想マシンの停止に成功しました。
反対に、仮想マシンの起動もできます。
一方、「リソースグループを削除してください。」というプロンプトに対しては、リソースグループを削除する方法を回答するだけで、Copilot in Azure からリソースグループの削除はできませんでした。 Copilot in Azure を使ったリソースの操作はある程度制限されているようです。
【コードを記述して最適化】Terraform 構成を生成する
このシナリオでは Azure リソースに関する Terraform 構成を Copilot in Azure に作ってもらいます。
今回はサンプルと同じく、Container Apps と Log Analytics 作る構成としています。 先程までのシナリオと異なり、プロンプトは少し複雑になっています。
クイック スタート イメージを使用して、名前が「myApp」の Container Apps リソースの Terraform 構成を作成します。
PerGB2018 SKU の Log Analytics ワークスペースを追加し、保持日数を 31 日に設定します。
Container Apps でシングル リビジョン モードを有効にし、CPU とメモリの制限をそれぞれ 2 と 4 GB に設定します。
また、Container Apps Environment の名前を「awesomeAzureEnv」に設定し、コンテナの名前を「myQuickStartContainer」に設定します。
この内容で Copilot in Azure に問い合わせた結果、Terraform 構成が出力されました。
provider "azurerm" { features {} } resource "azurerm_resource_group" "example" { name = "example-resources" location = "West Europe" } resource "azurerm_log_analytics_workspace" "example" { name = "acctest-01" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name sku = "PerGB2018" retention_in_days = 31 } resource "azurerm_container_app_environment" "example" { name = "awesomeAzureEnv" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name log_analytics_workspace_id = azurerm_log_analytics_workspace.example.id } resource "azurerm_container_app" "example" { name = "myapp" container_app_environment_id = azurerm_container_app_environment.example.id resource_group_name = azurerm_resource_group.example.name revision_mode = "Single" template { container { name = "myquickstartcontainer" image = "mcr.microsoft.com/k8se/quickstart:latest" cpu = 2 memory = "4Gi" } } }
出力された Terraform 構成が正しいかどうかは実際に Terraform Plan を試す、レビューする等のチェックが必要です。
今回は手直しなく Azure リソースを作成できる Terraform 構成になっていました。 リソース間の参照も適切に設定されていていい感じの Terraform 構成ですね。
一方、出力された Terraform 構成を Copilot in Azure から実行することはできません。 自動的にストレージアカウントにリモートステートを作ってくれる、みたいなことは対象外のようです。
まとめ
Microsoft Copilot in Azure が GA されました。
- Copilot in Azure によって自然言語で Azure リソースを扱える
- 無料で全ユーザーが Copilot in Azure を利用可能 (2025/4/9 時点)
- ドキュメントに Copilot in Azure の利用シナリオが掲載
ぜひ Copilot in Azure を活用して、素敵な Azure ライフをお過ごしください。