Azure SQL Database の Virtual Network サービス エンドポイントと規則の使用Use Virtual Network service endpoints and rules for Azure SQL Database

仮想ネットワーク規則は、Azure SQL Database サーバーが仮想ネットワーク内の特定のサブネットから送信される通信を許可するかどうかを制御する 1 つのファイアウォール セキュリティ機能です。Virtual network rules are one firewall security feature that controls whether your Azure SQL Database server accepts communications that are sent from particular subnets in virtual networks. この記事では、仮想ネットワーク規則機能が、場合によっては Azure SQL Database への通信を安全に許可するための最善の選択になる理由を説明します。This article explains why the virtual network rule feature is sometimes your best option for securely allowing communication to your Azure SQL Database.

仮想ネットワーク規則を作成するには、まず、参照する規則の仮想ネットワーク サービス エンドポイントが必要です。To create a virtual network rule, there must first be a virtual network service endpoint for the rule to reference.

仮想ネットワーク規則の作成方法How to create a virtual network rule

仮想ネットワーク規則を作成するだけであれば、途中を読み飛ばして、この記事で後述している手順と説明に進んでください。If you only create a virtual network rule, you can skip ahead to the steps and explanation later in this article.

用語と説明Terminology and description

仮想ネットワーク: ユーザーは、お使いの Azure サブスクリプションに関連付けられた仮想ネットワークを保持できます。Virtual network: You can have virtual networks associated with your Azure subscription.

サブネット: 仮想ネットワークにはサブネットが含まれます。Subnet: A virtual network contains subnets. 保持している任意の Azure 仮想マシン (VM) がサブネットに割り当てられます。Any Azure virtual machines (VMs) that you have are assigned to subnets. 1 つのサブネットには、複数の VM や他のコンピューティング ノードが含まれる場合があります。One subnet can contain multiple VMs or other compute nodes. お使いの仮想ネットワークの外部にあるコンピューティング ノードは、アクセスを許可するようにセキュリティを構成しない限り、お使いの仮想ネットワークにはアクセスできません。Compute nodes that are outside of your virtual network cannot access your virtual network unless you configure your security to allow access.

Virtual Network サービス エンドポイント: Virtual Network サービス エンドポイントは、プロパティ値に 1 つ以上の Azure サービスの種類名が含まれるサブネットです。Virtual Network service endpoint: A Virtual Network service endpoint is a subnet whose property values include one or more formal Azure service type names. この記事では、"SQL Database" という名前の Azure サービスを参照する Microsoft.Sql という種類名に注目します。In this article we are interested in the type name of Microsoft.Sql, which refers to the Azure service named SQL Database.

仮想ネットワーク規則: お使いの SQL Database サーバーの仮想ネットワーク規則は、SQL データベース サーバーのアクセス制御リスト (ACL) に記載されているサブネットです。Virtual network rule: A virtual network rule for your SQL Database server is a subnet that is listed in the access control list (ACL) of your SQL Database server. SQL Database の ACL 内に記載するためには、サブネットに Microsoft.Sql という種類名が含まれている必要があります。To be in the ACL for your SQL Database, the subnet must contain the Microsoft.Sql type name.

仮想ネットワーク規則は、サブネット上にあるどのノードからの通信も許可するように、お使いの SQL Database サーバーに指示します。A virtual network rule tells your SQL Database server to accept communications from every node that is on the subnet.

仮想ネットワーク規則の利点Benefits of a virtual network rule

操作を実行するまで、サブネット上の VM は SQL Database と通信できません。Until you take action, the VMs on your subnets cannot communicate with your SQL Database. 通信を確立するアクションの 1 つは、仮想ネットワーク ルールの作成です。One action that establishes the communication is the creation of a virtual network rule. VNet ルールの方法を選択する根拠については、ファイアウォールで提供される競合するセキュリティ オプションと比較対照して考察する必要があります。The rationale for choosing the VNet rule approach requires a compare-and-contrast discussion involving the competing security options offered by the firewall.

