使用 Terraform Module 安装环境
参考概述▸ ,使用AutoMQ Cloud 需要先安装环境。本文介绍如何使用 Terraform Module 安装 BYOC 环境。
本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ,均特指 AutoMQ HK Limited及其附属公司。
前置条件
条件一:云账号操作权限
创建 BYOC 环境,需要提供有权限的云账号的 Credentials,且需要保证云账号为主账号 或者是已经被授权相关操作权限的 IAM 子账号 。如果当前使用了 IAM 子账号的凭证,需要先授权再进行服务开通操作。
- 使用 AWS 托管策略授权
- 使用自定义策略授权
通常可以为 IAM 子账号,授予下方的AWS 托管策略,即可进行后续的部署安装:
AmazonVPCFullAccess:管理专有网络 VPC 的权限。
AmazonEC2FullAccess:管理 EC2 产品的权限。
AmazonS3FullAccess:管理对象存储 S3 的权限。
AmazonRoute53FullAccess:管理 Route 53 服务的权限。
如果不希望使用 AWS 提供的系统托管策略,希望更细粒度控制权限,可以参考下方的授权策略内容,创建自定义策略,并授予相应的操作账号或者角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:PutBucketTagging",
"s3:DeleteBucket"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": "arn:aws:s3:::*/*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DeleteVpcEndpoints",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress",
"ec2:DeleteSecurityGroup",
"ec2:DeleteRoute",
"ec2:DeleteRouteTable",
"ec2:DeleteSubnet",
"ec2:DeleteInternetGateway",
"ec2:DetachInternetGateway",
"ec2:DisassociateRouteTable"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/automqVendor": "automq"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateVpc",
"ec2:CreateTags",
"ec2:CreateRouteTable",
"ec2:CreateSubnet",
"ec2:CreateInternetGateway",
"ec2:RunInstances",
"ec2:AssociateRouteTable",
"ec2:AttachInternetGateway",
"ec2:DescribeAddresses",
"ec2:DescribeAddressesAttribute",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceTypes",
"ec2:DescribeInstances",
"ec2:DescribeInternetGateways",
"ec2:DescribeNetworkAcls",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribePrefixLists",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroupRules",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeVolumes",
"ec2:DescribeVpcEndpoints",
"ec2:DescribeVpcs",
"sts:GetCallerIdentity",
"ssm:GetParameter",
"ec2:DescribeVpcAttribute",
"ec2:ModifyVpcAttribute",
"route53:AssociateVPCWithHostedZone",
"route53:ListResourceRecordSets",
"route53:ListTagsForResource",
"route53:GetChange",
"route53:DeleteHostedZone",
"route53:GetHostedZone",
"ec2:DisassociateAddress",
"ec2:AssociateAddress",
"ec2:DescribeInstanceAttribute",
"ec2:ModifyInstanceAttribute",
"ec2:TerminateInstances",
"ec2:AllocateAddress",
"ec2:ReleaseAddress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"route53:ChangeTagsForResource",
"ec2:CreateRoute",
"route53:CreateHostedZone",
"ec2:CreateSecurityGroup",
"ec2:DeleteNetworkAclEntry",
"ec2:CreateNetworkAclEntry",
"ec2:CreateVpcEndpoint",
"s3:ListBucket",
"ec2:DeleteVpc"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:CreateRole",
"iam:TagRole",
"iam:TagPolicy",
"iam:CreatePolicy"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/automqVendor": "automq"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:GetRole",
"iam:ListAttachedRolePolicies",
"iam:ListInstanceProfilesForRole",
"iam:ListRolePolicies",
"iam:PassRole",
"iam:AddRoleToInstanceProfile",
"iam:GetInstanceProfile",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:ListPolicyVersions",
"iam:CreateInstanceProfile",
"iam:TagInstanceProfile"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:DeleteInstanceProfile",
"iam:RemoveRoleFromInstanceProfile",
"iam:DeletePolicy",
"iam:DeleteRole",
"iam:DetachRolePolicy"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/automqVendor": "automq"
}
}
}
]
}
条件二:准备 VPC
AutoMQ BYOC 环境部署在用户 VPC 内,以保障数据隐私和安全。使用 Terraform Modules 安装 AutoMQ 环境时,支持以下两种方式:
自动创建新的 VPC 安装环境: 选择此选项后由 Terraform Modules 自动创建 VPC 等资源,无需用户手工配置,推荐用于首次 POC 和测试。
由用户提供 VPC 安装环境: Terraform Modules 不会主动创建 VPC 网络,由用户指定已有的 VPC 网络。
如果选择 由用户提供 VPC 安装环境 ,则必须参考准备 VPC▸准备 VPC 网络,确保符合 AutoMQ 的要求。否则会导致安装失败。
操作流程
步骤 1:调用 AutoMQ Terraform Module 安装环境
使用 Terraform Module 安装 BYOC 环境前建议根据文档选择(或升级至)最新的 Module 版本,再集成 AutoMQ Terraform Module 进行环境安装部署。
初始化 AWS CLI 和 Terraform 运行环境,确保能够调用 AWS 和 Terraform 服务。
访问 AutoMQ Terraform Modules 仓库,获取 Modules 依赖,并参考对应的 README 文档 执行创建操作。
步骤 2:完成 BYOC 环境运维授权
BYOC 环境部署在用户 VPC,具备数据安全和隐私隔离的效果,但 BYOC 环境内部会产生系统日志、Metrics 等业务无关的系统数据。环境安装完成后,用户需要参考管理环境运维授权▸ 对 AutoMQ 服务方提供相应的运维授权,方便 AutoMQ 服务方进行系统稳定性监控和故障自愈等运维操作。
后续步骤
环境安装完成后,即可访问环境使用,AutoMQ 支持如下两种方式:
通过 Terraform 使用 AutoMQ: 环境安装完成后,用户可以通过 AutoMQ Terraform Provider 管理和使用 AutoMQ。通过 Terraform 方式使用 AutoMQ ,请参考文档。
通过 WebUI 使用 AutoMQ: 通过浏览器访问步骤 3 返回的控制台地址,输入初始用户名密码,即可进入环境控制台创建实例,并体验产品功能。体验 AutoMQ for Kafka▸
附录
- 安装的云资源清单以及说明见 云资源清单▸