Где я мог бы получить идентификатор VpcLink?

#typescript #amazon-web-services #aws-api-gateway #amazon-vpc #aws-cdk

#typescript #amazon-веб-сервисы #aws-api-gateway #amazon-vpc #aws-cdk

Вопрос:

Я настраиваю шлюз API с помощью CDK (typescript), и в настоящее время мне нужно создать конечную точку с HttpIntegration для моего экземпляра EC2, работающего под управлением VPC.

Итак, я делаю следующее:

 api.root.resourceForPath("/{pathVar}/smth/{pathVar}")
        .addMethod("GET",
            new HttpIntegration("https://endpoint-from-ec2-under-vpc", {
                options: {
                    connectionType: ConnectionType.VPC_LINK,
                    vpcLink: ???
                }
            }), ...
  

и где я мог бы получить vpcLink?

Я пробовал этот способ:

 const vpc= VpcLink.fromVpcLinkId(this, "vpc-link", "VpcID");
  

Но во время развертывания — возникает ошибка: Vpc link VpcID was not found in account ********

Итак, VpcLinkId — это не идентификатор, так что же это?

И где я могу найти его в консоли aws или где-нибудь еще?

Ответ №1:

Идентификатор ссылки VPC на самом деле взят из ресурса VPCLink.

Этот ресурс представляет собой специальное соединение, которое позволяет службе API Gateway подключаться частным образом к вашим ресурсам EC2 / ECS / EKS через балансировщик нагрузки (для REST API это будет NLB, для HTTP API это может быть ALB).

Затем, когда в вашей конфигурации шлюза API указана ссылка, может быть установлено частное подключение к балансировщику нагрузки, так что HTTP-трафику не нужно проходить через общедоступный Интернет (сохраняя конфиденциальность ваших ресурсов).

Если вам не нужно использовать какой-либо из этих частных ресурсов, вам не нужно создавать это соединение, делая это, он настраивает ваш шлюз API на VPC, он просто создает ссылку, используя PrivateLink.

Для получения дополнительной информации взгляните на документацию по настройке API Gateway private integrations.

Ответ №2:

В консоли aws,

введите описание изображения здесь

Красным цветом