AWS提供了一种可以通过AWS RAM(Resource Access Manager
)将不同帐号间TGW轻松连接起来的设计
本章,我们在ap-northeast-2
地区连接两个账号的tgw
Resource Access Manager (RAM)
可让在 AWS 账户或 AWS 组织内轻松安全地共享 AWS 资源。Transit Gateway、子网、AWS License Manager 配置
和 Amazon Route 53 解析器规则资源
可以与 RAM 共享。
许多组织使用多个帐户来根据职责、工作负载或治理来隔离不同的环境。借助 RAM,无需在多个账户中创建冗余资源,从而减少了在每个账户中管理这些资源的运营开销。
RAM 无需额外付费即可使用。
使用RAM有以下优点
减少运营开销
增强的安全性和可见性, RAM 利用IAM中设置的现有策略和权限来管理共享资源的使用。RAM 还提供对共享资源的可见性,通过与 Amazon CloudWatch 和 AWS CloudTrail 集成来设置警报和提供日志。
成本优化:通过在账户之间共享 AWS License Manager 配置等资源,公司的不同部门可以利用许可证来提高利用率并优化成本。
本章完成后,Account 1可以通过RAM使用Account 2的资源:
RAM是regional的服务,不能把A区域的tgw分享给B区域
先登录到另一个帐号,创建一个Key pair:
打开CloudShell:
执行以下命令,使用 CloudFormation 配置基本 VPC ,它会在ap-northeast-2
区域创建一个名为Seoul-VPC-PART
的VPC:
git clone https://github.com/whchoi98/tgw.git
cd tgw
aws cloudformation deploy \
--stack-name "Seoul-VPC-PART" \
--template-file "Seoul-VPC-PART.yml" \
--capabilities CAPABILITY_NAMED_IAM\
--parameter-overrides "KeyPair=account2"
如果配置正确,可以在CloudFormation中检查它,如下所示。 VPC 的创建时间不到 3 分钟:
复制这个帐号的id,配置 RAM 时需要此信息
回到原来的帐号,进入RAM,在Resource Access Manager - Shared my me : Resource shares
创建一个新的resource share:
Resource share name设置为Seoul-TGW
, 选择Transit Gateways
类型的resource,并选择已创建的TGW:
权限设置部分,保留默认值并单击下一步按钮:
设置哪些主体有权访问。选择Principal - Allow sharing with anyone
, 输入另一个帐户的id以连接 Transit Gateway 资源,然后单击“添加”:
进入下一步,点击创建,创建完成后的效果:
回到Account B,看到Invitation
提醒。接受这个资源共享:
如果两个帐号在同一个组织中,可能不用上面的操作就会自动接受。
最终效果:
在Account B帐号中查看tgw,看到已被分享过来: