Lambdaから外部サービスへアクセスする際に、IP固定させる為、Amazon VPCを使っております。
この説明はやや不正確で、たしかにNAT GatewayはVPCの中のサービスの一つですが「NAT Gatewayを使っている」とするのが正確でしょう。
つまりここでかかっているのは「VPC」ではなくてNAT Gatewayの起動時間に対する料金です。
残念ながら、NAT Gatewayをオンデマンドで使用する方法は基本的にありません。(頑張れば都度何らかの方法で構築することができなくもないですが、構築のリードタイムを考えると非現実的ですし、IPを固定させるのも面倒です。)
NAT GatewayはEC2インスタンスと違って起動・停止をするものではないので、使うのであれば基本的にずっとそのまま構築済みの状態にしておきます。
またNAT Gatewayを介して通信を行うと通信したデータ量に対しても課金されるので、大きなデータをNAT Gatewayを介してダウンロードしたり、大量のリクエストを送ったりするのは避けたほうが賢明です。
NAT Gatewayの使用はLambda実行時だけで大丈夫なんですが、VPCサービスの仕様上、そういった使い方は出来ないのでしょうか?
現実的には不可能と考えていいでしょう。
こういった用途ならLambdaではなく、例えばコンテナ化してECSで動かすなどの方法をお勧めします。
AWS FargateのIPアドレスを固定化してみる
大した性能がいらなくて、かつ該当の処理を動かすタイミングがこちらでコントロールできるのであれば、EC2インスタンスを必要なときにだけ稼働させる、でも十分かもしれません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/29 06:56