LoginSignup
1
2

More than 1 year has passed since last update.

Aurora(MySQL互換)とRDS ProxyのCA証明書/TLS接続/IAM認証について整理する

Last updated at Posted at 2023-03-14

提題の件について、設計書を書く上で現時点での仕様を整理する必要があったので、まとめた結果を記載しておく。

※調査にあたり、以下の記事を参考にさせていただきました。

整理内容

1. CA証明書

Aurora

  • RDSやAuroraはサーバー証明書の署名に独自のCA証明書を使っているため、TLS接続時やIAM認証時にはこれらのCA証明書のダウンロードと指定が必要。
  • なお、CA証明書は40年/100年ものが使用可能となっている。Aurora MySQL 2.x(MySQL 5.7互換)や3.x(同 8.0互換)では、デフォルトのrds-ca-2019(来年には切れるので非推奨)、rds-ca-rsa2048-g1のみが選択可能な模様。

RDS Proxy

  • RDS ProxyはACMサーバー証明書を使っている。こちらは一般的な証明書ストアに含まれるCA証明書を使っているので、TLS接続時にもクライアント側で独自CA証明書のダウンロードや指定は必要ない。

2. TLS接続

Aurora

  • Aurora接続にTLS接続は必須ではないが、IAM認証時は「CA証明書」が必要になる(この場合でもTLS接続は必須ではない)。
  • TLS1.3はAuroraではまだサポートされていない。

RDS Proxy

  • RDS ProxyでのTLS接続は必須ではないが、IAM認証時は「TLS接続」が必須となる(この場合でもCA証明書のダウンロードは不要だが、ACMのCA証明書が暗黙的に使われている)。
  • TLS1.3はRDS Proxyではまだサポートされていない。

3. IAM認証

Aurora

  • AuroraのIAM認証はネイティブ認証と併用可能。

RDS Proxy

  • RDS ProxyはIAM認証かネイティブ認証かの二者択一。
  • IAM認証の場合、DB側はネイティブ認証必須。ネイティブ認証の場合は、DB側はIAM認証(ネイティブ認証併用)可。いずれの場合も、Secrets Managerにネイティブ認証用のパスワードが格納され、RDS Proxy→データベース間はそれを使ってネイティブ認証する。

なお参考までに、アプリケーションからAuroraへの接続については、スロットリング回避のため、IAM認証ではなくネイティブ認証を用いるのがよいと思われる。
IAM認証は原則として「人による認証」で利用するのが吉。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2