

# 分配弹性 IP 地址并将其与 CloudFormation 关联
<a name="quickref-ec2-elastic-ip"></a>

以下模板代码段展示了与 Amazon EC2 中的弹性 IP 地址（EIP）相关的示例。这些示例涵盖您实例的 EIP 分配、关联和管理。

**Topics**
+ [分配弹性 IP 地址并将其与 Amazon EC2 实例关联](#scenario-ec2-eip)
+ [通过指定 IP 地址将弹性 IP 地址与 Amazon EC2 实例关联](#scenario-ec2-eip-association)
+ [通过指定 IP 地址的分配 ID 将弹性 IP 地址与 Amazon EC2 实例关联](#scenario-ec2-eip-association-vpc)

## 分配弹性 IP 地址并将其与 Amazon EC2 实例关联
<a name="scenario-ec2-eip"></a>

以下代码段分配一个 Amazon EC2 弹性 IP（EIP）地址并将其与使用 [AWS::EC2::EIP](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-eip.html) 资源的 Amazon EC2 实例关联。使用[自带 IP 地址（BYOIP）](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)，您可以从 AWS 拥有的地址池或从公共 IPv4 地址范围（您引入到 AWS 中以与 AWS 资源一起使用的地址范围）创建的地址池中分配 EIP 地址。在本示例中，EIP 是从 AWS 拥有的地址池中分配的。

有关弹性 IP 地址的更多信息，请参阅《Amazon EC2 用户指南》**中的[弹性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)。

### JSON
<a name="quickref-ec2-example-3.json"></a>

```
1. "ElasticIP": {
2.     "Type": "AWS::EC2::EIP",
3.     "Properties": {
4.         "InstanceId": {
5.             "Ref": "Ec2Instance"
6.         }
7.     }
8. }
```

### YAML
<a name="quickref-ec2-example-3.yaml"></a>

```
1. ElasticIP:
2.   Type: AWS::EC2::EIP
3.   Properties:
4.     InstanceId: !Ref EC2Instance
```

## 通过指定 IP 地址将弹性 IP 地址与 Amazon EC2 实例关联
<a name="scenario-ec2-eip-association"></a>

以下代码段使用 [AWS::EC2::EIPAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-eipassociation.html) 资源将现有的 Amazon EC2 弹性 IP 地址与 EC2 实例关联。您必须先分配一个弹性 IP 地址，才能在自己的账户中使用。弹性 IP 地址可以与单个实例关联。

### JSON
<a name="quickref-ec2-example-4.json"></a>

```
1. "IPAssoc": {
2.   "Type": "AWS::EC2::EIPAssociation",
3.   "Properties": {
4.     "InstanceId": {
5.       "Ref": "Ec2Instance"
6.     },
7.     "EIP": "192.0.2.0"
8.   }
9. }
```

### YAML
<a name="quickref-ec2-example-4.yaml"></a>

```
1. IPAssoc:
2.   Type: AWS::EC2::EIPAssociation
3.   Properties:
4.     InstanceId: !Ref EC2Instance
5.     EIP: 192.0.2.0
```

## 通过指定 IP 地址的分配 ID 将弹性 IP 地址与 Amazon EC2 实例关联
<a name="scenario-ec2-eip-association-vpc"></a>

以下代码段使用 [AWS::EC2::EIPAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-eipassociation.html) 资源指定分配 ID，将现有的弹性 IP 地址与 Amazon EC2 实例关联。分配弹性 IP 地址时，即会为弹性 IP 地址分配一个分配 ID。

### JSON
<a name="quickref-ec2-example-5.json"></a>

```
1. "IPAssoc": {
2.     "Type": "AWS::EC2::EIPAssociation",
3.     "Properties": {
4.         "InstanceId": {
5.             "Ref": "Ec2Instance"
6.         },
7.         "AllocationId": "eipalloc-1234567890abcdef0"
8.     }
9. }
```

### YAML
<a name="quickref-ec2-example-5.yaml"></a>

```
1. IPAssoc:
2.   Type: AWS::EC2::EIPAssociation
3.   Properties:
4.     InstanceId: !Ref EC2Instance
5.     AllocationId: eipalloc-1234567890abcdef0
```