みち草

Azure中心にまとめる技術情報ブログ

実行コマンドで Windows VM の Scheduled Events 監視を設定する

はじめに

Microsoft の公式ドキュメントでは、Windows Azure VM で Scheduled Event を監視するためのセットアップが紹介されています。

GitHub に公開されている zip をダウンロード、解凍、スクリプト実行するだけで Application のイベントログに出力してくれるというもので、 自分でスクリプトを作成しなくてよい分非常に簡単です。

しかし、個々の VM に接続してこれを実行していくのは手間がかかるため、実行コマンドを用いてまとめて設定する方法を試しました。

この記事は Windows Azure VM 向けですが、以前に Linux VM で試したのはこちら。

www.michikusayan.com

目次

実行コマンド

実行コマンドとは

実行コマンドは Azure VM の機能であり、エージェント経由でスクリプトを実行することができます。

ログインなしで VM 内でのコマンド実行ができるため、単発でちょっと動かしたいときに便利です。

learn.microsoft.com

コマンドから実行する場合、実行コマンドの種類としてアクション実行コマンドとマネージド実行コマンドがあり、今はマネージド実行コマンド (Set-AzVMRunCommand) を使うのがよいようです。

jpaztech.github.io

実行コマンド用のスクリプト作成

今回はこの機能を使って、次のドキュメントに記載されている手順を実行させます。

learn.microsoft.com

やるのは次のステップ

  1. GitHub から zip をダウンロード
  2. zip を解凍
  3. スクリプトを -Setup で実行
  4. スクリプトを -Start で実行

URL を指定したダウンロードは、Invoke-WebRequest を使えば PowerShell でも可能です。

ダウンロード先は、C:\Temp\AzureScheduledEventsService としており、なければ作成してくれます。

ということで実行コマンドでの設定用スクリプトがこちら。

$folder = "C:\Temp\AzureScheduledEventsService"
$url = "https://github.com/microsoft/AzureScheduledEventsService/archive/master.zip"
$zipPath = Join-Path $folder "master.zip"
$extractRoot = $folder
$scriptPath = Join-Path $folder "AzureScheduledEventsService-master\Powershell\SchService.ps1"
 
if (-not (Test-Path $folder)) {
    New-Item -Path $folder -ItemType Directory | Out-Null
}
 
Invoke-WebRequest -Uri $url -OutFile $zipPath -UseBasicParsing
 
if (Test-Path (Join-Path $folder "AzureScheduledEventsService-master")) {
    Remove-Item -Recurse -Force -Path (Join-Path $folder "AzureScheduledEventsService-master")
}
 
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipPath, $extractRoot)
 
powershell -ExecutionPolicy Bypass -File $scriptPath -Setup
powershell -ExecutionPolicy Bypass -File $scriptPath -Start
 

実行コマンドの利用

上のスクリプトは、Azure ポータルから直接実行することもできます。

その場合、Azure VM のメニューから [操作] - [実行コマンド] を選択して、一番上の [RunPowerShellScript] を選択します。

そしたらエディターにスクリプトを貼り付けて実行すれば OK です。

実行中は [スクリプトを実行しています…] という表示があり、実行ボタンが押せません。

終わると [スクリプト実行が完了しました] に変わり、実行ボタンがまた押せるようになります。

しかし、このスクリプトだと出力が何も返ってこなかったので、その辺は何か状態を確認する一文を入れてもいいかも。

動作確認

これで、解凍した奥底にある ps1 ファイルを使ってセットアップしてくれます。

VM にログインしてみると、期待したパスに展開されています。

イベントログで、スクリプトがスタートしていることも確認できます。

うまくできているか確認するにはメンテナンスを待てないので、Azure ポータルから対象 VM を再起動 or 停止/起動 して再度イベントログを確認しましょう。手動操作でも Scheduled Events に載ります。

イベントが記録された後に StartRequests も記録されているため、保留にせず即時開始する仕組みも含まれているようです。

複数の対象にまとめて適用する

単体の VM に対して設定するのであれば先の手順で問題ありませんが、複数台にまとめて設定したい場合もあるでしょう。

その場合には、PowerShell スクリプトでループさせて実行コマンドを実行するのがよいかと思います。

準備として、2 つのスクリプトを作ります。

  • install-schservice.ps1
  • set-schmonitoring.ps1

install-schservice.ps1 については、先ほどの実行コマンド用スクリプトをそのまま .ps1 として保存します。

