云资源清单
AWS
默认从 AWS 云市场创建 AutoMQ 以及一个 6 AKU、三可用区部署的集群,并且使用由 AutoMQ 负责 VPC 和子网等网络资源的创建,将会创建和依赖以下必须的云资源:
资源名称 | 规格 | 数量 | 说明 |
---|---|---|---|
VPC | - | 1 | AutoMQ 控制面和数据面使用的VPC。 |
Security Group | - | 1 | AutoMQ 使用的安全组,其中会新建1条规则, |
Subnet | - | 4 | 控制面会使用1个子网,数据面的3个节点各自使用1个子网, |
IGW | - | 1 | 用于控制面可以被公网访问, |
VPC Internet Gateway | - | 1 | 用于控制面访问公网, |
Network ACL | - | 1 | AutoMQ 会创建如下的 ACL 规则。[1] |
Route Table | - | - | 规则关联了local 与 终端节点 |
Security Group | - | - | AutoMQ 会创建如下安全组规则。[2] |
EC2 | t3.large | 1 | 用于部署控制面 |
EBS | GP3,20 GB | 1 | 用于控制面系统卷,默认不启用加密 |
EBS | GP3,20 GB | 3 | 用于数据面系统卷,默认不启用加密 |
EBS | GP3,20 GB | 3 | 用于数据面的数据卷,默认不启用加密 |
EC2 | r6in.large | 3 | 用于支持 AutoMQ 数据面 6 AKU 的服务能力 |
Elastic IP Address | - | 1 | 供 AutoMQ 控制面使用 |
IAM Instance Profile | - | 1 | 用于给控制面的 EC2 进行授权,执行数据面创建相关的工作 |
IAM Policy | - | 1 | 会创建一个 AutoMQ 使用的权限策略,用于授权。采用的最小化权限可以参考 AWS 安装文档。该权限允许 AutoMQ 在用户需要新建数据面集群时创建该清单涉及的必要资源。 |
IAM Role | - | 1 | 创建一个 AutoMQ 使用的角色,会关联 IAM Policy。 |
Route 53 Records | - | 3 | AutoMQ提供的 Bootstreap Server 接入点,针对每个节点会分配一个域名。 |
EC2 Endpoint | - | 1 | 用于 EC2 访问 AWS OpenAPI 查询一些元数据。 |
S3 Endpoint | - | 1 | 用于保证对 S3 的访问走内网 |
AutoScaling Group | - | 1 | 仅在使用 AWS 云市场 Cloud Formation 方式创建时才会被创建。 |
Lauch Template | - | 1 | 仅在使用 AWS 云市场 Cloud Formation 方式创建时才会被创建,会被 ASG 依赖。 |
S3 Bucket | - | 2 | 使用 AutoMQ 需要用户提供2个 S3 Bucket,一个用于存储主数据,一个用于存储日志和监控数据。默认不需要开启加密选项。 |
Route 53 | - | 1 | 后续数据节点绑定域名时使用。 |
[1] AutoMQ AWS Network ACL
// aws_default_network_acl
egress {
action = "allow"
from_port = 0
ipv6_cidr_block = "::/0"
protocol = "-1"
rule_no = 101
to_port = 0
}
egress {
action = "allow"
cidr_block = "0.0.0.0/0"
from_port = 0
protocol = "-1"
rule_no = 100
to_port = 0
}
ingress {
action = "allow"
_port = 0
ipv6_cidr_block = "::/0"
protocol = "-1"
rule_no = 101
to_port = 0
}
ingress {
action = "allow"
cidr_block = "0.0.0.0/0"
from_port = 0
protocol = "-1"
rule_no = 100
to_port = 0
}
[2] AutoMQ AWS Security Group
// vpc_endpoint_sg
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
// automq_byoc_console_sg
ingress {
from_port = 8080
to_port = 8080
protocol = "tcp"
cidr_blocks = [var.automq_byoc_env_console_cidr]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}