私はネットワーキングがあまり得意ではありませんが、ここに私の問題があります:ファイアウォールの背後にあるAWSラムダ関数からMySQLサーバーに接続する必要があり、AWSラムダを「白く」するには、使用するIPを知る必要があります。
私が理解しているように、それはVPCサブネットによって異なります。私のVPCサブネットCIDRが172.31.16.0/ 20の場合、IPは172.31.16.0から172.31.16.254まで変化する可能性があるというのは正しいですか?
AWSインフラストラクチャ上にないMySQLインスタンスがあります。 Lambda関数のIPによるMySQLインスタンスへのアクセスをオンプレミスインスタンスに制限する必要があります。インスタンスを保護するために使用できるのはローカルファイアウォールのみです。
ユースケースでは、Lambdaからパブリックインターネット上のMySQLインスタンスへのインターネットアクセスが必要なため、Lambda関数がインターネットにアクセスするための NATゲートウェイを構成する必要があります。 :
lambda関数でインターネットアクセスが必要な場合は、VPC内でNATインスタンスを設定するか、Amazon VPC NATゲートウェイを使用できます。詳細については、AmazonVPCユーザーガイドのNATゲートウェイを参照してください。
NATゲートウェイ構成を使用すると、LambdaリクエストをNATゲートウェイの固定IPから送信できます。ここでNATゲートウェイにElasticIP番号を割り当てると、ファイアウォールでそのIP /ポートの組み合わせを指定して、オンプレミスのSQLインスタンスへのアクセスを保護できます。
172.31.16.0/20のIPアドレスは、ルーティング不可能なプライベートアドレスです。 MySQLサーバーとファイアウォールが同じVPCにない限り、LambdaはNATを介してのみ接続でき、NATゲートウェイ:ホワイトリストに登録する必要があるIPアドレスはこれだけです。
ちなみに、CIDRが172.31.16.0/20の場合、IPアドレスは172.31.16.0から172.31.31.255まで期待できます。 20は、4096の値の範囲を与えるマスクビットの数です。これは、255.255.240.0のネットマスクにマップされます。