이 문서는 AWS CLI의 버전 1에만 해당합니다. AWS CLI의 버전 2와 관련된 문서는 버전 2 사용 설명서를 참조하세요.
기본적으로 방화벽 역할을 하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 대한 보안 그룹과 함께, 들어오고 나가는 네트워크 트래픽을 결정하는 규칙을 생성할 수 있습니다.
AWS Command Line Interface(AWS CLI)를 사용하여 새 보안 그룹을 만들고, 기존 보안 그룹에 규칙을 추가하고, 보안 그룹을 삭제합니다.
참고
추가 명령 예제는 AWS CLI 참조 가이드를 참조하세요.
사전 조건
ec2
명령을 실행하려면 다음을 수행해야 합니다.
AWS CLI를 설치하고 구성합니다. 자세한 내용은 AWS CLI 설치, 업데이트 및 제거 및 AWS CLI에 대한 인증 및 액세스 보안 인증 단원을 참조하세요.
-
Amazon EC2 액세스를 허용하도록 IAM 권한을 설정합니다. Amazon EC2의 IAM 권한에 대한 자세한 내용은 Amazon EC2 사용 설명서의 Amazon EC2에 대한 IAM 정책을 참조하세요.
보안 그룹 생성
Virtual Private Cloud(VPC)와 관련된 보안 그룹을 생성할 수 있습니다.
다음 aws
ec2
create-security-group
예제에서는 지정된 VPC에 대한 보안 그룹을 생성하는 방법을 보여줍니다.
$
aws ec2 create-security-group --group-name
my-sg
--description "My security group
" --vpc-idvpc-1a2b3c4d
{ "GroupId": "sg-903004f8" }
보안 그룹에 대한 초기 정보를 보려면 aws
ec2
describe-security-groups
명령을 실행합니다. EC2-VPC 보안 그룹은 이름이 아닌 vpc-id
를 통해서만 참조할 수 있습니다.
$
aws ec2 describe-security-groups --group-ids
sg-903004f8
{ "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "VpcId": "vpc-1a2b3c4d", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }
보안 그룹에 규칙 추가
Amazon EC2 인스턴스를 실행할 때 이미지에 연결하는 방법에 맞는 수신 네트워크 트래픽을 허용하려면 보안 그룹의 규칙을 활성화해야 합니다.
예를 들어 Windows 인스턴스를 시작할 경우, RDP(Remote Desktop Protocol)를 지원하기 위해 일반적으로 TCP 포트 3389에서 인바운드 트래픽을 허용하는 규칙을 추가합니다. Linux 인스턴스를 시작할 경우, SSH 연결을 지원하기 위해 일반적으로 TCP 포트 22에서 인바운드 트래픽을 허용하는 규칙을 추가합니다.
aws ec2
authorize-security-group-ingress
명령을 사용하여 보안 그룹에 규칙을 추가합니다. 이 명령의 필수 파라미터가 컴퓨터 또는 컴퓨터가 연결된 네트워크(주소 범위의 형식)의 퍼블릭 IP 주소(CIDR
참고
다음 서비스를 제공합니다. https://checkip.global.api.aws/
다음 예제에서는 사용자의 IP 주소를 사용하여 ID가 sg-903004f8
인 EC2-VPC 보안 그룹에 RDP(TCP 포트 3389)에 대한 규칙을 추가하는 방법을 보여줍니다.
시작하려면 IP 주소를 찾습니다.
$
curl https://checkip.amazonaws.com
x.x.x.x
그런 다음 aws ec2
authorize-security-group-ingress
명령을 실행하여 IP 주소를 보안 그룹에 추가할 수 있습니다.
$
aws ec2 authorize-security-group-ingress --group-id
sg-903004f8
--protocol tcp --port 3389 --cidrx.x.x.x/x
다음 명령은 동일한 보안 그룹의 인스턴스에 SSH를 활성화하는 다른 규칙을 추가합니다.
$
aws ec2 authorize-security-group-ingress --group-id
sg-903004f8
--protocol tcp --port 22 --cidrx.x.x.x/x
보안 그룹의 변경 사항을 보려면 aws
ec2
describe-security-groups
명령을 실행합니다.
$
aws ec2 describe-security-groups --group-ids
sg-903004f8
{ "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "
x.x.x.x/x
" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }
보안 그룹 삭제
보안 그룹을 삭제하려면 aws ec2
delete-security-group
명령을 실행합니다.
참고
환경에 현재 연결되어 있는 경우 보안 그룹을 삭제할 수 없습니다.
다음 명령 예제는 EC2-VPC 보안 그룹을 삭제합니다.
$
aws ec2 delete-security-group --group-id
sg-903004f8
참조
AWS CLI 참조:
기타 참조:
-
AWS SDK 및 AWS CLI 코드 예제를 보고 기여하려면 GitHub에서 AWS 코드 예제 리포지토리
를 참조하세요.