AWS VPC 인프라 통합 구성 - 25년 05월

AWS VPC 인프라 통합 구성 - 25년 05월

image-20250509-055636.png
QueryPie on AWS - Reference Architecture

Disclaimer

이 문서는 High Availability 설정을 포함하여, Reference Architecture 를 독립적으로 새로 구성하는 과정을 예시적으로 제공하는 문서입니다. 이 문서에서 제시하는 VPC 생성, Security Group 생성 방식 등 설정내용은 참조용으로 제시하는 것입니다.

실제 설치 환경에서는 새로운 VPC, Subnets 가 아니라, 기존 VPC, Subnets 내에 QueryPie 를 설치하는 것이 적절할 가능성이 높습니다.

실제 설치 환경에서는 해당 환경의 특성을 고려하여, 시스템을 구성하시기 바랍니다.

VPC

AZ 의 선택은 Subnet 을 구성 시 할당됩니다.

VPC 는 하나의 리전(e.g. ap-northeast-2) 기준으로 복수의 AZ 를 걸친 형태로 구성할 수 있습니다.

논리적으로 격리된 가상 네트워크를 생성합니다.

생성 경로: VPC dashboard → Virtual private cloud → Your VPCs → Create VPC

VPC Settings

  • Resources to create: VPC only

  • Name tag: 식별 가능한 VPC 이름 지정

  • IPv4 CIDR block: IPv4 CIDR manual input

  • IPv4 CIDR: VPC 에 할당할 IP block 범위를 지정

  • IPv6 CIDR block: No IPv6 CIDR block

  • Tenancy: Default

Create VPC 클릭

VPC 생성 시 main route table 이 자동으로 생성됩니다.

Subnets

VPC 에서 하나의 AZ 를 지정하여 Subnet 대역을 생성합니다.

Subnet 은 생성 방법론에 따라 Private Subnet / Public Subnet으로 나뉩니다.

생성 경로: VPC dashboard → Virtual private cloud → Subnets → Create subnet

VPC

  • VPC ID: Subnet 을 생성할 VPC 를 선택

Subnet settings

  • Subnet name: 식별 가능한 Subnet 이름 지정

  • Availability Zone: 해당 리전에 맵핑할 AZ 선택

  • IPv4 VPC CIDR block: (VPC 에 할당한 CIDR block 이 여러개인 경우) CIDR block 을 선택

  • IPv4 subnet CIDR block: Subnet 에 할당할 IP block 지정

필요 시 Add new subnet 을 클릭하여 필요한 만큼의 Subnet을 추가 정의합니다.

정의가 끝나면 Create subnet 을 클릭 합니다.

Private subnet 과 Public subnet 을 각각 생성합니다.

Subnet 생성 시 main Network ACL 이 자동으로 생성됩니다.

Route table 은 main route table 이 자동으로 할당됩니다.

RDS Subnet groups

Amazon RDS 생성 시 위치할 Subnet group을 생성합니다.

Subnet group은 사전에 생성한 VPC (Private) Subnet 에서, RDS 를 할당할 영역을 그룹화합니다.

RDS를 Multi-AZ DB clusters로 구성 시에는, 3개의 서로 다른 AZ 에 위치한 3개의 Subnet 을 생성하여야 합니다.

생성 경로: Amazon RDS → Subnet groups → Create DB subnet group

Subnet group details

  • Name: 식별 가능한 Subnet group 이름 지정

  • Description: 생성 용도를 간략하게 작성

  • VPC: 위에서 생성한 VPC 선택

Add subnets

  • Availability Zones: Private subnet 이 존재하는 AZ 선택

  • Subnets: Private subnet 기준으로 2개 이상 선택 (Multi-AZ DB clusters 의 경우 3개 이상)

Create 클릭

ElastiCache Subnet groups

생성 경로: Amazon ElastiCache → Configurations → Subnet groups → Create subnet group

Amazon ElastiCache 생성 시 위치할 Subnet group을 생성합니다.

Subnet group은 사전에 생성한 VPC (Private) Subnet 에서, ElastiCache 를 할당할 영역을 그룹화합니다.

Subnet group settings

  • Name: 식별 가능한 Subnet group 이름 지정

  • VPC ID: 위에서 생성한 VPC 선택

  • Selected subnets: Private subnet 기준으로 2개 이상 선택

Create 클릭

Internet gateways

Public Subnet 에서 외부와 양방향 통신이 가능하도록 게이트웨이를 생성 및 할당 합니다.

Internet gateway 생성

생성 경로: VPC dashboard → Virtual private cloud → Internet gateways → Create internet gateway

Internet gateway settings

  • Name: 식별 가능한 igw 이름 지정

Create internet gateway 클릭

Internet gateway VPC 할당

할당 경로: VPC dashboard → Virtual private cloud → Internet gateways → 생성한 igw 선택 → Actions → Attatch to VPC

VPC

  • Available VPCs: 생성한 VPC 할당

Attach Internet gateway 클릭

NAT gateways

Private Subnet 에서 외부로부터 업데이트 정보 등을 받을 수 있는 NAT게이트웨이를 생성 합니다.

NAT게이트웨이는 Public Subnet에 생성되며, 가용할 Public Subnet 수 만큼 생성합니다.

생성 경로: VPC dashboard → Virtual private cloud → NAT gateways → Create NAT gateway

NAT gateway settings

Create NAT gateway 클릭

Route tables

Subnet 의 Route table 관리합니다.

여기서는 기존 main route table 을 해제하고 각 Subnet 용도에 맞는 Route table을 생성하고 할당합니다.

Public route table 및 Private route table 생성

생성 경로: VPC dashboard → Virtual private cloud → Route tables → Create route table

Route table settings

  • Name: 식별 가능한 Route table 이름 지정

  • VPC: Route table 을 생성할 VPC 지정

Create route table 클릭

Private 전용 Route table 과 Public 전용 Route table 을 각각 생성합니다.

Route table 에 Subnet 할당

신규 생성한 Route table 에 subnet 을 할당합니다.

Private route table 에는 Private subnet 을, Public route table 에는 Public subnet 을 각각 할당합니다.

할당 경로: VPC dashboard → Virtual private cloud → Route tables → 생성한 route table 선택 → Actions → Edit subnet associations

Available subnets

  • Route table 에 local connection 으로 맵핑할 Subnet 지정

Save associations 클릭

Public Route table 에 Default Gateway 할당

신규 생성한 Public Route table 에 인터넷 구간 통신을 할 수 있도록 Default Gateway 를 할당합니다.

할당 경로: VPC dashboard → Virtual private cloud → Route tables → 생성한 route table 선택 → Actions → Edit routes

Add route 클릭

  • Destination: 0.0.0.0/0

  • Target: Internet Gateway → 생성한 igw 선택

Save Changes 클릭

Private Route table 에 NAT Gateway 할당

인스턴스가 신규 생성한 Private Route table 을 이용하여 업데이트 등을 수행할 수 있도록 NAT gateway 를 할당합니다.

할당 경로: VPC dashboard → Virtual private cloud → Route tables → 생성한 route table 선택 → Actions → Edit routes

Add route 클릭

  • Destination: 0.0.0.0/0

  • Target: NAT Gateway → 생성한 NAT gateway 선택

Save Changes 클릭

Security Group

생성 경로: VPC dashboard → Security → Security groups → Create security group

Basic details

  • Security group name: 식별 가능한 Security group 이름 지정

  • Description: 생성 용도를 간략하게 작성

  • VPC: Security group 을 생성 할 VPC를 지정

Inbound rules

  • Add rule 클릭 하여 Inbound rule 을 생성한다 (없을 경우 ALL DENY 로 동작)

  • 설정 정보는 아래 각 Instance 유형별 Details를 참조하여 작성합니다.

Outbound rules

  • 일반적으로는 별도 지정하지 않아도 됩니다.

Create security group 클릭

Application load balancer

Inbound

Type

Protocol

Port range

Source

Description

Type

Protocol

Port range

Source

Description

HTTPS

TCP

443

사용자 접속 대역

사용자의 QueryPie 웹 접속

HTTP

TCP

80

사용자 접속 대역

(Optional) 사용자의 QueryPie 웹 접속

HTTPS

TCP

443

Windows Server 대역

Windows Server Agent Health Check, API Calls

HTTP

TCP

80

Windows Server 대역

(Optional) Windows Server Agent Health Check, API Calls

Outbound

Type

Protocol

Port range

Destination

Description

Type

Protocol

Port range

Destination

Description

HTTP

TCP

80

QueryPie EC2 instances

Target Group Health Check

Network load balancer

Inbound

Type

Protocol

Port range

Source

Description

Type

Protocol

Port range

Source

Description

Custom TCP

TCP

9000

사용자 접속 대역

(DAC, SAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

6443

사용자 접속 대역

(KAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

7447

사용자 접속 대역

(WAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

40000-40100

사용자 접속 대역

(DAC Only) Accessing QueryPie Agent Proxy for SaaS

Outbound

Type

Protocol

Port range

Destination

Description

Type

Protocol

Port range

Destination

Description

HTTP

TCP

80

QueryPie EC2 instances

Target Group Health Check

Custom TCP

TCP

9000

QueryPie EC2 instances

(DAC, SAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

6443

QueryPie EC2 instances

(KAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

7447

QueryPie EC2 instances

(WAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

40000-40100

QueryPie EC2 instances

(DAC Only) Accessing QueryPie Agent Proxy for SaaS

QueryPie EC2 instances

Inbound

Type

Protocol

Port range

Source

Description

Type

Protocol

Port range

Source

Description

SSH

TCP

22

Bastion Hosts

(Optional) EC2 제어

HTTP

TCP

80

Application Load balancer

QueryPie 웹 접속 / Load balancer Health Check

HTTP

TCP

80

Network Load balancer

Load balancer Health Check

Custom TCP

TCP

9000

Network Load balancer

(DAC, SAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

6443

Network Load balancer

(KAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

7447

Network Load balancer

(WAC) Accessing QueryPie Agent Proxy for General Users

Custom TCP

TCP

40000-40100

Network Load balancer

(DAC Only) Accessing QueryPie Agent Proxy for SaaS

Outbound

Type

Protocol

Port range

Destination

Description

Type

Protocol

Port range

Destination

Description

HTTPS

TCP

443

0.0.0.0/0

External Communications (e.g. Okta, Slack, WAC External Domains)

HTTP

TCP

80

0.0.0.0/0

External Communications (e.g. WAC External Domains)

MySQL/Aurora

TCP

3306

RDS

QueryPie MySQL

Custom TCP

TCP

6379

ElastiCache

QueryPie Redis

(Optional) Bastion host instances

Inbound

Type

Protocol

Port range

Source

Description

Type

Protocol

Port range

Source

Description

SSH

TCP

22

사용자 접속 대역

Private Subnet 의 EC2 instances 제어

Outbound

Type

Protocol

Port range

Destination

Description

Type

Protocol

Port range

Destination

Description

All Traffic

ALL

ALL

0.0.0.0/0

 

RDS

Inbound

Type

Protocol

Port range

Source

Description

Type

Protocol

Port range

Source

Description

MySQL/Aurora

TCP

3306

QueryPie EC2 instances

QueryPie Database

Outbound: N/A

Type

Protocol

Port range

Destination

Description

Type

Protocol

Port range

Destination

Description

-

-