Azure SQL の接続アーキテクチャAzure SQL Connectivity Architecture

この記事では Azure SQL Database および SQL Data Warehouse の接続アーキテクチャのほか、さまざまなコンポーネントがどのように機能し、トラフィックが Azure SQL インスタンスに送信されるか説明します。This article explains the Azure SQL Database and SQL Data Warehouse connectivity architecture as well as how the different components function to direct traffic to your instance of Azure SQL. これらの接続コンポーネントが機能し、Azure 内外からクライアントが接続する Azure SQL Database または SQL Data Warehouse にネットワーク トラフィックが送信されます。These connectivity components function to direct network traffic to the Azure SQL Database or SQL Data Warehouse with clients connecting from within Azure and with clients connecting from outside of Azure. この記事では、接続方法を変更するためのスクリプト サンプルと、既定の接続設定の変更に関連する考慮事項も提供します。This article also provides script samples to change how connectivity occurs, and the considerations related to changing the default connectivity settings.

接続のアーキテクチャConnectivity architecture

次の図は、Azure SQL Database の接続アーキテクチャの概要です。The following diagram provides a high-level overview of the Azure SQL Database connectivity architecture.

アーキテクチャの概要

次の手順では、Azure SQL データベースへの接続を確立する方法について説明します。The following steps describe how a connection is established to an Azure SQL database:

  • クライアントはゲートウェイに接続します。ゲートウェイにはパブリック IP アドレスが与えられており、ポート 1433 で待ち受けます。Clients connect to the gateway, that has a public IP address and listens on port 1433.
  • 有効な接続ポリシーによっては、ゲートウェイがトラフィックを正しいデータベース クラスターにリダイレクトまたはプロキシします。The gateway, depending on the effective connection policy, redirects or proxies the traffic to the right database cluster.
  • データベース クラスター内では、トラフィックは適切な Azure SQL データベースに転送されます。Inside the database cluster traffic is forwarded to the appropriate Azure SQL database.

接続ポリシーConnection policy

Azure SQL Database は、SQL Database サーバーの接続ポリシー設定について次の 3 つのオプションをサポートしています。Azure SQL Database supports the following three options for the connection policy setting of a SQL Database server:

  • リダイレクト (推奨): クライアントは、データベースをホストしているノードへの直接接続を確立します。これにより、待機時間が短縮され、スループットが向上します。Redirect (recommended): Clients establish connections directly to the node hosting the database, leading to reduced latency and improved throughput. 接続でこのモードを使用するには、クライアントで次のことを行う必要がありますFor connections to use this mode clients need to

    • 11000 11999 の範囲のポートで、クライアントから、リージョン内のすべての Azure IP アドレスへのインバウンドおよびアウトバウンド通信を許可します。Allow inbound and outbound communication from the client to all Azure IP addresses in the region on ports in the range of 11000 11999.
    • ポート 1433 で、クライアントから、Azure SQL Database ゲートウェイの IP アドレスへのインバウンドおよびアウトバウンド通信を許可します。Allow inbound and outbound communication from the client to Azure SQL Database gateway IP addresses on port 1433.
  • プロキシ: このモードでは、すべての接続が Azure SQL Database ゲートウェイ経由でプロキシ化されるため、待機時間が長くなり、スループットが低下します。Proxy: In this mode, all connections are proxied via the Azure SQL Database gateways,leading to increased latency and reduced throughput. 接続でこのモードを使用するには、クライアントのポート 1433 で、クライアントから、Azure SQL Database ゲートウェイの IP アドレスへのインバウンドおよびアウトバウンド通信を許可する必要があります。For connections to use this mode clients need to allow inbound and outbound communication from the client to Azure SQL Database gateway IP addresses on port 1433.

  • 既定値: これは、明示的に接続ポリシーを Proxy または Redirect に変更しない限り、作成後のすべてのサーバーで有効になる接続ポリシーです。Default: This is the connection policy in effect on all servers after creation unless you explicitly alter the connection policy to either Proxy or Redirect. Azure の内部からの (たとえば、Azure 仮想マシンからの) すべてのクライアント接続の既定のポリシーは Redirect であり、外部からのすべてのクライアント接続 (たとえば、ローカル ワークステーションからの接続) の既定のポリシーは Proxy です。The default policy isRedirect for all client connections originating inside of Azure (e.g. from an Azure Virtual Machine) and Proxyfor all client connections originating outside (e.g. connections from your local workstation).

