Amazon EC2 でセキュリティグループを操作する - AWS SDK for Java 1.x

AWS SDK for Java (v1) の近日発表 end-of-support しました。AWS SDK for Java v2 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EC2 でセキュリティグループを操作する

セキュリティグループを作成する

セキュリティグループを作成するには、そのキーの名前を含む CreateSecurityGroupRequest を使用して AmazonEC2Client の createSecurityGroup メソッドを呼び出します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.CreateSecurityGroupRequest; import com.amazonaws.services.ec2.model.CreateSecurityGroupResult;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); CreateSecurityGroupRequest create_request = new CreateSecurityGroupRequest() .withGroupName(group_name) .withDescription(group_desc) .withVpcId(vpc_id); CreateSecurityGroupResult create_response = ec2.createSecurityGroup(create_request);

完全な例をご覧ください。

セキュリティグループを設定する

セキュリティグループは、Amazon EC2 インスタンスへのインバウンド (ingress) とアウトバウンド (egress) トラフィックの両方を制御できます。

セキュリティグループに Ingress ルールを追加するには、AmazonEC2Client の authorizeSecurityGroupIngress メソッドを使用して、セキュリティグループの名前と AuthorizeSecurityGroupIngressRequest オブジェクト内で割り当てるアクセスルール (IpPermission) を指定します。以下の例では、セキュリティグループへの IP のアクセス許可の追加方法を説明します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.CreateSecurityGroupRequest; import com.amazonaws.services.ec2.model.CreateSecurityGroupResult;

Code

IpRange ip_range = new IpRange() .withCidrIp("0.0.0.0/0"); IpPermission ip_perm = new IpPermission() .withIpProtocol("tcp") .withToPort(80) .withFromPort(80) .withIpv4Ranges(ip_range); IpPermission ip_perm2 = new IpPermission() .withIpProtocol("tcp") .withToPort(22) .withFromPort(22) .withIpv4Ranges(ip_range); AuthorizeSecurityGroupIngressRequest auth_request = new AuthorizeSecurityGroupIngressRequest() .withGroupName(group_name) .withIpPermissions(ip_perm, ip_perm2); AuthorizeSecurityGroupIngressResult auth_response = ec2.authorizeSecurityGroupIngress(auth_request);

セキュリティグループに egress ルールを追加するには、同様のデータを AmazonEC2Client の authorizeSecurityGroupEgress メソッドに AuthorizeSecurityGroupEgressRequest で指定します。

完全な例をご覧ください。

セキュリティグループについて説明する

セキュリティグループについて記述、またはそれらに関する情報を収集するには、AmazonEC2Client の describeSecurityGroups メソッドを呼び出します。getSecurityGroupsメソッドを呼び出すことでセキュリティグループの一覧にアクセスするのに使用できる DescribeSecurityGroupsResult が返され、それにより SecurityGroup オブジェクトの一覧が返されます。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeSecurityGroupsRequest; import com.amazonaws.services.ec2.model.DescribeSecurityGroupsResult;

Code

final String USAGE = "To run this example, supply a group id\n" + "Ex: DescribeSecurityGroups <group-id>\n"; if (args.length != 1) { System.out.println(USAGE); System.exit(1); } String group_id = args[0];

完全な例をご覧ください。

セキュリティグループの削除

セキュリティグループを削除するには、AmazonEC2Client の deleteSecurityGroup メソッドを呼び出し、それに削除するセキュリティグループの ID を含む DeleteSecurityGroupRequest を渡します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DeleteSecurityGroupRequest; import com.amazonaws.services.ec2.model.DeleteSecurityGroupResult;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); DeleteSecurityGroupRequest request = new DeleteSecurityGroupRequest() .withGroupId(group_id); DeleteSecurityGroupResult response = ec2.deleteSecurityGroup(request);

完全な例をご覧ください。

詳細情報