에서 보안 그룹과 협력하세요 Amazon EC2 - AWS SDK for Java 2.x

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에서 보안 그룹과 협력하세요 Amazon EC2

보안 그룹 생성

보안 그룹을 생성하려면 키 이름이 CreateSecurityGroupRequest포함된 a를 사용하여 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;

코드

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

전체 예제를 참조하십시오. GitHub

보안 그룹 구성

보안 그룹은 인스턴스로 향하는 인바운드 (인바운드) 트래픽과 아웃바운드 (이그레스) 트래픽을 모두 제어할 수 있습니다. Amazon EC2

보안 그룹에 수신 규칙을 추가하려면 Ec2Client의 authorizeSecurityGroupIngress 메서드를 사용하여 보안 그룹의 이름과 개체 내에서 보안 그룹에 할당하려는 액세스 규칙 (IpPermission) 을 제공하십시오. AuthorizeSecurityGroupIngressRequest 다음 예제에서는 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;

코드

먼저 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 ""; }

보안 그룹에 송신 규칙을 추가하려면 Ec2Client의 메서드와 유사한 데이터를 제공하십시오. AuthorizeSecurityGroupEgressRequestauthorizeSecurityGroupEgress

전체 예제를 참조하십시오. GitHub

보안 그룹 설명

보안 그룹을 설명하거나 보안 그룹에 대한 정보를 가져오려면 Ec2Client의 describeSecurityGroups 메서드를 호출합니다. 메서드를 DescribeSecurityGroupsResponse호출하여 보안 그룹 목록에 액세스하는 데 사용할 수 있는 a를 반환하고, securityGroups 메서드는 SecurityGroup객체 목록을 반환합니다.

가져오기

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;

코드

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 메서드를 호출하여 삭제할 보안 그룹의 DeleteSecurityGroupRequestID가 포함된 메서드를 전달합니다.

가져오기

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;

코드

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

추가 정보