待機時間を最小化してスループットを最大化するために、Proxy 接続ポリシーよりも Redirect 接続ポリシーを強くお勧めします。ただし、前述のように、ネットワーク トラフィックを許可するための追加要件を満たす必要があります。We highly recommend the Redirect connection policy over the Proxy connection policy for the lowest latency and highest throughput.However, you will need to meet the additional requirements for allowing network traffic as outlined above. クライアントが Azure 仮想マシンの場合は、ネットワーク セキュリティ グループ (NSG) とサービス タグを使用してこれを実現できます。If the client is an Azure Virtual Machine you can accomplish this using Network Security Groups (NSG) with service tags. クライアントがオンプレミスのワークステーションから接続している場合は、ネットワーク管理者と協力して、企業のファイアウォールを通過するネットワーク トラフィックを許可することが必要になる必要があります。If the client is connecting from a workstation on-premises then you may need to work with your network admin to allow network traffic through your corporate firewall.

Azure 内からの接続Connectivity from within Azure

Azure 内から接続する場合、接続には既定で Redirect の接続ポリシーが与えられます。If you are connecting from within Azure your connections have a connection policy of Redirect by default. Redirect のポリシーとは、TCP セッションが Azure SQL データベースに対して確立された後に、宛先の仮想 IP を Azure SQL Database ゲートウェイの IP からクラスターの IP に変更して、正しいデータベース クラスターにリダイレクトすることを意味します。A policy of Redirect means that after the TCP session is established to the Azure SQL database, the client session is then redirected to the right database cluster with a change to the destination virtual IP from that of the Azure SQL Database gateway to that of the cluster. その後、すべての後続パケットは Azure SQL Database ゲートウェイを迂回し、クラスターに直接送信されます。Thereafter, all subsequent packets flow directly to the cluster, bypassing the Azure SQL Database gateway. 次の図にこのトラフィックの流れを示します。The following diagram illustrates this traffic flow.

アーキテクチャの概要

Azure 外からの接続Connectivity from outside of Azure

Azure 外から接続する場合、接続には既定で Proxy の接続ポリシーが与えられます。If you are connecting from outside Azure, your connections have a connection policy of Proxy by default. Proxy のポリシーとは、TCP セッションが Azure SQL Database ゲートウェイ経由で確立し、すべての後続パケットがゲートウェイ経由で送信されることを意味します。A policy of Proxy means that the TCP session is established via the Azure SQL Database gateway and all subsequent packets flow via the gateway. 次の図にこのトラフィックの流れを示します。The following diagram illustrates this traffic flow.

アーキテクチャの概要

重要

DAC による接続を有効にするには、追加でポート 14000 ~ 14999 を開きますAdditionally open ports 14000-14999 to enable Connecting with DAC

Azure SQL Database ゲートウェイ IP アドレスAzure SQL Database gateway IP addresses

以下の表は、ゲートウェイの IP アドレスをリージョン別にまとめたものです。The table below lists the IP Addresses of Gateways by region. Azure SQL Database に接続するには、そのリージョンのすべてのゲートウェイとの間でやり取りされるネットワーク トラフィックを許可する必要があります。To connect to an Azure SQL Database, you need to allow network traffic to & from all Gateways for the region.

特定のリージョンの新しいゲートウェイにトラフィックを移行する方法の詳細については、次の記事をご覧ください。「Azure SQL Database traffic migration to newer Gateways」(Azure SQL Database トラフィックの新しいゲートウェイへの移行)Details of how traffic shall be migrated to new Gateways in specific regions are in the following article: Azure SQL Database traffic migration to newer Gateways

