

# 보안 그룹을 사용하여 AWS 리소스에 대한 트래픽 제어
<a name="vpc-security-groups"></a>

*보안 그룹*은 연결된 리소스에 도달하고 나갈 수 있는 트래픽을 제어합니다. 예를 들어 보안 그룹을 EC2 인스턴스와 연결하면 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어합니다.

VPC를 생성할 경우 VPC는 기본 보안 그룹과 함께 제공됩니다. 각각 고유한 인바운드 및 아웃바운드 규칙이 있는 추가 보안 그룹을 생성할 수 있습니다. 각 인바운드 규칙에 대해 소스, 포트 범위 및 프로토콜을 지정할 수 있습니다. 각 아웃바운드 규칙에 대해 대상, 포트 범위 및 프로토콜을 지정할 수 있습니다.

다음 다이어그램은 서브넷, 인터넷 게이트웨이 및 보안 그룹이 있는 VPC를 보여줍니다. 이 서브넷에는 EC2 인스턴스가 포함되어 있습니다. 보안 그룹은 인스턴스에 할당됩니다. 보안 그룹은 가상 방화벽의 기능을 수행합니다. 인스턴스에 연결되는 트래픽은 보안 그룹 규칙에서 허용되는 트래픽이 유일합니다. 예를 들어, 보안 그룹에 해당 네트워크에서 인스턴스로 이동하는 ICMP 트래픽을 허용하는 규칙이 포함되어 있는 경우 컴퓨터에서 인스턴스를 ping할 수 있습니다. 보안 그룹에 SSH 트래픽을 허용하는 규칙이 포함되어 있지 않은 경우에는 SSH를 사용하여 인스턴스에 연결할 수 없습니다.

