
みなさんこんにちは。 以前、Azure以外の場所にある「サーバー」をAzure Arcに接続する方法について以下のブログ記事でご紹介いたしました。
・Azure Arcに接続してみよう - サーバー(Windows)編
・Azure Arcに接続してみよう - サーバー(Linux)編
今回はAzure Arcに接続したサーバー(Azure Arc対応サーバー)に対するスクリプトの実行についてご紹介したいと思います。
Azure Arc対応サーバーにおけるカスタム スクリプトの実行
Azure Arc対応サーバー上で何らかのスクリプトを実行したい場合、「カスタム スクリプト拡張機能」を利用することで実現可能です。 Azure VMにカスタム スクリプト拡張機能が提供されていますが、Azure Arc対応サーバーにおいてもカスタム スクリプト拡張機能が提供されています。(Azure Arc対応サーバーで利用可能な拡張機能に関してはこちらで確認可能です。)
こちらを確認すると、Azure Arc対応サーバーにおけるカスタム スクリプト拡張機能についてはAzure VM向けの資料を参照するよう誘導されています。
・Windows でのカスタムのスクリプト拡張機能
・Linux 仮想マシンで Azure カスタム スクリプト拡張機能 v2 を使用する
それぞれサポートされているOSなどの説明があります。 特に「ヒント」としてスクリプト内で再起動を行わないようにするといった注意事項や仕様など記載されていますので、スクリプトを作り込む前に内容を確認しておくとよいでしょう。
また、「ヒント」に記載の通り本拡張機能はスクリプトを1回だけ実行するものですので、スクリプトを繰り返し実行することを検討されている場合にはご留意ください。
検証環境
今回は下図のような環境を利用します。 本環境ではオンプレミスに存在するWindows Server 2022ならびにUbuntu 20.04 LTSをAzure Arc対応サーバーとしています。
本環境ではオンプレミスに存在するWindows Server 2022ならびにUbuntu 20.04 LTSをAzure Arc対応サーバーとしています。
 今回はAzure Arc対応サーバーに拡張機能がない状態で検証を始めます。
今回はAzure Arc対応サーバーに拡張機能がない状態で検証を始めます。
 実行するスクリプトの内容は、実行タイミングが確認できるよう日時をテキストファイルに出力させるものにしました。(今回はWindows環境とLinux環境があるため、ps1ファイルとshファイルをそれぞれ用意しました。)
実行するスクリプトの内容は、実行タイミングが確認できるよう日時をテキストファイルに出力させるものにしました。(今回はWindows環境とLinux環境があるため、ps1ファイルとshファイルをそれぞれ用意しました。)
 これらのスクリプトをストレージアカウントにアップロードしておきました。
これらのスクリプトをストレージアカウントにアップロードしておきました。
 
 
拡張機能の追加
カスタム スクリプトを実行するためにAzure Arc対応サーバーに拡張機能を追加します。
Azure Portalで対象のAzure Arc対応サーバーを開き、「設定」配下の「拡張機能」で「追加」をクリックします。
Windows Server
「Custom Script Extension for Windows - Azure Arc」を選択し「次へ」をクリックします。 「Script file (Required)」の「参照」をクリックします。
「Script file (Required)」の「参照」をクリックします。 ストレージアカウント上のファイルを選択する画面に遷移します。 実行したいファイルを選んで「選択」をクリックします。
ストレージアカウント上のファイルを選択する画面に遷移します。 実行したいファイルを選んで「選択」をクリックします。 「次へ」をクリックします。
「次へ」をクリックします。 「作成」をクリックします。 これでAzure Arc対応サーバーに対して拡張機能が導入され、スクリプトが実行されます。
「作成」をクリックします。 これでAzure Arc対応サーバーに対して拡張機能が導入され、スクリプトが実行されます。 完了まで待機します。
完了まで待機します。

Linux
LinuxのAzure Arc対応サーバーも、操作の大まかな流れはWindows Serverの場合と同様です。
主な差異としては拡張機能の名称が「Custom Script Extension for Linux - Azure Arc」であることと 設定画面の「Command」が必須項目になっています。 こちらはスクリプト実行のためのコマンドを入力する欄で、デフォルトでは"sh script.sh"が入力されています。
設定画面の「Command」が必須項目になっています。 こちらはスクリプト実行のためのコマンドを入力する欄で、デフォルトでは"sh script.sh"が入力されています。 必要に応じて変更します。
必要に応じて変更します。
 
 
実行結果の確認
カスタム スクリプト実行結果を確認してみます。
Windows Server
スクリプトが実行され、フォルダ / ファイルが作成されています。
拡張機能として「CustomScriptExtension」が導入されています。
Linux
スクリプトが実行され、ディレクトリ / ファイルが作成されています。 拡張機能として「CustomScriptExtension」が導入されています。
拡張機能として「CustomScriptExtension」が導入されています。
まとめ
今回はAzure Arc対応サーバーにおけるカスタムスクリプトの実行についてご紹介しました。
本機能を利用するにあたってスクリプト実行のタイミングを指定する項目はなく、1回のみスクリプトが実行されたことがお分かり頂けたかと思います。 本ブログ記事の冒頭でご紹介しましたスクリプト作成時のヒントも含め本機能の特性をご確認の上、利用頂くことをおすすめいたします。
SB C&SはAzureを取り扱われているパートナー企業様へ様々なご支援のメニューを用意しております。 メニューの詳細やAzureに関するご相談等につきましては以下の「Azure相談センター」をご確認ください。
Azure相談センター
https://licensecounter.jp/azure/
※ 本ブログ記事は弊社にて把握、確認された内容を基に作成したものであり、製品の動作や仕様について担保・保証するものではありません。サービスや製品の動作、仕様等に関しては、予告なく変更される場合があります。
Azureに関するブログ記事一覧はこちら
著者紹介

SB C&S株式会社
ICT事業本部 技術本部 技術統括部 第2技術部 2課
中原 佳澄
 