A.A. Azure サービスへのアクセス許可Allow access to Azure services

ファイアウォール ペインには、[Azure サービスへのアクセスを許可] とラベル付けされた [オン/オフ] ボタンがあります。The firewall pane has an ON/OFF button that is labeled Allow access to Azure services. [オン] 設定は、すべての Azure IP アドレスと Azure サブネットからの通信を許可します。The ON setting allows communications from all Azure IP addresses and all Azure subnets. これらの Azure IP またはサブネットは、ユーザーが所有していない場合もあります。These Azure IPs or subnets might not be owned by you. この [オン] 設定は、おそらくは SQL Database に期待する範囲を超えて開かれています。This ON setting is probably more open than you want your SQL Database to be. 仮想ネットワーク規則機能によって、さらにきめ細かい制御が提供されます。The virtual network rule feature offers much finer granular control.

B.B. IP 規則IP rules

SQL Database のファイアウォールでは、SQL Database への通信が許可される IP アドレス範囲を指定できます。The SQL Database firewall allows you to specify IP address ranges from which communications are accepted into SQL Database. この方法は、Azure プライベート ネットワークの外部にある安定した IP アドレスに適しています。This approach is fine for stable IP addresses that are outside the Azure private network. しかし、Azure プライベート ネットワーク内にある多数のノードは、動的 IP アドレスで構成されています。But many nodes inside the Azure private network are configured with dynamic IP addresses. 動的 IP アドレスは、VM が再起動されたときなどに変更される場合があります。Dynamic IP addresses might change, such as when your VM is restarted. 運用環境では、ファイアウォール規則に動的 IP アドレスを指定することは、賢明ではありません。It would be folly to specify a dynamic IP address in a firewall rule, in a production environment.

お使いの VM 用に静的 IP アドレスを取得することで、IP のオプションを復旧することができます。You can salvage the IP option by obtaining a static IP address for your VM. 詳細については、「Azure Portal を使用して仮想マシンのプライベート IP アドレスを構成する」をご覧ください。For details, see Configure private IP addresses for a virtual machine by using the Azure portal.

ただし、静的 IP の方法は管理が困難になる場合があり、まとめて実行すると負荷がかかります。However, the static IP approach can become difficult to manage, and it is costly when done at scale. 仮想ネットワーク規則を確立して管理するほうが簡単です。Virtual network rules are easier to establish and to manage.

C.C. サブネット上に SQL Database を保持することは、まだできません。Cannot yet have SQL Database on a subnet

Azure SQL Database サーバーが仮想ネットワーク内のサブネット上のノードになった場合、仮想ネットワークはお使いの SQL Database と通信できます。If your Azure SQL Database server was a node on a subnet in your virtual network, all nodes within the virtual network could communicate with your SQL Database. この場合、仮想ネットワーク ルールや IP ルールがなくても、VM は SQL Database と通信できます。In this case, your VMs could communicate with SQL Database without needing any virtual network rules or IP rules.

しかし、2017 年 9 月時点ではまだ、Azure SQL Database サービスは、サブネットに割り当て可能なサービスの範囲には含まれていません。However as of September 2017, the Azure SQL Database service is not yet among the services that can be assigned to a subnet.

仮想ネットワーク規則の詳細Details about virtual network rules

このセクションでは、仮想ネットワーク規則に関する詳細について、いくつか説明します。This section describes several details about virtual network rules.

geography 型の 1 つのリージョンのみOnly one geographic region

各 Virtual Network サービス エンドポイントは、1 つの Azure リージョンだけに適用されます。Each Virtual Network service endpoint applies to only one Azure region. エンドポイントが他のリージョンを有効にして、サブネットからの通信を許可することはありません。The endpoint does not enable other regions to accept communication from the subnet.

どの仮想ネットワーク規則も、その基本となるエンドポイントが適用先のリージョンに制限されます。Any virtual network rule is limited to the region that its underlying endpoint applies to.