![\[서브넷 2개, 보안 그룹 2개, 서로 다른 보안 그룹과 연결된 서브넷의 서버가 있는 VPC\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/security-group-overview.png)


**Topics**
+ [보안 그룹 기본 사항](#security-group-basics)
+ [보안 그룹 예시](#security-group-example-details)
+ [보안 그룹 규칙](security-group-rules.md)
+ [기본 보안 그룹](default-security-group.md)
+ [보안 그룹 생성](creating-security-groups.md)
+ [보안 그룹 규칙 구성](working-with-security-group-rules.md)
+ [보안 그룹 삭제](deleting-security-groups.md)
+ [보안 그룹을 여러 VPC와 연결](security-group-assoc.md)
+ [AWS Organizations와 보안 그룹 공유](security-group-sharing.md)

**가격 책정**  
보안 그룹을 사용해도 추가 요금이 부과되지 않습니다.

## 보안 그룹 기본 사항
<a name="security-group-basics"></a>
+ [보안 그룹 VPC 연결 기능](security-group-assoc.md)을 사용하여 보안 그룹을 동일한 리전의 다른 VPC에 연결하는 경우, 보안 그룹을 동일한 VPC에서 생성된 리소스 또는 다른 VPC의 리소스에 할당할 수 있습니다. 단일 리소스에 여러 개의 보안 그룹을 할당할 수도 있습니다.
+ 보안 그룹을 생성할 때 이름과 설명을 제공해야 합니다. 다음 규칙이 적용됩니다.
  + 보안 그룹 이름은 VPC 내에서 고유해야 합니다.
  + 보안 그룹 이름은 대/소문자를 구분하지 않습니다.
  + 이름과 설명은 최대 255자일 수 있습니다.
  + 이름과 설명은 다음과 같은 문자로 제한됩니다. a-z, A-Z, 0-9, 공백 및 .\$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1
  + 이름에 후행 공백이 포함되어 있으면 이름 끝의 공백을 자릅니다. 예를 들어 이름에 “테스트 보안 그룹 ”을 입력하면 “테스트 보안 그룹”으로 저장됩니다.
  + 보안 그룹 이름은 `sg-`로 시작할 수 없습니다.
+ 보안 그룹은 상태가 저장됩니다. 예를 들어 사용자가 인스턴스에서 요청을 전송하면 해당 요청의 응답 트래픽은 인바운드 보안 그룹 규칙에 관계없이 인스턴스에 도달할 수 있습니다. 허용된 인바운드 트래픽에 대한 응답은 아웃바운드 규칙에 관계없이 인스턴스를 떠날 수 있습니다.
+ 보안 그룹은 다음에서 송수신되는 트래픽을 필터링하지 않습니다.
  + Amazon Domain Name Services(DNS)
  + Amazon Dynamic Host Configuration Protocol(DHCP)
  + Amazon EC2 인스턴스 메타데이터
  + Amazon ECS 태스크 메타데이터 엔드포인트
  + Windows 인스턴스에 대한 라이선스 활성화
  + Amazon Time Sync Service
  + 기본 VPC 라우터에서 사용하는 예약된 IP 주소
+ VPC당 생성할 수 있는 보안 그룹의 개수, 각 보안 그룹에 추가할 수 있는 규칙의 개수, 그리고 네트워크 인터페이스에 연결할 수 있는 보안 그룹의 개수에는 할당량이 있습니다. 자세한 내용은 [Amazon VPC 할당량](amazon-vpc-limits.md) 단원을 참조하세요.

**모범 사례**
+ 특정 IAM 보안 주체에만 보안 그룹을 생성 및 수정하는 권한을 부여합니다.
+ 오류 위험을 줄이려면 필요한 최소 보안 그룹 수를 생성합니다. 각 보안 그룹을 사용하여 함수 및 보안 요구 사항이 비슷한 리소스에 대한 액세스 권한을 관리합니다.
+ EC2 인스턴스에 액세스할 수 있도록 포트 22(SSH) 또는 3389(RDP)에 대한 인바운드 규칙을 추가하는 경우 특정 IP 주소 범위만 권한을 부여합니다. 0.0.0.0/0(IPv4)과 ::/(IPv6)를 지정하면 누구든지 지정된 프로토콜을 사용하여 모든 IP 주소에서 인스턴스에 액세스할 수 있게 됩니다.
+ 큰 포트 범위를 열지 마세요. 각 포트를 통한 액세스 권한이 해당 포트를 필요로 하는 원본 또는 대상으로 제한되도록 하세요.
+ 보안 그룹과 비슷한 규칙으로 네트워크 ACL을 생성하여 VPC에 추가 보안 계층을 추가해 보세요. 보안 그룹과 네트워크 ACL의 차이에 대한 자세한 정보는 [보안 그룹 및 네트워크 ACL 비교](infrastructure-security.md#VPC_Security_Comparison) 단원을 참조하세요.

## 보안 그룹 예시
<a name="security-group-example-details"></a>

다음 다이어그램에서는 보안 그룹과 서브넷이 각각 2개인 VPC를 보여줍니다. 서브넷 A의 인스턴스는 연결 요구 사항이 동일한 보안 그룹 1과 연결됩니다. 서브넷 B의 인스턴스는 연결 요구 사항이 동일한 보안 그룹 2와 연결됩니다. 보안 그룹 규칙에서는 다음의 트래픽이 허용됩니다.
+ 보안 그룹 1의 첫 번째 인바운드 규칙은 지정된 주소 범위(예: 자체 네트워크의 범위)에서 서브넷 A의 인스턴스로 이동하는 SSH 트래픽을 허용합니다.
+ 보안 그룹 1의 두 번째 인바운드 규칙에서는 서브넷 A의 인스턴스가 프로토콜과 포트를 사용하여 상호 간에 통신하는 것이 허용됩니다.
+ 보안 그룹 2의 첫 번째 인바운드 규칙에서는 서브넷 B의 인스턴스가 프로토콜과 포트를 사용하여 상호 간에 통신하는 것이 허용됩니다.
+ 보안 그룹 2의 두 번째 인바운드 규칙에서는 서브넷 A의 인스턴스가 SSH를 사용하여 서브넷 B의 인스턴스와 통신하는 것이 허용됩니다.
+ 두 보안 그룹 모두 모든 트래픽을 허용하는 기본 아웃바운드 규칙을 사용합니다.

![\[두 개의 서브넷에 두 개의 보안 그룹 및 서버가 포함된 VPC 서브넷 A의 서버는 보안 그룹 1과 연결되어 있습니다. 서브넷 B의 서버는 보안 그룹 2와 연결되어 있습니다.\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/security-group-details.png)


# 보안 그룹 규칙
<a name="security-group-rules"></a>

보안 그룹의 규칙은 보안 그룹과 연결된 리소스에 도달하도록 허용된 인바운드 트래픽을 제어합니다. 인스턴스에서 나갈 수 있는 아웃바운드 트래픽을 제어합니다.

보안 그룹의 규칙을 추가하거나 제거할 수 있습니다(인바운드 또는 아웃바운드 액세스 *권한 부여* 또는 *취소*라고도 함). 규칙은 인바운드 트래픽(수신)이나 아웃바운드 트래픽(송신)에 적용됩니다. 특정 소스 또는 대상에 대한 액세스 권한을 부여할 수 있습니다.

**Topics**
+ [보안 그룹 규칙 기본 사항](#security-group-rule-characteristics)
+ [보안 그룹 규칙의 구성 요소](#security-group-rule-components)
+ [보안 그룹 참조](#security-group-referencing)
+ [보안 그룹 크기](#security-group-size)
+ [무효 보안 그룹 규칙](#vpc-stale-security-group-rules)

## 보안 그룹 규칙 기본 사항
<a name="security-group-rule-characteristics"></a>

다음은 보안 그룹 규칙의 특징입니다.
+ 허용 규칙을 지정할 수 있지만 거부 규칙은 지정할 수 없습니다.
+ 보안 그룹을 처음 만들 때 인바운드 규칙이 없습니다. 따라서 보안 그룹에 인바운드 규칙을 추가하기 전에는 어떤 인바운드 트래픽도 허용되지 않습니다.
+ 보안 그룹을 처음 생성하면 리소스의 모든 아웃바운드 트래픽을 허용하는 아웃바운드 규칙이 있습니다. 규칙을 제거할 수 있으며 특정 아웃바운드 트래픽만 허용하는 아웃바운드 규칙을 추가할 수 있습니다. 보안 그룹에 아웃바운드 규칙이 없는 경우 어떤 아웃바운드 트래픽도 허용되지 않습니다.
+ 여러 보안 그룹을 리소스와 연결하면 각 보안 그룹의 규칙이 집계되어 액세스 허용 여부를 결정하는 데 사용되는 단일 규칙 집합을 형성합니다.
+ 규칙을 추가, 업데이트 또는 제거할 때 변경 사항은 보안 그룹과 연결된 모든 리소스에 자동으로 적용됩니다. 지침은 [보안 그룹 규칙 구성](working-with-security-group-rules.md) 단원을 참조하세요.
+ 일부 규칙 변경 사항이 미치는 효과는 트래픽의 추적 방법에 따라 다를 수 있습니다. 자세한 내용은 **Amazon EC2 사용 설명서의 [연결 추적](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html)을 참조하세요.
+ 보안 그룹 규칙을 생성하면 AWS에서는 규칙에 고유한 ID가 할당됩니다. API 또는 CLI를 사용하여 규칙을 수정하거나 삭제할 때 규칙의 ID를 사용할 수 있습니다.

**제한 사항**  
보안 그룹은 'VPC\$12 IP 주소'(*Amazon Route 53 개발자 안내서*의 [Amazon Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html) 참조) 또는 [AmazonProvidedDNS](DHCPOptionSet.md)라고 하는 Route 53 Resolver와 주고받는 DNS 요청을 차단할 수 없습니다. Route 53 Resolver를 통해 DNS 요청을 필터링하려면 [Route 53 Resolver DNS 방화벽](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html)을 사용하세요.

## 보안 그룹 규칙의 구성 요소
<a name="security-group-rule-components"></a>

다음은 인바운드 및 아웃바운드 보안 그룹 규칙의 구성 요소입니다.
+ **프로토콜**: 허용할 프로토콜. 가장 일반적인 프로토콜은 6(TCP), 17(UDP) 및 1(ICMP)입니다.
+ **포트 범위**: TCP, UDP 또는 사용자 지정 프로토콜의 경우 허용할 포트의 범위. 단일 포트 번호(예: `22`) 또는 포트 번호의 범위(예: `7000-8000`)를 지정할 수 있습니다.
+ **ICMP 유형 및 코드**: ICMP의 경우, ICMP 유형과 코드. 예를 들어 ICMP 에코 요청에 대해 유형 8을 사용하고 ICMPv6 에코 요청에 대해 유형 128을 입력합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [ping/ICMP 규칙](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping)을 참조하세요.
+ **소스 또는 대상**: 허용할 트래픽에 대한 소스(인바운드 규칙) 또는 대상(아웃바운드 규칙)입니다. 다음 중 하나를 지정하세요.
  + 단일 IPv4 주소. `/32` 접두사 길이를 사용해야 합니다. 예: `203.0.113.1/32`.
  + 단일 IPv6 주소. `/128` 접두사 길이를 사용해야 합니다. 예: `2001:db8:1234:1a00::123/128`.
  + CIDR 블록 표기법으로 표시된 IPv4 주소의 범위. 예를 들어 `203.0.113.0/24`입니다.
  + CIDR 블록 표기법으로 표시된 IPv6 주소의 범위. 예를 들어 `2001:db8:1234:1a00::/64`입니다.
  + 접두사 목록의 ID. 예를 들어 `pl-1234abc1234abc123`입니다. 자세한 내용은 [관리형 접두사 목록](managed-prefix-lists.md) 섹션을 참조하세요.
  + 보안 그룹의 ID. 예를 들어 `sg-1234567890abcdef0`입니다. 자세한 내용은 [보안 그룹 참조](#security-group-referencing) 단원을 참조하세요.
+ **(선택 사항) 설명**: 나중에 쉽게 식별할 수 있도록 규칙에 대한 설명을 입력할 수 있습니다. 설명 길이는 최대 255자입니다. 허용되는 문자는 a-z, A-Z, 0-9, 공백 및 .\$1-:/()\$1,@[]\$1=;\$1\$1\$1\$1\$1입니다.

예제는 *Amazon EC2 사용 설명서*의 [다양한 사용 사례의 보안 그룹 규칙](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html)을 참조하세요.

## 보안 그룹 참조
<a name="security-group-referencing"></a>

보안 그룹을 규칙의 소스 또는 대상으로 지정할 경우 규칙은 보안 그룹과 연결된 모든 인스턴스에 영향을 줍니다. 인스턴스는 인스턴스의 프라이빗 IP 주소를 사용하여 지정된 프로토콜 및 포트를 통해 지정된 방향으로 통신할 수 있습니다.

예를 들어 다음은 보안 그룹 sg-0abcdef1234567890을(를) 참조하는 보안 그룹에 대한 인바운드 규칙을 나타냅니다. 이 규칙에서는 sg-0abcdef1234567890과(와) 연결된 인스턴스에서 발생한 인바운드 SSH 트래픽이 허용됩니다.


| 소스 | 프로토콜 | 포트 범위 | 
| --- | --- | --- | 
| sg-0abcdef1234567890 | TCP | 22 | 

보안 그룹 규칙에서 보안 그룹을 참조할 때 다음 사항에 유의하세요.
+ 다음 중 하나에 해당하는 경우 다른 보안 그룹의 인바운드 규칙에서 보안 그룹을 참조할 수 있습니다.
  + 보안 그룹이 동일한 VPC에 연결되어 있습니다.
  + 보안 그룹이 연결된 VPC 간에 피어링 연결이 있습니다.
  + 보안 그룹이 연결된 VPC 간에 전송 게이트웨이가 있습니다.
+ 다음 중 하나에 해당하는 경우 아웃바운드 규칙에서 보안 그룹을 참조할 수 있습니다.
  + 보안 그룹이 동일한 VPC에 연결되어 있습니다.
  + 보안 그룹이 연결된 VPC 간에 피어링 연결이 있습니다.
+ 참조된 보안 그룹의 규칙은 해당 그룹을 참조하는 보안 그룹에 추가되지 않습니다.
+ 인바운드 규칙의 경우 보안 그룹과 연결된 EC2 인스턴스는 참조된 보안 그룹과 연결된 EC2 인스턴스의 네트워크 인터페이스에 할당된 프라이빗 IP 주소로부터 인바운드 트래픽을 수신할 수 있습니다.
+ 아웃바운드 규칙의 경우 보안 그룹과 연결된 EC2 인스턴스는 참조된 보안 그룹과 연결된 EC2 인스턴스의 네트워크 인터페이스에 할당된 프라이빗 IP 주소로 아웃바운드 트래픽을 보낼 수 있습니다.
+ `AuthorizeSecurityGroupIngress`, `AuthorizeSecurityGroupEgress`, `RevokeSecurityGroupIngress` 및 `RevokeSecurityGroupEgress` 작업에서는 참조된 보안 그룹에 대해 권한을 부여하지 않습니다. 보안 그룹이 존재하는지 여부만 확인합니다. 이 결과는 다음과 같습니다.
  + 이러한 작업에 대해 IAM 정책에서 참조된 보안 그룹을 지정하는 것은 아무런 효과가 없습니다.
  + 참조된 보안 그룹을 다른 계정이 소유한 경우 소유자 계정은 이러한 작업에 대한 CloudTrail 이벤트를 수신하지 않습니다.

**제한**

미들박스 어플라이언스를 통해 서로 다른 서브넷에 있는 두 인스턴스 간의 트래픽을 전달하도록 경로를 구성하는 경우 두 인스턴스에 대한 보안 그룹이 인스턴스 간에 트래픽이 흐르도록 허용해야 합니다. 각 인스턴스의 보안 그룹은 다른 인스턴스의 프라이빗 IP 주소 또는 다른 인스턴스가 포함된 서브넷의 CIDR 범위를 소스로 참조해야 합니다. 다른 인스턴스의 보안 그룹을 소스로 참조하면 인스턴스 간에 트래픽이 흐를 수 없습니다.

**예제**

다음 다이어그램은 두 개의 가용 영역에 있는 서브넷, 인터넷 게이트웨이 및 Application Load Balancer가 있는 VPC를 보여 줍니다. 각 가용 영역에는 웹 서버용 퍼블릭 서브넷과 데이터베이스 서버용 프라이빗 서브넷이 있습니다. 로드 밸런서, 웹 서버 및 데이터베이스 서버에는 별도의 보안 그룹이 있습니다. 다음 보안 그룹 규칙을 생성하여 트래픽을 허용하세요.
+ 인터넷의 HTTP 및 HTTPS 트래픽을 허용하도록 로드 밸런서 보안 그룹에 규칙을 추가합니다. 소스는 0.0.0.0/0.입니다.
+ 로드 밸런서의 HTTP 및 HTTPS 트래픽만 허용하도록 웹 서버의 보안 그룹에 규칙을 추가합니다. 소스는 로드 밸런서에 대한 보안 그룹입니다.
+ 웹 서버의 데이터베이스 요청을 허용하도록 데이터베이스 서버의 보안 그룹에 규칙을 추가합니다. 소스는 웹 서버에 대한 보안 그룹입니다.

![\[웹 및 DB 서버, 보안 그룹, 인터넷 게이트웨이, 로드 밸런서가 있는 아키텍처\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/security-group-referencing.png)


## 보안 그룹 크기
<a name="security-group-size"></a>

소스 또는 대상의 유형에 따라 각 규칙이 보안 그룹당 가질 수 있는 최대 규칙 수에 포함되는 방식이 결정됩니다.
+ CIDR 블록을 참조하는 규칙은 하나의 규칙으로 계산됩니다.
+ 다른 보안 그룹을 참조하는 규칙은 참조된 보안 그룹의 크기와 상관없이 하나의 규칙으로 계산됩니다.
+ 고객이 관리하는 접두사 목록을 참조하는 규칙은 접두사 목록의 최대 크기로 계산됩니다. 예를 들어 접두사 목록의 최대 크기가 20인 경우 이 접두사 목록을 참조하는 규칙은 20개의 규칙으로 계산됩니다.
+ AWS 관리형 접두사 목록을 참조하는 규칙은 접두사 목록의 가중치로 계산됩니다. 예를 들어 접두사 목록의 가중치가 10인 경우 이 접두사 목록을 참조하는 규칙은 10개의 규칙으로 계산됩니다. 자세한 내용은 [사용 가능한 AWS 관리형 접두사 목록](working-with-aws-managed-prefix-lists.md#available-aws-managed-prefix-lists) 단원을 참조하세요.

## 무효 보안 그룹 규칙
<a name="vpc-stale-security-group-rules"></a>

VPC에 다른 VPC와의 VPC 피어링 연결이 있는 경우 또는 다른 계정에 의해 공유된 VPC를 사용하는 경우 VPC의 보안 그룹 규칙은 해당 피어 VPC 또는 공유 VPC의 보안 그룹을 참조할 수 있습니다. 이를 통해 참조된 보안 그룹과 연결된 리소스가 참조하는 보안 그룹과 연결된 리소스와 서로 통신할 수 있습니다. 자세한 내용은 *Amazon VPC 피어링 가이드*의 [피어 VPC 보안 그룹을 참조하도록 보안 그룹 업데이트](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html)를 참조하세요.

피어 VPC 또는 공유 VPC의 보안 그룹을 참조하는 보안 그룹 규칙이 있고 공유 VPC의 보안 그룹이 삭제되거나 VPC 피어링 연결이 삭제된 경우 보안 그룹 규칙은 무효로 표시됩니다. 다른 보안 그룹 규칙과 같은 방법으로 무효 보안 그룹 규칙을 삭제할 수 있습니다.

# VPC에 대한 기본 보안 그룹
<a name="default-security-group"></a>

기본 VPC와 사용자가 생성한 VPC는 기본 보안 그룹과 함께 제공됩니다. 기본 보안 그룹의 이름은 “default“입니다.

기본 보안 그룹을 사용하는 대신 특정 리소스 또는 리소스 그룹에 대한 보안 그룹을 만드는 것이 좋습니다. 단, 일부 리소스는 생성 시점에 보안 그룹을 연결하지 않으면 기본 보안 그룹이 연결됩니다. 예를 들어 EC2 인스턴스를 시작할 때 보안 그룹을 지정하지 않은 경우 인스턴스는 그 VPC의 기본 보안 그룹과 연결됩니다.

## 기본 보안 그룹 기본 사항
<a name="default-security-group-basics"></a>
+ 기본 보안 그룹에 대한 규칙을 변경할 수 있습니다.
+ 기본 보안 그룹을 삭제할 수 없습니다. 기본 보안 그룹을 삭제하려고 하면 `Client.CannotDelete`라는 오류 코드가 반환됩니다.

## 기본 규칙
<a name="default-security-group-default-rules"></a>

다음 표에서는 기본 보안 그룹의 기본 인바운드 규칙을 설명합니다.


| 소스 | 프로토콜 | 포트 범위 | 설명 | 
| --- | --- | --- | --- | 
| sg-1234567890abcdef0  | 모두 | 모두 | 이 보안 그룹에 할당된 모든 리소스로부터의 인바운드 트래픽을 허용합니다. 소스는 보안 그룹의 ID입니다. | 

다음 표에서는 기본 보안 그룹의 기본 아웃바운드 규칙을 설명합니다.


| Destination | 프로토콜 | 포트 범위 | 설명 | 
| --- | --- | --- | --- | 
| 0.0.0.0/0 | 모두 | 모두 | 모든 아웃바운드 IPv4 트래픽을 허용합니다. | 
| ::/0 | 모두 | 모두 | 모든 아웃바운드 IPv6 트래픽을 허용합니다. 이 규칙은 VPC에 연결된 IPv6 CIDR 블록이 있는 경우에만 추가됩니다. | 

## 예제
<a name="default-security-group-example"></a>

다음 다이어그램은 기본 보안 그룹, 인터넷 게이트웨이 및 NAT 게이트웨이가 있는 VPC를 보여 줍니다. 기본 보안에는 기본 규칙만 포함되며 VPC에서 실행되는 두 개의 EC2 인스턴스와 연결됩니다. 이 시나리오에서 각 인스턴스는 모든 포트 및 프로토콜에서 다른 인스턴스로부터 인바운드 트래픽을 수신할 수 있습니다. 기본 규칙에서는 인스턴스가 인터넷 게이트웨이 또는 NAT 게이트웨이로부터 트래픽을 수신하는 것이 허용되지 않습니다. 인스턴스에서 반드시 추가 트래픽을 수신해야 하는 경우 필수 규칙이 있는 보안 그룹을 만들고 새 보안 그룹을 기본 보안 그룹 대신 인스턴스에 연결하는 것을 권장합니다.

![\[서브넷 2개, 기본 보안 그룹, EC2 인스턴스 2개, 인터넷 게이트웨이, NAT 게이트웨이가 있는 VPC\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/default-security-group.png)


# VPC의 보안 그룹을 생성
<a name="creating-security-groups"></a>

가상 프라이빗 클라우드(VPC)에는 기본 보안 그룹이 제공됩니다. 추가 보안 그룹을 생성할 수 있습니다. 보안 그룹은 해당 보안 그룹이 생성된 VPC의 리소스에서만 사용할 수 있습니다.

기본적으로 처음에 새 보안 그룹에는 리소스에서 나가는 모든 트래픽을 허용하는 아웃바운드 규칙만 적용됩니다. 인바운드 트래픽을 사용하거나 아웃바운드 트래픽을 제한하려면 규칙을 추가해야 합니다. 보안 그룹을 생성할 때나 나중에 규칙을 추가할 수 있습니다. 자세한 내용은 [보안 그룹 규칙](security-group-rules.md) 단원을 참조하세요.

**필수 권한**

시작하기 전에 필수 권한을 받았는지 확인하세요. 자세한 내용은 다음 자료를 참조하세요.
+ [보안 그룹 관리](vpc-policy-examples.md#vpc-security-groups-iam)
+ [보안 그룹 규칙 관리](vpc-policy-examples.md#vpc-security-group-rules-iam)

**콘솔을 사용하여 보안 그룹을 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Security groups**를 선택합니다.

1. **보안 그룹 생성**을 선택합니다.

1. 보안 그룹의 이름과 설명을 입력합니다. 보안 그룹을 생성한 후에는 보안 그룹에 대한 이름과 설명을 변경할 수 없습니다.

1. **VPC**에서는 보안 그룹을 연결할 리소스를 생성할 VPC를 선택합니다.

1. (선택 사항) 인바운드 규칙을 추가하려면 **인바운드 규칙**을 선택합니다. 각 규칙에 대해 **규칙 추가**를 선택하고 프로토콜, 포트 및 소스를 지정합니다. 자세한 내용은 [보안 그룹 규칙 구성](working-with-security-group-rules.md) 단원을 참조하세요.

1. (선택 사항) 아웃바운드 규칙을 추가하려면 **아웃바운드 규칙**을 선택합니다. 각 규칙에 대해 **규칙 추가**를 선택하고 프로토콜, 포트 및 대상을 지정합니다.

1. (선택 사항) 태그를 추가하려면 **Add new tag**(새 태그 추가)를 선택하고 태그 키와 태그 값을 입력합니다.

1. **보안 그룹 생성**을 선택합니다.

**AWS CLI를 사용하여 보안 그룹을 생성하려면**  
[create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html) 명령을 사용합니다.

또는 기존 보안 그룹을 복사하여 새 보안 그룹을 생성할 수도 있습니다. 보안 그룹을 복사하면 원래 보안 그룹과 동일한 인바운드 및 아웃바운드 규칙을 자동으로 추가하고 원래 보안 그룹과 동일한 VPC를 사용합니다. 새 보안 그룹의 이름과 설명을 입력할 수 있습니다. 필요에 따라 다른 VPC를 선택하고 필요에 따라 인바운드 및 아웃바운드 규칙을 수정할 수 있습니다. 그러나 보안 그룹을 한 리전에서 다른 리전으로 복사할 수 없습니다.

**기존 보안 그룹을 기준으로 보안 그룹을 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Security groups**를 선택합니다.

1. 보안 그룹을 선택합니다.

1. **작업**, **새 보안 그룹에 복사**를 선택합니다.

1. 보안 그룹의 이름과 설명을 입력합니다.

1. (선택 사항) 필요한 경우 다른 VPC를 선택합니다.

1. (선택 사항) 필요에 따라 보안 그룹 규칙을 추가, 제거 또는 편집합니다.

1. **보안 그룹 생성**을 선택합니다.

# 보안 그룹 규칙 구성
<a name="working-with-security-group-rules"></a>

보안 그룹을 생성한 후 해당 보안 그룹 규칙을 추가, 업데이트 및 삭제할 수 있습니다. 규칙을 추가, 업데이트 또는 삭제하면 변경 내용이 보안 그룹과 연결된 모든 리소스에 자동으로 적용됩니다.

**필수 권한**  
시작하기 전에 필요한 권한이 있는지 확인하세요. 자세한 내용은 [보안 그룹 규칙 관리](vpc-policy-examples.md#vpc-security-group-rules-iam) 섹션을 참조하세요.

**포트 및 프로토콜**
+ 콘솔에서 사전 정의된 유형을 선택하면 **프로토콜** 및 **포트 범위**가 지정됩니다. 포트 범위를 입력하려면 **사용자 지정 TCP** 또는 **사용자 지정 UDP** 중 하나를 선택해야 합니다.
+ AWS CLI에서 `--protocol` 및 `--port` 옵션을 사용하여 단일 포트가 있는 단일 규칙을 추가할 수 있습니다. 여러 규칙 또는 포트 범위가 있는 규칙을 추가하려면 `--ip-permissions` 옵션을 대신 사용합니다.

**소스 및 대상**
+ 콘솔에서 다음을 인바운드 규칙의 소스 또는 아웃바운드 규칙의 대상으로 지정할 수 있습니다.
  + **사용자 지정** - IPv4 CIDR 블록, IPv6 CIDR 블록, 보안 그룹 또는 접두사 목록.
  + **Anywhere-IPv4** – 0.0.0.0/0 IPv4 CIDR 블록.
  + **Anywhere-IPv6** – ::/0 IPv6 CIDR 블록.
  + **내 IP**: 로컬 컴퓨터의 퍼블릭 IPv4 주소.
+ AWS CLI에서 `--cidr` 옵션을 사용하여 IPv4 CIDR 블록을 지정하거나 `--source-group` 옵션을 사용하여 보안 그룹을 지정할 수 있습니다. 접두사 목록 또는 IPv6 CIDR 블록을 지정하려면 `--ip-permissions` 옵션을 사용합니다.

**주의**  
**Anywhere-IPv4**를 선택하면 모든 IPv4 주소의 트래픽이 허용됩니다. **Anywhere-IPv6**을 선택하면 모든 IPv6 주소의 트래픽이 허용됩니다. 리소스에 액세스해야 하는 특정 IP 주소 범위에만 권한을 부여하는 것이 가장 좋습니다.

**콘솔을 사용하여 보안 그룹 규칙을 구성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Security groups**를 선택합니다.

1. 보안 그룹을 선택합니다.

1. 인바운드 규칙을 편집하려면 **작업** 또는 **인바운드 규칙** 탭에서 **인바운드 규칙 편집**을 선택합니다.

   1. 규칙을 추가하려면 **규칙 추가**를 선택한 다음 규칙의 유형, 프로토콜, 포트 및 소스를 입력합니다.

      유형이 TCP 또는 UDP인 경우 허용할 포트 범위를 입력해야 합니다. 사용자 지정 ICMP의 경우 **프로토콜(Protocol)**에서 ICMP 유형 이름을 선택하고, 해당되는 경우 **포트 범위(Port range)**에서 코드 이름을 선택해야 합니다. 다른 유형에 대해 프로토콜과 포트 범위가 구성됩니다.

   1. 규칙을 업데이트하려면 필요에 따라 프로토콜, 설명 및 소스를 변경합니다. 하지만 소스 유형을 변경할 수는 없습니다. 예를 들어 소스가 IPv4 CIDR 블록인 경우 IPv6 CIDR 블록, 접두사 목록 또는 보안 그룹을 지정할 수 없습니다.

   1. 규칙을 삭제하려면 해당 **삭제** 버튼을 선택합니다.

1. 아웃바운드 규칙을 편집하려면 **작업** 또는 **아웃바운드 규칙** 탭에서 **아웃바운드 규칙 편집**을 선택합니다.

   1. 규칙을 추가하려면 **규칙 추가**를 선택한 다음 규칙의 유형, 프로토콜, 포트 및 대상을 입력합니다. 또한 설명을 입력할 수 있습니다(선택 사항).

      유형이 TCP 또는 UDP인 경우 허용할 포트 범위를 입력해야 합니다. 사용자 지정 ICMP의 경우 **프로토콜(Protocol)**에서 ICMP 유형 이름을 선택하고, 해당되는 경우 **포트 범위(Port range)**에서 코드 이름을 선택해야 합니다. 다른 유형에 대해 프로토콜과 포트 범위가 구성됩니다.

   1. 규칙을 업데이트하려면 필요에 따라 프로토콜, 설명 및 소스를 변경합니다. 하지만 소스 유형을 변경할 수는 없습니다. 예를 들어 소스가 IPv4 CIDR 블록인 경우 IPv6 CIDR 블록, 접두사 목록 또는 보안 그룹을 지정할 수 없습니다.

   1. 규칙을 삭제하려면 해당 **삭제** 버튼을 선택합니다.

1. **규칙 저장**을 선택합니다.

**AWS CLI를 사용하여 보안 그룹 규칙 구성**
+ **추가** - [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html) 및 [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html) 명령을 사용합니다.
+ **제거** - [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html) 및 [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html) 명령을 사용합니다.
+ **수정** - [modify-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-security-group-rules.html), [update-security-group-rule-descriptions-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/update-security-group-rule-descriptions-ingress.html) 및 [update-security-group-rule-descriptions-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/update-security-group-rule-descriptions-egress.html) 명령을 사용합니다.

# 보안 그룹 삭제
<a name="deleting-security-groups"></a>

생성한 보안 그룹 사용을 완료하면 이를 삭제할 수 있습니다.

**요구 사항**
+ 보안 그룹은 어떤 리소스와도 연결할 수 없습니다.
+ 보안 그룹은 다른 보안 그룹의 규칙에서 참조할 수 없습니다.
+ 보안 그룹은 VPC의 기본 보안 그룹이 될 수 없습니다.

**콘솔을 사용하여 보안 그룹을 삭제하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Security groups**를 선택합니다.

1. 보안 그룹을 선택한 다음 **작업**, **보안 그룹 삭제**를 선택합니다.

1. 보안 그룹을 둘 이상 선택하면 확인 메시지가 표시됩니다. 일부 보안 그룹을 삭제할 수 없는 경우 각 보안 그룹의 상태가 표시되어 삭제 여부를 나타냅니다. 삭제를 확인하려면 **삭제**를 누릅니다.

1. **삭제**를 선택합니다.

**AWS CLI를 사용하여 보안 그룹을 삭제하려면**  
[delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html) 명령을 사용합니다.

# 보안 그룹을 여러 VPC와 연결
<a name="security-group-assoc"></a>

네트워크 보안 요구 사항을 공유하는 여러 VPC에서 워크로드를 실행하는 경우 보안 그룹 VPC 연결 기능을 사용하여 보안 그룹을 동일한 리전의 여러 VPC와 연결할 수 있습니다. 이를 통해 계정의 여러 VPC에 대한 보안 그룹을 한 곳에서 관리하고 유지할 수 있습니다.

![\[두 VPC가 연결되어 있는 보안 그룹의 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/sec-group-vpc-assoc.png)


위의 다이어그램은 두 개의 VPC가 있는 AWS 계정 A를 보여줍니다. 각 VPC에는 프라이빗 서브넷에서 실행되는 워크로드가 있습니다. 이 경우 VPC A 및 B의 서브넷에 있는 워크로드들은 동일한 네트워크 트래픽 요구 사항을 공유하므로 계정 A는 보안 그룹 VPC 연결 기능을 사용하여 VPC A의 보안 그룹을 VPC B와 연결할 수 있습니다. 연결된 보안 그룹에 대한 모든 업데이트는 VPC B 서브넷의 워크로드에 대한 트래픽에 자동으로 적용됩니다.

**보안 그룹 VPC 연결 기능의 요구 사항**
+ 보안 그룹을 VPC와 연결하려면 VPC를 소유하거나 VPC 서브넷 중 하나를 공유해야 합니다.
+ VPC와 보안 그룹이 동일한 AWS 리전에 있어야 합니다.
+ 기본 보안 그룹을 다른 VPC와 연결하거나 보안 그룹을 기본 VPC와 연결할 수 없습니다.
+ 보안 그룹 소유자와 VPC 소유자 모두 보안 그룹 VPC 연결을 볼 수 있습니다.

**이 기능을 지원하는 서비스**
+ Amazon API Gateway(REST API만 해당)
+ AWS Auto Scaling
+ CloudFormation
+ Amazon EC2
+ Amazon EFS
+ Amazon EKS
+ Amazon FSx
+ AWS PrivateLink
+ Amazon Route 53
+ Elastic Load Balancing
  + Application Load Balancer
  + Network Load Balancer

## 보안 그룹을 다른 VPC에 연결
<a name="assoc-sg"></a>

이 섹션에서는 AWS Management Console 및 AWS CLI를 사용하여 보안 그룹을 VPC와 연결하는 방법을 설명합니다.

------
#### [ AWS Management Console ]

**보안 그룹을 다른 VPC와 연결하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **보안 그룹**을 선택합니다.

1. 보안 그룹을 선택하여 세부 정보를 표시합니다.

1. **VPC 연결** 탭을 선택합니다.

1. **VPC 연결**을 선택합니다.

1. **VPC ID**에서 보안 그룹과 연결할 VPC를 선택합니다.

1. **VPC 연결**을 선택합니다.

------
#### [ Command line ]

**보안 그룹을 다른 VPC와 연결하려면**

1. [associate-security-group-vpc](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/associate-security-group-vpc.html)를 사용하여 VPC 연결을 생성합니다.

1. [describe-security-group-vpc-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-security-group-vpc-associations.html)를 사용하여 VPC 연결의 상태를 확인하고 상태가 `associated`가 될 때까지 기다립니다.

------

이제 VPC가 보안 그룹과 연결됩니다.

 VPC를 보안 그룹과 연결한 후에는 [VPC에서 인스턴스를 시작하고 이 새 보안 그룹을 선택](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)하거나 [기존 보안 그룹 규칙에서 이 보안 그룹을 참조](security-group-rules.md#security-group-referencing)하는 등의 작업을 할 수 있습니다.

## 다른 VPC에서 보안 그룹 연결 해제
<a name="disassoc-sg"></a>

이 섹션에서는 AWS Management Console 및 AWS CLI를 사용하여 VPC에서 보안 그룹을 연결 해제하는 방법을 설명합니다. 보안 그룹을 삭제하는 것이 목표인 경우 이 작업을 수행할 수 있습니다. 연결된 보안 그룹은 삭제할 수 없습니다. 연결된 VPC에서 보안 그룹을 사용하는 네트워크 인터페이스가 없는 경우에만 해당 보안 그룹을 연결 해제할 수 있습니다.

------
#### [ AWS Management Console ]

**VPC에서 보안 그룹을 연결 해제하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **보안 그룹**을 선택합니다.

1. 보안 그룹을 선택하여 세부 정보를 표시합니다.

1. **VPC 연결** 탭을 선택합니다.

1. **VPC 연결 해제**를 선택합니다.

1. **VPC ID**에서 보안 그룹과의 연결을 해제할 VPC를 선택합니다.

1. **VPC 연결 해제**를 선택합니다.

1. VPC 연결 탭에서 연결 해제 **상태**를 확인하고 상태가 `disassociated`가 될 때까지 기다립니다.

------
#### [ Command line ]

**VPC에서 보안 그룹을 연결 해제하려면**

1. [disassociate-security-group-vpc](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/disassociate-security-group-vpc.html)를 사용하여 VPC 연결을 연결 해제합니다.

1. [describe-security-group-vpc-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-security-group-vpc-associations.html)를 사용하여 VPC 연결 해제의 상태를 확인하고 상태가 `disassociated`가 될 때까지 기다립니다.

------

이제 VPC가 보안 그룹과 연결 해제됩니다.

# AWS Organizations와 보안 그룹 공유
<a name="security-group-sharing"></a>

공유 보안 그룹 기능을 사용하면 보안 그룹을 동일한 AWS 리전 내의 다른 AWS Organizations 계정과 공유하고 해당 계정에서 보안 그룹을 사용할 수 있도록 만들 수 있습니다.

다음 다이어그램은 공유 보안 그룹 기능을 사용하여 AWS Organizations의 계정 전체에서 보안 그룹 관리를 간소화하는 방법을 보여줍니다.

![\[보안 그룹을 공유 VPC 서브넷의 다른 계정과 공유하는 것을 보여주는 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/sec-group-sharing.png)


이 다이어그램은 동일한 조직의 일부인 세 개의 계정을 보여줍니다. 계정 A는 계정 B 및 C와 VPC 서브넷을 공유합니다. 계정 A는 공유 보안 그룹 기능을 사용하여 계정 B 및 C와 보안 그룹을 공유합니다. 계속해서 계정 B 및 C는 공유 서브넷에서 인스턴스를 시작할 때 해당 보안 그룹을 사용합니다. 이렇게 하면 계정 A가 보안 그룹을 관리할 수 있으며 보안 그룹에 대한 모든 업데이트는 계정 B 및 C가 공유 VPC 서브넷에서 실행한 리소스에 적용됩니다.

**공유 보안 그룹 기능의 요구 사항**
+ 이 기능은 AWS Organizations에서 동일한 조직에 있는 계정에서만 사용할 수 있습니다. AWS Organizations에서 [리소스 공유](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)를 활성화해야 합니다.
+ 보안 그룹을 공유하는 계정은 VPC와 보안 그룹을 모두 소유해야 합니다.
+ 기본 보안 그룹은 공유할 수 없습니다.
+ 기본 VPC에 있는 보안 그룹은 공유할 수 없습니다.
+ 참가자 계정은 공유 VPC에서 보안 그룹을 생성할 수 있지만 해당 보안 그룹은 공유할 수는 없습니다.
+ IAM 보안 주체가 AWS RAM과 보안 그룹을 공유하려면 최소 권한 세트가 필요합니다. `AmazonEC2FullAccess` 및 `AWSResourceAccessManagerFullAccess` 관리형 IAM 정책을 사용하여 IAM 보안 주체가 공유 보안 기능을 공유하고 사용하는 데 필요한 권한을 갖추게 해야 합니다. 사용자 지정 IAM 정책을 사용하는 경우 `c2:PutResourcePolicy` 및 `ec2:DeleteResourcePolicy` 작업이 필요합니다. 이는 권한 전용 IAM 작업입니다. IAM 보안 주체에게 이러한 권한이 부여되지 않은 경우 AWS RAM을 사용하여 보안 그룹을 공유하려고 할 때 오류가 발생합니다.

**이 기능을 지원하는 서비스**
+ Amazon API Gateway
+ Amazon EC2
+ Amazon ECS
+ Amazon EFS
+ Amazon EKS
+ Amazon EMR
+ Amazon FSx
+ Amazon ElastiCache
+ AWS Elastic Beanstalk
+ AWS Glue
+ Amazon MQ
+ Amazon SageMaker AI
+ Elastic Load Balancing
  + Application Load Balancer
  + Network Load Balancer

**이 기능이 기존 할당량에 미치는 영향**

[보안 그룹 할당량](amazon-vpc-limits.md#vpc-limits-security-groups)이 적용됩니다. 그러나 '네트워크 인터페이스당 보안 그룹' 할당량의 경우 참가자가 탄력적 네트워크 인터페이스(ENI)에서 소유 그룹과 공유 그룹을 모두 사용하는 경우 소유자 및 참자자의 최소 할당량이 적용됩니다.

할당량이 이 기능의 영향을 받는 방식을 보여주는 예:
+ 소유자 계정 할당량: 인터페이스당 보안 그룹 4개
+ 참가자 계정 할당량: 인터페이스당 보안 그룹 5개.
+ 소유자는 그룹 SG-O1, SG-O2, SG-O3, SG-O4, SG-O5를 참가자와 공유합니다. 참가자는 이미 VPC에 SG-P1, SG-P2, SG-P3, SG-P4, SG-P5의 자체 그룹이 있습니다.
+ 참가자가 ENI를 생성하고 소유 그룹만 사용하는 경우 할당량에 해당하므로 5개 보안 그룹(SG-P1, SG-P2, SG-P3, SG-P4, SG-P5)을 모두 연결할 수 있습니다.
+ 참가자가 ENI를 생성하고 ENI에서 공유 그룹을 사용하는 경우 최대 4개의 그룹만 연결할 수 있습니다. 이 경우 이러한 ENI의 할당량은 소유자 및 참가자의 최소 할당량입니다. 가능한 유효한 구성은 다음과 같습니다.
  + SG-O1, SG-P1, SG-P2, SG-P3
  + SG-O1, SG-O2, SG-O3, SG-O4

## 보안 그룹 공유
<a name="share-sg-org"></a>

이 섹션에서는 AWS Management Console 및 AWS CLI를 사용하여 조직의 다른 계정과 보안 그룹을 공유하는 방법을 설명합니다.

------
#### [ AWS Management Console ]

**보안 그룹을 공유하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **보안 그룹**을 선택합니다.

1. 보안 그룹을 선택하여 세부 정보를 표시합니다.

1. **공유** 탭을 선택합니다.

1. **보안 그룹 공유**를 선택합니다.

1. **리소스 공유 생성**을 선택합니다. 그러면 AWS RAM 콘솔이 열립니다. 이 콘솔에서 보안 그룹에 대한 리소스 공유를 생성합니다.

1. 리소스 공유의 **이름**을 입력합니다.

1. **리소스 - 선택 사항**에서 **보안 그룹**을 선택합니다.

1. 보안 그룹을 선택합니다. 보안 그룹은 기본 보안 그룹일 수 없으며 기본 VPC와 연결할 수 없습니다.

1. **다음**을 선택합니다.

1. 보안 주체가 수행하도록 허용할 작업을 검토하고 **다음**을 선택합니다.

1. **보안 주체 - 선택 사항** 아래에서 **조직 내에서만 공유 허용**을 선택합니다.

1. **보안 주체**에서 다음 보안 주체 유형 중 하나를 선택하고 적절한 숫자를 입력합니다.
   + **AWS 계정**: 조직에 있는 계정의 계정 번호입니다.
   + **조직**: AWS Organizations ID입니다.
   + **조직 단위(OU)**: 조직에 있는 OU의 ID입니다.
   + **IAM 역할**: IAM 역할의 ARN입니다. 역할을 생성한 계정은 이 리소스 공유를 생성하는 계정과 동일한 조직의 멤버여야 합니다.
   + **IAM 사용자**: IAM 사용자의 ARN입니다. 사용자를 생성한 계정은 이 리소스 공유를 생성하는 계정과 동일한 조직의 멤버여야 합니다.
   + **서비스 보안 주체**: 보안 그룹을 서비스 보안 주체와 공유할 수 없습니다.

1. **추가**를 선택합니다.

1. **다음**을 선택합니다.

1. **리소스 공유 생성**을 선택합니다.

1. **공유 리소스**에서 `Associated` **상태**가 표시될 때까지 기다립니다. 보안 그룹 연결에 실패하는 경우 위에 나열된 제한 사항 중 하나 때문일 수 있습니다. 보안 그룹의 세부 정보를 표시하고 세부 정보 페이지의 **공유** 탭에서 보안 그룹을 공유할 수 없는 이유와 관련된 메시지를 확인합니다.

1. VPC 콘솔 보안 그룹 목록으로 돌아갑니다.

1. 공유한 보안 그룹을 선택합니다.

1. **공유** 탭을 선택합니다. AWS RAM 리소스가 여기에 표시되어야 합니다. 그렇지 않으면 리소스 공유 생성이 실패한 것이며 다시 생성해야 할 수 있습니다.

------
#### [ Command line ]

**보안 그룹을 공유하려면**

1. 먼저와 AWS RAM과 공유하려는 보안 그룹에 대한 리소스 공유를 생성해야 합니다. AWS CLI를 사용하여 AWS RAM과의 리소스 공유를 생성하는 방법에 대한 단계는 *AWS RAM 사용 설명서*의 [AWS RAM에서 리소스 공유 생성](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)을 참조하세요.

1. 생성된 리소스 공유 연결을 보려면 [get-resource-share-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/get-resource-share-associations.html)를 사용합니다.

------

이제 보안 그룹이 공유됩니다. 동일한 VPC 내의 공유 서브넷에서 [EC2 인스턴스를 시작](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)할 때 보안 그룹을 선택할 수 있습니다.

## 보안 그룹 공유 중지
<a name="stop-share-sg-org"></a>

이 섹션에서는 AWS Management Console 및 AWS CLI를 사용하여 조직의 다른 계정과 공유한 보안 그룹의 공유를 중지하는 방법을 설명합니다.

------
#### [ AWS Management Console ]

**보안 그룹 공유를 중지하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **보안 그룹**을 선택합니다.

1. 보안 그룹을 선택하여 세부 정보를 표시합니다.

1. **공유** 탭을 선택합니다.

1. 보안 그룹 리소스 공유를 선택하고 **공유 중지**를 선택합니다.

1. **예, 공유 중지**를 선택합니다.

------
#### [ Command line ]

**보안 그룹 공유를 중지하려면**

[delete-resource-share](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-resource-share.html)를 사용하여 리소스 공유를 삭제합니다.

------

보안 그룹이 더 이상 공유되지 않습니다. 소유자가 보안 그룹 공유를 중지하면 다음 규칙이 적용됩니다.
+ 기존 참가자의 탄력적 네트워크 인터페이스(ENI)는 공유되지 않은 보안 그룹에 대한 모든 보안 그룹 규칙 업데이트를 계속 가져옵니다. 공유를 해제하면 참가자가 공유되지 않은 그룹과의 새 연결을 생성할 수 없습니다.
+ 참가자는 더 이상 공유되지 않은 보안 그룹을 자신이 소유한 ENI와 연결할 수 없습니다.
+ 참가자는 공유되지 않은 보안 그룹과 여전히 연결되어 있는 ENI를 설명하고 삭제할 수 있습니다.
+ 참가자에게 공유되지 않은 보안 그룹과 연결된 ENI가 여전히 있는 경우 소유자는 공유되지 않은 보안 그룹을 삭제할 수 없습니다. 소유자는 참가자가 모든 ENI에서 보안 그룹의 연결을 해제(제거)한 후에만 보안 그룹을 삭제할 수 있습니다.
+ 참가자는 공유되지 않은 보안 그룹과 연결된 ENI를 사용하여 새 EC2 인스턴스를 시작할 수 없습니다.