메뉴
Amazon Virtual Private Cloud
사용 설명서

시나리오 2: 퍼블릭 서브넷과 프라이빗 서브넷이 있는 VPC(NAT)

이 시나리오의 구성에는 퍼블릭 서브넷과 프라이빗 서브넷이 있는 Virtual Private Cloud(VPC)가 포함됩니다. 이 시나리오는 백엔드 서버에 대한 공개적인 액세스를 차단하면서 퍼블릭 웹 애플리케이션을 실행하려는 경우에 권장됩니다. 일반적인 예로 웹 서버는 퍼블릭 서브넷에 두고 데이터베이스 서버는 프라이빗 서브넷에 두는 다중 계층 웹 사이트가 있습니다. 웹 서버가 데이터베이스 서버와 통신할 수 있도록 보안 및 라우팅을 설정할 수 있습니다.

퍼블릭 서브넷의 인스턴스는 아웃바운드 트래픽을 인터넷으로 직접 전송할 수 있는 반면, 프라이빗 서브넷의 인스턴스는 그렇게 할 수 없습니다. 그 대신, 프라이빗 서브넷의 인스턴스는 퍼블릭 서브넷에 상주하는 네트워크 주소 변환(NAT) 게이트웨이를 사용하여 인터넷에 액세스할 수 있습니다. 소프트웨어 업데이트 시 NAT 게이트웨이를 사용하여 데이터베이스 서버를 인터넷에 연결할 수 있지만, 인터넷에서 데이터베이스 서버 연결을 설정할 수 없습니다.

참고

VPC 마법사를 사용하여 NAT 인스턴스로 VPC를 구성할 수도 있지만, NAT 게이트웨이를 사용하는 것이 좋습니다. 자세한 내용은 NAT 게이트웨이 단원을 참조하십시오.

이 단원에서는 Amazon VPC 콘솔의 VPC 마법사를 사용하여 VPC와 NAT 게이트웨이를 생성한다고 가정합니다.

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

개요

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

 시나리오 2의 다이어그램: 퍼블릭 서브넷과 프라이빗 서브넷이 있는 VPC

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

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

  • IPv4 CIDR 블록의 크기가 /24(예: 10.0.0.0/24)인 퍼블릭 서브넷. 이것은 256개의 프라이빗 IPv4 주소를 제공합니다. 퍼블릭 서브넷은 인터넷 게이트웨이로 이어지는 경로가 있는 라우팅 테이블과 연결된 서브넷입니다.

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

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

  • 서브넷 범위에서 프라이빗 IPv4 주소가 있는 인스턴스(예: 10.0.0.5, 10.0.1.5). 이 경우 인스턴스가 서로 통신할 수 있으며 VPC의 다른 인스턴스와 통신할 수 있습니다.

  • 탄력적 IPv4 주소(예: 198.51.100.1)가 있는 퍼블릭 서브넷의 인스턴스. 이 경우 탄력적 IPv4 주소는 인터넷을 통해 접근할 수 있게 해주는 퍼블릭 IPv4 주소입니다. 인스턴스는 탄력적 IP 주소 대신 퍼블릭 IP 주소가 실행 시 지정될 수 있습니다. 프라이빗 서브넷의 인스턴스는 인터넷에서 수신되는 트래픽을 수락할 필요가 없는 백 엔드 서버이므로 퍼블릭 IP 주소가 없지만, NAT 게이트웨이를 사용하여 인터넷으로 요청을 전송할 수 있습니다(다음 글머리표 항목 참조).

  • 자체 탄력적 IPv4 주소를 가진 NAT 게이트웨이. 이를 통해 프라이빗 서브넷의 인스턴스는 IPv4를 통해 인터넷에 요청을 전송할 수 있습니다(예: 소프트웨어 업데이트 요청).

  • 퍼블릭 서브넷과 연결된 사용자 지정 라우팅 테이블. 이 라우팅 테이블에는 서브넷의 인스턴스가 IPv4를 통해 VPC의 다른 인스턴스와 통신할 수 있게 하는 항목과, 서브넷의 인스턴스가 IPv4를 통해 인터넷과 직접 통신할 수 있게 하는 항목이 들어 있습니다.

  • 프라이빗 서브넷과 연결된 기본 라우팅 테이블. 라우팅 테이블에는 서브넷의 인스턴스가 IPv4를 통해 VPC의 다른 인스턴스와 통신할 수 있게 해주는 항목과, 서브넷의 인스턴스가 IPv4로 NAT 게이트웨이를 통해 인터넷과 통신할 수 있게 해주는 항목이 들어 있습니다.

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

IPv6 개요

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

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

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

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

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

  • 외부 전용 인터넷 게이트웨이. 이를 통해 프라이빗 서브넷의 인스턴스는 IPv6를 통해 인터넷에 요청을 전송할 수 있습니다(예: 소프트웨어 업데이트 요청). 프라이빗 서브넷의 인스턴스가 IPv6를 통해 인터넷과의 통신할 수 있게 하려면 외부 전용 인터넷 게이트웨이가 필요합니다. 자세한 내용은 외부 전용 인터넷 게이트웨이 단원을 참조하십시오.

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

  • 프라이빗 서브넷의 인스턴스가 IPv6를 사용하여 서로 통신할 수 있도록 해주며, 또한 외부 전용 인터넷 게이트웨이를 통해 인터넷과 통신할 수 있게 해주는 기본 라우팅 테이블의 라우팅 테이블 항목.

 퍼블릭 및 프라이빗 서브넷이 있는 IPv6 사용 VPC

라우팅

이 시나리오에서 VPC 마법사는 프라이빗 서브넷에 사용되는 기본 라우팅 테이블을 업데이트하고 사용자 정의 라우팅 테이블을 만들어 이를 퍼블릭 서브넷에 연결합니다.

이 시나리오에서는, 각 서브넷에서 AWS(예: Amazon EC2 또는 Amazon S3 엔드포인트)로 향하는 모든 트래픽이 인터넷 게이트웨이를 거칩니다. 프라이빗 서브넷의 데이터베이스 서버는 탄력적 IP 주소가 없기 때문에 인터넷에서 직접 트래픽을 수신할 수 없습니다. 하지만 데이터베이스 서버는 퍼블릭 서브넷의 NAT 디바이스를 통해 인터넷 트래픽을 전송하고 수신할 수 있습니다.

추가로 만든 모든 서브넷은 기본적으로 기본 라우팅 테이블을 사용하며, 따라서 기본적으로 프라이빗 서브넷입니다. 퍼블릭 서브넷으로 만들고 싶다면 연결된 라우팅 테이블을 변경하면 됩니다.

다음 표에서는 이 시나리오의 라우팅 테이블에 대해 설명합니다.

기본 라우팅 테이블

첫 번째 항목은 VPC의 로컬 라우팅에 대한 기본 항목으로서, VPC의 인스턴스가 서로 통신할 수 있게 해줍니다. 두 번째 항목에서는 기타 서브넷 트래픽을 모두 NAT 게이트웨이(예: nat-12345678901234567)로 전송합니다.

목적지 Target

10.0.0.0/16

local

0.0.0.0/0

nat-gateway-id

사용자 정의 라우팅 테이블

첫 번째 항목은 VPC의 로컬 라우팅에 대한 기본 항목으로서, 이 VPC의 인스턴스가 서로 통신할 수 있게 해줍니다. 두 번째 항목에서는 인터넷 게이트웨이(예: igw-1a2b3d4d)를 통해 기타 서브넷 트래픽을 모두 인터넷으로 라우팅합니다.

목적지 Target

10.0.0.0/16

local

0.0.0.0/0

igw-id

IPv6에 대한 라우팅

IPv6 CIDR 블록을 VPC 및 서브넷에 연결하는 경우, 라우팅 테이블에는 IPv6 트래픽에 대한 별도의 경로가 포함되어야 합니다. 다음 표는 VPC에서 IPv6 통신을 사용하기로 한 경우, 이 시나리오에 대한 라우팅 테이블을 정리한 것입니다.

기본 라우팅 테이블

두 번째 항목은 IPv6를 통한 VPC의 로컬 라우팅에 자동으로 추가된 기본 경로입니다. 네 번째 항목은 기타 IPv6 서브넷 트래픽을 모두 외부 전용 인터넷 게이트웨이로 라우팅합니다.

목적지 Target

10.0.0.0/16

로컬

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

로컬

0.0.0.0/0

nat-gateway-id

::/0

egress-only-igw-id

사용자 정의 라우팅 테이블

두 번째 항목은 IPv6를 통한 VPC의 로컬 라우팅에 자동으로 추가된 기본 경로입니다. 네 번째 항목에서는 기타 IPv6 서브넷 트래픽을 모두 인터넷 게이트웨이로 라우팅합니다.

목적지 Target

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에 보안 계층을 더 추가할 수 있습니다. 자세한 내용은 보안 단원을 참조하십시오.

시나리오 2에서는 네트워크 ACL이 아닌 보안 그룹을 사용합니다. 네트워크 ACL을 사용하려는 경우 시나리오 2를 위한 권장 규칙을 참조하십시오.

VPC는 기본 보안 그룹과 함께 제공됩니다. 인스턴스를 시작하는 동안 다른 보안 그룹을 지정하지 않는 경우, VPC에서 시작되는 인스턴스는 적절한 기본 보안 그룹과 자동 연결됩니다. 이 시나리오의 경우, 기본 보안 그룹을 수정하는 대신 다음과 같은 보안 그룹을 생성하는 것이 좋습니다.

  • WebServerSG: 퍼블릭 서브넷의 웹 서버를 시작할 때 이 보안 그룹을 지정합니다.

  • DBServerSG: 프라이빗 서브넷의 데이터베이스 서버를 시작할 때 이 보안 그룹을 지정합니다.

보안 그룹에 지정된 인스턴스는 서로 다른 서브넷에 있을 수 있습니다. 하지만 이 시나리오에서 각 보안 그룹은 인스턴스가 수행하는 역할 유형과 일치하며, 각 역할은 인스턴스가 특정 서브넷에 있을 것을 요구합니다. 따라서 이 시나리오에서 한 보안 그룹에 지정된 모든 인스턴스는 동일한 서브넷에 있습니다.

아래 표에서는 WebServerSG 보안 그룹에 권장되는 규칙을 설명합니다. 이 규칙은 웹 서버가 인터넷 트래픽을 수신하고, 네트워크에서 발생하는 SSH 및 RDP 트래픽을 수신할 수 있도록 허용합니다. 웹 서버는 또한 프라이빗 서브넷의 데이터베이스 서버에 대해 읽기 및 쓰기 요청을 시작하고, 인터넷으로 트래픽을 전송합니다(예: 소프트웨어 업데이트 받기). 웹 서버는 다른 아웃바운드 통신을 시작하지 않기 때문에 기본 아웃바운드 규칙은 제거됩니다.

참고

이러한 권장 사항에는 SSH와 RDP 액세스 그리고 Microsoft SQL Server와 MySQL 액세스가 포함됩니다. 상황에 따라 Linux(SSH 및 MySQL) 또는 Windows(RDP 및 Microsoft SQL Server)용 규칙만 필요할 수 있습니다.

WebServerSG: 권장 규칙

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

0.0.0.0/0

TCP

80

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

0.0.0.0/0

TCP

443

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

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

TCP

22

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

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

TCP

3389

홈 네트워크에서 Windows 인스턴스로 인바운드 RDP 액세스 허용(인터넷 게이트웨이를 통해).

아웃바운드

목적지 프로토콜 포트 범위 설명

DBServerSG 보안 그룹의 ID

