Amazon Virtual Private Cloud
사용 설명서

네트워크 ACL

네트워크 ACL(액세스 제어 목록)은 1개 이상의 서브넷 내부와 외부의 트래픽을 제어하기 위한 방화벽 역할을 하는 VPC를 위한 선택적 보안 계층입니다. 보안 그룹과 비슷한 규칙으로 네트워크 ACL을 설정하여 VPC에 보안 계층을 더 추가할 수 있습니다. 보안 그룹과 네트워크 ACL의 차이에 대한 자세한 정보는 보안 그룹 및 네트워크 ACL 비교 단원을 참조하십시오.

네트워크 ACL 기본 사항

다음은 네트워크 ACL에 대해 알아야 할 기본 사항입니다.

  • VPC는 수정 가능한 기본 네트워크 ACL과 함께 자동으로 제공됩니다. 기본적으로 모든 인바운드 및 아웃바운드 IPv4 트래픽을 허용하며, 해당되는 경우 IPv6 트래픽도 허용합니다.

  • 사용자 지정 네트워크 ACL을 생성하여 서브넷과 연결할 수 있습니다. 기본적으로 각 사용자 지정 네트워크 ACL은 규칙을 추가하기 전에는 모든 인바운드 및 아웃바운드 트래픽을 거부합니다.

  • VPC에 있는 각 서브넷을 네트워크 ACL과 연결해야 합니다. 서브넷을 네트워크 ACL에 명시적으로 연결하지 않을 경우, 서브넷은 기본 네트워크 ACL에 자동적으로 연결됩니다.

  • 한 네트워크 ACL을 여러 서브넷과 연결할 수 있습니다. 하지만 한 서브넷은 한 번에 한 네트워크 ACL과만 연결할 수 있습니다. 네트워크 ACL을 서브넷과 연결하면 이전 연결은 제거됩니다.

  • 네트워크 ACL은 번호가 매겨진 규칙 목록을 포함하고 있는데, 가장 낮은 번호를 매긴 규칙부터 시작해 이 규칙들을 평가함으로써 네트워크 ACL과 연결된 모든 서브넷의 내부 또는 외부로 트래픽이 허용되는지 확인할 수 있습니다. 규칙에 사용할 수 있는 가장 높은 번호는 32766입니다. 나중에 필요한 곳에 새 규칙을 삽입할 수 있도록, 처음 시작할 때는 증분 방식으로(예: 10 또는 100 단위씩 증분) 규칙을 생성하는 것이 좋습니다.

  • 네트워크 ACL에는 별개의 인바운드 및 아웃바운드 규칙이 있으며, 각 규칙은 트래픽을 허용하거나 거부할 수 있습니다.

  • 네트워크 ACL은 상태 비저장입니다. 즉, 허용되는 인바운드 트래픽에 대한 응답은 아웃바운드 트래픽에 대한 규칙을 따르고, 그 반대의 경우에도 마찬가지입니다.

자세한 내용은 Amazon VPC 제한 단원을 참조하십시오.

네트워크 ACL 규칙

기본 네트워크 ACL에 규칙을 추가 또는 제거하거나, VPC에 대한 네트워크 ACL을 추가로 생성할 수 있습니다. 네트워크 ACL에 규칙을 추가하거나 제거할 때 네트워크 ACL이 연결되어 있는 서브넷에 변경 사항이 자동으로 적용됩니다.

다음은 네트워크 ACL 규칙 중 일부입니다.

  • 규칙 번호. 번호가 가장 낮은 규칙부터 평가됩니다. 규칙에 일치하는 트래픽이 있으면 이와 모순되는 상위 규칙이 있더라도 적용됩니다.

  • 프로토콜. 표준 프로토콜 번호를 가진 어떤 프로토콜이든 지정할 수 있습니다. 자세한 내용은 프로토콜 번호를 참조하십시오. ICMP를 프로토콜로 지정하면 ICMP 유형과 코드 중 일부 또는 전부를 지정할 수 있습니다.

  • [인바운드 규칙만 해당] 트래픽의 원본(CIDR 범위)과 대상(수신 대기) 포트 또는 포트 범위.

  • [아웃바운드 규칙만 해당] 트래픽의 대상(CIDR 범위)과 대상 포트 또는 포트 범위.

  • 지정된 트래픽에 대한 ALLOW 또는 DENY 선택.

기본 네트워크 ACL

