すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:カスタム証明書を使用して SSL 暗号化を有効にする

最終更新日:Jun 21, 2025

ApsaraDB RDS for MySQL インスタンスの SSL 暗号化機能を構成する場合、Alibaba Cloud によって管理される証明書とカスタム証明書を使用できます。このトピックでは、カスタム証明書を使用して RDS インスタンスの SSL 暗号化を有効にする方法について説明します。

前提条件

  • OpenSSL がインストールされていること。

  • RDS インスタンスは、SSL 暗号化機能を使用するために、次の MySQL バージョンと RDS エディションのいずれかを実行します。

    • RDS High-availability Edition での MySQL 8.0、MySQL 5.7、または MySQL 5.6

    • RDS Cluster Edition での MySQL 8.0 または MySQL 5.7

    • RDS Basic Edition での MySQL 8.0 または MySQL 5.7

  • RDS インスタンスが [強制 SSL 暗号化] 機能を使用するための次の要件を満たしている必要があります。

    • RDS インスタンスで MySQL 5.7 または MySQL 8.0 が実行されている。

    • RDS インスタンスで RDS Basic Edition、RDS High-availability Edition、または RDS Cluster Edition が実行されている。

    • RDS インスタンスで 20241130 以降のマイナーエンジンバージョンが実行されている。

説明
  • Linux を使用している場合、OpenSSL はプリインストールされています。 OpenSSL を再度インストールする必要はありません。

  • Windows を使用している場合は、OpenSSL パッケージ を入手して OpenSSL をインストールする必要があります。

使用上の注意

  • SSL 暗号化が有効になると、CPU 使用率と読み取りおよび書き込みレイテンシが増加します。

  • SSL 暗号化を有効にした後、SSL 暗号化を有効にするには、既存の接続を閉じて新しい接続を確立する必要があります。

  • カスタム証明書を構成または変更するか、SSL 暗号化を無効にすると、RDS インスタンスが再起動されます。再起動には約 3 分かかります。オフピーク時に操作を実行することをお勧めします。

  • RDS インスタンスの強制 SSL 暗号化機能を有効にした後、クライアントまたはデータベースプロキシを RDS インスタンスに接続できるのは、SSL で暗号化された接続経由のみになります。 SSL で暗号化されていない接続は拒否されます。

構成プロセス

ステップ 1: カスタム証明書を取得する

警告

サーバー証明書または自己署名証明書の秘密鍵を作成する場合、秘密鍵にパスワードを追加しないでください。秘密鍵にパスワードを追加すると、SSL 暗号化を有効にできません。

証明書の生成方法を説明するために、CentOS を例として使用します。

説明

Windows オペレーティングシステムを使用している場合は、CentOS オペレーティングシステムで使用しているのと同じ方法で、次の openssl コマンドを実行できます。さらに、cp コマンドと vim コマンドを使用する代わりに、コマンドを手動でコピーまたは編集する必要があります。

  1. 自己署名証明書と自己署名証明書の秘密鍵を作成します。自己署名証明書は server-ca.crt という名前のファイルに保存されます。秘密鍵は server-ca.key という名前のファイルに保存されます。

    openssl req -new -x509 -days 365 -nodes -out server-ca.crt -keyout server-ca.key -subj "/CN=root-ca"
  2. 証明書署名要求 (CSR) ファイルとサーバー証明書の秘密鍵を作成します。 CSR ファイルの名前は server.csr です。秘密鍵は server.key という名前のファイルに保存されます。

    カスタム証明書を使用して保護できるエンドポイントは 1 つだけです。ビジネス要件に基づいて CSR ファイルを生成するには、次のコマンドを実行できます。

    openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=rm-bpxxxxx.mysql.rds.aliyuncs.com"
    説明

    rm-bpxxxxx.mysql.rds.aliyuncs.com を保護するエンドポイントに置き換えます。エンドポイントを表示する方法の詳細については、「インスタンスのエンドポイントとポートを表示および管理する」をご参照ください。

    server.csr ファイルの作成中に、ビジネス要件に基づいてパラメータを構成するように求められます。次の表にパラメータを示します。

    パラメーター

    説明

    値の例

    国名

    国のコード。国際標準化機構 (ISO) で定義されている 2 文字の国別コードを指定します。

    CN

    都道府県名

    県。

    ZheJiang

    地域名

    市。

    HangZhou

    組織名

    企業の名前。

    Alibaba

    組織単位名

    部署の名前。

    Aliyun

    共通名

    証明書を使用して保護するドメイン名。ドメイン名は openssl.cnf ファイルで指定されています。このパラメータを構成する必要はありません。

    -

    メールアドレス

    このパラメータを構成する必要はありません。

    -

    チャレンジパスワード

    このパラメータを構成する必要はありません。

    -

    オプションの会社名

    このパラメータを構成する必要はありません。

    -

  3. サーバー証明書を作成します。サーバー証明書は server.crt という名前のファイルに保存されます。

    • エンドポイントを保護する場合は、次のコマンドを実行します。

      openssl x509 -req -in server.csr -text -days 365 -CA server-ca.crt -CAkey server-ca.key -CAcreateserial  -out server.crt

