はじめに
Azure CLIはとっても便利ですが、デフォルト設定を信じるのはやめましょう。特に省略されているオプションは気が付きにくいので、az postgres up
で--sku-name
が省略可能なのは、たしかに業務での利便性は高いとは思いますがカジュアルにミニマム環境をつくりたい立場としては罠っぽく感じます。
たとえば?
Azure App Service on Linux で Ruby および Postgres のアプリを構築するチュートリアルに従ってCLIコマンドいくつかだけでさくさくっとAppServiceとPostgresの環境がつくれますが、どうせ最後に消すのだからとデータベースの料金プランの指定はされていません。なのでチュートリアルの環境は、そのまま開発環境として使い続けるのは推奨されません。
az postgres up --resource-group myResourceGroup --location westus --server-name <postgresql-name> --database-name sampledb --admin-user <admin-username> --admin-password <admin-password> --ssl-enforcement Enabled
こちらのコマンドで作成されたPostgresサーバを、2020/12現在の価格を料金計算ツールで比較してみると、単一サーバの場合でBasicの最小構成が ~¥2,779.84/月に対して、設定が省略されたときに作成される汎用目的構成だと~¥14,324.352/月と月額で1万円以上の差1です。
そして当然といえば当然ですが、サーバーの作成後は汎用目的構成からBasic構成への、ダウングレードする変更はできません。2
チェックすべきポイント
GUIでもコンピューティングとストレージの設定でサーバの構成を見直すと思いますが、特にCLIでは--sku-name
オプションが省略可能なので気をつけましょう。2020/12時点では単一サーバ構成では下記がミニマム構成になります。
az postgres up --resource-group myResourceGroup --location westus --server-name <postgresql-name> --database-name sampledb --admin-user <admin-username> --admin-password <admin-password> --sku-name B_Gen5_1 --ssl-enforcement Enabled
最後に
時間に追われていても、オプションを精査するだけでなくドキュメントには目を通すべき(自戒)。
Microsoftさんは比較的公式が充実していますが、その分、量もかなり多くなりがちです。ある程度理解が進んでからだと探しやすくても、ピンポイントで必要な情報を探し当てるのはある程度の慣れが必要です。