단일 퍼블릭 서브넷이 있는 VPC - Amazon Virtual Private Cloud

단일 퍼블릭 서브넷이 있는 VPC

이 시나리오의 구성에는 단일 퍼블릭 서브넷을 가진 Virtual Private Cloud(VPC)와 인터넷을 통해 통신할 수 있게 해주는 인터넷 게이트웨이가 포함됩니다. 블로그나 간단한 웹 사이트 같은 단일 티어의 퍼블릭 웹 애플리케이션을 실행해야 할 경우 이 구성을 권장합니다.

이 시나리오를 IPv6—에 맞게 구성할 수도 있습니다. 즉 VPC 마법사를 이용해 VPC, 그리고 연결된 IPv6 CIDR 블록이 있는 서브넷을 만들 수 있습니다. 퍼블릭 서브넷에서 시작한 인스턴스는 IPv6 주소를 받아 IPv6를 사용해 통신할 수 있습니다. IPv4 및 IPv6 주소 지정에 대한 자세한 내용은 VPC의 IP 주소 지정 단원을 참조하십시오.

EC2 인스턴스 소프트웨어 관리에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서Linux 인스턴스의 소프트웨어 관리를 참조하십시오.

개요

다음 다이어그램은 이 시나리오를 위한 구성의 주요 구성 요소를 보여줍니다.


				시나리오 1의 다이어그램: 퍼블릭 서브넷이 있는 VPC
참고

Amazon VPC 시작하기을 완료했으면 Amazon VPC 콘솔에서 VPC 마법사를 사용하여 이 시나리오를 이미 구현한 것입니다.

이 시나리오를 위한 구성에는 다음 정보가 포함됩니다.

  • IPv4 CIDR 블록의 크기가 /16(예: 10.0.0.0/16)인 Virtual Private Cloud(VPC). 이것은 65,536개의 프라이빗 IPv4 주소를 제공합니다.

  • IPv4 CIDR 블록의 크기가 /24(예: 10.0.0.0/24)인 서브넷. 이것은 256개의 프라이빗 IPv4 주소를 제공합니다.

  • 인터넷 게이트웨이 VPC를 인터넷 및 다른 AWS 서비스에 연결합니다.

  • 인스턴스가 VPC의 다른 인스턴스와 통신할 수 있게 해주는 서브넷 범위(예: 10.0.0.6)의 프라이빗 IPv4 주소와 인스턴스가 인터넷에 연결하고 인터넷에서 액세스할 수 있게 해주는 퍼블릭 IPv4 주소인 탄력적 IPv4 주소(예: 198.51.100.2)가 있는 인스턴스.

  • 서브넷과 연결된 사용자 정의 라우팅 테이블. 라우팅 테이블 항목은 서브넷의 인스턴스가 IPv4를 사용하여 VPC 내의 다른 인스턴스와 통신할 수 있도록 해주며, 또한 인터넷을 통해 직접 통신할 수 있게 해줍니다. 인터넷 게이트웨이로 이어지는 경로가 있는 라우팅 테이블과 연결된 서브넷을 퍼블릭 서브넷이라고 합니다.

서브넷에 대한 자세한 내용은 VPC 및 서브넷 단원을 참조하십시오. 인터넷 게이트웨이에 대한 자세한 내용은 인터넷 게이트웨이 단원을 참조하십시오.

IPv6 개요

이 시나리오에 IPv6를 사용할 수도 있습니다. 위에 나열된 구성 요소뿐 아니라 다음 요소도 구성에 포함됩니다.

  • VPC와 연결된 /56 크기의 IPv6 CIDR 블록(예: 2001:db8:1234:1a00::/56). Amazon은 CIDR을 자동 할당하므로 범위를 직접 선택할 수는 없습니다.

  • 퍼블릭 서브넷과 연결된 /64 크기의 IPv6 CIDR 블록(예: 2001:db8:1234:1a00::/64). VPC에 할당된 범위 내에서 서브넷의 범위를 선택할 수 있습니다. 서브넷 IPv6 CIDR 블록의 크기는 선택할 수 없습니다.

  • 서브넷 범위에서 인스턴스에 할당된 IPv6 주소(예: 2001:db8:1234:1a00::123).

  • VPC의 인스턴스가 IPv6를 사용하여 서로 통신할 수 있도록 해주고, 또한 인터넷을 통해 직접 통신할 수 있게 해주는 사용자 정의 라우팅 테이블의 라우팅 테이블 항목.


					퍼블릭 서브넷이 있는 IPv6 사용 VPC

라우팅

VPC에는 라우터가 내재되어 있습니다(위 구성 다이어그램 참조). 이 시나리오에서 VPC 마법사는 VPC 외부 주소로 경로가 지정된 모든 트래픽을 인터넷 게이트웨이로 라우팅하는 사용자 정의 라우팅 테이블을 생성하고, 이 라우팅 테이블을 서브넷과 연결합니다.

다음 표는 위 구성 다이어그램의 예시에 대한 라우팅 테이블을 보여줍니다. 첫 번째 항목은 VPC의 로컬 IPv4 라우팅에 대한 기본 항목으로서, 이 VPC의 인스턴스가 서로 통신할 수 있게 해줍니다. 두 번째 항목은 기타 IPv4 서브넷 트래픽을 모두 인터넷 게이트웨이(예: igw-1a2b3c4d)로 라우팅합니다.

대상 주소 대상

10.0.0.0/16

로컬

0.0.0.0/0

igw-id

IPv6에 대한 라우팅

IPv6 CIDR 블록을 VPC 및 서브넷에 연결하는 경우, 라우팅 테이블에는 IPv6 트래픽에 대한 별도의 경로가 포함되어야 합니다. 다음 표는 VPC에서 IPv6 통신을 사용하기로 한 경우, 이 시나리오에 대한 사용자 지정 라우팅 테이블을 정리한 것입니다. 두 번째 항목은 IPv6를 통한 VPC의 로컬 라우팅에 자동으로 추가된 기본 경로입니다. 네 번째 항목에서는 기타 IPv6 서브넷 트래픽을 모두 인터넷 게이트웨이로 라우팅합니다.

대상 주소 대상

10.0.0.0/16

로컬

2001:db8:1234:1a00::/56

로컬

0.0.0.0/0

igw-id

::/0

igw-id

보안

AWS는 VPC의 보안을 강화하기 위해 사용할 수 있는 두 가지 기능인 보안 그룹네트워크 ACL을 제공합니다. 보안 그룹은 인스턴스용 인바운드 및 아웃바운드 트래픽을 제어하고, 네트워크 ACL은 서브넷용 인바운드 및 아웃바운드 트래픽을 제어합니다. 대부분의 경우 보안 그룹은 사용자의 요구 사항을 맞출 수 있지만, 원하는 경우 네트워크 ACL을 사용하여 VPC에 보안 계층을 더 추가할 수 있습니다. 자세한 내용은 Amazon VPC의 인터네트워크 트래픽 개인 정보 보호 단원을 참조하십시오.

이 시나리오의 경우, 네트워크 ACL이 아니라 보안 그룹을 사용합니다. 네트워크 ACL을 사용하려는 경우 단일 퍼블릭 서브넷이 있는 VPC에 권장되는 네트워크 ACL 규칙을 참조하십시오.

VPC는 기본 보안 그룹과 함께 제공됩니다. 인스턴스를 시작하는 동안 다른 보안 그룹을 지정하지 않는 경우, VPC에서 시작되는 인스턴스는 적절한 기본 보안 그룹과 자동 연결됩니다. 기본 보안 그룹에 특정 규칙을 추가할 수 있지만 해당 규칙이 VPC에서 시작하는 다른 인스턴스에 적합하지 않을 수 있습니다. 그 대신 웹 서버용 사용자 지정 보안 그룹을 생성하는 것이 좋습니다.

이 시나리오의 경우, WebServerSG라는 보안 그룹을 생성하십시오. 생성된 보안 그룹에는 인스턴스에서 나가는 모든 트래픽을 허용하는 하나의 아웃바운드 규칙만 있습니다. 필요에 따라 인바운드 트래픽을 사용하고 아웃바운드 트래픽을 제한하려면 규칙을 수정해야 합니다. VPC에서 인스턴스를 시작할 때 이 보안 그룹을 지정합니다.

다음은 WebServerSG 보안 그룹에 대한 IPv4 트래픽의 인바운드 및 아웃바운드 규칙입니다.

인바운드
소스 프로토콜 포트 범위 설명

0.0.0.0/0

TCP

80

어떤 IPv4 주소에서든 웹 서버로의 인바운드 HTTP 액세스 허용

0.0.0.0/0

TCP

443

어떤 IPv4 주소에서든 웹 서버로의 인바운드 HTTPS 액세스 허용

네트워크의 퍼블릭 IPv4 주소 범위

TCP

22

(Linux 인스턴스) IPv4를 통한 네트워크로부터의 인바운드 SSH 액세스 허용. http://checkip.amazonaws.com 또는 https://checkip.amazonaws.com과 같은 서비스를 사용하여 로컬 컴퓨터의 퍼블릭 IPv4 주소를 얻을 수 있습니다. 고정 IP 주소 없이 ISP 또는 방화벽을 경유하여 연결하는 경우에는 클라이언트 컴퓨터가 사용하는 IP 주소의 범위를 알아내야 합니다.

네트워크의 퍼블릭 IPv4 주소 범위

TCP

3389

(Windows 인스턴스) IPv4를 통한 네트워크로부터의 인바운드 RDP 액세스 허용

보안 그룹 ID(sg-xxxxxxxx) 모두 모두 (선택 사항) 이 보안 그룹과 연결된 다른 인스턴스의 인바운드 트래픽 허용. 이 규칙은 VPC용 기본 보안 그룹에 자동으로 추가됩니다. 생성한 사용자 지정 보안 그룹에 대해서는 이러한 유형의 통신을 허용하는 규칙을 수동으로 추가해야 합니다.
아웃바운드(선택 사항)
대상 주소 프로토콜 포트 범위 설명
0.0.0.0/0 모두 모두 모든 IPv4 주소에 대한 아웃바운드 액세스를 모두 허용하는 기본 규칙. 예를 들어 소프트웨어 업데이트를 받기 위해 웹 서버가 아웃바운드 트래픽을 시작하게 하려면 기본 아웃바운드 규칙을 유지합니다. 아니면 이 규칙을 제거할 수 있습니다.

IPv6에 대한 보안 그룹 규칙

IPv6 CIDR 블록을 VPC 및 서브넷에 연결하는 경우, 보안 그룹에 별도의 규칙을 추가하여 웹 서버 인스턴스에 대한 인바운드 및 아웃바운드 IPv6 트래픽을 제어해야 합니다. 이 시나리오에서 웹 서버는 IPv6를 통해 인터넷 트래픽을 모두 수신할 수 있고, IPv6를 통해 로컬 네트워크로부터 SSH 또는 RDP 트래픽을 수신할 수 있습니다.

다음은 WebServerSG 보안 그룹에 대한 IPv6 전용 규칙입니다(위에 나열한 규칙에 추가되는 것).

인바운드
소스 프로토콜 포트 범위 설명

::/0

TCP

80

어떤 IPv6 주소에서든 웹 서버로의 인바운드 HTTP 액세스 허용

::/0

TCP

443

어떤 IPv6 주소에서든 웹 서버로의 인바운드 HTTPS 액세스 허용

네트워크의 IPv6 주소 범위

TCP

22

(Linux 인스턴스) IPv6를 통한 네트워크로부터의 인바운드 SSH 액세스 허용

네트워크의 IPv6 주소 범위

TCP

3389

(Windows 인스턴스) IPv6를 통한 네트워크로부터의 인바운드 RDP 액세스 허용

아웃바운드(선택 사항)
대상 주소 프로토콜 포트 범위 설명
::/0 모두 모두 모든 IPv6 주소에 대한 아웃바운드 액세스를 모두 허용하는 기본 규칙. 예를 들어 소프트웨어 업데이트를 받기 위해 웹 서버가 아웃바운드 트래픽을 시작하게 하려면 기본 아웃바운드 규칙을 유지합니다. 아니면 이 규칙을 제거할 수 있습니다.

단일 퍼블릭 서브넷이 있는 VPC에 권장되는 네트워크 ACL 규칙

다음 표에는 권장되는 규칙이 나와 있습니다. 이 규칙은 명시적으로 요구되는 트래픽을 제외한 모든 트래픽을 차단합니다.

Inbound
Rule # Source IP Protocol Port Allow/Deny Comments

100

0.0.0.0/0

TCP

80

허용

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

110

0.0.0.0/0

TCP

443

허용

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

120

홈 네트워크의 퍼블릭 IPv4 주소 범위

TCP

22

허용

홈 네트워크로부터의 인바운드 SSH 트래픽 허용(인터넷 게이트웨이를 통해).

130

홈 네트워크의 퍼블릭 IPv4 주소 범위

TCP

3389

허용

홈 네트워크로부터의 인바운드 RDP 트래픽 허용(인터넷 게이트웨이를 통해).

140

0.0.0.0/0

TCP

32768-65535

허용

서브넷에서 발신되는 요청에 응답하는 인터넷 호스트로부터의 인바운드 리턴 트래픽 허용.

이 범위는 예시일 뿐입니다. 구성에 맞는 올바른 임시 포트 선택에 대한 자세한 정보는 휘발성 포트 단원을 참조하십시오.

*

0.0.0.0/0

all

all

DENY

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

Outbound
Rule # Dest IP Protocol Port Allow/Deny Comments

100

0.0.0.0/0

TCP

80

허용

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

110

0.0.0.0/0

TCP

443

허용

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

120

0.0.0.0/0

TCP

32768-65535

허용

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

이 범위는 예시일 뿐입니다. 구성에 맞는 올바른 임시 포트 선택에 대한 자세한 정보는 휘발성 포트 단원을 참조하십시오.

*

0.0.0.0/0

all

all

DENY

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

IPv6에 권장되는 네트워크 ACL 규칙

IPv6 지원을 통해 연결된 IPv6 CIDR 블록이 있는 VPC 및 서브넷을 생성한 경우, 네트워크 ACL에 별도의 규칙을 추가하여 인바운드 및 아웃바운드 IPv6 트래픽을 제어해야 합니다.

다음은 네트워크 ACL에 대한 IPv6 전용 규칙입니다(위에 나열한 규칙에 추가).

Inbound
Rule # Source IP Protocol Port Allow/Deny Comments

150

::/0

TCP

80

허용

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

160

::/0

TCP

443

허용

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

170

홈 네트워크의 IPv6 주소 범위

TCP

22

허용

홈 네트워크로부터의 인바운드 SSH 트래픽 허용(인터넷 게이트웨이를 통해).

180

홈 네트워크의 IPv6 주소 범위

TCP

3389

허용

홈 네트워크로부터의 인바운드 RDP 트래픽 허용(인터넷 게이트웨이를 통해).

190

::/0

TCP

32768-65535

허용

서브넷에서 발신되는 요청에 응답하는 인터넷 호스트로부터의 인바운드 리턴 트래픽 허용.

이 범위는 예시일 뿐입니다. 구성에 맞는 올바른 임시 포트 선택에 대한 자세한 정보는 휘발성 포트 단원을 참조하십시오.

*

::/0

all

all

DENY

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

Outbound
Rule # Dest IP Protocol Port Allow/Deny Comments

130

::/0

TCP

80

허용

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

140

::/0

TCP

443

허용

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

150

::/0

TCP

32768-65535

허용

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

이 범위는 예시일 뿐입니다. 구성에 맞는 올바른 임시 포트 선택에 대한 자세한 정보는 휘발성 포트 단원을 참조하십시오.

*

::/0

all

all

DENY

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