Help us understand the problem. What is going on with this article?

VPC Lambda から AWS API を使う

VPC に置いた Lambda Function から AWS API を使おうとしたらタイムアウトしてしまって困った。

公式ドキュメント を読むと、

Connect your function to private subnets to access private resources. If your function needs internet access, use NAT. Connecting a function to a public subnet does not give it internet access or a public IP address.

Several services offer VPC endpoints. You can use VPC endpoints to connect to AWS services from within a VPC without internet access.

  • Public Subnet に置いてもランタイムのインスタンスに Public IPv4 アドレスは割り当てられない
  • インターネットへのアクセスが必要な場合は Private Subnet に置いて NAT しろ
  • いくつかの AWS Service は VPC エンドポイントでアクセスできるので、それらを使うだけならインターネットアクセスは必要ない

とのこと。

つまり VPC Lambda から AWS API を使いたければ「NAT する」か「VPC エンドポイントを使う」の2択になる。

いずれの場合も Lambda Function は Private Subnet に配置する必要がある。

VPC エンドポイント

使いたい AWS API が VPC エンドポイントに対応しているならこっちの方が簡単と思われる。

ただし今回触っていたのが趣味 AWS 環境であり、VPC エンドポイント1つに約$10/月かかってしまうのがちょっと厳しいのでやめた。

NAT

お金がある人は NAT Gateway を使うと一瞬でできて便利。(約$45/月)

今回はお金がないので NAT インスタンスを自分で立てた。

参考: Ubuntu の ufw で NAT サーバを作る - Qiita

所感

Lambda で Serverless したかったのに何故ワイは NAT インスタンスを構築しているんや・・・?

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした