Azure での SQL Server 仮想マシンへの接続Connect to a SQL Server Virtual Machine on Azure

概要Overview

このトピックでは、Azure 仮想マシンで実行されている SQL Server インスタンスへ接続する方法について説明します。This topic describes how to connect to your SQL Server instance running on an Azure virtual machine. 一般的な接続シナリオをいくつか紹介し、ポータルで接続設定を変更する手順を説明します。It covers some general connectivity scenarios and then provides steps in the portal for changing connectivity settings. ポータルの外部で接続のトラブルシューティングや構成を行う必要がある場合は、このトピックの最後の手動構成に関するセクションをご覧ください。If you need to troubleshoot or configure connectivity outside of the portal, see the manual configuration at the end of this topic.

プロビジョニングと接続の両方に関する完全なチュートリアルについては、「Azure での SQL Server 仮想マシンのプロビジョニング」をご覧ください。If you would rather have a full walk-through of both provisioning and connectivity, see Provisioning a SQL Server Virtual Machine on Azure.

接続のシナリオConnection scenarios

クライアントから仮想マシンで実行されている SQL Server に接続する方法は、クライアントの場所とネットワークの構成によって異なります。The way a client connects to SQL Server running on a Virtual Machine differs depending on the location of the client and the networking configuration.

Azure Portal で SQL Server VM をプロビジョニングする場合、SQL 接続の種類を指定するオプションが用意されています。If you provision a SQL Server VM in the Azure portal, you have the option of specifying the type of SQL connectivity.

プロビジョニング中のパブリック SQL 接続オプション

接続のオプションは次のとおりです。Your options for connectivity include:

オプションOption 説明Description
パブリックPublic インターネット経由で SQL Server に接続するConnect to SQL Server over the internet
プライベートPrivate 同一仮想ネットワーク内で SQL Server に接続するConnect to SQL Server in the same virtual network
ローカルLocal 同一仮想マシン内で SQL Server にローカルに接続するConnect to SQL Server locally on the same virtual machine

次のセクションでは、パブリックおよびプライベート オプションの詳細について説明します。The following sections explain the Public and Private options in more detail.

インターネット経由で SQL Server に接続するConnect to SQL Server over the Internet

インターネットから SQL Server データベース エンジンに接続する場合は、プロビジョニング時にポータルで [SQL 接続] の種類に [パブリック] を選択します。If you want to connect to your SQL Server database engine from the Internet, select Public for the SQL connectivity type in the portal during provisioning. ポータルは自動的に次の手順を実行します。The portal automatically does the following steps:

  • SQL Server の TCP/IP プロトコルを確立します。Enables the TCP/IP protocol for SQL Server.
  • SQL Server の TCP ポート (既定は 1433) を開くファイアウォール規則を構成します。Configures a firewall rule to open the SQL Server TCP port (default 1433).
  • パブリック アクセスに必要な SQL Server 認証を有効にします。Enables SQL Server Authentication, required for public access.
  • SQL Server ポート上のすべての TCP トラフィックに VM のネットワーク セキュリティ グループを構成します。Configures the network security group on the VM to all TCP traffic on the SQL Server port.

重要

SQL Server Developer および Express エディション用の仮想マシン イメージでは、TCP/IP プロトコルは自動では有効になりません。The virtual machine images for the SQL Server Developer and Express editions do not automatically enable the TCP/IP protocol. Developer または Express エディションでは、VM の作成後に、SQL Server 構成マネージャーを使用して TCP/IP プロトコルを手動で有効にする 必要があります。For Developer and Express editions, you must use SQL Server Configuration Manager to manually enable the TCP/IP protocol after creating the VM.

インターネットにアクセスできるクライアントは、仮想マシンのパブリック IP アドレスまたはその IP アドレスに割り当てられている任意の DNS ラベルを指定することによって、SQL Server インスタンスに接続できます。Any client with internet access can connect to the SQL Server instance by specifying either the public IP address of the virtual machine or any DNS label assigned to that IP address. SQL Server のポートが 1433 である場合は、接続文字列でそれを指定する必要はありません。If the SQL Server port is 1433, you do not need to specify it in the connection string. 次の接続文字列は、SQL 認証を使用して (パブリック IP アドレスも使用できます)、sqlvmlabel.eastus.cloudapp.azure.com の DNS ラベルで SQL VM に接続します。The following connection string connects to a SQL VM with a DNS label of sqlvmlabel.eastus.cloudapp.azure.com using SQL Authentication (you could also use the public IP address).

