自己解決したので、原因記載しておきます。
エラーの原因はやはりプライベートDNSで名前解決できていなかったことでした。
名前解決できていなかった原因は、プライベートDNSゾーンの仮想ネットワークリンクの設定が不足していた(VMが接続しているVNetへのリンクが無かった)ことでした。
以上です。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Azure VM から sqlcmd で Azure SQL Server に接続しようとしましたが、以下のエラーで失敗します。
mssql: login error: Reason: An instance-specific error occurred while establishing a connection to SQL Server. Connection was denied since Deny Public Network Access is set to Yes (https://docs.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access). To connect to this server, use the Private Endpoint from inside your virtual network (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database).
(このメッセージが計2回)
SQL Serverのネットワーク設定は以下です。
・パブリックアクセスは無効
・プライベートエンドポイントは SQL Server のネットワーク設定から作成
・VNetはVMと同じ場所
・プライベートDNS統合を実施
SQL ServerのFQDN名(sqlcmdで指定したサーバ名)にpingすると、プライベートエンドポイントのIPではないものに送信しているように見えます。
プライベートDNSゾーン: privatelink.database.windows.net には Aレコードでサーバ名とプライベートエンドポイントのIPが登録されています。
私の理解では
(1) VMからSQL ServerにFQDN指定してアクセスしようとすると、プライベートDNSで名前解決して、SQL ServerのプライベートエンドポイントのIPアドレスを取得
(2) VMから(1)のIPに向かって送信し、プライベートエンドポイント届いた通信はSQL Serverに転送される
という動きを想定しており、ping先がプライベートエンドポイントのIPではなかったことから(1)で失敗しているのではないかと予想しています。
しかし、そもそも上記の理解が合っているかも自信がない状態のため、調査の方法からしてアドバイス頂けると助かります。
何卒よろしくお願いいたします。
自己解決したので、原因記載しておきます。
エラーの原因はやはりプライベートDNSで名前解決できていなかったことでした。
名前解決できていなかった原因は、プライベートDNSゾーンの仮想ネットワークリンクの設定が不足していた(VMが接続しているVNetへのリンクが無かった)ことでした。
以上です。