기본 네트워크 ACL은 연결된 서브넷을 드나드는 트래픽 흐름을 모두 허용하도록 구성되어 있습니다. 각 네트워크 ACL에는 규칙 번호가 별표로 되어 있는 규칙도 포함되어 있습니다. 이 규칙은 패킷이 번호가 매겨진 다른 어떤 규칙과도 일치하지 않을 경우에는 거부되도록 되어 있습니다. 이 규칙을 수정하거나 제거할 수 없습니다.

다음은 IPv4만을 지원하는 VPC에 대한 기본 네트워크 ACL의 예시입니다.

인바운드
규칙 # Type 프로토콜 포트 범위 소스 허용/거부

100

모든 IPv4 트래픽

모두

모두

0.0.0.0/0

허용

*

모든 IPv4 트래픽

모두

모두

0.0.0.0/0

DENY

아웃바운드
규칙 # Type 프로토콜 포트 범위 목적지 허용/거부

100

모든 IPv4 트래픽

all

all

0.0.0.0/0

허용

*

모든 IPv4 트래픽

all

all

0.0.0.0/0

DENY

IPv6 CIDR 블록이 있는 VPC를 생성하거나 IPv6 CIDR 블록을 기존 VPC와 연결하는 경우, 모든 IPv6 트래픽이 서브넷으로 그리고 서브넷으로부터 전송되도록 허용하는 규칙이 자동으로 추가됩니다. 또한 규칙 번호가 별표로 되어 있어 패킷이 번호가 매겨진 다른 어떤 규칙과도 일치하지 않을 경우에는 거부되도록 하는 규칙도 추가합니다. 이 규칙은 수정하거나 제거할 수 없습니다. 다음은 IPv4와 IPv6를 지원하는 VPC에 대한 기본 네트워크 ACL의 예시입니다.

참고

기본 네트워크 ACL의 인바운드 규칙을 수정한 경우에는, IPv6 블록을 VPC에 연결할 때 인바운드 IPv6 트래픽에 대한 허용 규칙이 자동으로 추가되지는 않습니다. 이와 마찬가지로 아웃바운드 규칙을 수정한 경우에는 아웃바운드 IPv6 트래픽에 대한 허용 규칙이 자동으로 추가되지 않습니다.

인바운드
규칙 # Type 프로토콜 포트 범위 소스 허용/거부

100

모든 IPv4 트래픽

모두

모두

0.0.0.0/0

허용

101

모든 IPv6 트래픽

모두

모두

::/0

허용

*

모든 트래픽

모두

모두

0.0.0.0/0

DENY

*

모든 IPv6 트래픽

모두

모두

::/0

DENY

아웃바운드
규칙 # Type 프로토콜 포트 범위 목적지 허용/거부

100

모든 트래픽

all

all

0.0.0.0/0

허용

101

모든 IPv6 트래픽

all

all

::/0

허용

*

모든 트래픽

all

all

0.0.0.0/0

DENY

*

모든 IPv6 트래픽

all

all

::/0

DENY

사용자 지정 네트워크 ACL

다음 표는 IPv4만을 지원하는 VPC에 대한 사용자 지정 네트워크 ACL의 예시입니다. 여기에는 HTTP 및 HTTPS 트래픽 수신을 허용하는 규칙이 포함됩니다(인바운드 규칙 100 및 110). 그 인바운드 트래픽에 응답할 수 있도록 해당 아웃바운드 규칙이 있습니다(휘발성 포트 32768-65535를 포함하는 아웃바운드 규칙 120). 적절한 휘발성 포트 범위를 선택하는 방법에 대한 자세한 내용은 휘발성 포트 단원을 참조하십시오.

이 네트워크 ACL에는 서브넷으로의 SSH 및 RDP 트래픽을 허용하는 인바운드 규칙도 포함됩니다. 아웃바운드 규칙 120을 사용하면 응답을 서브넷에서 송신할 수 있습니다.

이 네트워크 ACL에는 서브넷 외부로의 아웃바운드 HTTP 및 HTTPS 트래픽을 허용하는 아웃바운드 규칙(100 및 110)이 있습니다. 그 아웃바운드 트래픽에 응답할 수 있도록 해당 인바운드 규칙이 있습니다(휘발성 포트 32768-65535를 포함하는 인바운드 규칙 140).

참고