Server=sqlvmlabel.eastus.cloudapp.azure.com;Integrated Security=false;User ID=<login_name>;Password=<your_password>

これでクライアントからインターネット経由での接続は有効になりますが、すべてのユーザーが SQL Server に接続できるわけではありません。Although this enables connectivity for clients over the internet, this does not imply that anyone can connect to your SQL Server. 外部のクライアントは、ユーザー名とパスワードを修正する必要があります。Outside clients have to the correct username and password. ただし、セキュリティを強化するために、既知のポート 1433 を使用しないこともできます。However, for additional security, you can avoid the well-known port 1433. たとえば、ポート 1500 でリッスンするように SQL Server を構成し、適切なファイアウォール規則とネットワーク セキュリティ グループ規則を設定すると、サーバー名にポート番号を追加して接続できます。For example, if you configured SQL Server to listen on port 1500 and established proper firewall and network security group rules, you could connect by appending the port number to the Server name. 次の例では、カスタム ポート番号 1500 をサーバー名に追加することで、以前のポート番号を変更しています。The following example alters the previous one by adding a custom port number, 1500, to the server name:

Server=sqlvmlabel.eastus.cloudapp.azure.com,1500;Integrated Security=false;User ID=<login_name>;Password=<your_password>"

注意

インターネット経由で 1 つの VM の SQL Server を照会すると、Azure データセンターから送信されるすべてのデータには、通常の送信データ転送の料金が適用されます。When you query SQL Server in a VM over the internet, all outgoing data from the Azure datacenter is subject to normal pricing on outbound data transfers.

仮想ネットワーク内で SQL Server に接続する方法Connect to SQL Server within a virtual network

ポータルで [SQL 接続] の種類に [プライベート] を選択した場合、Azure では [パブリック] とほぼ同一の設定を構成します。When you choose Private for the SQL connectivity type in the portal, Azure configures most of the settings identical to Public. 1 つの相違点は、SQL Server ポート (既定は 1433) に外部トラフィックを許可するネットワーク セキュリティ グループの規則がないことです。The one difference is that there is no network security group rule to allow outside traffic on the SQL Server port (default 1433).

重要

SQL Server Developer および Express エディション用の仮想マシン イメージでは、TCP/IP プロトコルは自動では有効になりません。The virtual machine images for the SQL Server Developer and Express editions do not automatically enable the TCP/IP protocol. Developer または Express エディションでは、VM の作成後に、SQL Server 構成マネージャーを使用して TCP/IP プロトコルを手動で有効にする 必要があります。For Developer and Express editions, you must use SQL Server Configuration Manager to manually enable the TCP/IP protocol after creating the VM.

プライベート接続は、多くの場合、いくつかのシナリオを可能にする仮想ネットワークと共に使用されます。Private connectivity is often used in conjunction with Virtual Network, which enables several scenarios. 同じ仮想ネットワーク内の VM が異なるリソース グループに存在する場合でも、それらの VM に接続できます。You can connect VMs in the same virtual network, even if those VMs exist in different resource groups. また サイト間 VPNを使うと、VM をオンプレミスのネットワークおよびマシンと接続するハイブリッド アーキテクチャを作成できます。And with a site-to-site VPN, you can create a hybrid architecture that connects VMs with on-premises networks and machines.

仮想ネットワークを使うと、Azure VM をドメインに参加させることもできます。Virtual networks also enable you to join your Azure VMs to a domain. これは、SQL Server に Windows 認証を使用する唯一の方法です。This is the only way to use Windows Authentication to SQL Server. その他の接続シナリオでは、ユーザー名とパスワードによる SQL 認証が必要です。The other connection scenarios require SQL Authentication with user names and passwords.

