Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

posted at

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

はじめに

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現在プレビュー中のフレキシブルサーバーでは未調査ですが作成時点でのワーニングが出てこないのでもしかしたら?。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?