データベース レベルではなく、サーバー レベルServer-level, not database-level

各仮想ネットワーク規則は、サーバー上の 1 つの特定のデータベースだけではなく、お使いの Azure SQL Database サーバー全体に適用されます。Each virtual network rule applies to your whole Azure SQL Database server, not just to one particular database on the server. 言い換えると、仮想ネットワーク規則はデータベース レベルではなく、サーバー レベルに適用されます。In other words, virtual network rule applies at the server-level, not at the database-level.

  • 対照的に、IP 規則はどちらのレベルにも適用できます。In contrast, IP rules can apply at either level.

セキュリティ管理ロールSecurity administration roles

Virtual Network サービス エンドポイントの管理では、セキュリティ ロールが分離されています。There is a separation of security roles in the administration of Virtual Network service endpoints. 以下の各ロールでは、次の操作が必要です。Action is required from each of the following roles:

  • ネットワーク管理:   エンドポイントをオンにする。Network Admin:   Turn on the endpoint.
  • データベース管理:   アクセス制御リスト (ACL) を更新して、指定されたサブネットを SQL Database サーバーに追加する。Database Admin:   Update the access control list (ACL) to add the given subnet to the SQL Database server.

RBAC による代替:RBAC alternative:

ネットワーク管理およびデータベース管理のロールには、仮想ネットワーク規則の管理に必要とされる機能以外もあります。The roles of Network Admin and Database Admin have more capabilities than are needed to manage virtual network rules. それらの機能のうち 1 つのサブネットだけが必要になります。Only a subset of their capabilities is needed.

必要な機能のサブネットのみを保持する単一のカスタム ロールを作成するために、Azure にはロールベースのアクセス制御 (RBAC) を使用するオプションがあります。You have the option of using role-based access control (RBAC) in Azure to create a single custom role that has only the necessary subset of capabilities. ネットワーク管理またはデータベース管理に関連付ける代わりに、カスタム ロールを使用できます。カスタム ロールにユーザーを追加する場合と、他の 2 つの主要な管理者ロールにユーザーを追加する場合では、前者の方がセキュリティ脅威にさらされる領域が少なくなります。The custom role could be used instead of involving either the Network Admin or the Database Admin. The surface area of your security exposure is lower if you add a user to a custom role, versus adding the user to the other two major administrator roles.

注意

Azure SQL Database と VNet サブネットが異なるサブスクリプションに存在する場合があります。In some cases the Azure SQL Database and the VNet-subnet are in different subscriptions. このような場合は、次の構成を確認する必要があります。In these cases you must ensure the following configurations:

  • 両方のサブスクリプションが同じ Azure Active Directory テナントに存在する必要がある。Both subscriptions must be in the same Azure Active Directory tenant.
  • ユーザーに操作 (サービス エンドポイントの有効化や、特定のサーバーへの VNet サブネットの追加など) を開始するために必要な権限がある。The user has the required permissions to initiate operations, such as enabling service endpoints and adding a VNet-subnet to the given Server.

制限事項Limitations

