ヤマムギ

growing hard days.

*

RDS ProxyをAurora MySQLで

      2021/09/27

Lambda関数をたくさん同時実行してMySQLにアクセスしても大丈夫なようにRDS Proxyを試してみました。

AuroraはMySQLでクラスターを起動しておきました。

RDS Proxyの作成

RDSコンソールからプロキシーの作成をしました。
エンジンはMySQL、データベースは作成済のAuroraクラスターを指定して、接続プールの最大数は100%にしました。

Secrets Managerが必須なので作成しました。
ユーザー名、パスワードはAuroraクラスターのマスターユーザー名とパスワードを指定しました。
IAMロールは新規作成しました。
サブネットはAuroraクラスターのサブネットグループと同じ。
セキュリティグループはAuroraクラスターと同じですが、自分自信をソースとして3306を許可しておきました。

データベースの準備

デモデータを用意しておきました。

テスト用のLambda

Lambdaを実行するLambda関数

データベースに接続するLambda関数を100回実行するLambda関数です。

データベースに接続するLambda関数

pymysqlはLambdaレイヤーでアップロードしています。
接続してSELECTを実行するだけです。

Auroraクラスタに直接接続

まずは、Auroraクラスタに直接接続してみました。

リクエストの数だけDB接続が作成され、途中から次のエラーになりました。
[ERROR] OperationalError: (1040, ‘Too many connections’)

RDS Proxyを使って接続

プロキシエンドポイントが作成されていたので、host=の行を差し替えました。

今回は’Too many connections’エラーが発生することなくすべて処理ができました。
RDS Proxyがうまくやってくれたのですね。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

Amazon API GatewayのIAM認証の動作を確認しました

API GatewayのIAM認証は、IAMユーザーが実行できるように認証する、 …

S3 Intelligent-Tieringで高頻度階層(FREQUENT)に戻る「アクセス」にS3 SelectとGlueクローラーが該当するのか確認してみました

ユーザーガイドのS3 Intelligent-Tiering のしくみには、「低 …

AWS Lambda(Python)からTwitterに投稿する

「GoogleフォームからAPI Gatewayで作成したREST APIにPO …

Amazon SESの受信ルールでSNSトピックを追加

SESの受信ルールにSNSトピックを設定してみました。 [View Active …

Kinesis Data AnalyticsをKinesis Data Streamsに接続してSQL検索する

Amazon Kinesis Data StreamsにTwitter検索データ …

AWS Protonの管理者ガイドとユーザーガイドのチュートリアル

AWS Proton管理者ガイドのAWS Management Console …

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもできるようになってました

RDSスナップショットをS3にエクスポートする新機能を試そうかと思ったのときは、 …

Route 53のホストゾーンにサブドメインを登録する

親ドメインを移行しないでサブドメインの DNS サービスを Amazon Rou …

Amazon Pinpoint Workshopの1(Eメール)

Amazon Pinpoint Workshop ここ数年、AWS re:Inv …

CloudFormationスタックポリシーでスタック更新を防止する

CloudFormationのスタックにスタックポリシーを設定することによって、 …