Azure Database for MySQL - フレキシブル サーバーの仮想ネットワーク統合を使用したプライベート ネットワーク アクセス

適用対象: Azure Database for MySQL - フレキシブル サーバー

この記事では、Azure Database for MySQL フレキシブル サーバーのプライベート接続オプションについて説明します。 Azure でサーバーを安全に作成するための、Azure Database for MySQL フレキシブル サーバーの仮想ネットワークの概念について詳しく説明します。

プライベート アクセス (Virtual Network 統合)

Azure Virtual Network) は、Azure のプライベート ネットワークの基本的な構成要素です。 仮想ネットワークと Azure Database for MySQL フレキシブル サーバーの統合により、Azure のネットワーク セキュリティと分離の利点がもたらされます。

Azure Database for MySQL フレキシブル サーバー インスタンスの仮想ネットワーク統合を使用すると、サーバーへのアクセスを仮想ネットワーク インフラストラクチャのみにロックダウンできます。 仮想ネットワークには、すべてのアプリケーションとデータベース リソースを 1 つの仮想ネットワークに含めることができます。また、同じリージョンまたは異なるリージョン内の異なる仮想ネットワークにまたがって拡張することもできます。 Microsoft の低待機時間、高帯域幅のプライベート バックボーン インフラストラクチャを使うピアリングによって、さまざまな仮想ネットワーク間のシームレスな接続を確立できます。 仮想ネットワークは、接続において、見かけ上 1 つのネットワークとして機能します。

Azure Database for MySQL フレキシブル サーバーは、次のクライアントからの接続に対応しています。

  • 同じ Azure リージョン内の仮想ネットワーク (ローカルピアリングされた仮想ネットワーク)
  • Azure リージョン間の仮想ネットワーク (グローバル ピアリングされた仮想ネットワーク)

サブネットを使用すると、仮想ネットワークを 1 つ以上のサブネットワークにセグメント化して仮想ネットワークのアドレス空間の一部を割り当て、そこに Azure リソースをデプロイできます。 Azure Database for MySQL フレキシブル サーバーには、委任されたサブネットが必要です。 委任されたサブネットは、サブネットでホストできるのは Azure Database for MySQL フレキシブル サーバー インスタンスのみであることを示す明示的な識別子です。 サブネットを委任することにより、サービスには、Azure Database for MySQL フレキシブル サーバー インスタンスをシームレスに管理するためのサービス固有リソースを作成する直接アクセス許可が与えられます。

Note

Azure Database for MySQL フレキシブル サーバーをホストするサブネットに指定できる最小の CIDR 範囲は /29 で、8 つの IP アドレスを提供します。 ただし、ネットワークまたはサブネットの最初と最後のアドレスを個々のホストに割り当てることはできません。 Azure は、ホストに割り当てることができない 2 つの IP アドレスを含め、Azure ネットワークで内部使用するために 5 つの IP アドレスを予約します。 これにより、/29 CIDR 範囲に対して 3 つの使用可能な IP アドレスが残ります。 Azure Database for MySQL フレキシブル サーバーの場合、プライベート アクセスが有効になっている場合は、委任されたサブネットからノードごとに 1 つの IP アドレスを割り当てる必要があります。 HA 対応サーバーには 2 つの IP アドレスが必要であり、HA 以外のサーバーには 1 つの IP アドレスが必要です。 高可用性オプションは後で有効にできるため、Azure Database for MySQL フレキシブル サーバー インスタンスごとに少なくとも 2 つの IP アドレスを予約することをお勧めします。 Azure Database for MySQL フレキシブル サーバーは、Azure プライベート DNS ゾーンと統合されます。これにより、信頼性が高くセキュリティで保護された DNS サービスが提供され、仮想ネットワークでドメイン名を管理および解決するのに、カスタムの DNS ソリューションを追加する必要がなくなります。 プライベート DNS ゾーンは、仮想ネットワーク リンクを作成することで、1 つ以上の仮想ネットワークにリンクできます。

Flexible server MySQL VNET

上の図では、

  1. Azure Database for MySQL フレキシブル サーバー インスタンスは、委任されたサブネット (仮想ネットワーク VNet-1 の 10.0.1.0/24) に挿入されます。
  2. 同じ仮想ネットワーク内の異なるサブネットにデプロイされたアプリケーションは、Azure Database for MySQL フレキシブル サーバー インスタンスに直接アクセスできます。
  3. 別の仮想ネットワーク VNet-2 にデプロイされたアプリケーションは、Azure Database for MySQL フレキシブル サーバー インスタンスに直接アクセスできません。 インスタンスにアクセスする前に、プライベート DNS ゾーンの仮想ネットワーク ピアリングを 実行する必要があります。

仮想ネットワークの概念

Azure Database for MySQL フレキシブル サーバー インスタンスで仮想ネットワークを使用する場合に理解しておく必要がある概念をいくつか次に示します。

  • 仮想ネットワーク -

    Azure Virtual Network には、使用するために構成されたプライベート IP アドレス空間が含まれています。 Azure の仮想ネットワークの詳細については、Azure Virtual Network の概要に関するページを参照してください。

    仮想ネットワークは、Azure Database for MySQL フレキシブル サーバー インスタンスと同じ Azure リージョンに存在する必要があります。

  • 委任されたサブネット -

    仮想ネットワークには、サブネット (サブネットワーク) が含まれます。 サブネットを使用すると、仮想ネットワークをより小さなアドレス空間に分割できます。 Azure リソースは、仮想ネットワーク内の特定のサブネットにデプロイされます。

    Azure Database for MySQL フレキシブル サーバー インスタンスは、Azure Database for MySQL フレキシブル サーバー専用に委任されたサブネット内に存在する必要があります。 この委任は、Azure Database for MySQL フレキシブル サーバー インスタンスのみがそのサブネットを使用できることを意味します。 委任されたサブネットに他の Azure リソースの種類を含めることはできません。 その委任プロパティを Microsoft.DBforMySQL/flexibleServers として割り当てて、サブネットを委任します。

  • ネットワーク セキュリティ グループ (NSG)

    ネットワーク セキュリティ グループのセキュリティ規則を使用して、仮想ネットワーク サブネットとネットワーク インターフェイスに出入りできるネットワーク トラフィックの種類をフィルター処理できます。 詳細については、ネットワーク セキュリティ グループの概要に関するページを参照してください。

  • プライベート DNS ゾーンの統合

    Azure プライベート DNS ゾーン統合を使用すると、現在の仮想ネットワーク内のプライベート DNS、またはプライベート DNS ゾーンがリンクされているリージョン内のピアリングされた仮想ネットワークを解決できます。

  • 仮想ネットワーク ピアリング

    仮想ネットワーク ピアリングを使用すると、Azure 内の 2 つ以上の仮想ネットワークをシームレスに接続できます。 ピアリングされた仮想ネットワークは、接続において、見かけ上 1 つのネットワークとして機能します。 ピアリングされた仮想ネットワーク内の仮想マシン間のトラフィックには、Microsoft のバックボーンインフラストラクチャが使用されます。 ピアリングされた仮想ネットワーク内のクライアント アプリケーションと Azure Database for MySQL フレキシブル サーバー インスタンスの間のトラフィックは、Microsoft のプライベート ネットワーク経由でのみルーティングされ、そのネットワークに分離されます。

プライベート DNS ゾーンを使用する

  • Azure portal または Azure CLI を使用して仮想ネットワークを使用して Azure Database for MySQL フレキシブル サーバー インスタンスを作成する場合は、指定されたサーバー名を使用して、サブスクリプション内のサーバーごとに新しいプライベート DNS ゾーン mysql.database.azure.com が自動的にプロビジョニングされます。 代わりに、Azure Database for MySQL フレキシブル サーバー インスタンスで専用のプライベート DNS ゾーンを設定する必要がある場合は、プライベート DNS の概要に関するドキュメントを参照してください。

  • Azure API、Azure Resource Manager テンプレート (ARM テンプレート)、または Terraform を使う場合は、mysql.database.azure.com で終わるプライベート DNS ゾーンを作成し、Azure Database for MySQL フレキシブル サーバー インスタンスにプライベート アクセスを構成する間はそれらを使ってください。 詳細については、プライベート DNS ゾーンの概要に関するページを参照してください。

    重要

    プライベート DNS ゾーン名は、mysql.database.azure.com で終わる必要があります。 SSL を使って Azure Database for MySQL フレキシブル サーバー インスタンスに接続しており、証明書のサブジェクト名を使って完全な検証 (sslmode=VERIFY_IDENTITY) を実行するオプションを使っている場合、接続文字列には <servername>.mysql.database.azure.com を使います。

