Tech Room 兎丸の技術部屋

クラウドエンジニアによる技術ノート・日記

Request originated from client IP * through public internet. This is blocked by your Cosmos DB account firewall settings.

背景:

サービス エンドポイントもしくはプライベート エンドポイント経由で Azure Cosmos アカウントに接続する際に発生したエラーです。

KeyWord

Azure Cosmos DB

原因:

Azure Cosmos アカウントのファイアウォールはインターネットからアクセスをブロックしました。

解決方法

  1. ファイアウォール設定を見直し、接続元の Vnet からのアクセスを許可します。
  2. プライベート エンドポイントを使っている場合、nslookup コマンドで全てのプライベート エンドポイントへの名前解決ができていることを確認します。 (注:DNS の代わりに Hosts ファイルを使っている場合、各エンドポイントのレコードが Hosts ファイルに追加されていることを確認します。)
# グローバル エンドポイント
$ nslookup {databaseaccount}.azure.com
Server:     168.63.129.16
Address:    168.63.129.16#53

Non-authoritative answer:
{databaseaccount}.documents.azure.com   canonical name = {databaseaccount}.privatelink.documents.azure.com.
Name:   {databaseaccount}.privatelink.documents.azure.com
Address: 10.0.0.5 
#リージョン エンドポイント
$ nslookup {databaseaccount}-{region}.azure.com
Server:     168.63.129.16
Address:    168.63.129.16#53

Non-authoritative answer:
{databaseaccount}-{region}.documents.azure.com  canonical name = {databaseaccount}-{region}.privatelink.documents.azure.com.
 Name:  {databaseaccount}-{region}.privatelink.documents.azure.com
Address: 10.0.0.6