각 네트워크 ACL에는 규칙 번호가 별표로 된 기본 규칙이 포함되어 있습니다. 이 규칙은 패킷이 다른 어떤 규칙과도 일치하지 않을 경우에는 거부되도록 되어 있습니다. 이 규칙을 수정하거나 제거할 수 없습니다.

인바운드
규칙 # Type 프로토콜 포트 범위 소스 허용/거부 설명

100

HTTP

TCP

80

0.0.0.0/0

허용

어떤 IPv4 주소에서 이루어지는 인바운드 HTTP 트래픽도 모두 허용

110

HTTPS

TCP

443

0.0.0.0/0

허용

어떤 IPv4 주소에서 이루어지는 인바운드 HTTPS 트래픽도 모두 허용

120

SSH

TCP

22

192.0.2.0/24

허용

홈 네트워크의 퍼블릭 IPv4 주소 범위로부터의 인바운드 SSH 트래픽을 허용(인터넷 게이트웨이를 통해)

130

RDP

TCP

3389

192.0.2.0/24

허용

홈 네트워크의 퍼블릭 IPv4 주소 범위로부터 웹 서버로의 인바운드 RDP 트래픽을 허용(인터넷 게이트웨이를 통해)

140

사용자 지정 TCP

TCP

32768-65535

0.0.0.0/0

허용

인터넷으로부터의 인바운드 리턴 IPv4 트래픽을 허용(즉, 서브넷에서 시작되는 요청에 대해).

이 범위는 예시일 뿐입니다. 적절한 휘발성 포트 범위를 선택하는 방법에 대한 자세한 내용은 휘발성 포트 단원을 참조하십시오.

*

모든 트래픽

모두

모두

0.0.0.0/0

DENY

이전 규칙에서 아직 처리하지 않은 모든 인바운드 IPv4 트래픽 거부(수정 불가)

아웃바운드
규칙 # Type 프로토콜 포트 범위 목적지 허용/거부 설명

100

HTTP

TCP

80

0.0.0.0/0

허용

서브넷에서 인터넷으로의 아웃바운드 IPv4 HTTP 트래픽을 허용

110

HTTPS

TCP

443

0.0.0.0/0

허용

서브넷에서 인터넷으로의 아웃바운드 IPv4 HTTPS 트래픽을 허용

120

사용자 지정 TCP

TCP

32768-65535

0.0.0.0/0

허용

인터넷에서 클라이언트에 대한 아웃바운드 IPv4 응답을 허용(예: 서브넷에 있는 웹 서버를 방문하는 사람들에게 웹 페이지 제공).

이 범위는 예시일 뿐입니다. 적절한 휘발성 포트 범위를 선택하는 방법에 대한 자세한 내용은 휘발성 포트 단원을 참조하십시오.

*

모든 트래픽

모두

모두

0.0.0.0/0

DENY

이전 규칙에서 아직 처리하지 않은 모든 아웃바운드 IPv4 트래픽 거부(수정 불가)

패킷이 서브넷에 도착할 때, 이를 서브넷이 연결되어 있는 ACL의 수신 규칙에 대해 평가합니다(규칙 목록의 맨 위에서 시작하여 맨 아래로 이동). 다음은 패킷이 SSL 포트(443)로 전달되는 경우 평가가 이루어지는 방식입니다. 이 패킷은 처음으로 평가되는 규칙(규칙 100)과 일치하지 않습니다. 이 패킷은 패킷을 서브넷으로 수신되도록 허용하는 두 번째 규칙(110)과도 일치하지 않습니다. 패킷이 포트 139(NetBIOS)로 보내진 경우 어떠한 규칙과도 일치하지 않으며, * 규칙이 최종적으로 해당 패킷을 거부합니다.

정당한 방법으로 광범위한 포트를 열 필요가 있는 상황에서는 DENY 규칙을 추가하고 싶을지 모르지만, 거부하려는 범위 내에 특정 포트가 있습니다. 단, 표에서 광범위한 포트 트래픽을 허용하는 규칙보다 앞서 DENY 규칙을 배치해야 합니다.

중요

Elastic Load Balancing를 사용하는 경우, 사용자의 백엔드 인스턴스에 대한 서브넷에 소스가 0.0.0.0/0 또는 서브넷의 CIDR인 모든 트래픽에 대해 DENY 규칙을 추가한 네트워크 ACL이 있으면 로드 밸런서가 인스턴스에 대한 상태 확인을 수행할 수 없습니다. 로드 밸런서 및 백엔드 인스턴스에 권장되는 네트워크 ACL 규칙에 대한 자세한 내용은 Classic Load Balancer 사용 설명서에서 Network ACLs for Load Balancers in a VPC 단원을 참조하십시오.

다음 표는 연결된 IPv6 CIDR 블록이 있는 VPC에 대한 사용자 지정 네트워크 ACL의 동일 예시입니다. 이 네트워크 ACL에는 모든 IPv6 HTTP 및 HTTPS 트래픽에 대한 규칙이 포함됩니다. 이 경우, IPv4 트래픽에 대한 기존 규칙들 사이에 새 규칙이 삽입되었습니다. 그러나 IPv4 규칙에 따라 더 높은 번호 규칙을 추가할 수도 있습니다. IPv4 및 IPv6 트래픽은 분리되어 있습니다. 따라서 IPv4 트래픽에 대한 규칙 중 어느 것도 IPv6 트래픽에 적용되지 않습니다.

인바운드
규칙 # Type 프로토콜 포트 범위 소스 허용/거부 설명

100

HTTP

TCP

80

0.0.0.0/0

허용

어떤 IPv4 주소에서 이루어지는 인바운드 HTTP 트래픽도 모두 허용

105

HTTP

TCP

80

::/0

허용

어떤 IPv6 주소에서 이루어지는 인바운드 HTTP 트래픽도 모두 허용

110

HTTPS

TCP

443

0.0.0.0/0

허용

어떤 IPv4 주소에서 이루어지는 인바운드 HTTPS 트래픽도 모두 허용

115

HTTPS

TCP

443

::/0

허용

어떤 IPv6 주소에서 이루어지는 인바운드 HTTPS 트래픽도 모두 허용

120

SSH

TCP

22

192.0.2.0/24

허용

홈 네트워크의 퍼블릭 IPv4 주소 범위로부터의 인바운드 SSH 트래픽을 허용(인터넷 게이트웨이를 통해)

130

RDP

TCP

3389

192.0.2.0/24

허용

홈 네트워크의 퍼블릭 IPv4 주소 범위로부터 웹 서버로의 인바운드 RDP 트래픽을 허용(인터넷 게이트웨이를 통해)

140

사용자 지정 TCP

TCP

32768-65535

0.0.0.0/0

허용

인터넷으로부터의 인바운드 리턴 IPv4 트래픽을 허용(즉, 서브넷에서 시작되는 요청에 대해).

이 범위는 예시일 뿐입니다. 적절한 휘발성 포트 범위를 선택하는 방법에 대한 자세한 내용은 휘발성 포트 단원을 참조하십시오.

145

사용자 지정 TCP TCP 32768-65535 ::/0 허용

인터넷으로부터의 인바운드 리턴 IPv6 트래픽을 허용(즉, 서브넷에서 시작되는 요청에 대해).

이 범위는 예시일 뿐입니다. 적절한 휘발성 포트 범위를 선택하는 방법에 대한 자세한 내용은 휘발성 포트 단원을 참조하십시오.

*

모든 트래픽

모두

모두

0.0.0.0/0

DENY

이전 규칙에서 아직 처리하지 않은 모든 인바운드 IPv4 트래픽 거부(수정 불가)

*

모든 트래픽

모두

모두

::/0

DENY

이전 규칙에서 아직 처리하지 않은 모든 인바운드 IPv6 트래픽 거부(수정 불가)

아웃바운드
규칙 # Type 프로토콜 포트 범위 목적지 허용/거부 설명

100

HTTP

TCP

80

0.0.0.0/0

허용

서브넷에서 인터넷으로의 아웃바운드 IPv4 HTTP 트래픽을 허용

105

HTTP

TCP

80

::/0

허용

서브넷에서 인터넷으로의 아웃바운드 IPv6 HTTP 트래픽을 허용

110

HTTPS

TCP

443

0.0.0.0/0

허용

서브넷에서 인터넷으로의 아웃바운드 IPv4 HTTPS 트래픽을 허용

115

HTTPS

TCP

443

::/0

허용

서브넷에서 인터넷으로의 아웃바운드 IPv6 HTTPS 트래픽을 허용

120

사용자 지정 TCP

TCP

32768-65535

0.0.0.0/0

허용

인터넷에서 클라이언트에 대한 아웃바운드 IPv4 응답을 허용(예: 서브넷에 있는 웹 서버를 방문하는 사람들에게 웹 페이지 제공).

이 범위는 예시일 뿐입니다. 적절한 휘발성 포트 범위를 선택하는 방법에 대한 자세한 내용은 휘발성 포트 단원을 참조하십시오.

125

사용자 지정 TCP

TCP

32768-65535

::/0

허용

인터넷에서 클라이언트에 대한 아웃바운드 IPv6 응답을 허용(예: 서브넷에 있는 웹 서버를 방문하는 사람들에게 웹 페이지 제공).

이 범위는 예시일 뿐입니다. 적절한 휘발성 포트 범위를 선택하는 방법에 대한 자세한 내용은 휘발성 포트 단원을 참조하십시오.

*

모든 트래픽

모두

모두

0.0.0.0/0

DENY

이전 규칙에서 아직 처리하지 않은 모든 아웃바운드 IPv4 트래픽 거부(수정 불가)

*

모든 트래픽

모두

모두

::/0

DENY

이전 규칙에서 아직 처리하지 않은 모든 아웃바운드 IPv6 트래픽 거부(수정 불가)

휘발성 포트

이전 섹션에서 예로 든 네트워크 ACL에는 32768-65535 범위의 휘발성 포트가 사용됩니다. 하지만 사용하거나 통신하는 클라이언트의 유형에 따라 다른 범위의 네트워크 ACL을 사용할 수 있습니다.

요청을 시작하는 클라이언트가 휘발성 포트 범위를 선택합니다. 범위는 클라이언트의 운영 체제에 따라 다릅니다. 다수의 Linux 커널(Amazon Linux 커널 포함)이 포트 32768-61000을 사용합니다. Elastic Load Balancing에서 시작하는 요청은 포트 1024-65535를 사용합니다. Windows Server 2003까지의 Windows 운영 체제에서는 포트 1025-5000을 사용합니다. Windows Server 2008 이상 버전은 포트 49152-65535를 사용합니다. NAT 게이트웨이는 포트 1024 - 65535를 사용합니다. 예를 들어, 인터넷을 통해 Windows XP 클라이언트로부터 VPC에 있는 웹 서버로 요청이 수신되는 경우, 네트워크 ACL에는 포트 1025 - 5000으로 트래픽을 전달할 수 있도록 하는 아웃바운드 규칙이 있어야 합니다.

VPC의 인스턴스가 요청을 시작하는 클라이언트인 경우, 사용자의 네트워크 ACL에는 인스턴스의 유형(Amazon Linux, Windows Server 2008 등)에 특정한 휘발성 포트로 트래픽을 전달할 수 있도록 하는 인바운드 규칙이 있어야 합니다.

실제로는 VPC에서 퍼블릭 쪽 인스턴스로 향하는 트래픽을 시작할 수도 있는 다양한 유형의 클라이언트를 포괄하기 위해, 휘발성 포트 1024-65535를 열 수 있습니다. 하지만 그 범위 내에 있는 악성 포트의 트래픽을 거부하기 위한 규칙을 ACL에 추가할 수도 있습니다. 표에서 광범위한 휘발성 포트를 여는 ALLOW 규칙보다 앞서 DENY 규칙을 배치해야 합니다.

네트워크 ACL 작업

다음 작업은 Amazon VPC 콘솔을 사용한 네트워크 ACL 작업 방법을 보여 줍니다.

네트워크 ACL 연결 확인

Amazon VPC 콘솔을 사용하여 특정 서브넷과 연결되어 있는 네트워크 ACL을 확인할 수 있습니다. 네트워크 ACL은 복수의 서브넷과 연결될 수 있으며, 따라서 특정 네트워크 ACL과 연결되어 있는 서브넷을 확인할 수도 있습니다

서브넷과 연결되어 있는 네트워크 ACL을 확인하려면

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

  2. 탐색 창에서 [Subnets]를 선택한 후 서브넷을 선택합니다.

    서브넷과 연결된 네트워크 ACL은 네트워크 ACL의 규칙과 함께 [Network ACL] 탭에 포함되어 있습니다.

네트워크 ACL과 연결되어 있는 서브넷을 확인하려면

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

  2. 탐색 창에서 [Network ACLs]를 선택합니다. [Associated With] 열에 각 네트워크 ACL에 연결된 서브넷의 수가 표시됩니다.

  3. 네트워크 ACL을 선택합니다.

  4. 세부 정보 창에서 [Subnet Associations]를 선택하여 네트워크 ACL과 연결된 서브넷을 표시합니다.

네트워크 ACL 생성

VPC에 대한 사용자 지정 네트워크 ACL을 생성할 수 있습니다. 기본적으로, 생성된 네트워크 ACL은 사용자가 규칙을 추가할 때까지는 모든 인바운드 및 아웃바운드 트래픽을 차단하며, 사용자가 명시적으로 특정 서브넷과 연결할 때까지는 서브넷과 연결되지 않습니다.

네트워크 ACL을 생성하려면

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

  2. 탐색 창에서 [Network ACLs]를 선택합니다.

  3. [Create Network ACL]을 선택합니다.

  4. 필요할 경우 [Create Network ACL] 대화 상자에서 네트워크 ACL의 이름을 지정한 다음, [VPC] 목록에서 VPC의 ID를 선택하고 [Yes, Create]를 선택합니다.

규칙 추가 및 삭제

ACL에 규칙을 추가하거나 삭제할 때, ACL과 연결된 서브넷은 어느 것이든 변경될 수 있습니다. 변경 사항은 잠시 후에 적용되므로 서브넷에서 인스턴스를 종료했다가 다시 시작할 필요는 없습니다.

Amazon EC2 API 또는 명령줄 도구를 사용하면 규칙을 수정할 수 없으며 규칙을 추가하고 삭제할 수만 있습니다. Amazon VPC 콘솔을 사용하면 기존 규칙의 항목을 수정할 수 있습니다. 규칙이 제거되고 새 규칙이 추가됩니다. ACL에서 규칙의 순서를 변경할 필요가 있는 경우에는 새 규칙 번호와 함께 새 규칙을 추가한 후에 원래 규칙은 삭제해야 합니다.

네트워크 ACL에 규칙을 추가하려면

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

  2. 탐색 창에서 [Network ACLs]를 선택합니다.

  3. 세부 정보 창에서 추가해야 할 규칙의 유형에 따라 [Inbound Rules] 또는 [Outbound Rules] 탭을 선택한 후 [Edit]를 선택합니다.

  4. [Rule #]에서 규칙 번호를 입력합니다(예: 100). 규칙 번호가 네트워크 ACL에서 이미 사용되고 있는 번호이면 안 됩니다. 규칙은 가장 낮은 번호부터 시작해서 순서대로 처리됩니다.

    작은 정보

    순차 번호(101, 102, 103)를 사용하는 대신 규칙 번호 간에 간격을 두는 것이 좋습니다(예: 100, 200, 300). 그러면 기존 규칙의 번호를 다시 매길 필요 없이 새 규칙을 더 쉽게 추가할 수 있습니다.

  5. [Type] 목록에서 규칙을 선택합니다. 예를 들어 HTTP에 대한 규칙을 추가하려면 [HTTP]를 선택합니다. 모든 TCP 트래픽을 허용하는 규칙을 추가하려면 [All TCP]를 선택합니다. 이런 옵션 중 일부에 대해서는(예: HTTP) 포트가 자동으로 입력됩니다. 나열되지 않은 프로토콜을 사용하려면 [Custom Protocol Rule]을 선택합니다.

  6. (선택 사항) 사용자 지정 프로토콜 규칙을 생성할 경우 [Protocol] 목록에서 프로토콜의 번호와 이름을 선택합니다. 자세한 내용은 프로토콜 번호의 IANA 목록을 참조하십시오.

  7. (선택 사항) 선택한 프로토콜에 포트 번호가 필요한 경우 해당 포트 번호를 입력하거나 하이픈으로 구분된 포트 범위(예: 49152-65535)를 입력합니다.

  8. (인바운드 또는 아웃바운드 규칙인지에 따라) [Source] 또는 [Destination] 필드에 규칙이 적용되는 CIDR 범위를 입력합니다.

  9. [Allow/Deny] 목록에서 지정된 트래픽을 허용하려면 [ALLOW]를, 지정된 트래픽을 거부하려면 [DENY]를 선택합니다.

  10. (선택 사항) 또 다른 규칙을 추가하려면 [Add another rule]을 선택하고 필요에 따라 4~9단계를 반복합니다.

  11. 마치면 [Save]를 선택합니다.

네트워크 ACL에서 규칙을 삭제하려면

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

  2. 탐색 창에서 [Network ACLs]를 선택한 후 네트워크 ACL을 선택합니다.

  3. 세부 정보 창에서 [Inbound Rules] 또는 [Outbound Rules] 탭을 선택한 후 [Edit]를 선택합니다. 삭제하려는 규칙에서 [Remove]를 선택한 후 [Save]를 선택합니다.

서브넷을 네트워크 ACL과 연결

특정 서브넷에 네트워크 ACL의 규칙을 적용하려면 서브넷을 네트워크 ACL과 연결해야 합니다. 한 네트워크 ACL을 여러 서브넷과 연결할 수 있지만, 한 서브넷은 한 네트워크 ACL과 연결할 수 있을 뿐입니다. 기본적으로, 특정 ACL과 연결되지 않은 서브넷은 기본 네트워크 ACL과 연결됩니다.

서브넷을 네트워크 ACL과 연결하려면

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

  2. 탐색 창에서 [Network ACLs]를 선택한 후 네트워크 ACL을 선택합니다.

  3. 세부 정보 창의 [Subnet Associations] 탭에서 [Edit]를 선택합니다. 네트워크 ACL과 연결할 서브넷에 대한 [Associate] 확인란을 선택한 후 [Save]를 선택합니다.

서브넷에서 네트워크 ACL 연결 끊기

서브넷에서 사용자 지정 네트워크 ACL을 연결 해제할 수 있습니다. — 그러면 서브넷이 자동으로 기본 네트워크 ACL과 연결됩니다.

네트워크 ACL에서 서브넷의 연결을 끊으려면

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

  2. 탐색 창에서 [Network ACLs]를 선택한 후 네트워크 ACL을 선택합니다.

  3. 세부 정보 창에서 [Subnet Associations] 탭을 선택합니다.

  4. [Edit]를 선택한 다음, 서브넷에 대한 [Associate] 확인란을 선택 취소합니다. [Save]를 선택합니다.

서브넷의 네트워크 ACL 변경

서브넷과 연결되어 있는 네트워크 ACL을 변경할 수 있습니다. 예를 들어 서브넷을 생성하면 생성된 서브넷이 처음에는 기본 네트워크 ACL과 연결됩니다. 서브넷을 사용자가 생성한 사용자 지정 네트워크 ACL과 대신 연결할 수도 있을 것입니다.

변경 사항은 잠시 후에 적용되므로, 서브넷의 네트워크 ACL을 변경한 후 서브넷에서 인스턴스를 종료했다가 다시 시작할 필요는 없습니다.

서브넷의 네트워크 ACL 연결을 변경하려면

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

  2. 탐색 창에서 [Subnets]를 선택한 후 서브넷을 선택합니다.

  3. [Network ACL] 탭을 선택한 후 [Edit]를 선택합니다.

  4. Change to 목록에서 서브넷과 연결할 네트워크 ACL을 선택한 다음, Save를 선택합니다.

네트워크 ACL 삭제

네트워크 ACL과 연결된 서브넷이 없는 경우에만 네트워크 ACL을 삭제할 수 있습니다. 기본 네트워크 ACL은 삭제할 수 없습니다.

네트워크 ACL을 삭제하려면

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

  2. 탐색 창에서 [Network ACLs]를 선택합니다.

  3. 네트워크 ACL을 선택한 후 [Delete]를 선택합니다.

  4. 확인 대화 상자에서 [Yes, Delete]를 선택합니다.

예: 서브넷 내 인스턴스에 대한 액세스 제어

이 예에서는 서브넷의 인스턴스가 서로 통신할 수 있으며, 신뢰할 수 있는 원격 컴퓨터로부터 액세스될 수 있습니다. 원격 컴퓨터는 로컬 네트워크의 컴퓨터이거나 사용자가 관리 작업을 수행하기 위해 사용자의 인스턴스와 연결하는 데 사용하는 다른 서브넷 또는 VPC의 인스턴스일 수 있습니다. 사용자의 보안 그룹 규칙 및 네트워크 ACL 규칙이 원격 컴퓨터의 IP 주소(172.31.1.2/32)로부터의 액세스를 허용합니다. 인터넷 또는 다른 네트워크로부터의 다른 모든 트래픽은 거부됩니다.

 보안 그룹 및 NACL 사용

모든 인스턴스는 다음 규칙을 포함하는 동일한 보안 그룹(sg-1a2b3c4d)을 사용합니다.

인바운드 규칙
프로토콜 유형 프로토콜 포트 범위 소스 설명
모든 트래픽 모두 모두 sg-1a2b3c4d 동일한 보안 그룹과 연결되어 있는 인스턴스가 서로 통신하도록 허용합니다.
TCP SSH 22 172.31.1.2/32 원격 컴퓨터로부터의 인바운드 SSH 액세스를 허용합니다. 인스턴스가 Windows 컴퓨터인 경우에는 이 규칙이 포트 3389에 대해 RDP 프로토콜을 사용해야 합니다.
아웃바운드 규칙
프로토콜 유형 프로토콜 포트 범위 목적지 설명
모든 트래픽 모두 모두 sg-1a2b3c4d 동일한 보안 그룹과 연결되어 있는 인스턴스가 서로 통신하도록 허용합니다.

이 서브넷은 다음 규칙을 포함하는 네트워크 ACL과 연결되어 있습니다.

인바운드 규칙
규칙 # Type 프로토콜 포트 범위 소스 허용/거부 설명
100 SSH TCP 22 172.31.1.2/32 허용 원격 컴퓨터로부터의 인바운드 트래픽을 허용합니다. 인스턴스가 Windows 컴퓨터인 경우에는 이 규칙이 포트 3389에 대해 RDP 프로토콜을 사용해야 합니다.
* 모든 트래픽 모두 모두 0.0.0.0/0 DENY 이전 규칙과 일치하지 않는 다른 모든 인바운드 트래픽을 거부합니다.
아웃바운드 규칙
규칙 # Type 프로토콜 포트 범위 목적지 허용/거부 설명
100 사용자 지정 TCP TCP 1024~65535 172.31.1.2/32 허용 원격 컴퓨터에 대한 아웃바운드 응답을 허용합니다. 네트워크 ACL은 상태 비저장이므로 인바운드 요청에 대한 응답 트래픽을 허용하려면 이 규칙이 필요합니다.
* 모든 트래픽 모두 모두 0.0.0.0/0 DENY 이전 규칙과 일치하지 않는 다른 모든 아웃바운드 트래픽을 거부합니다.

이 시나리오는 인스턴스에 대한 보안 그룹 또는 보안 그룹 규칙을 변경할 수 있고 네트워크 ACL을 방어의 백업 계층으로 사용할 수 있는 유연성을 제공합니다. 네트워크 ACL 규칙은 서브넷의 모든 인스턴스에 적용되므로, 잘못하여 보안 그룹 규칙을 너무 허용적으로 지정할 경우 네트워크 ACL 규칙이 단일 IP 주소로부터의 액세스만 계속 허용하게 됩니다. 예를 들어 다음 규칙은 모든 IP 주소에 대해 인바운드 SSH 액세스를 허용하므로 이전 규칙보다— 허용적입니다.

인바운드 규칙
Type 프로토콜 포트 범위 소스 설명
모든 트래픽 모두 모두 sg-1a2b3c4d 동일한 보안 그룹과 연결되어 있는 인스턴스가 서로 통신하도록 허용합니다.
SSH TCP 22 0.0.0.0/0 모든 IP 주소로부터의 SSH 액세스를 허용합니다.
아웃바운드 규칙
Type 프로토콜 포트 범위 목적지 설명
모든 트래픽 모두 모두 0.0.0.0/0 모든 아웃바운드 트래픽을 허용합니다.

하지만 서브넷 내부의 다른 인스턴스와 로컬 컴퓨터만 이 인스턴스에 액세스할 수 있습니다. 여전히 네트워크 ACL 규칙은 원격 컴퓨터로부터의 트래픽을 제외하고 서브넷에 대한 모든 인바운드 트래픽을 금지합니다.

API 및 명령 개요

명령줄 또는 API를 사용하여 이 페이지에서 설명하는 작업을 수행할 수 있습니다. 명령줄 인터페이스 및 사용 가능한 API 목록에 대한 자세한 내용은 Amazon VPC에 액세스 단원을 참조하십시오.

VPC에 대한 네트워크 ACL 만들기

한 개 이상의 네트워크 ACL에 대해 설명

네트워크 ACL에 규칙 추가

네트워크 ACL에서 규칙 삭제

네트워크 ACL에 있는 기존 규칙 바꾸기

네트워크 ACL 연결 바꾸기

네트워크 ACL 삭제