2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure Database for PostgreSQLでCLIで開発用DB作成するときにはSKU設定忘れずに(2020/12現在)

Posted at

はじめに

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さんは比較的公式が充実していますが、その分、量もかなり多くなりがちです。ある程度理解が進んでからだと探しやすくても、ピンポイントで必要な情報を探し当てるのはある程度の慣れが必要です。

  1. もちろん1年とか3年のReservedにすれば価格差は縮まりますが、前提が開発用のミニマム構成なので比較対象からは外れる。

  2. 逆にBasic構成から汎用目的構成のアップグレードもできません。また、2020/12現在プレビュー中のフレキシブルサーバーでは未調査ですが作成時点でのワーニングが出てこないのでもしかしたら?。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?