set-schmonitoring.ps1 は、VM 毎に実行コマンドをキックするスクリプトです。

Set-AzVMRunCommand を対象 VM に対して 1 台ずつループして実行すればいいので、set-schmonitoring.ps1 はこんな感じです。

$resourceGroup = "RG 名"
$vms = Get-AzVM -ResourceGroupName $resourceGroup |
    Where-Object { $_.StorageProfile.OSDisk.OSType -eq 'Windows' } |
    Select-Object Name, Location

$scriptPath = "install-schservice.ps1 への絶対パス"

foreach ($vm in $vms) {
    Set-AzVMRunCommand `
        -ResourceGroupName $resourceGroup `
        -VMName $vm.Name `
        -Location $vm.Location `
        -RunCommandName 'RunPowerShellScript' `
        -ScriptLocalPath $scriptPath
}

対象 RG 内の Windows VM すべてに対して実行するようになっています。
対象 VM が停止していると失敗するため、実際に利用するのであれば起動状態の確認処理は入れた方がよいです。

これで複数台への設定も簡単です。

終わりに

途中にも書いたとおり、ちょっとしたコマンドを実行するのであればログイン不要な実行コマンドは便利です。設定確認のコマンドとか、設定を変えるコマンドとかとか。

Scheduled Event については、Windows VM であれば公式セットアップファイルが GitHub で提供されていますが、Linux 向けには公開されていません。

Linux VM でも実行コマンドは使えるので、同じようにセットアップするスクリプトとキックするスクリプトを用意すればそっちもいい感じにできそうではありますね。

iPad で Azure VPN P2S 接続を構成する + Fiddler をプロキシにしてテナント制限をかける (テナント制限編)

はじめに

iPad を Azure に P2S 接続させ、Azure 上のプロキシ (Fiddler) でテナント制限を適用した記録です。

そこに至るまでの iPad の設定に手間取ったためまとめておきます。

iPad の P2S 接続は前回書いたので、ここではテナント制限についてです。

www.michikusayan.com

目次

Fiddler

テナント制限を行うために TLS インターセプトや HTTP ヘッダーの挿入などの条件があるため、それを設定します。

learn.microsoft.com

Fiddler の導入と設定

サイトから Fiddler Classic をダウンロード、インストールし、セットアップを行います。

www.telerik.com

Fiddler を起動し、Tools の Options を選択

Connections タブの [Allow remote computers to connect] のチェックをオン

チェック時のポップアップに記載のとおり、Fiddler の再起動が必要

再び Tools のオプションから、HTTPS タブを開き、[Decrypt HTTPS traffic] のチェックをオン

表示されるポップアップは YES を選択

次も Yes

これも Yes

Fiddler の証明書がインストールされます。

続けて、[Ignore server certificate errors (unsafe)] のチェックをオン

これで OK を選択します。

テナント制限

ドキュメントに記載されているようにテナント制限を設定します。

learn.microsoft.com

事前に接続を許可するテナントのドメイン (xxx.onmicrosoft.com など) と、テナント ID を確認しておきます。

Entra ID のこの部分

Fiddler で Rules の Customize Rules を選択

OnBeforeRequest という関数の中、"Allows access to the listed tenants" というコメントの辺りにある Restrict-Access-To-Tenants と Restrict-Access-Context に 許可するテナントのドメインと ID を入れて保存します。

To-Tenant の方がドメイン、Context の方が ID です。

これで Fiddler 側の設定は OK です。

iPad

続いて、iPad 側で Fiddler をプロキシとして利用するための設定を行います。

使用しているのは iPad 第 10 世代、iOS 17.6.1 です。

事前に AVD 接続用の Windows App を入れておきましょう。

Windows App Mobile

Windows App Mobile

  • Microsoft Corporation
  • ビジネス
  • 無料
apps.apple.com

証明書のインストール

Fiddler の冒頭で貼ったドキュメントの前提条件の 1 つとして、「クライアントは TLS 通信でプロキシによって提示される証明書チェーンを信頼する必要がある」というものがあります。

そのために証明書をインストールし信頼します。

iPad 側で構成した P2S を有効化し、Azure に VPN 接続した状態で、Safari から http://:8888 にアクセスします。

すると図のような画面が表示されるため、下部の You can download the "FiddlerRoot certificate" を選択して証明書をダウンロードします。

続いて設定アプリを開き、一般 - VPN とデバイス管理 を開きます。

ダウンロード済みプロファイルとして "DO_NOT_TRUST_FiddlerRoot" が表示されているため、選択してインストールします。端末のパスコードが必要です。

テストが終わったら消しましょう。

プロキシ設定

最後に、Fiddler をプロキシとして使うよう設定します。

設定の Wi-Fi から現在接続しているアクセスポイントを開き、下部にある HTTP プロキシを選択します。

ここに、Fiddler の IP アドレスとポート 8888 を指定すれば完了です。

接続テスト

後は Windows App から接続テストをしてみましょう。

Rule に記載し許可したテナントは接続でき、その他のテナントは図の用に接続が拒否されます。

終わりに

こちらも VPN 接続編と同様にテナント制限自体は特別な方法ではありませんが、iPad 設定で手間取ったので記録として。

iOS に不慣れなこともあり証明書のダウンロードとインストールをどうするかで結構手こずりました。

日付が古いのは試してから書くまでだいぶ空けてしまったから…

Azure の入門書「Azureの知識地図」を出版しました!

はじめに

この度、技術評論社さんからお声がけをいただき、Microsoft Azure の入門書となる「Azureの知識地図」を出版しました!

gihyo.jp

2025 年 5 月 13 日発売のため、絶賛販売中です!

経緯や内容など、より詳しくは共著メンバーの Zenn 記事で紹介されているので、ここでは軽めで…

zenn.dev

zenn.dev

目次

超ざっくり内容

1 章

本書はタイトルのとおり、初めて Azure に触れる、これから Azure を使うといった初心者向けの書籍です。

技術評論社さんのサイトで目次が見られますが、「そもそもクラウドとは」というところから始まり、 契約や課金など、Azure そのものの紹介から始まります。

2 - 4 章

続いて、IaaS、PaaS、運用観点で「何がしたいか」というポイントで区切ってまとめており、NW が作りたいならこの章、AI を使いたいならこの章、と目的別で必要なところが見られるようになっています。

「Azure よくわからないけどこういうことやりたいんだよね…」といった方でも、見るポイントがわかりやすくなっているのではないかと思います。

そのような構成なので、最初から順に読み進めずとも、必要なときに必要な箇所を読んでもらえれば OK です。

5 章

最後には、トレーニングや資格、サポートの使い方、Azure に関する情報収集の方法などをまとめています。

本社は入門書であり、日々更新も入るクラウドにおいて「これを読めばすべてわかる!」というレベルでまとめるのは難しいです。

「公式ドキュメント理解のガイドブック」というキャッチコピーにあるように、本書を通して全体的な概念や基礎知識を抑えていただき、 その先は自分で公式ドキュメントを読みキャッチアップしていけるようにするためのガイドブック、というイメージです。

付録として、著者こだわりの地図が入っています

全体として

初心者が Azure の全体的な基礎知識を身に着けることを目的としているため、とあるサービスの細かい機能解説や設定レベルの話までは含められていません。 ただ、自分でも読んでみると「PaaS のこの辺思ってたより知らないぞ…?」というのが結構あるので、ある程度わかる方でも普段関わりの少ないサービスについて読むと新たな発見があるのではないかと思います。

発売のその後

Amazon のサーバーカテゴリで今 (6/19) もベストセラー 1 位 (一時期クラウド 1 位) だったり、5 月の電子版販売数 2 位だったり、 早速増刷が決定されていたりと、手に取っていただいただけているようで大変ありがたいです。

終わりに

共著者が既に詳しく書いてくれていたこともあり、ここでは超ざっくりとした紹介です。 発売までに大変なところもありましたが、共著者、レビューや書評をいただいた方々など、多くの方々にご協力をいただきここまで来られました。ありがとうございます。

出版社から書籍を出版しそれが本屋さんで売られるというエンジニアとして大変嬉しい機会をいただけたことや、 読んでいただいたみなさんのお役に立てているようで、大変嬉しいです。

タイトルのとおり、皆さんの Azure ライフにおける地図として活用いただけると嬉しいです。

iPad で Azure VPN P2S 接続を構成する + Fiddler をプロキシにしてテナント制限をかける (P2S 接続編)

はじめに

iPad を Azure に P2S 接続させた記録です。

そこに至るまでの iPad の設定に手間取ったためまとめておきます。

接続後、Azure VM に Fiddler を入れたプロキシを用意し、テナント制限をかけるところまで試しました。

テナント制限編はこちら

www.michikusayan.com

目次

参考にした記事

今回の内容は、次の記事を参考にして実現できました。 ほぼそのままでできた部分もあれば、一部変更が必要な箇所もありました。

qiita.com

www.cloudou.net

qiita.com

環境

使用しているデバイス、OS 情報などは次のとおりです。

  • iPad 第 10 世代 (iOS 17.6.1)
  • プロキシ (Fiddler Classic) 用 VM (Windows (Windows Server 2022 Datacenter Azure Edition)
  • 手元の操作端末 (Windows 11 24H2)

準備した Azure 環境はこんな感じです。

  • VNet (10.3.0.0/16)
  • VM 用サブネット (10.3.0.0/24)
  • GatewaySubnet (10.3.250.0/24)
  • プロキシ用 VM (10.3.0.4)
  • VPN ゲートウェイ (VpnGw1, アクティブ/アクティブ、BGP、Key Vault アクセスは無効)

NSG や Bastion など、あまり関係のないリソースは省略しています。

これらを使ってこうやったらできたよ、というのをまとめます。

環境の構築

リソースのデプロイ

VNet、VM、VPN ゲートウェイのデプロイは特に特別なことはないため、ここでは省略します。

強いて挙げれば、ここでは VPN ゲートウェイをデプロイするときの次の 3 つの選択はすべて "無効" を選択しています。

  • アクティブ/アクティブ モードの有効化
  • BGP の構成
  • Key Vault アクセスを有効にする

P2S 用証明書の作成

続いて、P2S の認証で使用する自己署名のルート証明書、クライアント証明書を作成します。次のドキュメントに従います。

learn.microsoft.com

ルート証明書の作成

ドキュメントの「自己署名ルート証明書の作成」の流れでルート証明書を作成します。

特にこだわりがなければ、ドキュメント内のサンプルをそのままコピペ実行で大丈夫です。

管理者権限の PowerShell で実行します。

PowerShell は閉じずに次へ

クライアント証明書の作成

こちらは 「クライアント証明書の生成」に従います。 PowerShell を閉じておらず、こだわりがなければそのまま「例 1 - PowerShell コンソール セッションがまだ開いたまま」のコマンドをコピペして実行すれば OK です。

これで、必要な証明書が作成できました。

証明書のエクスポート

作成した次の 2 つの証明書をエクスポートします。

同じドキュメントの「ルート証明書の公開キー (.cer) のエクスポート」と「クライアント証明書のエクスポート」に従い、それぞれ .cer と .pfx 形式でエクスポートします。

クライアント証明書のエクスポートでは、「秘密キーのエクスポート」を忘れずに!

VPN ゲートウェイの設定

エクスポートした証明書を用いて、VPN ゲートウェイに P2S 用の設定を行います。 ドキュメントで言うと「VPN クライアント アドレス プールを追加する」、「トンネルの種類と認証の種類を指定する」、「ルート証明書の公開キー情報のアップロード」 の箇所に該当します。

やることはシンプル、こんな感じで VPN ゲートウェイの「ポイント対サイトの構成」にアドレスプール、トンネルの種類、エクスポートした証明書の中身のアップロードを行います。

アドレス プールは P2S のクライアントに払い出される IP アドレスとなるため、既存環境と重複しないものを指定します。

トンネルの種類は、ここでは OpenVPN を利用します。

公開証明書データには、エクスポートした証明書 (.cer) をメモ帳で開き、BEGIN と END の間にある値だけをコピペします。 ただし、そのままコピペすると改行が含まれてしまうため、改行を消して 1 行の状態にしてからポータルへ貼り付けましょう。

※ ↓ この辺の改行が含まれてると NG

VPN ゲートウェイの設定はこれで OK です。

VPN 構成ファイルの作成

ここまではよくある P2S 構成と同じですが、ここからカスタマイズしていく必要があります。 参考手順は「iOSデバイスからAzure上の仮想ネットワークにP2S接続する」の 手順 7 以降ですが、先日試した結果だと構成ファイルに少し変更が必要なので、下にまとめています。

pfx からのキー情報取り出し

参考手順と順番が前後しますが、セクション分けしやすいのでこちらを先に行います。

この後、pfx にエクスポートされている秘密鍵などのコピペが必要になりますが、pfx のままでは見られないため、 openssl のコマンドを用いて pfx を txt 形式に変換します。

openssl がインストールされた環境がなくても、Cloud Shell が使えればそこでできます。今はストレージ アカウントも不要なので簡単です。

learn.microsoft.com

Cloud Shell を起動して、[ファイルの管理] - [アップロード] からエクスポートした pfx ファイルをアップロードします。

アップロードした pfx ファイルに対して、次のコマンドを実行します。

openssl pkcs12 -in "<pfx ファイル名>" -nodes -out "profileinfo.txt"

pfx のパスワードを入力すると、変換されたファイルが出力されます。

今度は [ファイルの管理]-[ダウンロード] から profileinfo.txt を指定し、ファイルをダウンロードします。

ここで [ダウンロード] を選択した後、右下のポップアップを選択しないとダウンロードされないので注意

これで、構成ファイル作成の準備ができました。

既存構成ファイルの編集

続いて、 VPN ゲートウェイからクライアントをダウンロードします。

zip でダウンロードされるので解凍して、OpenVPN フォルダにある vpnconfig.ovpn をメモ帳で開き、上から順に変更していきます。

オプション削除

上部に記載されているのは OpenVPN のオプションのようですが、このままだとエラーが出てしまい使えないオプションがありました。 そのため、"persist-key"、"persist-tun"、"log openvpn.log" の 3 行を削除します。

証明書情報コピペ

P2S CA root certificate と Pre Shared Key はそのままで問題なく、その下の P2S client certificate と private key の $xxxx の部分にそれぞれの値を貼り付ける必要があります。

ここで、先ほどの profileinfo.txt を使用します。

profileinfo 内には BEGIN PRIVATE KEY、BEGIN CERTIFICATE、BEGIN CERTIFICATE と 3 つありますが、1 番上の Private Key を vpnconfig.ovpn の $PRIVATEKEY と置き換えます。

置き換え後の vpnconfig

続いて、真ん中の BEGIN CERTIFICATE から END CERTIFICATE までを、vpnconfig.ovpn の $CLIENTCERTIFICATE と置き換えます。

置き換え後の vpnconfig

これで、構成ファイルの作成は完了です。あとはこれを使って、iPad から VPN 接続を行います。

メールなり何なりで、iPad に編集した vpnconfig.ovpn ファイルをわたしておきます。

iPad から VPN 接続を行う

iPad から VPN 接続を行うため、クライアントとして OpenVPN Connect アプリをインストールします。

OpenVPN Connect

OpenVPN Connect

  • OpenVPN Inc.
  • ユーティリティ
  • 無料
apps.apple.com

vpnconfig.ovpn ファイルを OpenVPN Connect で開くと、プロファイル追加画面になるため Add します。

プロファイルを用いて接続を行えば、VPN 接続が構成されます。

接続の確認には、Azure VM にアクセスさせてみたり、 ping を送ってみたりするのがよいでしょう

これで iPad での Azure VPN P2S 接続は完了です!

終わりに

iPad (iOS) での接続は初めてだったのでよくわからないところからスタートしましたが、先人の知恵をお借りして無事接続できました。 config で消さないといけない部分があったりと結構手こずったので、参考になればと思います。

本当は続けて Fiddler を介したテナント制限まで書くつもりだったのですが、なかなか筆が進められず、ここまで作るのにも結構時間がかかってしまいました。 時間がかかって結局何も投稿しないのが一番よくないので、一旦完成した P2S 接続編までの投稿です。 テナント制御編も書きます。

技術書典 17 参加 : Azure でオレオレPrivileged Identity Management を作る

はじめに

今回も、会社の現・元メンバーと一緒に 2024/11/02 から 2024/11/17 開催の技術書典 17 に出展予定のためざっくり紹介

出展内容

Azure MixBook 24H2

techbookfest.org

いつもの MixBook 24H2 にて、第 2 章の「Azure でオレオレPrivileged Identity Management を作る」を書きました。

Privileged Identity Management、通称 PIM はアクセス権限を時間制限付きで付与・剥奪できる機能です。 これを使って普段は権限をあまり与えずにおき、必要な時に昇格する、といったことが可能ですが、 この機能を利用するにはEntra ID Premium 2 ライセンスが必要です。

learn.microsoft.com

今回は、この PIM を使うことなく、同じような時間制限付きのアクセス権付与・剥奪の仕組みを作る方法を紹介しています。

もちろん "完全再現" というわけではなく、PIM では可能な延長など実装していない部分もありますが、 「時間制限付きの権限付与」は実現できているので簡易版みたいなイメージを持ってもらえればいいのかと思います。

他のメンバーのテーマも面白いものがたくさんです (AI を使ってきのこ派たけのこ派の討論をさせてきのこ派を勝たせたい、とか) 物理本は 11/3 現地のみですので気になるものがあればぜひ見てください。

技術書典 16 参加 : PowerShell で 2 か月の Azure 利用料金を比較する

はじめに

今回は開催前に書きたいと思っていたので。

会社のメンバーと一緒に 2024 年 5 月 25 日 から 6 月 9 日開催の技術書典 16 に出展します!ざっくり紹介!

出展内容

Azure MixBook 24H1

techbookfest.org

もっちりソフトのお決まりになっている MixBook 24H1 にて、第 6 章の「PowerShell で 2 か月の Azure 利用料金を比較する」を書きました。

Azure Cost Management では特定の 2 か月の料金を一覧に並べることはできても、比較して差額までは出せません。 ただ、料金がどれくらい上がったのか知りたい、という話はたまに聞きます。

そこで、PowerShell を使ってリソース グループごとの差額を算出し、利用料金がどれくらい増えた or 減ったを確認できるスクリプトを作りました。 (リソース ID 単位での比較もできますが、リソース量によってはとても時間がかかる)

どのようなロジックで作成しているか、スクリプトの中身の解説をしています。

Azure OpenAI、AKS フリート マネージャー、Bicep の関数など、他のメンバーが書いている記事も興味を持つものがあるかも!

Takeoff into Azure

そしてなんと、今回はもう 1 冊!

techbookfest.org

以前の技術書典にて、「(MixBook の内容に) 興味はあるけど Azure わからない」「どこから知ればいいのか」といったお話を受け、 ないなら作ってしまえということで、 Azure 初中級者向けの本を書きました!

そもそものクラウド サービスについてから Azure の基本的なこと、主な IaaS と PaaS、ガバナンス系機能など、これから Azure について知っていきたいと思う方に向けた内容です。

目次や 5/26 当日の物理本など、ぜひ見てください!

技術書典 15 参加 : Azure PowerShell で SR (サポート リクエスト) を作成するための簡易的なGUI を作ってみた

はじめに

前回に続き今更ですが、会社のメンバーと一緒に 2023 年 11 月 11 日 から 11 月 26 日開催の技術書典 15 に出店しました。

SNS では宣伝していたのにせっかくあるブログに書いていなかったので、今更ながら書いたものについてかるーく宣伝です。

書いたもの

techbookfest.org

この本の第 5 章、「Azure PowerShell でサポート リクエストを作成するための簡易的なGUI を作ってみた 」を書きました。

こちらは今まで試したことがなかったのですが、PowerShell で GUI のツールを作ってみました。

コンポーネントを定義して配置して、位置を微調整してと、やっぱり GUI を作るのはなかなか大変です…

作ったツールとしては、タイトルのとおり Azure のサポート リクエストを作成するものです。

Azure ポータルからで十分ではあるのですが、コマンドについて調べたこともあり、作ってみました。 そもそものコマンドを使うのにちょっと制限があるのが難ありですが…

他のメンバーの記事だと、ChatGPT の閉域化や Azure Resource Graph などは気になる方も多いのではないでしょうか。

よかったら読んでみてください。

技術書典 14 参加 : Microsoft Forms を利用して最小権限で Azure リソースをデプロイする

はじめに

今更ですが、会社のメンバーと一緒に 2023 年 5 月 20 日 から 6 月 4 日開催の技術書典 14 に出店しました。

SNS では宣伝していたのにせっかくあるブログに書いていなかったので、今更ながら書いたものについてかるーく宣伝です。 (15 にも参加したのでそっちも書きます。)

書いたもの

techbookfest.org

この本の第 4 章、「Microsoft Forms を利用して最小権限で Azure リソースをデプロイする」を書きました。

内容としては、以前似たようなものを紹介しています。

www.michikusayan.com

この記事では Automation Runbook を手動で実行していました。

これを、Microsoft Froms の回答送信をトリガーとして Logic Apps で受け取り、テンプレート スペックにパラメーターをわたしてデプロイ、ということを実施しているのが 「Microsoft Forms を利用して最小権限で Azure リソースをデプロイする」 内容です。

「プライベート エンドポイントをユーザーに作成させたいが、サブネットの権限は与えたくない」 という話を元にいろいろ考えていた中で Automation + テンプレート スペックに至り、入力が使いづらかったので Forms で試してみました。

メンバーが Azure OpenAI やコスト最適化などの話も書いています。

よかったら読んでみてください。