仮想ネットワークで DNS を構成してあると、接続文字列で SQL Server VM コンピューターの名前を指定することによって、SQL Server インスタンスに接続できます。Assuming that you have configured DNS in your virtual network, you can connect to your SQL Server instance by specifying the SQL Server VM computer name in the connection string. 次の例でも、Windows 認証も構成されていることと、ユーザーが SQL Server インスタンスへのアクセスを許可されていることを前提としています。The following example also assumes that Windows Authentication has also been configured and that the user has been granted access to the SQL Server instance.

Server=mysqlvm;Integrated Security=true

SQL 接続の設定を変更するChange SQL connectivity settings

注意

次のスクリーンショットは、Azure Portal 内の SQL 仮想マシンのリソースからのものです。The following screenshots are from the SQL virtual machines resource within the Azure portal. サポート終了 (EOS) の SQL Server VM、および SQL VM リソース プロバイダーに登録されていない SQL Server VM の場合は、代わりに [SQL Server の構成] タブを使用して SQL Server VM を管理してください。For end-of-support (EOS) SQL server VMs, and SQL Server VMs that have not been registered with the SQL VM resource provider, use the SQL Server configuration tab to manage your SQL Server VM instead.

Azure Portal で、SQL Server 仮想マシンの接続設定を変更できます。You can change the connectivity settings for your SQL Server virtual machine in the Azure portal.

  1. Azure portal で、 [SQL 仮想マシン] を選択します。In the Azure portal, select SQL virtual machines.

  2. SQL Server VM を選択します。Select your SQL Server VM.

  3. [設定][セキュリティ] を選択します。Under Settings, select Security.

  4. SQL 接続レベルを必要な設定に変更します。Change the SQL connectivity level to your required setting. 必要に応じて、この領域を使用して、SQL Server ポートまたは SQL 認証の設定を変更できます。You can optionally use this area to change the SQL Server port or the SQL Authentication settings.

    SQL 接続を変更する

  5. 更新が完了するまで数分間、待機します。Wait several minutes for the update to complete.

    SQL VM 更新通知

Developer および Express エディションの TCP/IP を有効にするEnable TCP/IP for Developer and Express editions

SQL Server 接続の設定を変更するとき、Azure は SQL Server Developer および Express エディション の TCP/IP プロトコルを自動的に有効にしません。When changing SQL Server connectivity settings, Azure does not automatically enable the TCP/IP protocol for SQL Server Developer and Express editions. TCP/IP を手動で有効にして IP アドレスでリモート接続できるようにするための手順を次に示します。The steps below explain how to manually enable TCP/IP so that you can connect remotely by IP address.

最初に、リモート デスクトップを使用して、SQL Server コンピューターに接続します。First, connect to the SQL Server machine with remote desktop.

  1. Azure 仮想マシンが作成され、実行されてから、Azure Portal の [仮想マシン] アイコンをクリックして、VM を表示します。After the Azure virtual machine is created and running, click the Virtual Machines icon in the Azure portal to view your VMs.

  2. 新しい VM の省略記号 [...] をクリックします。Click the ellipsis, ..., for your new VM.

  3. [接続] をクリックします。Click Connect.

    ポータルで VM に接続する

  4. ブラウザーによって VM のためにダウンロードされた RDP ファイルを開きます。Open the RDP file that your browser downloads for the VM.

  5. リモート デスクトップ接続で、このリモート接続の発行元が特定できないことが通知されます。The Remote Desktop Connection notifies you that the publisher of this remote connection cannot be identified. [接続] をクリックして続行します。Click Connect to continue.

  6. [Windows セキュリティ] ダイアログで、 [別のアカウントを使う] をクリックします。In the Windows Security dialog, click Use a different account. これを表示するには、 [その他] をクリックする必要があります。You might have to click More choices to see this. VM の作成時に構成したユーザー名とパスワードを指定します。Specify the user name and password that you configured when you created the VM. ユーザー名の前にバックスラッシュを追加する必要があります。You must add a backslash before the user name.

    リモート デスクトップ認証

  7. [OK] をクリックして接続します。Click OK to connect.

