小ネタ+ブログ移転を挟んで再開です。
初期作成の設定から個別に変更したいものがあると思います。
ARMテンプレートで変更するものもありますが、ここではAzure CLIを使ってMySQLのファイアウォールを変えてみます。
※「Azure CLI(コマンドライン インターフェイス)」はAzureのリソースを操作するコマンドです。
入手はこちら(https://azure.microsoft.com/ja-jp/downloads/)から。
Azure CLIでMySQLのファイアウォールを作成するには、以下のコマンドを実行します。
az mysql server firewall-rule create --resource-group [リソースグループ名] --server-name [MySQLサーバ名] --name [ファイアウォールの規則名] --start-ip-address [許可するIPの開始アドレス] --end-ip-address [許可するIPの終了アドレス]
リリース定義の中にAzure CLIのタスクがありますので、ただ実行すればいいだけなのですが、もう少し頑張って各パラメータをVariablesで指定します。そうすれば、リンクするVariablesを変えることで同じリリース定義を使えるようになります。
まずは、Variablesに変数を追加します。リソースグループ名とMySQLサーバ名は既に定義しているので、ファイアウォール名/許可するIPの開始アドレス/許可するIPの終了アドレスを「ForAzureRelease」に追加します。
(MySQLリソースに対する設定ですが、あくまでAzureに対する内容ですので)
-
- Display name
「Azure CLI」までは事前にセットされています。処理概要を付けたすといいかと思います。 - Azure subscription
今まで使ってきたサブスクリプションを指定します。 - Script Location
「Script path」を指定してスクリプトファイルを呼び出すこともできますが、ここではタスク内に直接インラインで記述するので「Inline script」を指定します。 - Inline Script
実行したいスクリプトを記述します。先ほどのコマンド内容を一部変数に置き換えた内容を指定します。
- Display name
az mysql server firewall-rule create --resource-group $(ResourceGroupName) --server-name $(DBServer) --name $(FirewallName) --start-ip-address $(IPRangeStart) --end-ip-address $(IPRangeEnd)
残りの項目はデフォルトのままで構いません。
変更内容を保存したら、再度リリースを実行します。すると、MySQLのファイアウォール規則に定義が追加されているはずです。
ちなみに、「Azureサービスへのアクセス許可」を変更するとき、画面上だとON/OFFで指定しますが、Azure CLIだと開始IPと終了IPを’0.0.0.0’と指定することでONにできますので、これもタスク化できます。
(ファイアウォールの規則名/開始IP/終了IPを変えることはほとんどないと思いますので、直接指定してしまいます)
次からは、MySQL自身に対してスキーマやテーブルの作成を行っていきます。(つづく)