Azure SQL Database の場合、仮想ネットワーク規則機能には以下のような制限事項があります。For Azure SQL Database, the virtual network rules feature has the following limitations:

  • Web アプリは、VNet/サブネット内のプライベート IP にマップできます。A Web App can be mapped to a private IP in a VNet/subnet. サービス エンドポイントが特定の VNet/サブネットから有効化されている場合でも、Web アプリからサーバーへの接続には、VNet/サブネットのソースではなく、Azure のパブリック IP ソースが使用されます。Even if service endpoints are turned ON from the given VNet/subnet, connections from the Web App to the server will have an Azure public IP source, not a VNet/subnet source. サーバーに VNet ファイアウォール ルールがある場合、Web アプリからそのサーバーへの接続を有効にするには、サーバーですべての Azure サービスを許可する必要があります。To enable connectivity from a Web App to a server that has VNet firewall rules, you must Allow all Azure services on the server.

  • SQL Database のファイアウォールでは、各仮想ネットワーク規則はサブネットを参照します。In the firewall for your SQL Database, each virtual network rule references a subnet. これらの参照されるサブネットはすべて、SQL Database がホストされているのと同じ geographic 型のリージョンでホストされている必要があります。All these referenced subnets must be hosted in the same geographic region that hosts the SQL Database.

  • 各 Azure SQL Database サーバーは、指定された仮想ネットワークに対して最大 128 個までの ACL エントリを保持できます。Each Azure SQL Database server can have up to 128 ACL entries for any given virtual network.

  • 仮想ネットワーク規則は従来のデプロイメント モデル ネットワークではなく、Azure Resource Manager の仮想ネットワークのみに適用されます。Virtual network rules apply only to Azure Resource Manager virtual networks; and not to classic deployment model networks.

  • Azure SQL Database に対する仮想ネットワーク サービス エンドポイントを有効にすると、MySQL および PostgreSQL Azure サービスに対してもエンドポイントが有効になります。Turning ON virtual network service endpoints to Azure SQL Database also enables the endpoints for the MySQL and PostgreSQL Azure services. ただし、エンドポイントを有効にすると、エンドポイントから MySQL または PostgreSQL のインスタンスへの接続の試行は失敗します。However, with endpoints ON, attempts to connect from the endpoints to your MySQL or PostgreSQL instances will fail.

    • 根本的な理由は、MySQL と PostgreSQL が現在は ACL 処理をサポートしていないためです。The underlying reason is that MySQL and PostgreSQL do not presently support ACLing.
  • ファイアウォールでは、IP アドレスは以下のネットワーク項目に適用されますが、仮想ネットワーク規則は適用されません。On the firewall, IP address ranges do apply to the following networking items, but virtual network rules do not:

サービス エンドポイントを使用する場合の考慮事項Considerations when using Service Endpoints

Azure SQL Database のサービス エンドポイントを使用する場合、次の考慮事項を確認してください。When using service endpoints for Azure SQL Database, review the following considerations:

  • Azure SQL Database Public IP への送信が必要: ネットワーク セキュリティ グループ (NSG) は、接続を許可するために Azure SQL Database IP に対して開かれている必要があります。Outbound to Azure SQL Database Public IPs is required: Network Security Groups (NSGs) must be opened to Azure SQL Database IPs to allow connectivity. Azure SQL Database に NSG のサービス タグを使用して、この設定を行うことができます。You can do this by using NSG Service Tags for Azure SQL Database.
  • Azure Database for PostgreSQL と MySQL はサポートされない: サービス エンドポイントは、Azure Database for PostgreSQL または MySQL に対してサポートされていません。Azure Database for PostgreSQL and MySQL are unsupported: Service endpoints are not supported for Azure Database for PostgreSQL or MySQL. SQL Database へのサービス エンドポイントを有効にすると、これらのサービスへの接続が中断されます。Enabling service endpoints to SQL Database will break connectivity to these services. この点については軽減策があります。詳細については、dmalik@microsoft.com までお問い合わせください。We have a mitigation for this, and you may contact dmalik@microsoft.com for more information.

ExpressRouteExpressRoute

ネットワークが ExpressRoute を使用して Azure ネットワークに接続されている場合、各回線は、Microsoft Edge で 2 つのパブリック IP アドレスを使用して構成されています。If your network is connected to the Azure network through use of ExpressRoute, each circuit is configured with two public IP addresses at the Microsoft Edge. 2 つの IP アドレスは、Azure パブリック ピアリングを使用して、Azure Storage などの Microsoft サービスへの接続に使用されます。The two IP addresses are used to connect to Microsoft Services, such as to Azure Storage, by using Azure Public Peering.