次に、SQL Server 構成マネージャーを使用して、TCP/IP プロトコルを有効にします。Next, enable the TCP/IP protocol with SQL Server Configuration Manager.

  1. リモート デスクトップを使用して仮想マシンに接続している状態で、構成マネージャーを検索します。While connected to the virtual machine with remote desktop, search for Configuration Manager:

    SSCM を開く

  2. SQL Server 構成マネージャーのコンソール ペインで、 [SQL Server ネットワークの構成] を展開します。In SQL Server Configuration Manager, in the console pane, expand SQL Server Network Configuration.

  3. コンソール ペインで、 [Protocols for MSSQLSERVER](MSSQLSERVER のプロトコル) (既定のインスタンス名) をクリックします。詳細ウィンドウで、 [TCP] を右クリックし、有効になっていない場合は [有効] をクリックします。In the console pane, click Protocols for MSSQLSERVER (the default instance name.) In the details pane, right-click TCP and click Enable if it is not already enabled.

    TCP を有効にする

  4. コンソール ペインで、 [再起動] をクリックします。In the console pane, click SQL Server Services. 詳細ペインで、 [SQL Server (インスタンス名)] (既定のインスタンスは [SQL Server (MSSQLSERVER)] ) を右クリックし、 [再起動] をクリックして、SQL Server のインスタンスを停止および再起動します。In the details pane, right-click SQL Server (instance name) (the default instance is SQL Server (MSSQLSERVER)), and then click Restart, to stop and restart the instance of SQL Server.

    データベース エンジンの再起動

  5. SQL Server 構成マネージャーを閉じます。Close SQL Server Configuration Manager.

SQL Server データベース エンジン用のプロトコルを有効にする方法の詳細については、「 サーバー ネットワーク プロトコルの有効化または無効化」を参照してください。For more information about enabling protocols for the SQL Server Database Engine, see Enable or Disable a Server Network Protocol.

SSMS で接続するConnect with SSMS

次の手順では、Azure VM の省略可能な DNS ラベルを作成し、SQL Server Management Studio (SSMS) と接続する方法を示します。The following steps show how to create an optional DNS Label for your Azure VM and then connect with SQL Server Management Studio (SSMS).

パブリック IP アドレスの DNS ラベルの構成Configure a DNS Label for the public IP address

インターネットから SQL Server データベース エンジンに接続する場合は、パブリック IP アドレスの DNS ラベルを作成することを検討してください。To connect to the SQL Server Database Engine from the Internet, consider creating a DNS Label for your public IP address. IP アドレスで接続することはできますが、DNS ラベルを作成すると、識別が容易で、基になるパブリック IP アドレスを抽象化した A レコードが作成されます。You can connect by IP address, but the DNS Label creates an A Record that is easier to identify and abstracts the underlying public IP address.

注意

同じ Virtual Network 内の SQL Server インスタンスのみに接続する場合、またはローカルでのみ接続する予定の場合は、DNS ラベルは必要ありません。DNS Labels are not required if you plan to only connect to the SQL Server instance within the same Virtual Network or only locally.

DNS ラベルを作成するには、最初にポータルで [Virtual Machines] を選びます。To create a DNS Label, first select Virtual machines in the portal. SQL Server VM を選択し、そのプロパティを表示します。Select your SQL Server VM to bring up its properties.

  1. 仮想マシンの概要で、目的のパブリック IP アドレスを選択します。In the virtual machine overview, select your Public IP address.

    パブリック IP アドレス

  2. パブリック IP アドレスのプロパティで、 [構成] を展開します。In the properties for your Public IP address, expand Configuration.

  3. DNS ラベル名を入力します。Enter a DNS Label name. この名前は、IP アドレスを直接使用するのではなく名前で SQL Server VM に接続するために使用できる A レコードです。This name is an A Record that can be used to connect to your SQL Server VM by name instead of by IP Address directly.

  4. [保存] ボタンをクリックします。Click the Save button.

    DNS ラベル

