创建并初始化
CreateSecurityGroupRequest
实例。使用
withGroupName
方法设置安全组名称,使用 w
ith
Description 方法设置安全组描述,如下所示:
CreateSecurityGroupRequest csgr = new CreateSecurityGroupRequest();
csgr.withGroupName("JavaSecurityGroup").withDescription("My security group");
安全组名称在您初始化 Amazon EC2 客户端的 AWS 区域内必须是唯一的。必须为安全组的名称和描述使用 US-ASCII 字符。
将请求对象作为参数传递给
createSecurityGroup
方法。该方法返回一个
CreateSecurityGroupResult
对象,如下所示:
CreateSecurityGroupResult createSecurityGroupResult =
amazonEC2Client.createSecurityGroup(csgr);
如果您尝试创建与现有安全组具有相同名称的安全组,
createSecurityGroup
引发异常。
默认情况下,新的安全组不允许任何入站流量进入您的 Amazon EC2 实例。要允许入站流量,您必须对安全组传入明确地授权。您可以对单个 IP 地址、IP 地址范围、特定协议以及 TCP/UDP 端口的传入进行授权。
创建并初始化
IpPermission
实例。使用 w
ithIPv4Ranges
方法设置要授权其进入的 IP 地址范围,然后使用该
withIpProtocol
方法设置 IP 协议。使用
withFromPort
和
withToPort
方法指定要授权其入口的端口范围,如下所示:
IpPermission ipPermission =
new IpPermission();
IpRange ipRange1 = new IpRange().withCidrIp("111.111.111.111/32");
IpRange ipRange2 = new IpRange().withCidrIp("150.150.150.150/32");
ipPermission.withIpv4Ranges(Arrays.asList(new IpRange[] {ipRange1, ipRange2}))
.withIpProtocol("tcp")
.withFromPort(22)
.withToPort(22);
必须满足在
IpPermission
对象中指定的所有条件,才能允许传入。
使用 CIDR 表示法指定 IP 地址。如果指定 TCP/UDP 协议,必须提供源端口和目标端口。仅在指定 TCP 或 UDP 时才能授权端口。
创建并初始化
AuthorizeSecurityGroupIngressRequest
实例。使用
withGroupName
方法指定安全组名称,并将之前初始化的
IpPermission
对象传递给该
withIpPermissions
方法,如下所示:
AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest =
new AuthorizeSecurityGroupIngressRequest();
authorizeSecurityGroupIngressRequest.withGroupName("JavaSecurityGroup")