Runbook(Automationアカウント)でSendGridを使ってメール送信
Azure AutomationアカウントでのSendGridを使ってメール送信する手順のご紹介です。
RunbookからAutomationアカウントの資格情報を取得する手順についても記載しています。
例として仮想マシン(Azure VM)のステータスを取得してメール送信するRunbookを作成しています。
※RunbookはPowerShellで作成しています。
※PowerShell 7.2のRunbookを利用しています。
RunbookでにSendGridアカウントを保存
SendGridのアカウント作成やAPI Key発行
Azure上でのSendGridのアカウント発行からAPI Key発行までの手順はこちらの記事で紹介しています
Automationアカウントの作成やRunbookの作成
AutomationアカウントやRunbookの作成手順などについてはこちらで紹介しています。
Automationアカウントの資格情報にAPI Key(SendGrid)を保管
SendGrid送信時に利用するAPI KeyはAutomationアカウントの資格情報に保管します。
※資格情報ではなくKey Vaultのシークレット使用して取得するという方法もあります。
資格情報を設定 | |
Automationアカウントで資格情報のリソースメニューを選択します。 ※ユーザー名は固定です。 |
|
マネージドIDを設定
マネージドIDの設定自体はSendGridを使ったメール送信には直接関連しません。
今回Runbook内で仮想マシンのステータスを取得しています。
必要な権限をAutomationアカウントに割り当てます。
今回はシステム割り当てマネージドIDで閲覧者の権限を割り当てています。
ロールの割り当て | |
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のワークフローで実行する手順についてはこちらで紹介しています。