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




どうも高妻です。Twitterでプログラミングのことや暗号通貨のことをつぶやいているのでよかったらフォローしてください。  

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にブロックチェーンエンジニアとして入社。






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



コメントを残す

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