gpt4 book ai didi

amazon-web-services - CloudFormation ElasticIP 参数

转载 作者:行者123 更新时间:2023-12-03 07:47:46 26 4
gpt4 key购买 nike

我有一个 CloudFormation 模板,它将 OpenVPN 添加到现有 VPC,并需要弹性 IP 分配 ID 作为参数。它还将同一弹性 IP 中的公共(public) IP 地址添加到 OpenVPN 实例配置中(在其 UserData 部分中)。

我目前已将其实现为 2 个参数(使用虚构的默认值)

Parameters:

ElasticIpAddress:
Description: >-
IP Address of an Elastic IP.
Type: String
Default: 53.176.52.215

ElasticIpAllocationId:
Description: >-
Allocation id of the same Elastic IP to associate OpenVPN server with.
Type: String
Default: eipalloc-f2013ba5

...

NOTE - Both of these must point to the same ElasticIP in AWS!

AWS::EC2::Instance 部分中创建 OpenVPN 实例时,将使用 ElasticIpAddress 参数,如下所示:-

openVPN:
Type: 'AWS::EC2::Instance'
Properties:
Tags:
- Key: Name
Value: openVPN server
UserData:
Fn::Base64: !Sub |
public_hostname=${ElasticIpAddress}
admin_user=${OpenVPNASAdminUser}
...

...和 ​​ElasticIpAllocationIdAWS::EC2::EIPAssociation 部分中使用...

IPAssoc:
Type: 'AWS::EC2::EIPAssociation'
Properties:
AllocationId: !Ref ElasticIpAllocationId
InstanceId: !Ref openVPN
DependsOn: openVPN

拥有同一弹性 IP 的 (a)分配 ID 和 (b)IP 地址似乎非常多余!

我的主要问题是 - 是否存在一个函数: -

  1. 从弹性 IP 分配 ID 中检索 IP 地址
  2. 从弹性 IP 的 IP 地址检索分配 ID?

我的直觉是,我必须在实例的 UserData: 部分中使用 CLI 并使用 AWS CLI 命令 - 不确定这与 OpenVPN AMI 的配合效果如何目前仅采用 OpenVPN 特定配置。

如有任何建议,我们将不胜感激!

最佳答案

实现您想要的目的的正确方法是创建 R53 记录,例如指向您的弹性 IP 地址(A 记录)的 vpn.mydomain.com。然后,您可以在 userdata 而不是 ${ElasticIpAddress} 中分配此记录,并消除对 IP 地址参数的需要。

public_hostname=vpn.mydomain.com

只要你的 EIP 在 R53 记录上更新,你就应该没问题。如果您需要更改 EIP 地址,这也很有帮助,您仍然可以通过 Route53 控制已部署实例上的记录。

Getting Started with Route53

关于amazon-web-services - CloudFormation ElasticIP 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com