Azure Private Link をいじってみたよ

Azure

こんにちは。

今回は、Azure Private Link をいじってみたことのメモです。

 

Private Link とは

ざっくり概要

超絶簡単にいうと、Service Endpoint と同じように、Azure のリソースの接続を Private な接続を行うための設定です。

 

こんな感じで、Private Endpoint を経由して Private Link の先にあるリソースに接続できるっていう感じです。

 

ドキュメントや資料を見た中で、Service Endpoint と Private Link の一番の違いは、Azure の PaaS サービスに接続するのは、Microsoft Backbone Network という部分は一緒なのですが、接続先の IP が、Service Endpoint は Public IP なのに対し、Private Link は Private な IP という部分です。

より、セキュアな環境を構築することができるってことですよね。

 

Microsoft Ignite のセッションの中でもこんなアナウンスがありましたので、ただリソースをプライベートに接続するだけでなく、Azure に構築したサービスに対しても Private に接続できるサービスみたいなので、Service Endpoint の世界観よりは、もっと大きなものになるんだと思います。

 

ちなみに、Microsoft Ignite のセッション動画などは、こちらです。

https://myignite.techcommunity.microsoft.com/sessions/82943?source=sessions

  

ドキュメントなど

Private Link のドキュメントのリンクも貼っておこっと。

What is Azure Private Link?
Overview of Azure Private Link features, architecture, and implementation. Learn how Azure Private Endpoints and Azure P...

 

料金についてのリンクも貼っておきますが、この記事を書いてる 2020 年 2 月 5 日時点ではプレビュー価格です。

Private Link に接続するために必要な、Private Endpoint はデプロイしてる時間単位の課金で、Private Link の部分は、送受信それぞれのデータ量単位となるみたいです。

https://azure.microsoft.com/en-us/pricing/details/private-link/

※2020/02/15追記
Private Link は2020/2/14にGAしました
SLAは以下から確認できます。

https://azure.microsoft.com/en-us/support/legal/sla/private-link/v1_0/

 

Private Link を作成してみた

以下のドキュメントをベースに、Private Link を作ってみました。

Quickstart: Create a private endpoint - Azure portal - Azure Private Link
In this quickstart, learn how to create a private endpoint using the Azure portal.

 

ひとまずは、こんな感じの構成で作ってみました。
疎通確認とかは、ドキュメントと一緒で各 PC に SSMS をインストールして、そこから Private Link 越しに SQL 認証ができるかどうかって感じで。

 

Private Link の作成

他のリソースの作成手順は、省略します。

今回は、Private Link を作るところだけ。

 

今回は、Azure SQLDatabase というリソースに対しての Private Link なので、「Build a private connection to a service」を選びました。

 

Private EndPoint の作成です。Basicのところは、まぁー、普通ですね。

 

この画面で、Private Link でつなぐリソースを選びます。

別のサブスクリプションのリソースも選択できるみたいですね。

 

Private Endpoint を紐づける Vitual Network の設定と、Private DNS の設定です。

 

 

VM以外で作ったリソースはこんな感じ。Private DNS だけ別のリソースグループに作っちゃってたやw

 

VM や VNET の Global Peering の設定とかはすっとばします。

っていうか、spot VM を今回使ったけど、マジ安くて神!!

 

Azure SQLDatabase のネットワークの設定

Azure SQLDatabase のネットワークの設定は、デフォルトの状態です。

つまり、Azure 接続も Client IP 接続も、Virtual Network 接続もできない状態です。

なんも面白くない画面ですがこんな感じ。なんも設定されてないでしょw

 

この状態で、East US 2 に作った別の Virtual Network に作った VM でnslookup をみてみるとこんな感じで、グローバルアドレスが返ってきます。

 

SSMS で認証してもエラーになりますね。

 

動作確認

PC01(同じ SubnetのVM)

Peivate Endpoint と同じ Subnet の VM からの接続です。

まぁーこれは普通につながりますよねw

 

nslookup でプライベートな IP が引けてることが確認できます。

 

SSMS も普通に繋がる

 

ただ、IP 直指定だと怒られます。

 

IP 直指定でダメってなんでなんだろ~??

 

PC02(同じ VNET で違うSubnet)

これも普通に繋がりますよねー。

って、ちゃんと確認したけど、スクショは省略w

 

PC03(Global Peering でつないだ別のVNET)

別リージョンだったり、別VNETのPCからのアクセスは色んな組み方が出来ちゃうと思います。

今回は、Private Endpoint を一カ所で管理してネットワーク的に回すことを考えてみました。

 

で、なんもしないでnslookup をひくと

 

ってことで、何もしないと プライベート IP が引けません。。。。

なので、通信出来ないので、こうしましたw

Private DNS を PC03 のVNETにも適用する感じでw

 

ついでに、ここではいじってない DNS のレコードはこんな感じになってます。

 

ってことで、再度 nslookup を確認するといい感じっすね。

 

これで SSMS もつながりました(画像はめんどいので省略)

 

まとめ

Private なネットワーク接続を行う、Azure Private Link について紹介しました。

今回はリソースをつなげただけのネットワークなお話でしたが、サービスへの接続のところはもうちょっと深い世界観だと思います。

その辺もおいおい紹介したいと思います。

 

最後に、Ignite の資料からですが、Private Link の Road Map がアナウンスされてました。Q1CY20 で App Service に対応するところが興味深いですね。

 

あとこんな感じで、Service Endpoint から Private Link へ Migration の話題も記載されてました。

 

ネットワーク的にも色んな選択肢がまた増えた感じですね。

なんか楽しみなサービスだなー♪

コメント

タイトルとURLをコピーしました