別のコンピューターからデータベース エンジンに接続するConnect to the Database Engine from another computer

  1. インターネットに接続されたコンピューターで、SQL Server Management Studio (SSMS) を開きます。On a computer connected to the internet, open SQL Server Management Studio (SSMS). SQL Server Management Studio を保有していない場合は、ここからダウンロードできます。If you do not have SQL Server Management Studio, you can download it here.

  2. [サーバーへの接続] または [データベース エンジンへの接続] ダイアログ ボックスで、 [サーバー名] の値を編集します。In the Connect to Server or Connect to Database Engine dialog box, edit the Server name value. (前のタスクで確認した) 仮想マシンの IP アドレスまたは完全 DNS 名を入力します。Enter the IP address or full DNS name of the virtual machine (determined in the previous task). また、コンマを追加し、SQL Server の TCP ポートを指定することもできます。You can also add a comma and provide SQL Server's TCP port. たとえば、「 mysqlvmlabel.eastus.cloudapp.azure.com,1433 」のように入力します。For example, mysqlvmlabel.eastus.cloudapp.azure.com,1433.

  3. [認証] ボックスで、 [SQL Server 認証] を選択します。In the Authentication box, select SQL Server Authentication.

  4. [ログイン] ボックスに、有効な SQL ログインの名前を入力します。In the Login box, type the name of a valid SQL login.

  5. [パスワード] ボックスに、ログインのパスワードを入力します。In the Password box, type the password of the login.

  6. [接続] をクリックします。Click Connect.

    SSMS 接続

手動構成とトラブルシューティングManual configuration and troubleshooting

ポータルには接続を自動的に構成するオプションが用意されていますが、接続を手動で構成する方法も知っておくと便利です。Although the portal provides options to automatically configure connectivity, it is useful to know how to manually configure connectivity. 要件を把握しておくと、トラブルシューティングにも役立ちます。Understanding the requirements can also aid troubleshooting.

Azure VM で実行されている SQL Server に接続するための要件を次の表に示します。The following table lists the requirements to connect to SQL Server running in an Azure VM.

要件Requirement 説明Description
SQL Server 認証モードを有効にするEnable SQL Server Authentication mode Virtual Network で Active Directory を構成済みである場合を除き、VM にリモート接続するには SQL Server 認証が必要になります。SQL Server Authentication is needed to connect to the VM remotely unless you have configured Active Directory on a Virtual Network.
SQL ログインを作成するCreate a SQL login SQL 認証を使用する場合、ターゲット データベースへのアクセス許可も持つ、ユーザー名とパスワードによる SQL ログインが必要です。If you are using SQL Authentication, you need a SQL Login with a user name and password that also has permissions to your target database.
TCP/IP プロトコルを有効にするEnable TCP/IP protocol SQL Server では、TCP 経由の接続を許可する必要があります。SQL Server must allow connections over TCP.
SQL Server ポートのファイアウォール規則を有効にするEnable firewall rule for the SQL Server port VM 上のファイアウォールでは、SQL Server ポート (既定では 1433) の受信トラフィックを許可する必要があります。The firewall on the VM must allow inbound traffic on the SQL Server port (default 1433).
TCP 1433 のネットワーク セキュリティ グループの規則を作成するCreate a network security group rule for TCP 1433 インターネット経由で接続する場合は、VM が SQL Server ポート (既定では 1433) でトラフィックを受信できるようにする必要があります。You must allow the VM to receive traffic on the SQL Server port (default 1433) if you want to connect over the internet. ローカル接続と仮想ネットワーク専用の接続では不要です。Local and virtual-network-only connections do not require this. これは、Azure Portal で必要な唯一の手順です。This is the only step required in the Azure portal.

ヒント

ポータルで接続を構成すると、上記の表の手順が自動的に実行されます。The steps in the table above are done for you when you configure connectivity in the portal. これらの手順を使用するのは、構成を確認する場合または SQL Server の接続を手動で設定する場合だけです。Only use these steps to confirm your configuration or to setup connectivity manually for SQL Server.

次の手順Next Steps

これらの接続の手順とプロビジョニングの手順を確認するには、「Azure での SQL Server 仮想マシンのプロビジョニング」をご覧ください。To see provisioning instructions along with these connectivity steps, see Provisioning a SQL Server Virtual Machine on Azure.

Azure VM での SQL Server の実行に関するその他のトピックについては、「 Azure Virtual Machines における SQL Server」を参照してください。For other topics related to running SQL Server in Azure VMs, see SQL Server on Azure Virtual Machines.