みなさんこんにちわ。
前回の記事からまたしても期間が開いてしまいました。
仕事が忙しかったのと風邪を引いていたのとでなかなか時間がとれませんでした。
これまでお仕事で色々な方の構築した色々な環境を見てきて、ホントに会社ごとに様々な環境があるもんだな、と思います。
今でも覚えているなかなかパンチのある環境が、社内のローカルIPアドレスが全部他社のグローバルIPアドレスを勝手に利用している、という環境だったり、自社で持っているグローバルIPアドレスと他社のグローバルIPアドレスが混在した環境だったり、いくつものグループ会社を束ねたドメイン環境下で1つOUに全オブジェクトが入っていたり、
「それ運用できます?」
みたいな環境がありました。
会社の大小関係なく、スタートから躓いていてそれを今でも継承している環境が多いのではないかと思います。
こういった環境にならないため、Azure VMやAWS EC2でもたまに見るやってはいけない設定=べからず設定を理由を含めて記載します。
プライベートIPアドレスをOSの機能で固定IPアドレス設定を行う
はい。
これやっちゃいけないべからず設定の代表です。
まず用語の整理ですが、パブリッククラウドでプライベートIPアドレスと呼ばれているIPアドレス群は一般のネットワーク機器ではローカルIPアドレスとも言われているので、プライベートIPアドレスと言われてピンとこない方はローカルIPアドレスとして読み替えてください。
意味は同じです。
公式サイトを確認すると
AWS EC2
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-instance-addressing.html
Azure VM
https://learn.microsoft.com/ja-jp/azure/virtual-network/ip-services/virtual-networks-static-private-ip-arm-pportal
AWSもAzureも共にご覧の通りOSの機能で固定IPアドレス化せず、AWSはAWS Console上で、AzureはAzure Portal上で固定IPアドレス化しています。
なんでプライベートIPアドレスをOSの機能で固定化しちゃダメなの?
もちろん理由があります。
基本的にAzureの仮想ネットワーク(Vnet)もAWSのVPCもDHCP環境です。
なぜDHCPなのか?よりも、OSで固定IPアドレス設定を行ってはいけない根本的な理由から説明します。
OSの機能でプライベートIPアドレスを固定化してはいけない理由
AzureはMicrosoft、AWSはAmazonがクラウドキャリアですが、それぞれ同様にVMのマネージドディスク、EC2のEBS、ともに内部の情報はお客様(クラウド利用者)の情報資産なのでクラウドキャリアが勝手に中身を除くことはできないというポリシーを敷いています。
これは通信の内容に関しても同様で、VnetやVPC内を流れる通信の内容もお客様の許可なく勝手に覗き見ることを自ら禁じています。
当たり前ですね。
ディスクの中身も通信の中身もクラウド利用者の情報資産であるため、例えクラウドキャリアと言えども勝手に覗き見ることができてしまっては情報漏洩になります。
このことから反射効としてOSの設定でプライベートIPアドレスを固定化してしまった場合、その固定化したIPアドレスをクラウドキャリアが判別することはできません。
ですので有事の際、例えばDHCPで配布しているIPアドレスとOSの機能で固定IPアドレスとして使用したIPアドレスが重複した際など、原因の切り分けが難しくなります。
DHCPサーバのログを確認すればIPアドレスの重複は確認できるかもしれませんが、切り分けが複雑になることは間違いないです。
しかしAWS Consoleの機能やAzure Portalの機能でプライベートIPアドレスを固定化しているとAWSサポートやAzureサポートのエンジニアもIPアドレスの指定を確認できます。
DHCP関連の設定がダメってことは、デフォルトゲートウェイの設定やサブネット、DNSもダメなの?
はい。
その通りです。
デフォルトゲートウェイはVnetもVCPもサブネット毎に仮想ルーターが暗黙的に設置されており、このプライベートIPアドレスが指定されていますが、これは実は公開されていません。
ですのでデフォルトゲートウェイの設定も手動で設定することはNGです。
現在指定してうまく動いていたとしても、公開されていない情報を何の根拠があって設定しているのか?また公開されていない情報なのでクラウドキャリアが仕様変更を行っても通知する謂れが無いので、ある日突然通信が途絶えてしまいRDPやSSH接続できなくなったとしても誰にも文句は言えません。
なかなか致命的な状況になり得ますね。
ちなみにDNSの設定はAzureであればVnetのオプション、AWSであればVPCの設定追加でDHCPオプションで設定します。
AWSだとここですね。
Azureはわかりづらいですが、複数のDNSサーバを登録することももちろん可能です。
本日は小ネタですがこの辺で。