回線から Azure SQL Database への通信を許可するには、回線のパブリック IP アドレスに対する IP ネットワーク規則を作成する必要があります。To allow communication from your circuit to Azure SQL Database, you must create IP network rules for the public IP addresses of your circuits. ExpressRoute 回線のパブリック IP アドレスを見つけるには、Azure Portal を使用して ExpressRoute のサポート チケットを開きます。In order to find the public IP addresses of your ExpressRoute circuit, open a support ticket with ExpressRoute by using the Azure portal.

[Allow all Azure Services](すべての Azure サービスを許可) を削除した場合の影響Impact of removing 'Allow all Azure Services'

多くのユーザーが、Azure SQL Server から [Allow all Azure Services](すべての Azure サービスを許可) を削除し、VNet ファイアウォール規則に置き換えることを望んでいます。Many users want to remove Allow all Azure Services from their Azure SQL Servers and replace it with a VNet Firewall Rule. ただし、これを削除すると、Azure SQLDB の次の機能に影響します。However removing this affects the following Azure SQLDB features:

Import Export ServiceImport Export Service

Azure SQLDB Import Export Service は、Azure の VM 上で実行されます。Azure SQLDB Import Export Service runs on VMs in Azure. これらの VM は VNet に存在しないため、データベースに接続するときに Azure IP を取得します。These VMs are not in your VNet and hence get an Azure IP when connecting to your database. [Allow all Azure Services](すべての Azure サービスを許可) を削除すると、これらの VM はデータベースにアクセスできなくなります。On removing Allow all Azure Services these VMs will not be able to access your databases. この問題は回避することができます。You can work around the problem. DACFx API を使用して、BACPAC インポート/エクスポートをコードで直接実行します。Run the BACPAC import or export directly in your code by using the DACFx API. ファイアウォール規則を設定した VNet サブネット内の VM にこれがデプロイされていることを確認してください。Ensure that this is deployed in a VM that is in the VNet-subnet for which you have set the firewall rule.

SQL Database クエリ エディターSQL Database Query Editor

Azure SQL Database クエリ エディターは、Azure の VM にデプロイされます。The Azure SQL Database Query Editor is deployed on VMs in Azure. これらの VM は VNet に存在しません。These VMs are not in your VNet. そのため、VM はデータベースに接続するときに Azure IP を取得します。Therefore the VMs get an Azure IP when connecting to your database. [Allow all Azure Services](すべての Azure サービスを許可) を削除すると、これらの VM はデータベースにアクセスできなくなります。On removing Allow all Azure Services, these VMs will not be able to access your databases.

テーブル監査Table Auditing

現在、SQL Database で監査を有効にする方法が 2 つあります。At present there are two ways to enable auditing on your SQL Database. Azure SQL Server でサービス エンドポイントを有効にすると、テーブル監査は失敗します。Table auditing fails after you have enabled service endpoints on your Azure SQL Server. この問題を軽減するには、BLOB 監査に移行します。Mitigation here is to move to Blob auditing.

データ同期への影響Impact on Data Sync

Azure SQLDB には、Azure IP を使用してデータベースに接続するデータ同期機能があります。Azure SQLDB has the Data Sync feature that connects to your databases using Azure IPs. サービス エンドポイントを使用する場合、使用している論理サーバーへのすべての Azure サービスのアクセスの許可をオフにすることがあります。When using service endpoints, it is likely that you will turn off Allow all Azure Services access to your logical server. これにより、データ同期機能が中断されます。This will break the Data Sync feature.

Azure Storage で VNet サービス エンドポイントを使用した場合の影響Impact of using VNet Service Endpoints with Azure storage

Azure Storage は、ストレージ アカウントへの接続を制限できる同じ機能を実装しています。Azure Storage has implemented the same feature that allows you to limit connectivity to your Storage account. Azure SQL Server で使用されているストレージ アカウントでこの機能を使用すると、問題が発生する可能性があります。If you choose to use this feature with a Storage account that is being used by an Azure SQL Server, you can run into issues. この影響を受ける Azure SQLDB の機能について以下に説明します。Next is a list and discussion of Azure SQLDB features that are impacted by this.

Azure SQLDW PolyBaseAzure SQLDW PolyBase

PolyBase は、ストレージ アカウントから Azure SQLDW にデータを読み込むときによく使用されます。PolyBase is commonly used to load data into Azure SQLDW from Storage accounts. データの読み込み元のストレージ アカウントが、アクセス先を一連の VNet サブネットだけに制限している場合、PolyBase からアカウントへの接続は切断されます。If the Storage account that you are loading data from limits access only to a set of VNet-subnets, connectivity from PolyBase to the Account will break. この点については軽減策があります。詳細については、dmalik@microsoft.com までお問い合わせください。There is a mitigation for this, and you may contact dmalik@microsoft.com for more information.

Azure SQLDB の BLOB 監査Azure SQLDB Blob Auditing

BLOB 監査では、監査ログをユーザー独自のストレージ アカウントにプッシュします。Blob auditing pushes audit logs to your own storage account. このストレージ アカウントが VENT サービス エンドポイント機能を使用している場合、Azure SQLDB からストレージ アカウントへの接続は切断されます。If this storage account uses the VENT Service endpoints feature then connectivity from Azure SQLDB to the storage account will break.

VNET サービス エンドポイントをオンにすることなく VNET ファイアウォール規則をサーバーに追加するAdding a VNET Firewall rule to your server without turning On VNET Service Endpoints

この機能が強化される以前は、ライブ VNet ルールをファイアウォールに実装するには、VNet サービス エンドポイントをオンにする必要がありました。Long ago before this feature was enhanced, you were required you to turn VNet service endpoints On before you could implement a live VNet rule in the Firewall. エンドポイントが特定の VNet サブネットを Azure SQL Database に関連付けていました。The endpoints related a given VNet-subnet to an Azure SQL Database. しかし、2018 年 1 月現在からは、IgnoreMissingServiceEndpoint フラグを設定することでこの要件を回避できます。But now as of January 2018, you can circumvent this requirement by setting the IgnoreMissingServiceEndpoint flag.

単にファイアウォール規則を設定するだけでは、サーバーのセキュリティ保護には役立ちません。Merely setting a Firewall rule does not help secure the server. セキュリティを有効にするには、VNet サービス エンドポイントをオンにする必要もあります。You must also turn VNet service endpoints On for the security to take effect. サービス エンドポイントをオンにする場合、オフからオンへの切り替えが完了するまで VNet サブネットでダウンタイムが発生します。When you turn service endpoints On, your VNet-subnet experiences downtime until it completes the transition from Off to On. これは、大規模 VNet のコンテキストに特に当てはまります。This is especially true in the context of large VNets. IgnoreMissingServiceEndpoint フラグを使用すると、切り替え中のダウンタイムを軽減または除去できます。You can use the IgnoreMissingServiceEndpoint flag to reduce or eliminate the downtime during transition.

PowerShell を使用することで、IgnoreMissingServiceEndpoint フラグを設定できます。You can set the IgnoreMissingServiceEndpoint flag by using PowerShell. 詳細については、「PowerShell を使用して、Azure SQL Database 用の仮想サービス エンドポイントと規則を作成する」をご覧ください。For details, see PowerShell to create a Virtual Network service endpoint and rule for Azure SQL Database.

エラー 40914 および 40615Errors 40914 and 40615

接続エラー 40914 は、Azure Portal の [ファイアウォール] ウィンドウで指定されている "仮想ネットワーク規則" に関係があります。Connection error 40914 relates to virtual network rules, as specified on the Firewall pane in the Azure portal. エラー 40615 も同様ですが、ファイアウォールでの "IP アドレス規則" に関係している点が異なります。Error 40615 is similar, except it relates to IP address rules on the Firewall.

エラー 40914Error 40914

メッセージ テキスト: ログインで要求されたサーバー '[サーバー名]' を開くことができません。Message text: Cannot open server '[server-name]' requested by the login. クライアントはサーバーへのアクセスが許可されていません。Client is not allowed to access the server.

