将 AWS 弹性 IP 分配给 Lambda 中的 EC2 实例

时间:2021-06-18 18:54:51

标签: amazon-web-services amazon-ec2 aws-lambda elastic-ip

有没有办法将弹性 ip 分配给刚刚使用亚马逊 aws 中的云形成脚本制作的 ec2 实例?我找不到任何关于如何通过标签“获取弹性 ip”的简单示例,也找不到任何关于这是否可行的 api 参考。我需要首先通过它的标签获取弹性 ip,然后将其分配给 lambda 中的现有实例。

2 个答案:

答案 0 :(得分:1)

在 AWS CLI(我使用的是 2.2.4)中,我可以通过名称标签获取 EIP:

aws ec2 describe-addresses --filters "Name=tag:Name,Values=some-tag-here"

我的标签包含键“名称”。

对于 Python/Boto3,您可以运行如下代码:

import boto3
client = boto3.client('ec2')
response=client.describe_addresses(...)

其中 describe_addresses 的参数定义为 in these docs

答案 1 :(得分:0)

来自AWS::EC2::EIP - AWS CloudFormation

react-svg-main

最简单的方法是将其包含在启动 EC2 实例的同一个模板中。然后 MyEIP: Type: AWS::EC2::EIP Properties: InstanceId: !Ref Logical name of an AWS::EC2::Instance resource 可以引用模板中其他地方的实例。如果要在单独模板中分配弹性 IP 地址,则需要提供对之前启动的 EC2 实例的引用。