さくらのクラウド「データベースアプライアンスにおけるTLS有効化」について確認する【2026年4月追記】4月1日以降の検証結果

アプライアンス # データベースアプライアンス

さくらのクラウド「データベースアプライアンスにおけるTLS有効化」について確認する

こんにちは、UOZUです!

今やWebだけでなくデータベースとの接続経路も暗号化することが求められる時代です。
そんな中、さくらのクラウドから「データベースアプライアンスにおいて、原則としてTLSによる通信経路の暗号化が有効な状態で作成されるようになる」というニュースリリースが発表されました。

https://cloud.sakura.ad.jp/news/2026/02/20/db-tls-announcement

概要
今後、データベース(アプライアンス)をご利用時の接続に関して、原則() 「自己署名証明書によるTLS1.2, 1.3に対応した通信経路の暗号化が有効」な状態で作成されるようになります。 通信経路の暗号化のみに対応しており、CA証明書による接続先の検証およびクライアント証明書認証には対応しておりません。 証明書の期限は5年間であり、証明書のローテーションには対応しておりません。 () TLS有効化対象の既存アプライアンスは 3月31日時点でサポートされているMariaDB 10.11およびPostgreSQL 14のみです。

4月1日の仕様変更を前に、現時点(2月23日)で「シングル構成」と「冗長化構成」でどのような差があるのか、AlmaLinuxを使って検証環境を構築して確認してみました。

検証環境の用意と確認

検証の為、以下の環境を用意しました。

【検証環境】
• クライアント: AlmaLinux release 10.1 / MariaDB Client 10.11.15 (192.168.0.2)
• DBアプライアンス①: MariaDB 10.11.9(シングル構成 / 192.168.0.3)
• DBアプライアンス②: MariaDB 10.11.9(冗長化構成 / 192.168.0.4

通常のプランでの確認内容(2月23日時点)

まずは通常のデータベースベースアプライアンス(シングル構成)に、mariadbコマンドでTLS接続オプション(--ssl)を付けて接続してみます。
tls_versionが「TLSv1.2,TLSv1.3」と対応している事は確認出来ますが、現時点では、TLS接続自体は有効に出来ません。

[root@uozu-web ~]# mariadb --version
mariadb  Ver 15.1 Distrib 10.11.15-MariaDB, for Linux (x86_64) using  EditLine wrapper

[root@uozu-web ~]# mariadb -h 192.168.0.3 -P 3306 -u uozu -D uozu -p --ssl
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 39
Server version: 10.11.9-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [uozu]> SELECT @@version;
+-----------------+
| @@version       |
+-----------------+
| 10.11.9-MariaDB |
+-----------------+
1 row in set (0.000 sec)
MariaDB [uozu]> SHOW VARIABLES LIKE 'tls_version';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| tls_version | TLSv1.2,TLSv1.3 |
+---------------+-----------------+
1 row in set (0.001 sec)
MariaDB [uozu]> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Ssl_cipher | |
+---------------+-------+
1 row in set (0.001 sec)
MariaDB [uozu]> SHOW VARIABLES LIKE '%ssl%';
+---------------------+----------------------------------+
| Variable_name | Value |
+---------------------+----------------------------------+
| have_openssl | YES |
| have_ssl | DISABLED |
| ssl_ca | |
| ssl_capath | |
| ssl_cert | |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | |
| version_ssl_library | OpenSSL 1.1.1k FIPS 25 Mar 2021 |
+---------------------+----------------------------------+
10 rows in set (0.001 sec)

opensslコマンドでも確認しますが、やはり現時点では接続が出来ないようです。

[root@uozu-web ~]# openssl s_client -connect 192.168.0.3:3306 -starttls mysql
Connecting to 192.168.0.3
CONNECTED(00000003)
MySQL server does not support SSL.
---
no peer certificate available
---
No client certificate CA names sent
Negotiated TLS1.3 group: <NULL>
---
SSL handshake has read 93 bytes and written 0 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Protocol: TLSv1.3
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

冗長化オプションが有効な場合での確認内容(2月23日時点)

冗長化オプションが有効な構成の場合はどうでしょうか?
ニュースリリース記載の通り、tls_versionは「TLSv1.2」までとなりますが、2月23日時点でもTLS接続自体は可能な事が確認できます。

[root@uozu-web ~]# mariadb -h 192.168.0.4 -P 3306 -u uozu -D uozu -p --ssl
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.11.13-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [uozu]> SELECT @@version;
+----------------------+
| @@version            |
+----------------------+
| 10.11.13-MariaDB-log |
+----------------------+
1 row in set (0.001 sec)
MariaDB [uozu]> SHOW VARIABLES LIKE 'tls_version';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| tls_version | TLSv1.2 |
+---------------+---------+
1 row in set (0.001 sec)
MariaDB [uozu]> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value |
+---------------+---------------------------+
| Ssl_cipher | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
1 row in set (0.001 sec)
MariaDB [uozu]> SHOW VARIABLES LIKE '%ssl%';
+---------------------+--------------------------------------+
| Variable_name | Value |
+---------------------+--------------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | |
| ssl_capath | |
| ssl_cert | /etc/pki/tls/certs/mysql.crt |
| ssl_cipher | DHE-RSA-AES128-GCM-SHA256:AES128-SHA |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | /etc/pki/tls/private/mysql.key |
| version_ssl_library | OpenSSL 1.1.1k FIPS 25 Mar 2021 |
+---------------------+--------------------------------------+
10 rows in set (0.001 sec)

opensslコマンドでも、TLS1.2で接続が可能な事が確認できます。

[root@uozu-web ~]# openssl s_client -connect 192.168.0.4:3306 -starttls mysql
Connecting to 192.168.0.4
CONNECTED(00000003)
Can't use SSL_get_servername
depth=0 CN=localhost
verify error:num=18:self-signed certificate
verify return:1
depth=0 CN=localhost
verify return:1
---
Certificate chain
 0 s:CN=localhost
   i:CN=localhost
   a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption
   v:NotBefore: Feb 23 06:00:59 2026 GMT; NotAfter: Jan 30 06:00:59 2126 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDCzCCAfOgAwIBAgIUQ7eyp21J50fwgxp/S2m8+xp1BwAwDQYJKoZIhvcNAQEL
~省略
-----END CERTIFICATE-----
subject=CN=localhost
issuer=CN=localhost
---
No client certificate CA names sent
Client Certificate Types: RSA sign, ECDSA sign
Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:ed25519:ed448:rsa_pss_pss_sha256:RSA-PSS+SHA256:rsa_pss_pss_sha384:RSA-PSS+SHA384:rsa_pss_pss_sha512:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224:UNDEF:UNDEF
Shared Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:ed25519:ed448:rsa_pss_pss_sha256:RSA-PSS+SHA256:rsa_pss_pss_sha384:RSA-PSS+SHA384:rsa_pss_pss_sha512:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224
Peer signing digest: SHA256
Peer signature type: rsa_pss_rsae_sha256
Peer Temp Key: DH, 2048 bits
---
SSL handshake has read 2049 bytes and written 1887 bytes
Verification error: self-signed certificate
---
New, TLSv1.2, Cipher is DHE-RSA-AES128-GCM-SHA256
Protocol: TLSv1.2
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : DHE-RSA-AES128-GCM-SHA256
    Session-ID: 8BCB8761F4B0D328BE0EDF324908233B2BC1F6E448232575644CD5C2AFEA80EE
    Session-ID-ctx:
    Master-Key: F687E446E0B13A05A2D856E148C3DF581CD2C79BBC4E9BB4199AC3E75D73CCE01C9084181A07598988EEF28A26D76FA5
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 0a 65 e3 df 46 eb aa 1f-0e 16 0e 39 d7 ab d6 9e   .e..F......9....
    0010 - f0 bc 48 0c ff 0d 10 ad-61 c9 95 ca 27 08 22 0f   ..H.....a...'.".
    0020 - 73 d9 59 6b 8c b2 31 af-c2 a9 f2 fa df 39 9d c2   s.Yk..1......9..
    0030 - 2f c2 4c 7d 7e 95 b2 fd-a6 3e 44 50 59 01 5e d1   /.L}~....>DPY.^.
    0040 - ad 2a f8 0e c8 bc 01 02-36 0f 36 d2 8a ad 23 2e   .*......6.6...#.
    0050 - 56 6f 7c 2b 9f ce fd b3-f6 f8 e6 0b d5 39 33 b5   Vo|+.........93.
    0060 - 37 7b 2c 78 93 59 bf c1-3b 6e db 01 cf 86 f9 5b   7{,x.Y..;n.....[
    0070 - 50 55 52 49 ab 93 77 85-96 4f 17 1d 5e 54 62 5e   PURI..w..O..^Tb^
    0080 - a4 b7 df 34 ee 30 62 78-57 e2 33 ee 29 15 e4 17   ...4.0bxW.3.)...
    0090 - 11 77 f4 2a f8 15 51 1a-40 78 e7 74 7f 30 17 26   .w.*..Q.@x.t.0.&
    00a0 - 68 da 53 ad 51 9a f1 17-3e 89 53 08 8c fc 3d 25   h.S.Q...>.S...=%

    Start Time: 1771829235
    Timeout   : 7200 (sec)
    Verify return code: 18 (self-signed certificate)
    Extended master secret: yes
---
DONE

【2026年4月追記】4月1日以降の検証結果

4月1日を過ぎましたので、改めてデータベースアプライアンスにおけるTLSの状況を確認してみます。
データベースアプライアンスはMariaDB 10.11 で指定して新規に作成しています。

通常のプランでの確認内容(4月6日時点)

[root@uozu-web ~]# mariadb -h 192.168.0.3 -P 3306 -u uozu -D uozu -p --ssl
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 28
Server version: 10.11.9-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [uozu]&gt; SELECT @@version;<br>+-----------------+<br>| @@version       |<br>+-----------------+<br>| 10.11.9-MariaDB |<br>+-----------------+<br>1 row in set (0.001 sec)
MariaDB [uozu]> SHOW VARIABLES LIKE 'tls_version';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| tls_version   | TLSv1.2,TLSv1.3 |
+---------------+-----------------+
1 row in set (0.001 sec)

冗長化オプションが有効な場合での確認内容(4月6日時点)

[root@uozu-web ~]# mariadb -h 192.168.0.4 -P 3306 -u uozu -D uozu -p --ssl
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 35
Server version: 10.11.13-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [uozu]> SELECT @@version;
+----------------------+
| @@version            |
+----------------------+
| 10.11.13-MariaDB-log |
+----------------------+
1 row in set (0.000 sec)
MariaDB [uozu]&gt; SHOW VARIABLES LIKE 'tls_version';<br>+---------------+-----------------+<br>| Variable_name | Value           |<br>+---------------+-----------------+<br>| tls_version   | TLSv1.2,TLSv1.3 |<br>+---------------+-----------------+<br>1 row in set (0.001 sec)

検証結果の比較

事前のアナウンス通り、データベースアプライアンスがシングル構成、冗長化オプションが有効な際のいずれも場合も、
TLSv1.2,TLSv1.3で利用可能な事が確認できました。

また先のニュースに掲載の通り、いずれのTLS接続も自己証明書での設定となる為、実際にアプリケーション側で接続する際には、自己証明書を受ける設定が必要になる点は注意が必要かと思います。

ネットワーク設計における「セキュリティ」の考え方

今回のアップデートにより、4月1日以降はより安価な「シングル構成」であっても、PCI DSSやISMSなどの要件で求められる「サービス間通信の暗号化」をクリアできるようになりました。

以前、さくらのクラウドのパケットフィルタによるアクセス制限について解説しましたが、パケットフィルタで物理的な「入り口」を絞り、さらにTLSで「中身」を秘匿する。この多層防御こそが、クラウド時代のインフラ設計における「最適解」ではないでしょうか。

おわりに

今回の検証で、4月のアップデートでシングル構成・冗長化オプションのいずれでも、TLS 1.3を含む最新の暗号化プロトコルが利用可能になりました。

「DBの暗号化接続の設定がうまくいかない……」「セキュリティ要件を満たすインフラ構成を相談したい」という方がいらっしゃれば、ぜひネットアシストにご相談ください。

それではまた!

この記事を書いた人

UOZU

ネットアシスト運用チーム10年目の運用エンジニア さくらのクラウド検定 ベーシック さくらのクラウド検定 アドバンスド AWS Certified Solutions Architect - Associate