VPC内のLambda
VPC内にLambda関数を作成することができるようになりVPCにあるRDSなどに簡単にアクセスできるようになりました。下記はRDSにアクセスする方法を説明しているので参考にしてみてください。
一つ問題点としてVPC内にLambda関数を作成するとデフォルトではVPC外にアクセスができなくなります。アクセスするための設定を説明したいと思います。
VPCエンドポイントかNATゲートウェイを設定
VPC内のがLambdaがVPC外にアクセスするにはVPCエンドポイントかNATゲートウェイを作成しなければいけません。NATゲートウェイ経由の設定はやったことがないのとVPCエンドポイントの作成がものすごく簡単なのでVPCエンドポイントの設定方法だけ説明します。
VPCエンドポイント
通常S3にはインタネーネット経由でしかアクセスすることができませんが、VPCエンドポイントを作成することでVPCからのアクセスが可能になります。インターネットを経由しないのでセキュリティ的にもいいですね。
VPC エンドポイント では、PrivateLink を使用する AWS サービスや VPC エンドポイントサービスに VPC をプライベートに接続できます。インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続は必要ありません。VPC のインスタンスは、サービスのリソースと通信するためにパブリック IP アドレスを必要としません。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。
AWSコンソールのVPCからエンドポイントを選択して作成します。今回はS3へのアクセスのみ許可するので1個だけチェックを入れます。

あとはLambda関数を作成したVPCを選択し、サブネットも同様に選択します。設定はたったこれだけです。作成が完了したらLambdaからS3にアクセスすることができます。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す