前回
全体構成
今回はピンク枠のお話し。
注意事項等
前回の記事とをお読みください。
今回のお話で利用するサービス
- Lambda Function
- VPC Peering
- RDS Proxy
- Security Group
構築に当たっての条件
- Lambda Functionは、
- RDSは、 RDSのあるVPCのサブネット と Lambda Functionのおいてあるサブネット のインバウンドを許可
実際にやったこと
元々の設計では。。。
- VPC間でピアリングを行う
- VPC間で相互ルーティング
- RDSのおいてあるVPCにRDS Proxyを設置
- セキュリティグループ設定、調整
- 具体的に
- RDSが所属するサブネットからRDS Proxyからの接続を許可
- RDS Proxyが所属するサブネットから Lambda Functionが所属するサブネットを許可
- Lambda FunctionからRDS Proxyへ接続するアウトバウンドを許可
- 具体的に
- Lambda FunctionからRDS Proxyを経由してRDSに接続できることを確認
・・・のはずでした。 追加でやったこと
- Lambda Functionに所属するVPCにRDSProxyを作成
- セキュリティグループを再調整
なんでこんなことになったのか(ハマりポイント)
実は、元々の設計ではこういった形になってました。
初期設計では、RDS ProxyはRDSの所属している側にしか存在してませんでした。 また、RDSは別のAPIサーバとも接続されている関係から、 Lambdaに無制限に接続させない ということからLambda はRDS Proxyでの接続は必須になっていました。
ですが、、またもAWS公式 VPC Lambda(VPCに所属させるLambda)は、 同じVPC内のみ という制限がありました。
そこを調べるのにリリースされてしばらく経っているということもあり、資料を探すのに結構かかりました・・・。
所感
やってみてわかったことですが、色々制限がある というのはやはり頭を使うということ それと、構成がややこしくなる でした。
なので、予告編・その1・その2と書いてきたので全体的な構成は説明は完了となります。
最後のまとめ編のその3を書こうかとおもいます。