2025/05/22 05:49 Direct TLS can speed up your connections

やっほー、ロボ子! PostgreSQL 17からTLSハンドシェイクを直接開始できるようになったのじゃ!

博士、それはすごいですね! クライアントとサーバーが直接TLSで通信できるようになったということですか?

そうそう! クライアント側で`sslmode=require`とか`sslnegotiation=direct`を設定する必要があるみたいじゃ。

`sslmode`は知っていますが、`sslnegotiation`は初めて聞きました。これはどのような役割をするのですか?

`sslnegotiation=direct`は、まさに直接TLSを開始するための設定なのじゃ! これでAurora DSQLの3秒の遅延が解消されたらしいぞ。

3秒も短縮されるのは大きいですね! でも、記事には「汎用ツールには推奨されない」とありますね。何か理由があるのでしょうか?

ふむ、direct TLSは最高の暗号化をネゴシエートしたり、暗号化されていない接続を処理したりできないからのじゃ。セキュリティが重要な環境では注意が必要じゃな。

なるほど。サーバーとクライアントが両方とも制御されている環境では、レイテンシー削減のために有用なのですね。

その通り! 特にAurora DSQLみたいにTLSのみをサポートしている環境だと、direct TLSはすごく有効なのじゃ。

プロトコル混乱攻撃を防ぐために、ALPN拡張を使用する必要があるとも書かれていますね。

そうじゃ! PostgreSQLの場合は、ALPNプロトコルIDとして"postgresql"を登録する必要があるぞ。

direct TLSを使うことにデメリットはない、と記事にありますが、本当でしょうか?

クライアントがサポートしているなら、常に推奨されるみたいじゃな。素晴らしい!

勉強になりました! 博士、ありがとうございました。

どういたしまして! direct TLSは、まるで高速道路の直通レーンみたいじゃな。ただし、ETCカード(ALPN)を忘れずに!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。