0

API ゲートウェイ WebSocket によってトリガーされる、NatGateway を持つパブリック サブネットと通信するプライベート サブネット内に Lambda があるアーキテクチャから移行しています。次に、Nat ゲートウェイを削除し、VPC リンクを使用して VPC エンドポイントを挿入しました。リンクで見つけたもの: https://d1.awsstatic.com/whitepapers/private-api-best-practices.pdf

私の VPC エンドポイントは現在、ポリシーがすべて開いています。VPC には API Gateway と通信する別のプロジェクトがあるため、 Enable Private DNS Name は使用しませんでした。

API Gateway が Lambda をトリガーしましたが、返信メッセージに応答できませんでした。私のラムダにはタイムアウトがあります。

私の古いアーキテクチャでは、リターン エンドポイントは でしたがhttps://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}、応答しようとすると、そのエンドポイントでは機能しません。

エンドポイントを変更する必要がありますか?

この接続のテストが完了するまで、セキュリティ グループと NACL は非常にオープンです。VPC リンクと API ゲートウェイ エンドポイントは、Lambda サブネットと Lambda セキュリティ グループで構成されます。

VPC リンクまたは VPC エンドポイントに何か不足していますか?

編集: ApiGateway でログを有効にしましたが、ラムダ ログが返される前に:

{
    "requestId": "em-5aGamaDDAdtd=",
    "ip": "",
    "caller": "-",
    "user": "-",
    "requestTime": "30/Apr/2021:17:57:42 +0000",
    "eventType": "MESSAGE",
    "routeKey": "lambda",
    "status": "504",
    "connectionId": "em-5abCDaaDBJtw="
}

クライアントは次のメッセージを受け取ります。

{
message: "Endpoint request timed out", connectionId: "enBZ-dFG2oAFDA4a=",…}

connectionId: "em-5abCDaaDBJtw="
message: "Endpoint request timed out"
requestId: "em-5aGamaDDAdtd="
4

1 に答える 1