本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用共享 Amazon VPC 的叠加 IP
在共享 Amazon VPC 上使用叠加 IP 代理需要向两个 AWS 账户(共享账户和使用账户)授予不同的 IAM 权限。群集资源代理aws-vpc-move-ip
还使用不同的配置语法。
Overlay 网络 IP 地址
在 Amazon VPC 路由表上创建一个叠加 IP 地址,该地址将由 Amazon VPC 子网使用并可供集群访问。这必须在共享 Amazon VPC 的 AWS 账户上创建。
IAM 角色和策略
亚马逊 VPC 账户
创建一个 IAM 角色以向将成为集群一部分的 Amazon EC2 实例委派权限。创建 IAM 角色时,为可信实体类型选择其他 AWS AWS 账户,然后输入要部署 Amazon EC2 实例的账户 ID。
在 Amazon VPC 账户上创建以下 IAM 策略并将其附加到 IAM 角色。根据需要添加或移除路由表条目。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": “ec2:ReplaceRoute”, "Resource": [ "arn:aws:ec2:<AWS Region>:<VPC-Account-Number>:route-table/rtb-xxxxxxxxxxxxxxxxx", "arn:aws:ec2:<AWS Region>:<VPC-Account-Number>:route-table/rtb-xxxxxxxxxxxxxxxxx" ], }, { "Effect": "Allow", "Action": “ec2:DescribeRouteTables”, "Resource": “*” } ] }
集群账户
创建新的 IAM 角色并选择 A mazon EC2 作为使用案例。将此 IAM 角色与集群中的两个 Amazon EC2 实例相关联。将以下 IAM 策略(AWS STS 和 STONITH)附加到 IAM 角色。
AWS STS 策略
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::<VPC-Account-Number>:role/<Sharing-VPC-Account-Cluster-Role>" } ] }
将 VPC 账号替换为拥有亚马逊 VPC 的 AWS 账号。将 Sharing-VPC-account-cluster-Role 替换为在拥有 Amazon VPC 的账户中创建的 IAM 角色。 AWS
STONITH 政策
集群的两个实例都需要访问权限才能启动和停止集群中的其他节点。创建以下 STONITH 策略并将其附加到分配给两个集群实例的 IAM 角色。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceAttribute", "ec2:DescribeTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:ModifyInstanceAttribute", "ec2:RebootInstances", "ec2:StartInstances", "ec2:StopInstances" ], "Resource": [ "arn:aws:ec2:<Region-name>:<account-id>:instance/<instance-id>", "arn:aws:ec2: <Region-name>:<account-id>:instance/<instance-id>" ] } ] }
将区域名称、账户 ID 和实例 ID 替换为相应的值。