메뉴
Amazon Virtual Private Cloud
사용 설명서

시나리오 1: 단일 퍼블릭 서브넷을 가진 VPC

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

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

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

개요

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

 시나리오 1의 다이어그램: 퍼블릭 서브넷이 있는 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)로 라우팅합니다.

목적지 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

local

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

local

0.0.0.0/0

igw-id

::/0

igw-id

보안

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

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

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 주소에 대한 아웃바운드 액세스를 모두 허용하는 기본 규칙. 웹 서버가 예를 들어 소프트웨어 업데이트 등을 받기 위해 아웃바운드 트래픽을 시작하게 하려면 기본 아웃바운드 규칙을 그대로 둡니다. 아니면 이 규칙을 제거할 수 있습니다.

시나리오 1 구현

시나리오 1을 구현하려면 VPC 마법사를 사용하여 VPC를 생성하고 WebServerSG 보안 그룹을 생성 및 구성한 다음, VPC에서 인스턴스를 시작합니다.

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

VPC를 만들려면

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

  2. 대시보드에서 [Start VPC Wizard]를 선택합니다.

  3. 첫 번째 옵션인 [VPC with a Single Public Subnet]을 선택한 후 [Select]를 선택합니다.

  4. VPC namePublic subnet name에 대해 VPC와 서브넷에 이름을 붙이면 나중에 콘솔에서 이들을 식별하는 데 도움이 됩니다. VPC 및 서브넷에 대해 고유한 IPv4 CIDR 블록 범위를 지정하거나 기본값(10.0.0.0/16 및 10.0.0.0/24)을 그대로 둘 수 있습니다.

  5. (선택 사항, IPv6 전용) IPv6 CIDR block에 대해 Amazon-provided IPv6 CIDR block을 선택합니다. Public subnet's IPv6 CIDR에 대해 Specify a custom IPv6 CIDR을 선택하고 서브넷에 16진수 페어 값을 지정하거나 기본값(00)을 그대로 둡니다.

  6. 기본 설정의 나머지 부분은 그대로 두고 Create VPC를 선택합니다.

WebServerSG 보안 그룹을 만들려면 다음을 수행합니다.

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

  2. 탐색 창에서 [Security Groups]를 선택합니다.

  3. [Create Security Group]을 선택합니다.

  4. 보안 그룹의 이름과 설명을 입력합니다. 이 주제에서는 WebServerSG라는 이름이 예제로 사용됩니다. [VPC] 메뉴에서 VPC ID를 선택한 다음 [Yes, Create]를 선택합니다.

  5. 앞에서 만든 WebServerSG 보안 그룹을 선택합니다. 세부 정보 창은 인바운드 규칙 및 아웃바운드 규칙 작업을 위한 탭과 함께 보안 그룹에 대한 정보 탭을 포함합니다.

  6. [Inbound Rules] 탭에서 [Edit]를 선택하고 다음을 수행합니다.

    • [Type] 목록에서 HTTP를 선택한 다음, 0.0.0.0/0를 [Source] 필드에 입력합니다.

    • [Add another rule]을 선택한 후 [Type] 목록에서 [HTTPS]를 선택하고 [Source] 필드에 0.0.0.0/0을 입력합니다.

    • [Add another rule]을 선택한 다음, [Type] 목록에서 [SSH] (Linux용) 또는 [RDP](Windows용)를 선택합니다. 네트워크의 공인 IP 주소 범위를 Source(원본) 필드에 입력합니다. (이 주소 범위를 모를 경우, 테스트 용도로 0.0.0.0/0을 사용할 수 있습니다. 실제 환경에서는 특정 IP 주소나 주소 범위만 해당 인스턴스에 액세스할 수 있도록 허가합니다.)

    • (선택 사항) [Add another rule]을 선택한 다음, [Type] 목록에서 [ALL traffic]을 선택합니다. [Source] 필드에 WebServerSG 보안 그룹의 ID를 입력합니다.

    • (선택 사항, IPv6 전용) Add another rule을 선택한 후 Type 목록에서 HTTP를 선택하고 Source 필드에 ::/0을 입력합니다.

    • (선택 사항, IPv6 전용) Add another rule을 선택한 후 Type 목록에서 HTTPS를 선택하고 Source 필드에 ::/0을 입력합니다.

    • (선택 사항, IPv6 전용) Add another rule을 선택한 다음, Type 목록에서 SSH(Linux용) 또는 RDP(Windows용)를 선택합니다. Source 필드에 네트워크의 IPv6 주소 범위를 입력합니다. (이 주소 범위를 모를 경우, 테스트 용도로 ::/0을 사용할 수 있습니다. 실제 환경에서는 특정 IPv6 주소나 주소 범위만 해당 인스턴스에 액세스할 수 있도록 허가합니다.)

  7. [Save]를 선택합니다.

  8. (선택 사항) [Outbound Rules] 탭에서 [Edit]를 선택합니다. 모든 아웃바운드 트래픽을 허용하는 기본 규칙을 찾아 [Remove]를 선택한 후 [Save]를 선택합니다.

