Azure AutomationアカウントのRunbookでSendGridを使ったメール送信
Azure AutomationアカウントのRunbookから、SendGridを使用してメールを送信する手順です。
Automationアカウントの資格情報に保管したSendGridのAPI Keyを、Runbookから取得する方法についても確認しています。
仮想マシン(Azure VM)のステータスを取得してメールを送信するRunbook例に手順を確認しています。
※PowerShell 7.2のRunbookを利用しています。
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
RunbookでにSendGridアカウントを保存
SendGridのアカウント作成やAPI Key発行
Azure上でのSendGridのアカウント発行からAPI Key発行までの手順はこちらの記事で紹介しています
Automationアカウントの作成やRunbookの作成
AutomationアカウントやRunbookの作成手順などについてはこちらで紹介しています。
Automationアカウントの資格情報にSendGridのAPI Keyを保管
SendGrid送信時に利用するAPI KeyはAutomationアカウントの資格情報に保管します。
※資格情報ではなくKey Vaultのシークレット使用して取得するという方法もあります。
資格情報を設定 | |
Automationアカウントで資格情報のリソースメニューを選択します。 ※ユーザー名は固定です。 |
![]() |
![]() |
マネージドIDを設定
マネージドIDの設定は、Runbook内で仮想マシンのステータスを取得するために必要です。
必要な権限をAutomationアカウントに割り当てる必要があります。
今回は、システム割り当てマネージドIDに閲覧者の権限を割り当てています。
※マネージドIDの設定自体は、SendGridを使用したメール送信には直接関係ありません。
ロールの割り当て | |
AutomationアカウントのIDのリソースメニューでシステム割り当てマネージドIDを設定します。 閲覧者の権限を割り当てています。 |
![]() |
SendGridを使ってメール送信するRunbookを作成
Runbookを作成します。
資格情報の取得には、Get-AutomationPSCredentialを使用します。
資格情報へのアクセスに使用するその他のコマンドレットとして、Get-AzAutomationCredentialがあります。
メール送信にはSend-MailMessageを使用しています。
SMTPサーバーとしては “smtp.sendgrid.net" を指定しています。
Credentialには、取得した資格情報を設定しています。
※2024年現在ではセキュリティの観点からSend-MailMessageは推奨されてません。
仮想マシンのステータスを取得してメール送信するRunbook | |
|
Runbookをテスト
作成したRunbookをテストします。
テストウィンドウから実行しています。
テストを実行 | |
Runbookでテストウィンドウを実行します。 正常終了している事が確認できます。 宛先に指定したメールアドレスで、仮想マシンのステータスが記載されたメールを確認できました。 |
![]() |
![]() |
最後に
RunbookからSendGridを使ってメール送信する手順を確認してみました。
資格情報にAPI Keyを保管する事で利用できる事が分かりました。
引き続き色々試してみたいと思います。
Logic AppsのワークフローでSendGridを使ってメール送信する手順についてはこちらで紹介しています。
RunbookをLogic Appsのワークフローで実行する手順についてはこちらで紹介しています。