リージョン名Region Name ゲートウェイ IP アドレスGateway IP Addresses
オーストラリア中部Australia Central 20.36.105.020.36.105.0
オーストラリア中部 2Australia Central2 20.36.113.020.36.113.0
オーストラリア東部Australia East 13.75.149.87、40.79.161.113.75.149.87, 40.79.161.1
オーストラリア東南部Australia South East 191.239.192.109、13.73.109.251191.239.192.109, 13.73.109.251
ブラジル南部Brazil South 104.41.11.5、191.233.200.14104.41.11.5, 191.233.200.14
カナダ中部Canada Central 40.85.224.24940.85.224.249
カナダ東部Canada East 40.86.226.16640.86.226.166
米国中部Central US 13.67.215.62、52.182.137.15、23.99.160.139、104.208.16.96、104.208.21.113.67.215.62, 52.182.137.15, 23.99.160.139, 104.208.16.96, 104.208.21.1
中国 (東部)China East 139.219.130.35139.219.130.35
中国東部 2China East 2 40.73.82.140.73.82.1
中国 (北部)China North 139.219.15.17139.219.15.17
中国北部 2China North 2 40.73.50.040.73.50.0
東アジアEast Asia 191.234.2.139、52.175.33.150、13.75.32.4191.234.2.139, 52.175.33.150, 13.75.32.4
East USEast US 40.121.158.30、40.79.153.12、191.238.6.43、40.78.225.3240.121.158.30, 40.79.153.12, 191.238.6.43, 40.78.225.32
米国東部 2East US 2 40.79.84.180、52.177.185.181、52.167.104.0、191.239.224.107、104.208.150.340.79.84.180, 52.177.185.181, 52.167.104.0, 191.239.224.107, 104.208.150.3
フランス中部France Central 40.79.137.0、40.79.129.140.79.137.0, 40.79.129.1
ドイツ中部Germany Central 51.4.144.10051.4.144.100
ドイツ北東部Germany North East 51.5.144.17951.5.144.179
インド中部India Central 104.211.96.159104.211.96.159
インド南部India South 104.211.224.146104.211.224.146
インド西部India West 104.211.160.80104.211.160.80
東日本Japan East 13.78.61.196、40.79.184.8、13.78.106.224、191.237.240.43、40.79.192.513.78.61.196, 40.79.184.8, 13.78.106.224, 191.237.240.43, 40.79.192.5
西日本Japan West 104.214.148.156、40.74.100.192、191.238.68.11、40.74.97.10104.214.148.156, 40.74.100.192, 191.238.68.11, 40.74.97.10
韓国中部Korea Central 52.231.32.4252.231.32.42
韓国南部Korea South 52.231.200.8652.231.200.86
米国中北部North Central US 23.96.178.199、23.98.55.75、52.162.104.3323.96.178.199, 23.98.55.75, 52.162.104.33
北ヨーロッパNorth Europe 40.113.93.91、191.235.193.75、52.138.224.140.113.93.91, 191.235.193.75, 52.138.224.1
南アフリカ北部South Africa North 102.133.152.0102.133.152.0
南アフリカ西部South Africa West 102.133.24.0102.133.24.0
米国中南部South Central US 13.66.62.124、23.98.162.75、104.214.16.3213.66.62.124, 23.98.162.75, 104.214.16.32
東南アジアSouth East Asia 104.43.15.0、23.100.117.95、40.78.232.3104.43.15.0, 23.100.117.95, 40.78.232.3
アラブ首長国連邦中部UAE Central 20.37.72.6420.37.72.64
アラブ首長国連邦北部UAE North 65.52.248.065.52.248.0
英国南部UK South 51.140.184.1151.140.184.11
英国西部UK West 51.141.8.1151.141.8.11
米国中西部West Central US 13.78.145.2513.78.145.25
西ヨーロッパWest Europe 40.68.37.158、191.237.232.75、104.40.168.10540.68.37.158, 191.237.232.75, 104.40.168.105
米国西部West US 104.42.238.205、23.99.34.75、13.86.216.196104.42.238.205, 23.99.34.75, 13.86.216.196
米国西部 2West US 2 13.66.226.20213.66.226.202