VPC에서 인스턴스를 시작하려면

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

  2. 대시보드에서 [Launch Instance]를 선택합니다.

  3. 마법사의 지침대로 진행합니다. AMI를 선택하고 인스턴스 유형을 선택한 후 [Next: Configure Instance Details]를 선택합니다.

    참고

    IPv6 통신 용도로 인스턴스를 사용하고자 하는 경우, 지원되는 인스턴스 유형(예: T2)을 선택해야 합니다. 자세한 내용은 Amazon EC2 인스턴스 유형 단원을 참조하십시오.

  4. [Configure Instance Details] 페이지의 [Network] 목록에서 1단계에서 만들었던 VPC를 선택한 후 서브넷을 지정합니다.

  5. (선택 사항) 기본이 아닌 VPC에서 시작되는 인스턴스에는 퍼블릭 IPv4 주소가 할당되지 않도록 기본 설정되어 있습니다. 인스턴스에 연결할 수 있도록 하기 위해, 지금 퍼블릭 IPv4 주소를 지정하거나, 탄력적 IP 주소를 할당하고 인스턴스를 시작한 후 이를 인스턴스에 지정할 수 있습니다. 지금 퍼블릭 IPv4 주소를 지정하려면 Auto-assign Public IP 목록에서 Enable을 선택해야 합니다.

    참고

    인덱스가 eth0인 새로운 단일 네트워크 인터페이스에는 자동 할당 퍼블릭 IP 기능만 사용할 수 있습니다. 자세한 내용은 인스턴스 시작 시 퍼블릭 IPv4 주소 배정 단원을 참조하십시오.

  6. (선택 사항, IPv6 전용) 서브넷 범위 내에서 인스턴스에 IPv6 주소를 자동 할당할 수 있습니다. Auto-assign IPv6 IP에 대해 Enable을 선택합니다.

  7. 마법사의 다음 두 페이지에서 인스턴스의 스토리지를 구성하고 태그를 추가할 수 있습니다. [Configure Security Group] 페이지에서 [Select an existing security group] 옵션을 선택하고, 2단계에서 만든 [WebServerSG] 보안 그룹을 선택합니다. [Review and Launch]를 선택합니다.

  8. 선택한 설정을 검토합니다. 필요한 사항을 변경한 후 [Launch]를 선택하여 키 페어를 선택하고 인스턴스를 시작합니다.

  9. 5단계에서 인스턴스에 퍼블릭 IPv4 주소를 지정하지 않은 경우, IPv4를 통해 인스턴스에 연결할 수 없습니다. 인스턴스에 탄력적 IP 주소를 할당합니다:

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

    2. 탐색 창에서 [Elastic IPs]를 선택합니다.

    3. Allocate new address를 선택합니다.

    4. [Allocate]를 선택합니다.

      참고

      계정이 EC2-Classic을 지원할 경우 우선 [VPC]를 선택합니다.

    5. 목록에서 탄력적 IP 주소와 [Actions], [Associate Address]를 차례로 선택합니다.

    6. 주소를 연결할 인스턴스를 선택한 다음 [Associate]를 선택합니다.

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