エラーの説明: クライアントは、仮想ネットワーク サーバーのエンドポイントを持つサブネット内にあります。Error description: The client is in a subnet that has virtual network server endpoints. しかし、Azure SQL Database サーバーには、SQL Database と通信する権限をサブネットに付与する仮想ネットワーク規則がありません。But the Azure SQL Database server has no virtual network rule that grants to the subnet the right to communicate with the SQL Database.

エラーの解決策: Azure Portal の [ファイアウォール] ウィンドウの仮想ネットワーク ルール コントロールを使って、サブネットの仮想ネットワーク規則を追加します。Error resolution: On the Firewall pane of the Azure portal, use the virtual network rules control to add a virtual network rule for the subnet.

エラー 40615Error 40615

メッセージ テキスト: ログインで要求されたサーバー '{0}' を開くことができません。Message text: Cannot open server '{0}' requested by the login. IP アドレス '{1}' のクライアントはこのサーバーへのアクセスが許可されていません。Client with IP address '{1}' is not allowed to access the server.

エラーの説明: クライアントは、Azure SQL Database サーバーへの接続を許可されていない IP アドレスから接続しようとしています。Error description: The client is trying to connect from an IP address that is not authorized to connect to the Azure SQL Database server. サーバーのファイアウォールには、指定された IP アドレスから SQL Database への通信をクライアントに許可する IP アドレス規則がありません。The server firewall has no IP address rule that allows a client to communicate from the given IP address to the SQL Database.

エラーの解決策: IP 規則としてクライアントの IP アドレスを入力します。Error resolution: Enter the client's IP address as an IP rule. それには、Azure Portal の [ファイアウォール] ウィンドウを使います。Do this by using the Firewall pane in the Azure portal.

SQL Database のエラー メッセージの一覧については、こちらをご覧ください。A list of several SQL Database error messages is documented here.

Portal で仮想ネットワーク規則を作成するPortal can create a virtual network rule

このセクションでは、Azure Portal を使用して、お使いの Azure SQL Database に仮想ネットワーク規則を作成する方法を説明します。This section illustrates how you can use the Azure portal to create a virtual network rule in your Azure SQL Database. 規則では、Virtual Network サービス エンドポイントとしてタグ付けされた特定のサブネットからの通信を許可するように、お使いの SQL Database に指示します。The rule tells your SQL Database to accept communication from a particular subnet that has been tagged as being a Virtual Network service endpoint.

注意

Azure SQL Database サーバーの VNet ファイアウォール規則にサービス エンドポイントを追加する場合は、まず、そのサブネットに対するサービス エンドポイントを有効にする必要があります。If you intend to add a service endpoint to the VNet firewall rules of your Azure SQL Database server, first ensure that service endpoints are turned On for the subnet.

サブネットに対するサービス エンドポイントが有効になっていない場合、それらを有効にするようポータルから求められます。If service endpoints are not turned on for the subnet, the portal asks you to enable them. 規則を追加するブレードの [有効にする] ボタンをクリックしてください。Click the Enable button on the same blade on which you add the rule.

PowerShell による代替PowerShell alternative

PowerShell スクリプトでも、仮想ネットワーク規則を作成できます。A PowerShell script can also create virtual network rules. 重要なコマンドレットは New-AzureRmSqlServerVirtualNetworkRule です。The crucial cmdlet New-AzureRmSqlServerVirtualNetworkRule. ご興味がある方は、「PowerShell to create a Virtual Network service endpoint and rule for Azure SQL Database (PowerShell で Azure SQL Database の Virtual Network サービス エンドポイントと規則を作成する)」をご覧ください。If interested, see PowerShell to create a Virtual Network service endpoint and rule for Azure SQL Database.

REST API の代替手段REST API alternative