TCP

1433

DBServerSG 보안 그룹에 지정된 데이터베이스 서버에 대해 아웃바운드 Microsoft SQL Server 액세스 허용

DBServerSG 보안 그룹의 ID

TCP

3306

DBServerSG 보안 그룹에 지정된 데이터베이스 서버에 대해 아웃바운드 MySQL 액세스 허용

0.0.0.0/0

TCP

80

모든 IPv4 주소에 대한 아웃바운드 HTTP 액세스를 허용

0.0.0.0/0

TCP

443

모든 IPv4 주소에 대한 아웃바운드 HTTPS 액세스를 허용

아래 표에서는 DBServerSG 보안 그룹에 권장되는 규칙에 대해 설명합니다. 이 규칙은 웹 서버에서 전송되는 데이터베이스 읽기 또는 쓰기 요청을 허용합니다. 데이터베이스 서버는 인터넷으로 향하는 트래픽을 시작할 수도 있습니다. 라우팅 테이블에 따라 이 트래픽은 NAT 게이트웨이로 전송된 후 인터넷 게이트웨이를 통해 인터넷에 전달됩니다.

DBServerSG: 권장 규칙

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

WebServerSG 보안 그룹의 ID

TCP

1433

WebServerSG 보안 그룹과 연결된 웹 서버에서 인바운드 Microsoft SQL Server 액세스가 가능하도록 허용

WebServerSG 보안 그룹의 ID

TCP

3306

WebServerSG 보안 그룹과 연결된 웹 서버에서 인바운드 MySQL Server 액세스가 가능하도록 허용

아웃바운드

목적지 프로토콜 포트 범위 설명

0.0.0.0/0

TCP

80

IPv4를 통해 인터넷에 접근하는 아웃바운드 HTTP 액세스 허용(예: 소프트웨어 업데이트 요청)

0.0.0.0/0

TCP

443

인터넷에 대한 아웃바운드 HTTPS 액세스 허용 액세스 허용(예: 소프트웨어 업데이트 요청)

(선택 사항) VPC의 기본 보안 그룹에는 지정된 인스턴스가 서로 통신할 수 있도록 자동 허용하는 규칙이 있습니다. 사용자 지정 보안 그룹에 이러한 유형의 통신을 허용하려면 다음과 같은 규칙을 추가해야 합니다.

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

보안 그룹의 ID

모두

모두

이 보안 그룹에 지정된 다른 인스턴스로부터의 인바운드 트래픽 허용.

아웃바운드
목적지 프로토콜 포트 범위 설명
보안 그룹의 ID 모두 모두 이 보안 그룹에 지정된 다른 인스턴스에 대해 아웃바운드 트래픽 허용

IPv6의 보안

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

다음은 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 TCP HTTP 임의의 IPv6 주소에 대한 아웃바운드 HTTP 액세스 허용
::/0 TCP HTTPS 임의의 IPv6 주소에 대한 아웃바운드 HTTPS 액세스 허용

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

아웃바운드

목적지 프로토콜 포트 범위 설명

::/0

TCP

80

임의의 IPv6 주소에 대한 아웃바운드 HTTP 액세스 허용

::/0

TCP

443

임의의 IPv6 주소에 대한 아웃바운드 HTTPS 액세스 허용

시나리오 2 구현

VPC 마법사를 사용하여 VPC, 서브넷 및 NAT 게이트웨이를 만들 수 있습니다. 외부 전용 인터넷 게이트웨이를 만들 수도 있습니다. NAT 게이트웨이에 탄력적 IP 주소를 지정해야 합니다. 주소가 없는 경우, 먼저 계정에 주소를 할당해야 합니다. 기존 탄력적 IP 주소를 사용하려면 해당 주소가 다른 인스턴스 또는 네트워크 인터페이스와 현재 연결되어 있지 않은지 확인합니다. NAT 게이트웨이는 VPC의 퍼블릭 서브넷에서 자동으로 생성됩니다.

