道具としてのExcel活用

Azure SQL Database に、突然つながらない

IPアドレスでAzure SQL Database(以下、Azure)にFW設定

当社で実装するシステムでは、大規模データを扱う場合にはExcelだけでは手に負えないため、データをデータベースサーバ(以下、DB)に保存する運用をご提案することがよくあります。

Excelを使っているのにDBが何の関係があるかと思われがちですが、複数名で同時にデータを更新したり、POSや仕訳データのように日常的に大量に発生するデータを扱う場合、DBに取り込んで一元化した方が、管理が容易になり、処理速度も向上するのです。また、DBを使用する場合、コストがかからず手軽に設定できる、クラウド型のAzureを利用するケースが大半です。

こうしたExcel+DB(Azure)の実装の場合、利用者側では社内のFW(ファイアウォール)で指定されたAzureへのIPアドレスフィルタリングを設定しているのですが、最近これが突然繋がらなくなるトラブルが相次ぎました。

調べて見ると、Azure側でIPアドレスを可変運用にし始めたようです。寝耳に水だったので、対応にずいぶん骨が折れました。

Azureとは?

従来は、ハードウェアとしてのサーバを購入し、SQL ServerというMicrosoftのデータベースのしくみを購入し、利用人数に応じたライセンス料を設定し・・・のように、結構面倒な手続と、数百万円コースの費用が発生していました。故障時のバックアップも考えると、費用は単純に倍になります。

ところが、十数年前から、クラウドサービスでデータベース機能を提供されるようになり、ハードウェアの購入やややこしいライセンスの設定も不要になりました。バックアップも勝手にしてくれています。こうしたサービスは、広くクラウドサービスと認識されていますが、厳密にはPaas(Platform as a Service)に分類されるもので、機能だけの提供(Saas)でもOSも含めたインフラの提供(Iaas)でもなく、データベースの役割のみを提供してくれます。ちなみに、初期費用はほとんどかからず(当社の場合、いくばくかの設定料を戴いています)、ランニングコストはせいぜい月2000円~数千円レベルで済みます。

ちなみに、AmazonのAWSも同様のサービスです(Excelからも接続できます)。

このため、当社のような(Excel寄りというやや特殊な立ち位置ですが)開発ベンダーが自由にデータベースの設定を行える他、ユーザの登録や権限の設定などが柔軟にでき、能力が不足したら設定変更のみで速度を向上させられる、等の多くのメリットが享受できるため、近年の実装では多用していました。

 

 

セキュリティ強化されたAzure

このコラムでも度々紹介していますが、情報セキュリティの概念は、「可用性」「完全性」「機密性」が確保されること、とされています。

ところが、一般には「セキュリティ=機密性」の要素が針小棒大に喧伝された結果、昼の弁当の注文メモを記したファイルまでが機密情報扱いされ、パスワードがなければ開けない、と言った状況に繋がっています(本来は、濃淡付けて管理すべきです)。

こうした世の中の流れのせいか、Azureにおいても年々「セキュリティの強化」がなされた結果、接続先のIPアドレスが固定→可変となり、可用性(いつでもコンピュータシステムを利用できること)が損なわれる事態になってしまったことは、なんとも皮肉です。

利用者には、接続できる/できないといった要素しか関係しないかも知れませんが、裏側ではユーザ登録の手順が今まで以上に厳格になっていたり、プログラムを実行させるための権限設定を新たに行わなければならなくなったりと、見えないところで「セキュリティの強化」がなされています。

Microsoftの窓口に問い合わせても、日本語の最新ドキュメントがない事を理由に、わからないと回答されることも多く、実装側には厳しい状況となってきました。

IPアドレス変更への対処方法

さて、苦労してようやくたどり着いた解決方法ですが、リージョン(サーバの配置してある地域)ごとに、一定の枠内でローテーションするのだそうで、こちらのページでその対応表が紹介されています。

※本稿を書いている2023/9/6の、わずか1ヶ月前!の内容です

よって、ファイアウォールのIPアドレスフィルタ設定に、この全てのIPアドレスを予め解放するように設定すれば、今後IPアドレスが変わった場合にも接続ができるようになります。