内部的には、SQL VNet アクション用の PowerShell コマンドレットは REST API を呼び出します。Internally, the PowerShell cmdlets for SQL VNet actions call REST APIs. REST API を直接呼び出すことができます。You can call the REST APIs directly.

前提条件Prerequisites

保持している 1 つのサブネットが、Azure SQL Database に関連する特定の Virtual Network エンドポイントの種類名で既にタグ付けされている必要があります。You must already have a subnet that is tagged with the particular Virtual Network service endpoint type name relevant to Azure SQL Database.

Azure Portal の手順Azure portal steps

  1. Azure Portal にログインします。Log in to the Azure portal.

  2. ポータルで [SQL サーバー] > [ファイアウォール / 仮想ネットワーク] の順に移動します。Then navigate the portal to SQL servers > Firewall / Virtual Networks.

  3. [Azure サービスへのアクセスを許可] の制御を [オフ] に設定します。Set the Allow access to Azure services control to OFF.

    重要

    制御を [オン] に設定したままにすると、Azure SQL Database サーバーはすべてのサブネットからの通信を受け入れます。If you leave the control set to ON, your Azure SQL Database server accepts communication from any subnet. 制御を [オン] に設定したままにすると、セキュリティの観点からアクセス過多になる可能性があります。Leaving the control set to ON might be excessive access from a security point of view. Microsoft Azure Virtual Network サービス エンドポイント機能は、SQL Database の仮想ネットワーク規則機能と共に使用することで、セキュリティ脅威にさらされる領域を減少させることができます。The Microsoft Azure Virtual Network service endpoint feature, in coordination with the virtual network rule feature of SQL Database, together can reduce your security surface area.

  4. [仮想ネットワーク] セクションにある [既存の追加] コントロールをクリックします。Click the + Add existing control, in the Virtual networks section.

    [既存の追加] (SQL 規則としてのサブネット エンドポイント) をクリックします。

  5. 新しい [作成/更新] ペインで、お使いの Azure リソース名をコントロールに入力します。In the new Create/Update pane, fill in the controls with the names of your Azure resources.

    ヒント

    お使いのサブネットの正しいアドレス プレフィックスを含める必要があります。You must include the correct Address prefix for your subnet. ポータルで値を確認できます。You can find the value in the portal. [All resources](すべてのリソース) > [All types](すべての種類) > [仮想ネットワーク] の順に移動します。Navigate All resources > All types > Virtual networks. フィルターにお使いの仮想ネットワークが表示されます。The filter displays your virtual networks. お使いの仮想ネットワークをクリックし、[サブネット] をクリックします。Click your virtual network, and then click Subnets. ADDRESS RANGE 列に、必要なアドレス プレフィックスが含まれています。The ADDRESS RANGE column has the Address prefix you need.

    新しい規則のフィールドを入力します。

  6. ペイン下部付近にある [OK] ボタンをクリックします。Click the OK button near the bottom of the pane.

  7. ファイアウォール ペインで結果の仮想ネットワーク規則を確認します。See the resulting virtual network rule on the firewall pane.

    ファイアウォール ペインで新しい規則を確認する

注意

規則には次の状態が適用されます。The following statuses or states apply to the rules:

  • 準備完了: 開始した操作が成功したことを示します。Ready: Indicates that the operation that you initiated has Succeeded.
  • 失敗: 開始した操作が失敗したことを示します。Failed: Indicates that the operation that you initiated has Failed.
  • 削除済み: 削除操作にのみ適用されます。規則が削除され、適用されなくなったことを示します。Deleted: Only applies to the Delete operation, and indicates that the rule has been deleted and no longer applies.
  • 進行中: 操作が進行中であることを示します。InProgress: Indicates that the operation is in progress. 操作がこの状態にある間は、古い規則が適用されます。The old rule applies while the operation is in this state.

Azure SQL Database の仮想ネットワーク ルール機能は、2017 年 9 月下旬に利用可能になりました。The virtual network rule feature for Azure SQL Database became available in late September 2017.

次の手順Next steps