Azure Private Linkを使ってExpressRoute(Private Peering)経由でSQL Databaseに接続する
サービスエンドポイントという機能は、vNetに配置されたAzure VMからSQL Databaseへの通信時に、インターネットに出ずにMicrosoftネットワーク内で閉じたアクセス(ルーティング)が可能です。あくまでもルーティングなので、SQL DatabaseにはプライベートIPは付与されません。
Private Linkでは、SQL DatabaseにvNet内のプライベートIPを割り当てることができるため、オンプレからExpress Route(Private Peering)経由で直接アクセスが可能です。
最近Azureの様々なサービスがPrivate Linkに正式対応し始めました。
今回はオンプレからExpress Route(Private Peering)経由でSQL Databaseに繋いでみましょう。
前提
- Express Route(Private Peering)接続されたvNetが存在すること
- SQL Databaseが作成されていること
Private Link(プライベートエンドポイント)を作成する
ここまで入力してプライベートエンドポイントを作成します。
接続確認
自分のPCから
- 自PCから名前解決できているのか確認してみます。
$ ping kwhr-private-sql.database.windows.net
cr2.japaneast1-a.control.database.windows.net [13.78.61.196]に ping を送信しています
- パブリックIPを引いてきてますね。独自DNSに設定すればよいのですが、今回は環境がないため、hostsで上書きしてみます。
$ ping kwhr-private-sql.database.windows.net
kwhr-private-sql.database.windows.net [10.10.2.116]に ping を送信しています
プライベートIPに変わりました。この状態でSSMSで接続したところ問題なく接続できました。
ちなみに、SQL Server側ではパブリックネットワークアクセスは拒否しているため、Private Link経由でアクセスしていることが分かります。
同一vNetから
- 同一vNetの異なるサブネットからはどうでしょうか。
$ ping kwhr-private-sql.database.windows.net
PING kwhr-private-sql.privatelink.database.windows.net (10.10.2.116)
- 今度はhosts設定していませんが、名前解決できています。これは、Azure内のプライベートDNSが効いているからですね。
ここまで入力してプライベートエンドポイントを作成します。
接続確認
自分のPCから
- 自PCから名前解決できているのか確認してみます。
$ ping kwhr-private-sql.database.windows.net
cr2.japaneast1-a.control.database.windows.net [13.78.61.196]に ping を送信しています
- パブリックIPを引いてきてますね。独自DNSに設定すればよいのですが、今回は環境がないため、hostsで上書きしてみます。
$ ping kwhr-private-sql.database.windows.net
kwhr-private-sql.database.windows.net [10.10.2.116]に ping を送信しています
プライベートIPに変わりました。この状態でSSMSで接続したところ問題なく接続できました。
ちなみに、SQL Server側ではパブリックネットワークアクセスは拒否しているため、Private Link経由でアクセスしていることが分かります。
同一vNetから
- 同一vNetの異なるサブネットからはどうでしょうか。
$ ping kwhr-private-sql.database.windows.net
PING kwhr-private-sql.privatelink.database.windows.net (10.10.2.116)
- 今度はhosts設定していませんが、名前解決できています。これは、Azure内のプライベートDNSが効いているからですね。
$ ping kwhr-private-sql.database.windows.net
cr2.japaneast1-a.control.database.windows.net [13.78.61.196]に ping を送信しています
$ ping kwhr-private-sql.database.windows.net
kwhr-private-sql.database.windows.net [10.10.2.116]に ping を送信しています
プライベートIPに変わりました。この状態でSSMSで接続したところ問題なく接続できました。
ちなみに、SQL Server側ではパブリックネットワークアクセスは拒否しているため、Private Link経由でアクセスしていることが分かります。
$ ping kwhr-private-sql.database.windows.net
PING kwhr-private-sql.privatelink.database.windows.net (10.10.2.116)
以上
Author And Source
この問題について(Azure Private Linkを使ってExpressRoute(Private Peering)経由でSQL Databaseに接続する), 我々は、より多くの情報をここで見つけました https://qiita.com/shingo_kawahara/items/ab812350bc42dffac435著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .