クラウドサーバ Microsoft Azure はもう使われていますか?
私はAzure を使っているのですが無料期間1年間が過ぎてしまい、
ついに1月分から請求発生。(ちょっと悲しい。。)
当時、構築ログを取っていたのですが記事にしていなかったので、構築時に検討したこと、ミスったことも記録しておこうと思います。
目次
Azureを選択した理由
要件
1.社内複数拠点で使えるデータベースが必要
2.EXCEL出力が必須機能 → Windows PCで使用するアプリ → ACCESSでの開発(開発コストや拡張性を考えた選択)
3.リモートで開発が行えること
4.クラウドデータベースであっても、接続方式がセキュアに確立されていること
5.費用面でなるべく安価であること
6.データベースは、ストアド等のプログラムが容易にできるもの。
これらの要件を満たすものとして、データベースは、クラウド環境で SQL Serverを使う方式を選びました。
一般のクラウドサーバのサービスでは、サーバのOSを選択するところから始まります。
Windows Server を選択し、SQL Serverをインストールしてとなると、費用は月額8000円程度、という試算でした。
オンプレミス開発の場合でも、サーバ機の購入費及び、SQL Serverの費用、VPN設定等、こちらも初期費用が掛かります。
SQL Server - ACCESSの開発も問題なく行える環境で、かつ、クラウドサーバとなると、
Microsoft Azure SQL Database を使う、という選択となりました。
Azureを実際に使ってみた
1.アカウント作成前に、どの構成、どのプランで申込するかを検討しました。
構築した環境、プランはこちら。
- Single Database
- DTU 購入モデル、Standard レベル, S0: 10 DTU
- DB あたり 250 GB のストレージ
- 1 データベース x 730 Hours, 5 GB 保有
購入モデル:vCore/DTU ベース
vCore
仮想コアベースの購入モデルは、柔軟性、管理性、個別のリソース使用の透明性を求めるお客様に最適です。このモデルでは、ワークロードのニーズに基づいてコンピューティング、メモリ、ストレージのスケーリングを行えます。また、オンプレミスのワークロード要件をクラウドに容易に移行できます。
DTU ベース
DTU ベースの SQL 購入モデルでは、パフォーマンス レベルに応じて、リソースの固定セットがデータベースまたはエラスティック プールに割り当てられます。Basic、Standard、Premium。このモデルは、毎月固定の料金を支払えばよいシンプルさを好むお客様に最適で、事前構成済みのオプションのシンプルさが望ましい場合に最適です。
→ 今回はデータベースのみで使いたいので、DTUベースで充分と判断
サービス レベル:Basic/Standard/Premium
Standard
DTU 付属ストレージ 最大ストレージ容量 DTU と付属ストレージの料金 1 S0 10 250 GB 250 GB ~¥1,648.4860/月 S1 20 250 GB 250 GB ~¥3,296.6314/月 S2 50 250 GB 250 GB ~¥8,244.1334/月 S3 100 250 GB 1 TB ~¥16,483.8380/月 S4 200 250 GB 1 TB ~¥32,969.7200/月 S6 400 250 GB 1 TB ~¥65,939.4401/月 S7 800 250 GB 1 TB ~¥131,878.8800/月 S9 1,600 250 GB 1 TB ~¥263,757.7600/月 S12 3,000 250 GB 1 TB ~¥494,545.8000/月 1 付属ストレージの容量のほかにプロビジョニングされた超過ストレージの費用が加算されます。こちらの費用の算出方法については、FAQ をご覧ください。 Premium
Premium – 可用性に優れダウンタイムがゼロの IO 集中型運用環境ワークロード向き。Premium には耐障害性があり、99.99% の可用性 SLA により読み取りおよび書き込みの可用性が自動で処理されます。
1 1 TB を超える Premium レベルのストレージは、次を除くすべてのリージョンでご利用いただけます: 米国中西部, US DoD 中部, ドイツ中部 (ソブリン), US DoD 東部, US Gov テキサス, US Gov アリゾナ, US Gov バージニア, ドイツ北東部 (ソブリン)。利用可能なリージョンは今後拡大予定です。これらのリージョンでは、Premium レベルのストレージの最大容量は 1 TB です。
2 付属ストレージの容量のほかにプロビジョニングされた超過ストレージの費用が加算されます。こちらの費用の算出方法については、FAQ をご覧ください。
リージョン
サーバの置いている地域を決めます。
地域によっても値段が違うんですよね。
貨幣単位、月単位等を決めて、複数の見積をすることをお勧めします。
今回の要件を満たしてかつ、ミニマムな環境となると、この環境となり、月額約1800円程度という試算でした。
- Single Database
- DTU 購入モデル、Standard レベル, S0: 10 DTU
- DB あたり 250 GB のストレージ
- 1 データベース x 730 Hours, 5 GB 保有
2.アカウント作成から60日無料というのが付いてきました。最初に検証するべきことを一気にやりました。
SQL Database Databaseを作成する ヘルプ
最初に検証したこと
・課金方法の確認(クレジットカード決済しかダメなのか、請求書払いができるのか)
・Microsoftアカウントの紐づき方の確認
・データベースを作る手順の確認(リソース グループ → SQL Server → SQL データベース → サブスクリプション )
・「リージョン」を決める(どのエリアのサーバか)できるだけ近い地域のほうが速度は速いかなと思い、「東アジア」を選択
・「SSMS」(Microsoft SQL Manegement Studio)とSQL Database対応のドライバーのインストール
・「Azure ポータル」でファイアウォールの設定
・テストテーブル作成
・ACCESS VBAでの接続確認、リンクテーブルの確認、選択系、更新系のSQLで正常動作するか確認
・「従量課金」について、どの程度の件数・トラフィックで追加料金になるかの検証
3.無料期間が近づくと、メールが届きました。「アップグレード」すれば、また12ヶ月無料で使えると。
お客様の無料試用版サブスクリプションの有
効期限まであと 1 日です お客様の無料クレジットの期限は明日までです
Azure 無料アカウントで現在使用している製品に引き続きアクセスできるようにするには、従量課金サブスクリプションにアップグレードします。アップグレードしていただくと、12 か月間無料の人気の製品と、25 を超えるいつでも無料の製品を使用して、開発を継続していただけます。有償分については、使用した分だけを月ごとに支払います。いつでもキャンセル可能です。
アップグレード >
4.「アップグレード」するときには、クレジットカードが必要でした。(課金されるのは1年後だけど)
このタイミングで支払方法・クレジットカード決済の情報を入力しないと進めませんでした。
クライアント企業さんは請求書払いを選択できればしたい、という要望がありましたので、依頼してみたのですが、「請求書払い」を選択していても、クレジットカード情報の入力が必要であり、さらに「予審」に2週間くらいかかる。
また、Microsoft製品のビジネスアカウントを持っているかどうか、過去Microsoft製品を適切に購入して使っているか等と、何度も電話連絡と調査して報告が必要というような状況で、「予審」を通すのに労力がかかりすぎるということで、クレジットカード決済にしていただきました。
5.ファイアウォールで接続制限されているので安心
別の環境からAzure SQL Databaseへ接続する方式は、ファイアウォールで接続制限ができ、これはとても安心ですね。
基本制限がかかっているので、一部の環境にのみ解放するという形です。
6.12ヶ月無料サービス期間過ぎたら、当たり前ですが、請求きましたー。。
お金、これから払っていきます。
実際使っていただいている環境でも、追加料金は発生しないようなペースで使っています。
Azure SQL Database で日本語が文字化け(構築時の設定ミス)
構築したときは、設定ミスで日本語入力できないとかトラブルありましたが、なんとか乗り越えて・・・。(技術系ブログに助けられた。)
1年以上前構築メモを残していたのに、ブログにするのがめんどくさすぎてできなかった私ですが、当時の衝撃の文字化け画像はこちら。
SSMS(SQL Server Manegement Studio)にて、普通に、「株式会社テスト」とかって打っているだけなのに、「?????」と登録される。
Insert文で書いても、同じ。
最初は、何がなんだか。。見当もつかず。。
SQL Database でnvarchar 項目に入れた日本語が文字化けする原因は、照合順序 のせいでした。
SQL データベースの作成画面はシンプルで、さほど難しくはありません。
サブスクリプションは最初は、「無料試用版」を選択。
リソースグループは作っていない場合は、名前をつけないといけないので、指示通りに作ります。
照合順序は、デフォルトのまま進むと、日本語文字化けします!!
私が作った時のデフォルトは「SQL_Latin1_General_CP1_CI_AS 」となっていました。
照合順序は「Japanese_CS_AS_KS_WS」にしよう!
ググりまくって、お世話になったブログ
ありがとうございました!
Azureで課金されるようになると、もっと有効利用しようと思えます。
1年間無料で使えてラッキーだったんだけど、いざお金取られるとなると、クラウドなのでサーバ機とSQL Server買うことを思ったら全然安いんですけど、もっと有効利用しなくちゃな、と思い始めました。
Azureは他にもいろんなサービスあるし、チュートリアルもついているんだけど、読み切れない数。
新しい案件の時には、Azureを考慮して動けるように、頭のすみに置いておこう。
2020年11月には.NET5もリリース!
.NET5のことは、まだ何も理解しておりませんが、気にしておきたいです。
https://devblogs.microsoft.com/dotnet/introducing-net-5/