Azure portal または Azure CLI で、プライベート アクセス (仮想ネットワーク統合) を使用して Azure Database for MySQL フレキシブル サーバー インスタンスを作成する方法について説明します。

カスタム DNS サーバーとの統合

カスタム DNS サーバーを使う場合は、Azure Database for MySQL フレキシブル サーバー インスタンスの FQDN を解決する DNS フォワーダーを使う必要があります。 フォワーダーの IP アドレスは、168.63.129.16 である必要があります。 カスタム DNS サーバーは、仮想ネットワーク内にあるか、仮想ネットワークの DNS サーバー設定を介して到達可能である必要があります。 「独自の DNS サーバーを使用する名前解決」をご覧ください。

重要

Azure Database for MySQL フレキシブル サーバー インスタンスのプロビジョニングを成功させるには、カスタム DNS サーバーを使っている場合でも、NSG を使って AzurePlatformDNS への DNS トラフィックをブロックしないようにする必要があります

プライベート DNS ゾーンと仮想ネットワーク ピアリング

プライベート DNS ゾーンの設定と、仮想ネットワーク ピアリングはそれぞれ独立しています。 プライベート DNS ゾーンの作成と使用の詳細については、「プライベート DNS ゾーンを使用する」を参照してください。

同じリージョンまたは別のリージョンの別の仮想ネットワークにプロビジョニングされているクライアントから Azure Database for MySQL フレキシブル サーバー インスタンスに接続する場合は、プライベート DNS ゾーンを仮想ネットワークにリンクする必要があります。 仮想ネットワークのリンク方法のドキュメントをご覧ください。

Note

リンクできるのは、名前が mysql.database.azure.com で終わるプライベート DNS ゾーンのみです。

ExpressRoute または VPN を使用して、オンプレミス サーバーから仮想ネットワーク内の Azure Database for MySQL フレキシブル サーバー インスタンスに接続する

オンプレミス ネットワークから仮想ネットワーク内の Azure Database for MySQL フレキシブル サーバー インスタンスにアクセスする必要があるワークロードの場合は、ExpressRoute または VPN と、オンプレミスに接続された仮想ネットワークが必要です。 このセットアップを使うと、オンプレミスの仮想ネットワーク上で実行されているクライアント アプリケーション (MySQL Workbench など) から接続する場合は、Azure Database for MySQL フレキシブル サーバーのサーバー名を解決するために DNS フォワーダーが必要になります。 この DNS フォワーダーには、サーバーレベル フォワーダー経由のすべての DNS クエリを、Azure 提供の DNS サービス 168.63.129.16 に解決する役割があります。

適切に構成するには、次のリソースが必要です。

  • オンプレミス ネットワーク。
  • プライベート アクセス (仮想ネットワーク統合) でプロビジョニングされた Azure Database for MySQL フレキシブル サーバー インスタンス。
  • オンプレミスに接続されている仮想ネットワーク
  • Azure にデプロイされた DNS フォワーダー 168.63.129.16

これで、Azure Database for MySQL フレキシブル サーバーのサーバー名 (FQDN) を使って、ピアリングされた仮想ネットワークまたはオンプレミス ネットワーク内のクライアント アプリケーションから Azure Database for MySQL フレキシブル サーバー インスタンスに接続できます。

Note

Azure Database for MySQL フレキシブル サーバー インスタンスに接続する場合は、接続文字列に完全修飾ドメイン名 (FQDN) <servername>.mysql.database.azure.com を使うことをお勧めします。 サーバーの IP アドレスが静的のままであることは保証されていません。 FQDN を使用すると、接続文字列を変更せずに済みます。

サポートされない仮想ネットワークのシナリオ

  • パブリック エンドポイント (またはパブリック IP または DNS) - 仮想ネットワークにデプロイされた Azure Database for MySQL フレキシブル サーバー インスタンスは、パブリック エンドポイントを持つことができません。
  • Azure Database for MySQL フレキシブル サーバー インスタンスを仮想ネットワークとサブネットにデプロイした後、それを別の仮想ネットワークまたはサブネットに移動することはできません。 仮想ネットワークを別のリソース グループまたはサブスクリプションに移動することはできません。
  • プライベート DNS統合構成は、デプロイ後に変更することはできません。
  • サブネットにリソースを配置した後、そのサブネットのサイズ (アドレス空間) を増やすことはできません。

次のステップ