一、动手实验

二、安全组设置

安全组是一个逻辑上的分组,这个分组是由同一个地域内具有相同安全保护需求并相互信任的实例组成。

安全组,类似防火墙,用于设置单台或多台云服务器的网络访问控制,它是重要的安全隔离手段。

每个实例至少属于一个安全组,在创建的时候就需要指定。

不同安全组的实例之间默认内网不通,可以授权两个安全组之间互访。更多详情

ECS安全组配置

目前,ECS安全组有三种方式

  • 配置方式1:阿里云管理控制台配置 目前,非VPC用户无法在阿里云控制台看到安全组配置,可提交工单申请开通,注明“开通控制台显示‘本实例安全组’”。

在开通安全组之后,用户可以在ECS实例控制台看到安全组,如图:

点击右上角 “创建安全组”:

填写安全组名称和备注,选择网络类型:

安全组创建成功后,需要配置规则,点击安全组的“配置规则”链接:

添加安全组配置规则时,规则方向需要选“入方向”,网卡类型选“内网”:

规则创建成功后,可以看到此时的安全组还没有应用到任何ECS实例,如图显示,相关实例是0:

下面,还需要将安全组绑定到ecs实例,才能使ecs按此安全组规则生效。

选择ecs实例的“安全组配置”选项

点击右上角“加入安全组”:

在弹出对话框中,选择刚刚创建的安全组:

此时返回安全组列表,可以看到相关实例的值已经变为1:

此时测试从配置的网段访问此ecs的特定端口,即可访问。

  • 配置方式2:命令行jar包配置 首先下载jar包到一个有java环境的linux上。执行如下命令,进入交互模式:

$ java -jar ~/aliyuncs.jar -id <您的Access Key ID> -secret <您的Access KeySecret> -service ECS:2014-05-26

其中,aliyuncs.jar为上面下载的文件解压得到,2014-05-26为ECS api版本,此处可以指定为2014-05-26

然后创建安全组实例,如下命令,RegionId为ecs所在城市,Description为安全组名称

@ECS:/>CreateSecurityGroup RegionId=cn-qingdao,Description=gpu_test

创建成功后,会返回安全组实例名,当前操作是sg-28fcdqtel,接着可以给安全组赋予更多的属性。下例是实现10.239.23.101/28网段的所有机器可以访问当前ecs的80端口。

@ECS:/>AuthorizeSecurityGroup SecurityGroupId=sg-28fcdqtel,IpProtocol=TCP,PortRange=80/80,SourceCidrIp=10.239.23.101/28,NicType=intranet,RegionId=cn-qingdao

完善安全组实例属性后,就可以将安全组实例和ecs实例进行绑定。

@ECS:/>JoinSecurityGroup SecurityGroupId=sg-28fcdqtel,InstanceId=i-28weu9ksr

以上步骤操作后,即可实现10.239.23.101/28网段的所有主机访问当前ecs的80端口。

除以上操作外,还有以下一些相关操作。

列出所有安全组

@ECS:/>DescribeSecurityGroups RegionId=cn-qingdao

列出当前安全组的所有属性

@ECS:/>DescribeSecurityGroupAttribute SecurityGroupId=sg-28fcdqtel,NicType=intranet,RegionId=cn-qingdao

解除当前安全组和当前ecs实例的绑定

@ECS:/>LeaveSecurityGroup SecurityGroupId=sg-28fcdqtel,InstanceId=i-28weu9ksr

删除安全组

@ECS:/>DeleteSecurityGroup SecurityGroupId=sg-28fcdqtel,RegionId=cn-qingdao

授权从当前ecs向外访问的安全组规则

@ECS:/>AuthorizeSecurityGroupEgress SecurityGroupId=sg-28fcdqtel,IpProtocol=TCP,PortRange=1/65535,DestCidrIp=0.0.0.0/0,NicType=intranet,RegionId=cn-qingdao

更多信息可以参考Jar包实践

  • 配置方式3:API方式配置 详见ECS API 使用文档,使用方式较复杂,不推荐使用。