[アップデート] Amazon RDS for Oracleのマルチテナント構成でAWS Secrets Managerを使ったクレデンシャル管理がサポートされました
しばたです。
先日AWSよりAmazon RDS for Oracleのマルチテナント構成でAWS Secrets Managerを使ったクレデンシャル管理をサポートした旨のアナウンスがありました。
本記事ではこちらの更新について解説していきます。
更新内容
私自身把握できていなかったのですが、これまでAmazon RDS for Oracleのマルチテナントアーキテクチャ構成ではSecrets Manager統合を使えませんでした。
非マルチテナントアーキテクチャの構成であればRDSがSecrets Manager統合をサポートした時から利用可能だったはずです。
RDS for Oracleでマルチテナントアーキテクチャ構成をサポートし始めたのは2023年11月からですが、確かにこの時点のDevelopsersIO記事のスクリーンショットを見ると各PDBの認証情報の管理にSecrets Managerが使えない状態になっていました。
従来マルチテナント構成ではSecrets Manager統合を利用できなかった
今回のアップデートでこの部分が改善され各PDBの認証情報の管理にSecrets Managerを使える様になりました。
試してみた
それでは早速動作確認してみます。
今回は私の検証用AWSアカウントの東京リージョンにRDS for Oracleの環境を作ります。
VPCやパラメーターグループ、オプショングループなどの各種依存リソースは作成済みの状態からスタートします。
RDSインスタンスの新規作成
マネジメントコンソールから新規にRDSデータベースの作成を開始し、エンジンタイプは「Oracle」を選びます。
アーキテクチャ設定は「Oracleマルチテナントアーキテクチャ」+「マルチテナント設定」にします。
エディションとバージョンはなんでも大丈夫ですが、今回はStandard Edition 2(SE2)エディションでOracle 19cの最新バージョンを選びました。
続けてインスタンスの各種設定になり、ここで認証情報の設定でAWS Secrets Managerを選べる様になっています。
今回はこのままSecrets Managerを使う設定で進めます。
その他設定はよしなに設定し、最後に「データベースの作成」をクリックします。
しばらく待つとインスタンスが作成されます。
データベースに対する認証情報はテナントデータベース(PDB)毎に保持されます。
最初のPDB(MYPDB)の詳細を確認すると「設定」タブにマスター認証情報がSecrets Managerで管理されているのが見て取れます。
PDBの認証情報がSecrets Managerで管理されている
Secrets Manager側の設定画面に遷移するとこの通りです。
いい感じですね。
ちなみにデフォルト設定で7日ごとのローテーションスケジュールになっていました。
PDBを増やしてみる
マルチテナント構成ではPDBを増やせます。
当然新たに増やすPDBの認証情報もSecrets Managerで管理可能です。
今回は新たにMYPDB2を増やしてみました。
このPDBの認証情報もSecrets Managerの別シークレットで保持されています。
追加したPDBの認証情報もSecrets Managerで管理可能
余談 : Secrets Manager非サポートの環境
「今回のアップデートで全てのRDS環境においてSecrets Manager統合がサポートされたのかな?」って思ったのですが、まだ以下の環境では非サポートとなっていました。
- Creating a read replica when the source DB or DB cluster manages credentials with Secrets Manager. This applies to all DB engines except RDS for SQL Server.
- Amazon RDS Blue/Green Deployments
- Amazon RDS Custom
- Oracle Data Guard switchover
Blue/Greenデプロイメント環境だと非サポートなのは意外でした。
あとOracleに関係しそうなのはRDS CustomとData Guard switchoverを使った環境ですが、こちらは正直レアケースだと思うのであまり気にしないで大丈夫だと思います。
最後に
簡単ですが以上となります。
個人的にはすでにサポート済みの機能だと思い込んでいたので少し驚きでした。
RDSのSecrets Manager統合は使うのが当然と言っても過言でないと思うのでRDS for Oracleのマルチテナント構成をご利用の方はぜひ採用してみてください。