$30 off During Our Annual Pro Sale. View Details »

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

    View Slide

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

    View Slide

  3. 1. Azure SQL Databaseのアーキテクチャ
    Basic, Standard, General Purpose の構成 Premium, Business Critical の構成
    出典: Azure SQL Database と SQL Managed Instance の高可用性
    コントロール リング
    ※ゲートウェイ などを含む。
    テナント リング
    ※クラスタ ノードなどを含む。

    View Slide

  4. 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 ゲートウェイに紐づいている。
    コントロール リング テナント リング
    クライアント
    オンプレミス

    View Slide

  5. 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 アドレス を確認することが可能。

    View Slide

  6. 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の更新情報例

    View Slide

  7. 2. Azure 外部から接続する際のファイアウォール設定に関する注意点について
    オンプレミス側ファイアウォールの送信側(Outbound)を制限している場合
    ・ Azure SQL Database サーバーを配置しているリージョンで使用されている すべての Azure SQL
    Database ゲートウェイ IP アドレス および TCP 1433 ポートをオンプレミス側ファイアウォールの送信側
    (Outbound)で許可
    ・ Azure SQL Database サーバーを配置しているリージョン上で新しいゲートウェイ IP アドレスが追加され
    た場合は、オンプレミス側のファイアウォールの送信側(Outbound)のルールを追加

    View Slide

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

    View Slide

  9. 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) に対してセッションを確立。

    View Slide

  10. 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(データベース管理者用の診断接続)による接続時に使用)

    View Slide

  11. 3. Azure 内部から接続する際のファイアウォール設定に関する注意点について
    ネットワーク セキュリティ グループ (NSG) 設定例

    View Slide

  12. 3. Azure 内部から接続する際のファイアウォール設定に関する注意点について
    ネットワーク セキュリティ グループ (NSG) 設定例
    ・宛先 : 「サービスタグ」
    ※ 東日本リージョンの Azure SQL Databaseの場合
    「Sql.JapanEast」
    ・ソース : 任意
    ・ポート :
    [許可するポート]
    TCP : 1433
    (Azure SQL Database ゲートウェイへの接続に使用)
    TCP : 11000-11999
    (クライアントからデータベースが配置されているクラスタノードへの
    接続時に使用)
    TCP : 1434, 14000-14999
    (DAC(データベース管理者用の診断接続)による接続時に使用)

    View Slide

  13. 4. 最後に
    今回紹介した Azure SQL Database アーキテクチャについて、以下のブログでもう少し
    詳細に紹介しています。
    Azure SQL Database 接続問題 (Connectivity) の対処方法 (1 : Azure外環境からの接続)
    Azure SQL Database 接続問題 (Connectivity) の対処方法 (2 : Azure内環境からの接続)
    また、SQL Serverの 基本+α の内容についてもブログにまとめていますので、是非 ご
    参照ください。 (現在 第1回から11回まで公開中)
    【第1回】基本から始める SQL Server【システム データベース】

    View Slide

  14. Q&A

    View Slide