Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure SQL Database への接続アーキテクチャおよび Azure内部/外部から接続する際のファイアウォール設定に関する注意点について

Azure SQL Database への接続アーキテクチャおよび Azure内部/外部から接続する際のファイアウォール設定に関する注意点について

Nobushiro Takahara

December 11, 2020
Tweet

More Decks by Nobushiro Takahara

Other Decks in Design

Transcript

  1. 1. Azure SQL Databaseのアーキテクチャ 2. Azure SQL Databaseへの接続アーキテクチャ (Azure 外部)

    - Azure 外部から接続する際のファイアウォール設定に関する注意点について 3. Azure SQL Databaseへの接続アーキテクチャ (Azure 内部) - Azure 内部から接続する際のファイアウォール設定に関する注意点について 4. 最後に
  2. 1. Azure SQL Databaseのアーキテクチャ Basic, Standard, General Purpose の構成 Premium,

    Business Critical の構成 出典: Azure SQL Database と SQL Managed Instance の高可用性 コントロール リング ※ゲートウェイ などを含む。 テナント リング ※クラスタ ノードなどを含む。
  3. 2. Azure SQL Databaseへの接続アーキテクチャ (Azure 外部) 出典: Azure SQL Database

    接続問題 (Connectivity) の対処方法 (1 : Azure外環境からの接続) ① クライアントから Azure SQL Database ゲートウェイへのセッションを確立。(TCP 1433 ポート) ② Azure SQL Database ゲートウェイを経 由し、接続先のデータベースが配置されて いるクラスタ ノードへセッションを確立し、該 当のデータベースに接続する。 Azure SQL Database Server (*****.database.windows.net) は、 Azure SQL Database ゲートウェイに紐づいている。 コントロール リング テナント リング クライアント オンプレミス
  4. 2. Azure SQL Databaseへの接続アーキテクチャ (Azure 外部) Azure SQL Database Server

    に Ping 出典: Azure SQL Database と Azure Synapse Analytics の接続アーキテクチャ Azure SQL Database Server (今回の場合は、東日本リージョンにデプロイした ***001.database.windows.net) に対して Ping を実行することで、該当サーバーに紐 づいている Azure SQL Database ゲートウェイ IP アドレス を確認することが可能。
  5. 2. Azure 外部から接続する際のファイアウォール設定に関する注意点について Azure SQL Database Server に紐づく ゲートウェイ IP

    アドレスは変わる可能性がある。 出典: Additional Azure SQL Database gateways changes effective October 12, 2020 各リージョンのゲートウェイ IP アドレスは、追加/削除される可能性があり、また、Azure SQL Database サーバーに紐づく ゲートウェイ IP アドレス が今後も変わらないことが保証されていない。 各リージョンのゲートウェイ IP アドレスが追加/削除さ れる場合は、事前にメールやAzureの更新情報などで 通知が行われる。 ▪ Azureの更新情報例
  6. 2. Azure 外部から接続する際のファイアウォール設定に関する注意点について オンプレミス側ファイアウォールの送信側(Outbound)を制限している場合 ・ Azure SQL Database サーバーを配置しているリージョンで使用されている すべての

    Azure SQL Database ゲートウェイ IP アドレス および TCP 1433 ポートをオンプレミス側ファイアウォールの送信側 (Outbound)で許可 ・ Azure SQL Database サーバーを配置しているリージョン上で新しいゲートウェイ IP アドレスが追加され た場合は、オンプレミス側のファイアウォールの送信側(Outbound)のルールを追加
  7. 3. Azure SQL Databaseへの接続アーキテクチャ (Azure 内部) 出典: Azure SQL Database

    接続問題 (Connectivity) の対処方法 (2 : Azure内環境からの接続) ① クライアントから Azure SQL Database ゲートウェイへのセッションを確立し、実際に データベースが配置されているクラスタノー ド情報を取得。(TCP 1433 ポート) ② Azure SQL Database ゲートウェイを経 由せず、①で取得したクラスタノードへの セッションを直接確立 (TCP 11000から 11999の範囲のポートを使用) し、 該当の データベースに接続。 コントロール リング テナント リング クライアント 仮想マシン
  8. 3. Azure SQL Databaseへの接続アーキテクチャ (Azure 内部) Azure仮想マシンからAzure SQL Databaseへ接続時のネットワークパケットを取得 13.78.61.196

    (東日本リージョンのAzure SQL Database ゲートウェイ IP アドレス : TCP 1433 ポート) に対してセッションを確立 Azure仮想マシンから直接 40.79.192.8 (データベースが配置されているノード : TCP 11079) に対してセッションを確立。
  9. 3. Azure 内部から接続する際のファイアウォール設定に関する注意点について Azure仮想マシンに紐づくネットワーク セキュリティ グループ (NSG) でファイアウォール の送信側 (Outbound)

    を制御している場合の対処方法 Azure 仮想マシンに紐づくネットワーク セキュリティ グループ (NSG)の送信側(Outbound)のルールで以下 の設定を追加することにより、Azure SQL Database ゲートウェイの IP アドレスが追加/削除されたとして も、影響を及ぼすことなく、Azure SQL Database に接続することが可能 ・宛先 : 「サービスタグ」 ※ 東日本リージョンの Azure SQL Databaseの場合「Sql.JapanEast」 ・ソース : 任意 ・ポート : [許可するポート] TCP : 1433 (Azure SQL Database ゲートウェイへの接続に使用) TCP : 11000-11999 (クライアントからデータベースが配置されているクラスタノードへの接続時に使用) TCP : 1434, 14000-14999 (DAC(データベース管理者用の診断接続)による接続時に使用)
  10. 3. Azure 内部から接続する際のファイアウォール設定に関する注意点について ネットワーク セキュリティ グループ (NSG) 設定例 ・宛先 :

    「サービスタグ」 ※ 東日本リージョンの Azure SQL Databaseの場合 「Sql.JapanEast」 ・ソース : 任意 ・ポート : [許可するポート] TCP : 1433 (Azure SQL Database ゲートウェイへの接続に使用) TCP : 11000-11999 (クライアントからデータベースが配置されているクラスタノードへの 接続時に使用) TCP : 1434, 14000-14999 (DAC(データベース管理者用の診断接続)による接続時に使用)
  11. 4. 最後に 今回紹介した Azure SQL Database アーキテクチャについて、以下のブログでもう少し 詳細に紹介しています。 Azure SQL

    Database 接続問題 (Connectivity) の対処方法 (1 : Azure外環境からの接続) Azure SQL Database 接続問題 (Connectivity) の対処方法 (2 : Azure内環境からの接続) また、SQL Serverの 基本+α の内容についてもブログにまとめていますので、是非 ご 参照ください。 (現在 第1回から11回まで公開中) 【第1回】基本から始める SQL Server【システム データベース】