前面我们介绍了各种姿势创建ECS实例,例如:一键创建包年包月ECS实例, 通过资源编排创建一个ECS实例。本文详细介绍一下安全组(SecurityGroup)。
资源简介
ROS 分别提供三种资源 ALIYUN::ECS::SecurityGroup, ALIYUN::ECS::SecurityGroupEgress 和ALIYUN::ECS::SecurityGroupIngress, 创建安全组和出入访问规则。 其中,ALIYUN::ECS::SecurityGroup 可以同时配置访问规则,主要的配置项如下:
- SecurityGroupName: 安全组名称
- SecurityGroupEgress: 可以配置多个出网访问规则
- SecurityGroupIngress: 可以配置多个入网访问规则
ALIYUN::ECS::SecurityGroupEgress配置如下图:
- IpProtocol: 协议类型, 此项为 必填项。 可选值为[ "tcp", "udp", "icmp", "gre", "all" ]
PortRange: 端口号范围,例如: 1/65535
- 如果只配置一个端口的话,采用如下格式 8080/8080
- 另外,-1/1表示配置所有端口.
- 注意:当IpProtocol设置为
all
的时候,端口范围只能是-1/1
- NicType:网络类型,外网或者内网. 可选值为[ "internet", "intranet" ]
- Policy: 策略类型,允许或者不允许. 可选值为[ "accept", "drop" ]
- Priority: 设置当前规则的优先级,取值范围[1-100], 数字越小表明优先级越高
DestCidrIp 和 DestGroupId,分别表示出规则的目标网段或安全组
- 注意:如果配置了
DestGroupId
,那么NicType只能选择intranet
出入网访问规则的配置项基本一样,只是入网规则需要配置源网段或者安全组SourceCidrIp或者SourceGroupId.
- 注意:如果配置了
场景举例
- 允许内网tcp 3221端口出网
- 允许内网udp 15179端口入网
配置详解
- 允许tcp 3221端口出网,配置如下:
"SecurityGroupEgress": [{
"DestCidrIp": "0.0.0.0/0",
"NicType": "intranet",
"IpProtocol": "tcp",
"PortRange": "3221/3221",
"Policy": "accept",
"Priority": 1
}]
其中,
"DestCidrIp": "0.0.0.0/0"
所有网段"NicType": "intranet"
内网类型"IpProtocol": "tcp"
tcp协议PortRange": "3221/3221
3221端口"Policy": "accept"
策略为允许
- 允许内网访问udp 15179端口入网,配置如下:
"SecurityGroupIngress": [{
"SourceCidrIp": "0.0.0.0/0",
"NicType": "intranet",
"IpProtocol": "udp",
"PortRange": "15179/15179",
"Policy": "accept",
"Priority": 1
}]
其中,
"SourceCidrIp": "0.0.0.0/0"
所有网段"NicType": "intranet"
内网类型"IpProtocol": "udp"
udp协议"PortRange": "15179/15179"
15179端口"Policy": "accept"
策略为允许
创建安全组
- 到ROS控制台创建 >>
- python sdk方式,下载附件中的模板,ros-sdk 创建资源详解参考Python SDK使用入门
本文示例模板可在附件中下载。