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

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

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

セキュリティグループの作成

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

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.CreateSecurityGroupRequest; import software.amazon.awssdk.services.ec2.model.AuthorizeSecurityGroupIngressRequest; import software.amazon.awssdk.services.ec2.model.AuthorizeSecurityGroupIngressResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception; import software.amazon.awssdk.services.ec2.model.IpPermission; import software.amazon.awssdk.services.ec2.model.CreateSecurityGroupResponse; import software.amazon.awssdk.services.ec2.model.IpRange;

Code

CreateSecurityGroupRequest createRequest = CreateSecurityGroupRequest.builder() .groupName(groupName) .description(groupDesc) .vpcId(vpcId) .build(); CreateSecurityGroupResponse resp= ec2.createSecurityGroup(createRequest);

「」で完全な例を参照してください GitHub。

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

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

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

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.CreateSecurityGroupRequest; import software.amazon.awssdk.services.ec2.model.AuthorizeSecurityGroupIngressRequest; import software.amazon.awssdk.services.ec2.model.AuthorizeSecurityGroupIngressResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception; import software.amazon.awssdk.services.ec2.model.IpPermission; import software.amazon.awssdk.services.ec2.model.CreateSecurityGroupResponse; import software.amazon.awssdk.services.ec2.model.IpRange;

Code

最初に、Ec2Client を作成します

Region region = Region.US_WEST_2; Ec2Client ec2 = Ec2Client.builder() .region(region) .build();

その後、Ec2Client の authorizeSecurityGroupIngress メソッドを使用します。

IpRange ipRange = IpRange.builder() .cidrIp("0.0.0.0/0").build(); IpPermission ipPerm = IpPermission.builder() .ipProtocol("tcp") .toPort(80) .fromPort(80) .ipRanges(ipRange) .build(); IpPermission ipPerm2 = IpPermission.builder() .ipProtocol("tcp") .toPort(22) .fromPort(22) .ipRanges(ipRange) .build(); AuthorizeSecurityGroupIngressRequest authRequest = AuthorizeSecurityGroupIngressRequest.builder() .groupName(groupName) .ipPermissions(ipPerm, ipPerm2) .build(); AuthorizeSecurityGroupIngressResponse authResponse = ec2.authorizeSecurityGroupIngress(authRequest); System.out.printf( "Successfully added ingress policy to Security Group %s", groupName); return resp.groupId(); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }

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

「」で完全な例を参照してください GitHub。

セキュリティグループを記述する

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

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeSecurityGroupsRequest; import software.amazon.awssdk.services.ec2.model.DescribeSecurityGroupsResponse; import software.amazon.awssdk.services.ec2.model.SecurityGroup; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

Code

public static void describeEC2SecurityGroups(Ec2Client ec2, String groupId) { try { DescribeSecurityGroupsRequest request = DescribeSecurityGroupsRequest.builder() .groupIds(groupId).build(); DescribeSecurityGroupsResponse response = ec2.describeSecurityGroups(request); for(SecurityGroup group : response.securityGroups()) { System.out.printf( "Found Security Group with id %s, " + "vpc id %s " + "and description %s", group.groupId(), group.vpcId(), group.description()); } } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

「」で完全な例を参照してください GitHub。

セキュリティグループを削除する

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

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DeleteSecurityGroupRequest; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

Code

public static void deleteEC2SecGroup(Ec2Client ec2,String groupId) { try { DeleteSecurityGroupRequest request = DeleteSecurityGroupRequest.builder() .groupId(groupId) .build(); ec2.deleteSecurityGroup(request); System.out.printf( "Successfully deleted Security Group with id %s", groupId); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

「」で完全な例を参照してください GitHub。

詳細情報