
RDS Proxyの識別子やエンドポイント名を変更したときに、既存の接続とDNS名がどのようになるのか確かめてみた
こんにちは、林です。
RDS ProxyのエンドポイントのDNS名には、Proxyの識別子やエンドポイントの名前が含まれています。
稼働中のProxyで識別子やエンドポイントの名前を変更したときに、既存の接続に影響はあるのか、DNS名がどのように変わるのかを確かめてみました。
認証設定を変更したときの影響は、前回の記事で確かめています。
ドキュメントから分かること
ユーザーガイドには、識別子とエンドポイントの名前を変更するコマンドの例が記載されています。
既存の接続への影響と、変更前のDNS名の扱いは、ドキュメントから確認できませんでした。
そこで、Aurora PostgreSQLとRDS Proxyの構成で、パスワード認証のクライアントを対象に、次の3つの変更を検証しました。
- Proxyの識別子を変更
- 追加のエンドポイントの名前を変更
- 追加のエンドポイントのセキュリティグループを変更
先に結論
- 識別子、エンドポイント名、エンドポイントのセキュリティグループのいずれを変更しても、既存の接続に影響はない
- 識別子を変更すると、デフォルトのエンドポイントのDNS名のみが変わる
- 変更前のDNS名への新しい接続は名前解決のエラーで失敗するため、名前の変更と同時にアプリケーションの接続先も変更する必要がある
検証環境
前回の記事と同じ構成です。
データベース用のVPCと接続元のVPCを分けて、接続元のVPCに追加のエンドポイントを配置しました。
デフォルトのエンドポイントには、VPCピアリングで接続しました。

| 対象 | 内容 |
|---|---|
| データベース | Aurora PostgreSQL 17.7(LTS)、db.t4g.medium |
| 接続元 | Amazon Linux 2023のEC2、Python 3.9.25、psycopg2 2.9.12 |
| リージョン | 東京(ap-northeast-1) |
検証方法
Proxyに接続したまま設定を変更し、それぞれの接続でエラーが発生するかを確認しました。
- EC2から、4種類の方法でProxyに接続する
- 約1分経過してから、設定を変更する
- Proxyとエンドポイントのステータスがavailableに戻ってから120秒経過するまで、接続のエラーを確認する
- 変更前のDNS名と変更後のDNS名で、名前解決と新しい接続を確認する
既存の接続にエラーが発生しなければ、影響はないと判断しました。
接続は、前回の記事と同じ4種類です。デフォルトのエンドポイントと追加のエンドポイントのそれぞれに用意しました。
固定されていない接続、固定された接続、実行中のクエリの3つを、既存の接続として確認しました。
新しい接続は、それぞれの変更を開始する時点のDNS名に、1秒ごとに再接続しました。
変更に使用したコマンド
Proxyの識別子の変更です。
aws rds modify-db-proxy --db-proxy-name stg-order-proxy \
--new-db-proxy-name stg-order-proxy-v2
追加のエンドポイントの名前の変更です。
aws rds modify-db-proxy-endpoint --db-proxy-endpoint-name stg-order-app \
--new-db-proxy-endpoint-name stg-order-app-v2
追加のエンドポイントのセキュリティグループの変更です。変更後のセキュリティグループには、変更前と同じルールを設定しました。
aws rds modify-db-proxy-endpoint --db-proxy-endpoint-name stg-order-app-v2 \
--vpc-security-group-ids sg-xxxxxxxxxxxxxxxxx
結果
既存の接続に影響はなかった
| 変更 | 既存の接続のエラー | 変更の所要時間 |
|---|---|---|
| Proxyの識別子 | なし | 約2分 |
| 追加のエンドポイントの名前 | なし | 約2分40秒 |
| 追加のエンドポイントのセキュリティグループ | なし | 約1分30秒 |
固定されていない接続、固定された接続、実行中のクエリのいずれでも、エラーは発生しませんでした。
デフォルトのエンドポイント経由と追加のエンドポイント経由で、結果は同じでした。
セキュリティグループを変更している間は、新しい接続にもエラーは発生しませんでした。
変わるのは、名前を変更した対象のDNS名のみ
| 変更 | デフォルトのエンドポイントのDNS名 | 追加のエンドポイントのDNS名 |
|---|---|---|
| Proxyの識別子 | 変わる | 変わらない |
| 追加のエンドポイントの名前 | 変わらない | 変わる |
| 追加のエンドポイントのセキュリティグループ | 変わらない | 変わらない |
識別子を変更したときの、デフォルトのエンドポイントのDNS名です。
変更前: stg-order-proxy.proxy-xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com
変更後: stg-order-proxy-v2.proxy-xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com
追加のエンドポイントの名前を変更したときの、追加のエンドポイントのDNS名です。
変更前: stg-order-app.endpoint.proxy-xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com
変更後: stg-order-app-v2.endpoint.proxy-xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com
追加のエンドポイントに接続しているアプリケーションは、識別子を変更しても、接続先を変更する必要がありませんでした。
変更前のDNS名への新しい接続は失敗する
名前を変更すると、変更前のDNS名への新しい接続は、名前解決のエラーで失敗しました。
識別子を変更したときのログです。
12:26:14 modify-db-proxy を実行
12:28:20 Proxyのステータスが available
12:28:24 default/dbadmin new ERROR OperationalError: could not translate host name "stg-order-proxy.proxy-xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com" to address: Name or service not known
変更後のDNS名への新しい接続は、どちらの変更でも成功しました。
アプリケーションの接続先は、名前の変更と同時に変更後のDNS名へ切り替える必要があります。
変更前のDNS名で接続できる時間もありましたが、約1時間後には名前解決できませんでした。
まとめ
RDS Proxyの識別子やエンドポイント名を変更したときの、既存の接続とDNS名への影響を確かめてみました。
- 識別子、エンドポイント名、エンドポイントのセキュリティグループのいずれを変更しても、既存の接続に影響はない
- 識別子を変更すると、デフォルトのエンドポイントのDNS名のみが変わる
- 変更前のDNS名への新しい接続は名前解決のエラーで失敗するため、名前の変更と同時にアプリケーションの接続先も変更する必要がある
この記事がどなたかの参考になれば幸いです。最後までご覧いただきありがとうございました!
参考