構成が完了したら、ls コマンドを実行して、生成されたファイルを表示します。

# ls
server-ca.crt  server-ca.key  ca.srl  server.crt  server.csr  server.key

以下に、ファイルの説明を示します。

  • server.crt:サーバー証明書を含むファイル

  • server.key:サーバー証明書の秘密鍵を含むファイル

  • server-ca.crt:自己署名証明書を含むファイル

  • server-ca.key:自己署名証明書の秘密鍵を含むファイル

手順 2: カスタム証明書を構成して SSL 暗号化を有効にする

説明

カスタム証明書を構成すると、RDS インスタンスの [ステータス][SSL 設定の変更中] に変わります。 RDS インスタンスはこの状態が 3 分間続きます。後続の操作に進む前に、RDS インスタンスが [実行中] 状態になるまで待ちます。

  1. ApsaraDB RDS コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択し、RDS インスタンスを見つけて、インスタンス ID をクリックします。

  2. 表示されるページの左側のナビゲーションウィンドウで、[データセキュリティ] をクリックします。表示されるページで、[SSL] タブをクリックします。

  3. [カスタム証明書] をクリックします。次に、[無効] の横にあるスイッチをクリックします。表示されるダイアログボックスで、[サーバー証明書][サーバー証明書の秘密鍵]、および [強制暗号化] パラメータを構成し、[OK] をクリックします。

    パラメーター

    説明

    サーバー証明書

    作成した server.crt ファイルの内容を入力します。詳細については、「手順 1:カスタム証明書を作成する」をご参照ください。 -----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- までのすべてのコンテンツがこのフィールドにコピーされていることを確認してください。

    サーバー証明書の秘密鍵

    作成した server.key ファイルの内容を入力します。詳細については、「手順 1:カスタム証明書を作成する」をご参照ください。 -----BEGIN PRIVATE KEY----- から -----END PRIVATE KEY----- までのすべてのコンテンツがこのフィールドにコピーされていることを確認してください。

    強制暗号化

    ビジネス要件に基づいて機能を有効または無効にします。

    • 強制 SSL 暗号化機能は、RDS インスタンスで MySQL 5.7 および 20241130 以降のマイナーエンジンバージョンが実行されている場合にのみ有効にできます。

    • RDS インスタンスの強制 SSL 暗号化機能を有効にした後、クライアントまたはデータベースプロキシを RDS インスタンスに接続できるのは、SSL で暗号化された接続経由のみになります。 SSL で暗号化されていない接続は拒否されます。

手順 3:クライアントから RDS インスタンスに接続する

SSL 経由で RDS インスタンスに接続できます。詳細については、「SSL 経由で ApsaraDB RDS for MySQL インスタンスに接続する」をご参照ください。

手順 4:(オプション)作成したカスタム証明書を更新する

説明

カスタム証明書を更新すると、MySQL 8.0 を使用していない限り、RDS インスタンスが再起動されます。注意して進めてください。

カスタム証明書を更新する場合は、[SSL] タブの SSL を更新する をクリックします。表示されるダイアログボックスで、[サーバー証明書] パラメータと [サーバー証明書の秘密鍵] パラメータを構成します。

手順 5:(オプション)SSL 暗号化を無効にする

説明

この操作により、RDS インスタンスが再起動されます。注意して進めてください。

[SSL] タブで、[有効] の横にあるスイッチをクリックします。

よくある質問

カスタム証明書の有効期限が切れた場合はどうすればよいですか?

ApsaraDB RDS for MySQL のカスタム証明書の有効期間はユーザー定義です。証明書の有効期限が切れる前に、システムから通知が送信されます。通知を受け取ったら、ワークロードへの影響を防ぐために、できるだけ早く証明書の有効期間を更新することをお勧めします。