エラーログ
RDSプロキシにて
Database error: (2003, "Can't connect to MySQL server on 'dev-proxy-db-01.XXX.ap-northeast-1.rds.amazonaws.com' ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006))")
が出る
原因
このエラーは、SSL証明書の検証に失敗した場合に発生します。
対処方法
- 正しい証明書のダウンロードと使用
- 最新のRDS証明書をダウンロード:
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem -O rds-ca-2019-root.pem
- S3バケットに証明書をアップロード:
resource "aws_s3_object" "rds_ca_cert" {
bucket = aws_s3_bucket.lambda_bucket.bucket
key = "rds-ca-2019-root.pem"
source = "${path.module}/rds-ca-2019-root.pem"
}
- Lambda関数コードの修正
- SSL contextの設定を適切に行う:
ssl_context = ssl.create_default_context(cafile=temp_cert_file.name)
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_REQUIRED
- RDSプロキシの設定確認
require_tls
が正しく設定されているか確認:
resource "aws_db_proxy" "rds_proxy_db_dump" {
# 他の設定...
require_tls = true
}
コメント