Express(node.js)とMySQLを使用したREST APIサービスをAzureに展開してみる:MySQLリソース設定変更

小ネタ+ブログ移転を挟んで再開です。

初期作成の設定から個別に変更したいものがあると思います。
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
      実行したいスクリプトを記述します。先ほどのコマンド内容を一部変数に置き換えた内容を指定します。
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自身に対してスキーマやテーブルの作成を行っていきます。(つづく)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください