VPC内のLambdaからS3にアクセスする方法




VPC内のLambda

VPC内にLambda関数を作成することができるようになりVPCにあるRDSなどに簡単にアクセスできるようになりました。下記はRDSにアクセスする方法を説明しているので参考にしてみてください。

関連記事:AWS Lambdaから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にアクセスすることができます。

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です