次の方法で共有


Azure Database for MySQL の接続およびネットワークの概念 - フレキシブル サーバー

この記事では、Azure Database for MySQL フレキシブル サーバー インスタンスへの接続を制御する概念について説明します。 Azure Database for MySQL フレキシブル サーバーが Azure でサーバーを安全に作成してアクセスするためのネットワークの概念について詳しく説明します。

Azure Database for MySQL フレキシブル サーバーでは、サーバーへの接続を構成する 3 つの方法がサポートされています:

Note

(VNet 統合を介して) パブリックまたはプライベート アクセスを使用してサーバーをデプロイした後、接続モードを変更することはできません。 ただし、パブリック アクセス モードでは、必要に応じてプライベート エンドポイントを有効または無効にしたり、必要な場合にパブリック アクセスを無効にしたりすることができます。

ネットワーク オプションを選択する

以下の機能が必要な場合は、パブリック アクセス (許可された IP アドレス) とプライベート エンドポイントの方法を選択します:

  • 仮想ネットワークをサポートせずに Azure リソースから接続する
  • VPN または ExpressRoute によって接続されていない Azure 外部のリソースから接続する
  • フレキシブル サーバーには、パブリック エンドポイントを介してアクセスでき、許可されたインターネット リソース経由でアクセスできます。 必要に応じて、パブリック アクセスを無効にすることができます。
  • 仮想ネットワーク (VNet) 上のホストからサーバーにアクセスするようにプライベート エンドポイントを構成する機能

以下の機能が必要な場合は、プライベート アクセス (VNet 統合) を選択します:

  • プライベート エンドポイントを構成することなく、同じ仮想ネットワークまたはピアリングされた仮想ネットワーク内の Azure リソースからフレキシブル サーバーに接続する
  • VPN または ExpressRoute を使用して Azure 以外のリソースからフレキシブル サーバーに接続する
  • パブリック エンドポイントがない

プライベート アクセスまたはパブリック アクセスのどちらのオプションを使用するかに関係なく、次の特性が適用されます:

  • 許可された IP アドレスからの接続は、有効な資格情報を使用して Azure Database for MySQL フレキシブル サーバー インスタンスに対して認証を行う必要があります
  • ネットワーク トラフィックに対して接続の暗号化が使用可能です
  • サーバーには完全修飾ドメイン名 (fqdn) があります。 接続文字列の hostname プロパティには、IP アドレスではなく FQDN を使用することをお勧めします。
  • どちらのオプションでも、データベース レベルやテーブル レベルではなく、サーバー レベルでアクセスが制御されます。 MySQL のロールのプロパティを使用して、データベース、テーブル、およびその他のオブジェクトのアクセスを制御します。

プライベート アクセス (VNet 統合) オプションを使用する場合は、次の追加の特性が適用されます。

  • サーバーに接続するために、サーバーの作成時に 250001 から 26000 の間でカスタム ポートを指定する機能。 接続する既定のポートは 3306 (パブリック プレビュー) です。
    • サポートされているカスタム ポートは、サーバーごとに 1 つだけです。
    • カスタム ポートでサポートされるシナリオ: サーバーの作成、復元 (サポートされているクロスポート復元)、読み取りレプリカの作成、高可用性の有効化。
    • Current limitations:
      • カスタム ポートは、サーバー作成後に更新できません。
      • カスタム ポートを使用した geo リストアと geo レプリカの作成はサポートされていません。
      • カスタム ポートは、VNet によって挿入されたサーバーでのみサポートされます。

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

  • パブリック エンドポイント (またはパブリック IP あるいは DNS) - 仮想ネットワークにデプロイされたフレキシブル サーバーに、パブリック エンドポイントを設けることはできません。
  • フレキシブル サーバーを仮想ネットワークおよびサブネットにデプロイした後、それを別の仮想ネットワークまたはサブネットに移動することはできません。
  • フレキシブル サーバーをデプロイした後は、フレキシブル サーバーによって使用されている仮想ネットワークを別のリソース グループまたはサブスクリプションに移動することはできません。
  • サブネットにリソースを配置した後で、そのサブネットのサイズ (アドレス空間) を増やすことはできません。
  • サーバーを作成した後で、パブリックからプライベート アクセスに変更することはできません。 ポイントインタイム リストアを使用することをお勧めします。

Note

カスタム DNS サーバーを使用している場合は、DNS フォワーダーを使用して、Azure Database for MySQL フレキシブル サーバー インスタンスの FQDN を解決する必要があります。 詳細については、独自の DNS サーバーを使用する名前解決に関する記事を参照してください。

Hostname

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

