次の方法で共有


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

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

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

注意

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

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

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

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

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

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

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

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

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

  • パブリック エンドポイント (またはパブリック 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" (パブリック アドレス) を使用しないでください。

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 設定のさまざまな構成を次に示します。

重要

TLS 1.0 および TLS 1.1 プロトコルのサポートの変更により、2024 年 9 月上旬以降、新しいサーバーでは TLS 1.0 または 1.1 の使用が許可されなくなり、既存のサーバーはこれらのバージョンにダウングレードできなくなります。 2024 年 9 月中旬から、現在 TLS 1.0 または 1.1 を使っているすべてのサーバーの TLS 1.2 への必須のアップグレードが開始されます。 このアップグレード プロセスは、2024 年 9 月末までに完了する予定です。 お客様には、9 月末までにアプリケーションが TLS 1.2 と完全に互換性があることを確認することを強くお勧めします。

シナリオ サーバー パラメーターの設定 説明
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 のバージョンを特定する方法を確認します。