CDK Client***Endpoint。想了解获取创建的 ***Endpoint 的 DnsName

Posted

技术标签:

【中文标题】CDK Client***Endpoint。想了解获取创建的 ***Endpoint 的 DnsName【英文标题】:CDK Client***Endpoint. Would like to understand to get DnsName of created ***Endpoint 【发布时间】:2021-12-27 03:31:37 【问题描述】:

我正在使用@aws-cdk/aws-ec2 创建Client***Endpoint

 const client***Endpoint = new Client***Endpoint(stack, "***-enpoint", 
    vpc: vpc,
    cidr: "10.16.0.0/22",
    clientCertificateArn: config.clientCertificateArn,
    serverCertificateArn: config.serverCertificateArn,
    dnsServers: ["8.8.8.8", "4.4.4.4"],
    logging: false,
  )

我想阅读我在控制台的摘要部分看到的属性 DnsName,我也可以在运行 cli 命令aws ec2 describe-client-***-endpoints 时看到它。

我的最佳尝试,但不起作用:

  const cfn***Endpoint = ***Endpoint.node.defaultChild as CfnClient***Endpoint;

  new CfnOutput(stack, "***-enpoint-output", 
    value: cfn***Endpoint.getAtt("DnsName").toString(),
  );

我收到错误:

.../Value/Fn::GetAtt: Resource type AWS::EC2::Client***Endpoint does not support attribute DnsName

我实际上无法让getAtt 为我使用任何其他道具。怎么用?

你能帮我找出读取 Client***Endpoint 的 DnsName 的道具吗

【问题讨论】:

【参考方案1】:

CDK/CloudFormation 根本不支持 Client***Endpoint 的此属性。在CDK documentation 和CloudFormation documentation 中都找不到它。如果你真的需要这个值作为堆栈的输出,你应该看看使用custom resource。

【讨论】:

以上是关于CDK Client***Endpoint。想了解获取创建的 ***Endpoint 的 DnsName的主要内容,如果未能解决你的问题,请参考以下文章

我需要帮助了解 cdk 中的 AwsCustomResource.policy 是啥?

使用 CDK、AWS 和 Github 私有存储库部署的最佳实践?

使用 Spring WebFlux Client 使用 REST Endpoint 时出错

如何在不使用 Spring Boot 的情况下注入 Feign Client 并调用 REST Endpoint

Python ncurses、CDK、urwid 的区别

从graphql endpoint获取schema文件