ホスト名として FQDN を使用する例は "hostname = servername.mysql.database.azure.com" です。 可能な場合は、"hostname = 10.0.0.4" (プライベート アドレス) や "hostname = 40.2.45.67" (パブリック アドレス) を使用しないでください。

Note

Azure Database for MySQL フレキシブル サーバーでパブリック アクセスと Private Link の両方が有効になっている場合、ネットワーク エクスペリエンスを向上させるために、アーキテクチャの変更の一環として、インスタンスのパブリック IP が更新されます。 このようなパブリック IP を接続文字列で使用している場合は、サーバー接続の中断を回避するために、2025 年 9 月 9 日より前に FQDN に置き換える必要があります。 (注: Private Link IP または VNet 統合 IP は影響を受けません)。 必要なアクション - パブリック ネットワークから NSLookup を実行して、変更されるパブリック IP を取得します。代わりに FQDN を使用するように接続文字列の参照を更新する必要があります。

TLS と SSL

Azure Database for MySQL フレキシブル サーバーでは、トランスポート層セキュリティ (TLS) 暗号化を備えた Secure Sockets Layer (SSL) を使用する、クライアント アプリケーションの Azure Database for MySQL フレキシブル サーバー インスタンスへの接続がサポートされています。 TLS は、データベース サーバーとクライアント アプリケーションの間の暗号化されたネットワーク接続を保証する業界標準のプロトコルです。これを使用することで、ユーザーはコンプライアンス要件に準拠できます。

Azure Database for MySQL フレキシブル サーバーでは、トランスポート層セキュリティ (TLS 1.2) を使用する暗号化された接続が既定でサポートされ、TLS 1.0 と TLS 1.1 を使用する受信接続はすべて既定で拒否されます。 フレキシブル サーバー上の暗号化接続の適用または TLS バージョンの構成は、設定および変更できます。

フレキシブル サーバーに使用できる SSL と TLS 設定のさまざまな構成を次に示します:

Important

TLS 1.0 および TLS 1.1 プロトコルのサポートの削除によると、以前は 2024 年 9 月までに TLS 1.0 と 1.1 を完全に非推奨にする予定です。 ただし、一部のお客様によって識別される依存関係により、タイムラインを拡張することにしました。

  • 2025 年 8 月 31 日から、引き続き TLS 1.0 または 1.1 を使用しているすべてのサーバーの強制アップグレードが開始されます。 この日付以降、TLS 1.0 または 1.1 に依存するすべての接続は、いつでも動作を停止する可能性があります。 サービスの中断の可能性を回避するために、2025 年 8 月 31 日より前に TLS 1.2 への移行を完了することを強くお勧めします。
  • 2024 年 9 月以降、新しいサーバーでは TLS 1.0 または 1.1 の使用が許可されなくなり、既存のサーバーはこれらのバージョンにダウングレードできなくなります。

サービスの中断を回避するために、できるだけ早く TLS 1.2 をサポートするようにアプリケーションを更新することを強くお勧めします。

Scenario サーバー パラメーターの設定 Description
SSL を無効にする (暗号化された接続) require_secure_transport = OFF レガシ アプリケーションで Azure Database for MySQL フレキシブル サーバー インスタンスへの暗号化接続がサポートされていない場合、require_secure_transport=OFF を設定することで、フレキシブル サーバーへの暗号化接続の適用を無効にすることができます。
TLS バージョン 1.2 < SSL を適用する (2024 年 9 月に非推奨) require_secure_transport = ON および tls_version = TLS 1.0 または TLS 1.1 レガシ アプリケーションで暗号化接続がサポートされているが、TLS バージョン < 1.2 が必要な場合は、暗号化接続を有効にすることができますが、アプリケーションでサポートされている TLS のバージョン (v1.0 または v1.1) での接続を許可するようにフレキシブル サーバーを構成します
TLS バージョン 1.2 (既定の構成) で SSL を強制する require_secure_transport = ON および tls_version = TLS 1.2 これは、フレキシブル サーバーに推奨される既定の構成です。
TLS バージョン 1.3 で SSL を強制する (MySQL v8.0 以降でサポート) require_secure_transport = ON および tls_version = TLS 1.3 これは、新しいアプリケーションの開発に便利であり、推奨されます

Note

フレキシブル サーバーでの SSL 暗号の変更はサポートされていません。 TLS_VERSIONが TLS バージョン 1.2 に設定されている場合、FIPS 暗号スイートは既定で適用されます。 バージョン 1.2 以外の TLS の場合、SSL 暗号は、MySQL Community のインストールに付随する既定値に設定されます。

SSL/TLS を使用して接続を確認し、使用している TLS のバージョンを特定する方法を確認します。