Azure SQL Database 接続ポリシーを変更するChange Azure SQL Database connection policy

Azure SQL Database サーバーの Azure SQL Database 接続ポリシーを変更するには、conn-policy コマンドを使用します。To change the Azure SQL Database connection policy for an Azure SQL Database server, use the conn-policy command.

  • 接続ポリシーを Proxy に設定すると、すべてのネットワーク パケットが Azure SQL Database ゲートウェイ経由で送信されます。If your connection policy is set to Proxy, all network packets flow via the Azure SQL Database gateway. この設定の場合、Azure SQL Database ゲートウェイ IP のみに送信を許可する必要があります。For this setting, you need to allow outbound to only the Azure SQL Database gateway IP. Proxy の設定を利用すると、Redirect の設定より待ち時間が長くなります。Using a setting of Proxy has more latency than a setting of Redirect.
  • 接続ポリシーで Redirect を設定すると、すべてのネットワーク パケットがデータベース クラスターに直接送信されます。If your connection policy is setting Redirect, all network packets flow directly to the database cluster. この設定の場合、複数の IP への送信を許可する必要があります。For this setting, you need to allow outbound to multiple IPs.

接続の設定を変更する PowerShell のスクリプトScript to change connection settings via PowerShell

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

重要

PowerShell Azure Resource Manager モジュールは Azure SQL Database で引き続きサポートされますが、今後の開発はすべて Az.Sql モジュールを対象に行われます。The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. これらのコマンドレットについては、「AzureRM.Sql」を参照してください。For these cmdlets, see AzureRM.Sql. Az モジュールと AzureRm モジュールのコマンドの引数は実質的に同じです。The arguments for the commands in the Az module and in the AzureRm modules are substantially identical. 次のスクリプトは Azure PowerShell モジュールを必要とします。The following script requires the Azure PowerShell module.

次の PowerShell スクリプトは、接続ポリシーの変更方法を示しています。The following PowerShell script shows how to change the connection policy.

# Get SQL Server ID
$sqlserverid=(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).ResourceId

# Set URI
$id="$sqlserverid/connectionPolicies/Default"

# Get current connection policy
(Get-AzResource -ResourceId $id).Properties.connectionType

# Update connection policy
Set-AzResource -ResourceId $id -Properties @{"connectionType" = "Proxy"} -f

接続の設定を変更する Azure CLI のスクリプトScript to change connection settings via Azure CLI

重要

このスクリプトは Azure CLI を必要とします。This script requires the Azure CLI.

bash シェルでの Azure CLIAzure CLI in a bash shell

重要

このスクリプトは Azure CLI を必要とします。This script requires the Azure CLI.

次の CLI スクリプトは、bash シェルでの接続ポリシーの変更方法を示しています。The following CLI script shows how to change the connection policy in a bash shell.

# Get SQL Server ID
sqlserverid=$(az sql server show -n sql-server-name -g sql-server-group --query 'id' -o tsv)

# Set URI
ids="$sqlserverid/connectionPolicies/Default"

# Get current connection policy
az resource show --ids $ids

# Update connection policy
az resource update --ids $ids --set properties.connectionType=Proxy

Windows のコマンド プロンプトからの Azure CLIAzure CLI from a Windows command prompt

重要

このスクリプトは Azure CLI を必要とします。This script requires the Azure CLI.

次の CLI スクリプトは、(Azure CLI がインストールされている場合に) Windows コマンド プロンプトから接続ポリシーを変更する方法を示しています。The following CLI script shows how to change the connection policy from a Windows command prompt (with Azure CLI installed).

# Get SQL Server ID and set URI
FOR /F "tokens=*" %g IN ('az sql server show --resource-group myResourceGroup-571418053 --name server-538465606 --query "id" -o tsv') do (SET sqlserverid=%g/connectionPolicies/Default)

# Get current connection policy
az resource show --ids %sqlserverid%

# Update connection policy
az resource update --ids %sqlserverid% --set properties.connectionType=Proxy

次のステップNext steps