Azure 仮想マシンはネットワークから考えようという話

むむっ。どうやら事件はミーティングスペースで起きているようです。
※ TOP画像はお題とは関係ないです。

私の部署では検証環境としてAzureのリソース自由に使わせてもらえる素晴らしい環境になっています。ですが当然予算に限りはあり、その中でやることが増えて行けばAzureのリソースは増えていく一方です。一通り検証が終了したら Azure のリソースを削除してしまうような運用があればいいのでしょうが、個々の都合もありなかかそうはいかないのが実状です。今回はそういった実状から Azure のリソース節約ポイントを模索した結果と、何故Azure 仮想マシンはネットワークから作成しように至ったかを書いていきます。

Public IP アドレスリソース料金に注目

Azure の Public IP アドレスはリソースを作成したその時点から料金が発生します。仮想マシン リソースと異なるのは 仮想マシンは停止( deallocated ) すれば料金は発生しないという点です。Public IP アドレス リソース は 動的や静的で料金も異なりますが、私の部署ではざっと計算するとこんな感じでした。

Azure サブスクリプションの料金が上昇傾向にある中、社内で利用していない仮想マシンを停止するよう通達がでるなど、徐々に締め付けができている中でのこの Public IPの料金は正直無視できません。そしてこれに対して 仮想マシンリソースがどれぐらいあるかというと 229台 で、おそらくほぼほぼ仮想マシンには Public IPリソースが割当られていそうでした。

社内の IaaS の構成

社内の IaaS の構成を調査してみました。殆ど例外なく下記の構成になっていました。つまり仮想マシンを作成しては Public IP を払い出しているという状況です。またここでの Public IP はサービス用と作業用ということで SSHやRemote Desktop にも利用されています。

結論をいってしまうと、1台踏み台サーバーにして Public IP リソースの利用を減らしてくれよっていうことになります。検証・評価環境のため、いちいち踏み台経由のログインは煩わしいという思惑があるのかもわかりません。また、なぜこの様な構成が多いかというと、おそらくは仮想マシンを用意するにあたり、仮想マシン リソースから作成している為です。Azureの ユーザービリティとして仮想マシンを作成する際に仮想ネットワークやセキュリティ グループを作成までいっぺんに作成することができる分、利便性は良いですが、これを繰り返しあるいは各リソース本来の役目を知らないまま進めてしまうとセキュリティリスクにもなりかねません。実際殆どの環境は役割不明なサブネット名 「default」となっていました。

というわけで、Public IP リソース を減らしコストカットしつつ、今一度土台となる仮想ネットワークから仮想マシンを用意しましょう。

土台からつくる仮想マシン

ここでいう「土台」とは ネットワークやストレージを指しますが、以前は仮想マシンのDiskを作成するにはその土台となるストレージ アカウントを用意する方法しか選択できませんでしたが、現在は Managed Disk (管理ディスク) といってストレージ アカウントを用意する必要がなくこちらの方法が推奨されているので、ここでは 仮想ネットワークを「土台」として進めます。

  1. 仮想ネットワークを作成

    例としてここでは subnet を DMZinternal に分類します。

  2. subnet用のセキュリティグループ作成

    セキュリティグループは、subnetまたはネットワークインターフェースに紐付けることができます。踏み台サーバーとして配置するのは DMZ なので必要に応じて SSH や Remote Desktop 用の ポートを開放し、 IP Addressを限定的にするなどセキュリティ対応しましょう。ちなみにセキュリティグループはデフォルト設定で仮想ネットワーク内の通信は許可する設定が入れ込んであります。

  3. ネットワークインターフェースを作成

    ここは飛ばしてもいいのですが、私の場合ここでネットワークインターフェースを作成します。理由は ネットワークインターフェース のリソース名を自分で決めたい為です。サブネットやセキュリティグループは仮想マシン 作成時に既存のものから選択できるのですが、ネットワークインターフェースだけは既存のものから選択できず、かつ自動でリソース名が付与されます。私はリソース名を自分で決めたいので、仮想マシン作成後にネットワークインターフェースを付け替えて、もとのものは削除するという手間を踏んでいます。ついでここで Public IPリソースも作成してしまいます。

  4. 仮想マシンの作成

    最後に用途に応じた仮想マシンを作成し配置するだけです。仮想マシン作成時のネットワークなどのリソースは既存のものを選択できるので選択するだけです。( 3の手順を踏んでいる場合はNICの付け替えをします。)

Azure の各リソース名について悩むようであればこの辺を参考にするとよいです。

Azure リソースの名前付け規則 – Best practices for cloud applications | Microsoft Docs

仮想マシンを作成する際はセキュリティを意識した土台となるネットワークから設計、構築する方法を個人的にはオススメします。

おわり。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

2人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*