이 절차에는 VPC용 IPv6 통신을 활성화 및 구성하기 위한 옵션 절차가 포함됩니다. VPC에서 IPv6를 사용하고 싶지 않다면 이 절차를 수행할 필요가 없습니다.

(Optional) To allocate an Elastic IP address for the NAT gateway (IPv4)

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

  2. In the navigation pane, choose Elastic IPs.

  3. Choose Allocate New Address.

  4. Choose Yes, Allocate.

    참고

    If your account supports EC2-Classic, first choose EC2-VPC from the Network platform list.

To create a VPC

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

  2. On the VPC dashboard, choose Start VPC Wizard.

  3. Choose the second option, VPC with Public and Private Subnets, and Select.

  4. For VPC name, Public subnet name and Private subnet name, you can name your VPC and subnets to help you identify them later in the console. You can specify your own IPv4 CIDR block range for the VPC and subnets, or you can leave the default values.

  5. (Optional, IPv6-only) For IPv6 CIDR block, choose Amazon-provided IPv6 CIDR block. For Public subnet's IPv6 CIDR, choose Specify a custom IPv6 CIDR and specify the hexadecimal pair value for your subnet, or leave the default value. For Private subnet's IPv6 CIDR, choose Specify a custom IPv6 CIDR. Specify the hexadecimal pair value for the IPv6 subnet or leave the default value.

  6. In the Specify the details of your NAT gateway section, specify the allocation ID for an Elastic IP address in your account.

  7. You can leave the rest of the default values on the page, and choose Create VPC.

WebServerSG 및 DBServerSG 보안 그룹은 서로를 참조하기 때문에 이러한 보안 그룹에 규칙을 추가하기 전에 이 시나리오에 필요한 모든 보안 그룹을 만듭니다.

To create the WebServerSG and DBServerSG security groups

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

  2. In the navigation pane, choose Security Groups, Create Security Group.

  3. Specify WebServerSG as the name of the security group, and provide a description. For VPC, select the ID of the VPC you created and choose Yes, Create.

  4. Choose Create Security Group again.

  5. Specify DBServerSG as the name of the security group, and provide a description. For VPC, select the ID of your VPC and choose Yes, Create.

To add rules to the WebServerSG security group

  1. Select the WebServerSG security group that you created. The details pane displays the details for the security group, plus tabs for working with its inbound and outbound rules.

  2. On the Inbound Rules tab, choose Edit and add rules for inbound traffic as follows:

    1. Choose Type, HTTP. For Source, enter 0.0.0.0/0.

    2. Choose Add another rule, Type, HTTPS. For Source, enter 0.0.0.0/0.

    3. Choose Add another rule, Type, SSH. For Source, enter your network's public IPv4 address range.

    4. Choose Add another rule, Type, RDP. For Source, enter your network's public IPv4 address range.

    5. (Optional, IPv6-only) Choose Add another rule, Type, HTTP. For Source, enter ::/0.

    6. (Optional, IPv6-only) Choose Add another rule, Type, HTTPS. For Source, enter ::/0.

    7. (Optional, IPv6-only) Choose Add another rule, Type, SSH (for Linux) or RDP (for Windows). For Source, enter your network's IPv6 address range.

    8. Choose Save.

  3. On the Outbound Rules tab, choose Edit and add rules for outbound traffic as follows:

    1. Locate the default rule that enables all outbound traffic and choose Remove.

    2. Choose Type, MS SQL. For Destination, specify the ID of the DBServerSG security group.

    3. Choose Add another rule, Type, MySQL. For Destination, specify the ID of the DBServerSG security group.

    4. Choose Add another rule, Type, HTTPS. For Destination, enter 0.0.0.0/0.

    5. Choose Add another rule, Type, HTTP. For Destination, enter 0.0.0.0/0.

    6. (Optional, IPv6-only) Choose Add another rule, Type, HTTPS. For Destination, enter ::/0.

    7. (Optional, IPv6-only) Choose Add another rule, Type, HTTP. For Destination, enter ::/0.

    8. Choose Save.

To add the recommended rules to the DBServerSG security group

  1. Select the DBServerSG security group that you created. The details pane displays the details for the security group, plus tabs for working with its inbound and outbound rules.

  2. On the Inbound Rules tab, choose Edit and add rules for inbound traffic as follows:

    1. Choose Type, MS SQL. For Source, specify the ID of your WebServerSG security group.

    2. Choose Add another rule, Type, MYSQL. For Source, specify the ID of your WebServerSG security group.

    3. Choose Save.

  3. On the Outbound Rules tab, choose Edit and add rules for outbound traffic as follows:

    1. Locate the default rule that enables all outbound traffic and choose Remove.

    2. Choose Type, HTTP. For Destination, enter 0.0.0.0/0.

    3. Choose Add another rule, Type, HTTPS. For Destination, enter 0.0.0.0/0.

    4. (Optional, IPv6-only) Choose Add another rule, Type, HTTP. For Destination, enter ::/0.

    5. (Optional, IPv6-only) Choose Add another rule, Type, HTTPS. For Destination, enter ::/0.

    6. Choose Save.

이제 VPC에서 인스턴스를 시작할 수 있습니다.

To launch an instance (web server or database server)

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

  2. From the dashboard, choose Launch Instance.

  3. Select an AMI and an instance type and choose Next: Configure Instance Details.

    참고

    If you intend to use your instance for IPv6 communication, you must choose a supported instance type; for example, T2. For more information, see Amazon EC2 Instance Types.

  4. On the Configure Instance Details page, for Network, select the VPC that you created earlier and then select a subnet. For example, launch a web server into the public subnet and the database server into the private subnet.

  5. (Optional) By default, instances launched into a nondefault VPC are not assigned a public IPv4 address. To be able to connect to your instance in the public subnet, you can assign a public IPv4 address now, or allocate an Elastic IP address and assign it to your instance after it's launched. To assign a public IPv4 address now, ensure that you choose Enable from the Auto-assign Public IP list. You do not need to assign a public IP address to an instance in the private subnet.

    참고

    You can only use the auto-assign public IPv4 feature for a single, new network interface with the device index of eth0. For more information, see 인스턴스 시작 시 퍼블릭 IPv4 주소 배정.

  6. (Optional, IPv6-only) You can auto-assign an IPv6 address to your instance from the subnet range. For Auto-assign IPv6 IP, choose Enable.

  7. On the next two pages of the wizard, you can configure storage for your instance, and add tags. On the Configure Security Group page, choose the Select an existing security group option, and select one of the security groups you created earlier (WebServerSG for a web server or DBServerSG for a database server). Choose Review and Launch.

  8. Review the settings that you've chosen. Make any changes that you need and choose Launch to choose a key pair and launch your instance.

5단계에서 퍼블릭 서브넷의 인스턴스에 퍼블릭 IPv4 주소를 지정하지 않은 경우, 인스턴스에 연결할 수 없습니다. 퍼블릭 서브넷의 인스턴스에 액세스하려면 먼저 해당 인스턴스에 탄력적 IP 주소를 지정해야 합니다.

To allocate an Elastic IP address and assign it to an instance (IPv4)

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

  2. In the navigation pane, choose Elastic IPs.

  3. Choose Allocate new address.

  4. Choose Allocate.

    참고

    If your account supports EC2-Classic, first choose VPC.

  5. Select the Elastic IP address from the list and choose Actions, Associate address.

  6. Select the network interface or instance. For Private IP, select the corresponding address to associate the Elastic IP address with and choose Associate.

이제 VPC의 인스턴스에 연결할 수 있습니다. Linux 인스턴스 연결 방법에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서Linux 인스턴스에 연결을 참조하십시오. Windows 인스턴스 연결 방법에 대한 자세한 내용은 Windows 인스턴스용 Amazon EC2 사용 설명서Windows 인스턴스에 연결을 참조하십시오.

NAT 인스턴스를 사용하여 시나리오 2 구현

NAT 게이트웨이 대신 NAT 인스턴스를 사용하여 시나리오 2를 구현할 수 있습니다. NAT 인스턴스에 대한 자세한 내용은 NAT 인스턴스를 참조하십시오.

위와 동일한 절차를 따를 수 있지만, VPC 마법사의 NAT 섹션에서 [Use a NAT instance instead]를 선택하고 NAT 인스턴스에 대한 세부 정보를 지정합니다. 또한 NAT 인스턴스가 프라이빗 서브넷의 인스턴스에서 인터넷 바운드 트래픽을 수신하고 네트워크에서 SSH 트래픽을 수신할 수 있도록 NAT 인스턴스(NATSG)에 대한 보안 그룹이 필요합니다. 또한 NAT 인스턴스는 인터넷으로 트래픽을 전송할 수 있으며 따라서 프라이빗 서브넷의 인스턴스는 소프트웨어 업데이트를 받을 수 있습니다.

NAT 인스턴스를 사용하여 VPC를 만든 후 NAT 인스턴스와 연결된 보안 그룹을 새 NATSG 보안 그룹으로 변경해야 합니다. 기본적으로 NAT 인스턴스는 기본 보안 그룹을 사용하여 시작됩니다.

NATSG: 권장 규칙

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

10.0.1.0/24

TCP

80

프라이빗 서브넷의 데이터베이스 서버로부터의 인바운드 HTTP 트래픽 허용

10.0.1.0/24

TCP

443

프라이빗 서브넷의 데이터베이스 서버로부터의 인바운드 HTTPS 트래픽 허용

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

TCP

22

네트워크로부터 NAT 인스턴스에 대한 인바운드 SSH 액세스 허용(인터넷 게이트웨이를 통해)

아웃바운드

목적지 프로토콜 포트 범위 설명

0.0.0.0/0

TCP

80

인터넷으로의 아웃바운드 HTTP 액세스 허용(인터넷 게이트웨이를 통해)

0.0.0.0/0

TCP

443

인터넷으로의 아웃바운드 HTTPS 액세스 허용(인터넷 게이트웨이를 통해)

To create the NATSG security group

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

  2. In the navigation pane, choose Security Groups, and the choose Create Security Group.

  3. Specify NATSG as the name of the security group, and provide a description. For VPC, select the ID of your VPC and choose Yes, Create.

  4. Select the NATSG security group that you created. The details pane displays the details for the security group, plus tabs for working with its inbound and outbound rules.

  5. On the Inbound Rules tab, choose Edit and add rules for inbound traffic as follows:

    1. Choose Type, HTTP . For Source, enter the IP address range of your private subnet.

    2. Choose Add another rule, Type, HTTPS. For Source, enter the IP address range of your private subnet.

    3. Choose Add another rule, Type, SSH. For Source, enter your network's public IP address range.

    4. Choose Save.

  6. On the Outbound Rules tab, choose Edit and add rules for outbound traffic as follows:

    1. Locate the default rule that enables all outbound traffic and choose Remove.

    2. Choose Type, HTTP. For Destination, enter 0.0.0.0/0.

    3. Choose Add another rule, Type, HTTPS. For Destination, enter 0.0.0.0/0.

    4. Choose Save.

VPC 마법사에서 NAT 인스턴스를 시작했을 때 VPC에 기본 보안 그룹이 사용되었습니다. NAT 인스턴스에 기본 보안 그룹 대신 NATSG 보안 그룹을 연결해야 합니다.

To change the security group of the NAT instance

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

  2. In the navigation pane, choose Network Interfaces.

  3. Select the network interface for the NAT instance from the list and choose Actions, Change Security Groups.

  4. In the Change Security Groups dialog box, for Security groups, select the NATSG security group that you created (see 보안) and choose Save.