異なるVPC上にあるLambdaから、異なるVPC上にあるRDSへRDS Proxy経由で接続する

異なるVPC上にあるLambdaから、異なるVPC上にあるRDSへRDS Proxy経由で接続する

VPC-A上にあるLambdaからVPC-B上にあるRDS(パブリックアクセシビリティ:なし)へ接続します。

VPC CIDR サービス
VPC-A 172.16.0.0/16 Lambda(node.js v16)
VPC-B 172.31.0.0/16 RDS(MySQL 8.0.30)

RDSを作成

VPC-B上にRDSを作成します。

セキュリティグループは以下です。

タイプ プロトコル ポート範囲 ソース
MYSQL/Aurora TCP 3306 RDS Proxyのセキュリティグループ

RDS Proxyを作成

VPC-B上にRDS Proxyを作成します。RDSと同一VPC上に作成する必要があります。

RDS Proxyのセキュリティグループは以下です。

タイプ プロトコル ポート範囲 ソース
MYSQL/Aurora TCP 3306 0.0.0.0/0

30分くらいかかって作成されます。

追加でプロキシエンドポイントを作成する(VPC-A用)

RDS Proxyに追加でプロキシエンドポイントを作成します。

このプロキシエンドポイントがVPC-Aの為のエンドポイントです。今回はVPC-A上に配置したLambda用のプロキシエンドポイントを作成します。

「プロキシエンドポイントを作成」をクリックします。

異なるVPC上にあるLambdaから、異なるVPC上にあるRDSへRDS Proxy経由で接続する

以下のように設定し、「プロキシエンドポイントを作成」をクリックします。

異なるVPC上にあるLambdaから、異なるVPC上にあるRDSへRDS Proxy経由で接続する 異なるVPC上にあるLambdaから、異なるVPC上にあるRDSへRDS Proxy経由で接続する

RDS Proxyのセキュリティグループは以下です。

タイプ プロトコル ポート範囲 ソース
MYSQL/Aurora TCP 3306 0.0.0.0/0

30分ほど待ちます。

異なるVPC上にあるLambdaから、異なるVPC上にあるRDSへRDS Proxy経由で接続する

これでVPC-A上に配置したLambdaからVPC-B上に配置したRDSにRDS Proxyのエンドポイント経由で接続することが可能になります。

Lambda(node.js v16)

サンプルソースです。

import * as mysql from 'promise-mysql'

export async function handler(event, context) {
  const conn = await mysql.createConnection({
    host: 'lambda.endpoint.proxy-xxxxxxxxxx11.ap-northeast-1.rds.amazonaws.com', // 追加したプロキシのエンドポイント指定すること
    port: 3306,
    user: 'admin',
    password: '12345678',
    database: 'mysql',
    dateStrings: true
  })
  const results = await conn.query('select * from mysql.user', [])
  console.log(results)
  await conn.end()
  return {
    statusCode: 200,
    body: 'Hello World!!!'
  }
}

Lambdaをマネジメントコンソールから「Test」で実行します。

異なるVPC上にあるLambdaから、異なるVPC上にあるRDSへRDS Proxy経由で接続する

RDS ProxyのCloud Watchログが出力されていることが確認できます。

補足

VPCピアリングを作成不要です。

RDS Proxyに対応していないRDSもありますので、ご注意ください。

参考サイト

Amazon RDS Proxy が複数の Amazon VPC からのデータベース接続のサポートを開始
Amazon RDS Proxy - Amazon Relational Database Service
Amazon RDS プロキシ機能の AWS リージョン と Amazon RDS DB エンジンバージョンの可用性をご確認ください。

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました