20150115 AWS BlackBelt - Amazon VPC (Korea)

53
Amazon VPC (Virtual Private Cloud) AWS Black Belt Tech Webinar 2014 작성: 파트너 솔루션스 아키텍트 松本 大樹 번역: 솔루션스 아키텍트 정윤진

Transcript of 20150115 AWS BlackBelt - Amazon VPC (Korea)

Page 1: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Amazon VPC (Virtual Private Cloud)

AWS Black Belt Tech Webinar 2014작성: 파트너 솔루션스 아키텍트 松本 大樹번역: 솔루션스 아키텍트 정윤진

Page 2: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Agenda

• VPC?

• VPC의 구성요소

• [신기능] VPC Peering

• VPC 사용시 주의 사항 및 가격

• 정리

• Q&A

Page 3: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Agenda

• VPC?

• VPC의 구성요소

• [신기능] VPC Peering

• VPC 사용시 주의 사항 및 가격

• 정리

• Q&A

Page 4: 20150115 AWS BlackBelt - Amazon VPC (Korea)

AWS의 다양한 서비스

응용 프로그램

스토리지EBS, S3, Glacier, Storage Gateway

컨텐츠 전송(CDN)CloudFront

네트워킹VPC, Route 53, Direct Connect

인증 및로그IAM,

CloudTrail,CloudHSM

모니터링CloudWatch

Web 관리 콘솔Management

Console

배포 및 자동화Elastic Beanstalk,Cloud Formation,

OpsWorks

명령줄 도구CLI

라이브러리 & SDKsJava, PHP, .NET,

Python, Ruby

글로벌 인프라리전(region), 가용 영역(Availability Zone), 엣지 로케이션 (CDN edge)

AZRegion

컴퓨팅

데이터베이스RDS, DynamoDB,

Redshift, ElastiCache

분석Elastic MapReduce,

Kinesis, Data Pipeline

어플리케이션 서비스AppStream, Cloud Search, SWF, SQS, SES, SNS, Elastic Transcoder

EC2, Auto Scaling, Elastic Load Balancing, Workspaces

Page 5: 20150115 AWS BlackBelt - Amazon VPC (Korea)

왜 VPC가 필요한가?

• 높은 보안성을 위해 다양한 네트워크가 필요하다!

• 기존에 사용하던 네트워크 구조를 클라우드에서도 그대로 사용하고싶다!

• 세분화된 접근 제어를 하고 싶다!

• Local IP Address 를 고정하고 싶다!

• 1대의 EC2 인스턴스에 여러개의 IP 주소 또는 여러개의 네트워크인터페이스를 할당하고 싶다!

• 신용카드 결재 또는 의료 데이터 관련 서비스등 보안 규정 적용이필요하다!

・・・・・등등등등!

Page 6: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC에서 제어 가능한 기능들!

• VPC CIDR / Subnet• Route Table• Internet Gateway(IGW)• VPC Security Group(and DB Security Group)• Network Access Control List (NACL)• NAT• EC2 Dedicated Instance• Elastic Network Interface• Virtual Private Network (VPN)• VPC Peering

Page 7: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Amazon VPC

• AWS에 사설 네트워크를 구축

– 회사와 AWS 간 VPN 을 연결

– 가상 네트워킹

• 기존 데이터센터와의 연결을 통해 하이브리드 구성

– AWS를 회사 인프라의 일부처럼 사용

내부 시스템 소프트웨어의 연동이 매우 쉬워짐

예) 메일, 그룹웨어와 같은 업무 시스템, 파일 서버 등

• 세심한 네트워크 설정이 가능

• 모든 리전에서 이용 가능

Page 8: 20150115 AWS BlackBelt - Amazon VPC (Korea)

AWS에 사설 네트워크를 생성, 기존 인프라와 연결

AWS region

EC2

VPC인트라넷사설 서브넷(private subnet)

공인 서브넷(public subnet)

Internet

VPC 내에서서브넷을 생성

VPN연결전용선

인터넷

게이트웨이

VPN

DX

Page 9: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC를 사용한 3tier 구성예

VPC 10.0.0.0/16

Availability Zone - B

Availability Zone - A

Internet

Anyone

Internet

Gateway

Public Subnet 10.0.0.0/24

Public Subnet 10.0.2.0/24

Private Subnet 10.0.1.0/24

Private Subnet 10.0.3.0/24

Amazon RDS

Amazon RDS

Web

10.0.0.7

EC2 Instance

EC2 Instance

Web

10.0.2.7

회사데이터센터또는사무실

DB

DB

인터넷에서접근가능

DC/회사에서만접근가능

VPN연결Direct Connect 전용선

Page 10: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Classic EC2/Default VPC/VPC 차이점

− Elastic IP

− Public IP

− Private IP

Classic EC2

EC2

− Elastic IP

− Public IP

− Private IP

Default VPC

EC2

Default Subnet

− Elastic IP

− Public IP

− Private IP

일반 VPC

EC2

Subnet

Non Default VPC사용자 Default VPC사용자

Page 11: 20150115 AWS BlackBelt - Amazon VPC (Korea)

나는 default VPC 사용자인가?

• EC2 대시보드의 우측 상단 ”Account Attributes”에서 확인 가능

Non-Default VPC

Default VPC

Page 12: 20150115 AWS BlackBelt - Amazon VPC (Korea)

AWS에서 제공되는 IP의 유형

• Elastic IP– 공인 IP 주소를 인스턴스에 할당

– Stop/Start 상태에도 IP는 할당된 상태를 유지

• Public IP– 무작위로 할당되는 공인 IP

– Stop/Start 를 하면 전혀 다른 IP로 변경됨

– 할당 여부를 변경 가능

• Private IP– 반드시 할당되는 사설 주소

– EC2 를 생성할때 고정으로 IP를 지정 가능

– Stop/Start를 하더라도 IP는 변경되지 않음

− Elastic IP

− Public IP

− Private IP

EC2

Subnet

Page 13: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Agenda

• VPC?

• VPC의 구성요소

• [신기능] VPC Peering

• VPC 사용시 주의 사항 및 가격

• 정리

• Q&A

Page 14: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC에서 제어 가능한 구성 요소

• VPC CIDR / Subnet

• Route Table

• Internet Gateway(IGW)

• VPC Security Group

• Network Access Control List (NACL)

• NAT

• EC2 Dedicated Instance

• Elastic Network Interface

• Virtual Private Network (VPN)

Page 15: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC CIDR, Subnet

Subnet: 10.0.1.0/24

VPC 10.0.0.0/16

WebServer

WebServer

Subnet: 10.0.2.0/24

CIDR IP Address 갯수

xxx.xxx.xxx.xxx/16 65,534

xxx.xxx.xxx.xxx/20 4,094

xxx.xxx.xxx.xxx/24 254

xxx.xxx.xxx.xxx/28 14

VPC 를일단생성한후에는크기와주소변경이불가능하므로주의!

Page 16: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Route Table

• 각 Subnet은 Route Table 을 가지고 있다. 이 설정을변경하여 네트워크의 통신 경로를 제어 가능 。

Public Subnet의 Route Table

Private Subnet의 Route Table

IGW(Internet Gateway)에대한경로가존재하므로인터넷연결이가능

Page 17: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Route Table과 Internet Gateway

Public Subnet

VPC 10.0.0.0/16

WebServer

Private Subnet

WebServer

Destination Target

10.0.0.0/16 Local

0.0.0.0/0 igw-xxxxx

Destination Target

10.0.0.0/16 Local

IGW로의 Routing

경로가없으므로인터넷연결이불가능

InternetGateway

Internet

OK

OK

NG

Page 18: 20150115 AWS BlackBelt - Amazon VPC (Korea)

NAT (Network Address Translation)

• Private Subnet 에서 인터넷 접근이 필요하다!

– 운영체제 업데이트, 패치, 소프트웨어의 다운로드

– S3, Route53, DynamoDB, SES, SQS 등의 VPC 외부에 있는AWS 서비스에 접근이 필요

• NAT Instance를 사용하면 Global IP(Elastic IP, Public IP)를 사용하지 않고 인터넷에 접근 가능

• AWS에서 NAT 전용 EC2 AMI를 제공

Page 19: 20150115 AWS BlackBelt - Amazon VPC (Korea)

NAT

Public Subnet

VPC 10.0.0.0/16

WebServer

Private Subnet

WebServer

Destination Target

10.0.0.0/16 Local

0.0.0.0/0 igw-xxxxx

Destination Target

10.0.0.0/16 Local

0.0.0.0/0 NAT

IGW로의 Routing

경로가없으므로인터넷연결이불가능 。

InternetGateway

Internet

NAT

OK NG

Page 20: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Security Group과 NACL(Network Access Control List)

Instance레벨에서 In/Out

접근제어

Subnet

레벨에서In/Out접근제어

Page 21: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Security Group

Security

Group

EC2Instance

Port 22

(SSH)

Port 80

(HTTP)

• VPC 환경에서는 인터넷에서 유입되는 트래픽(Inbound)뿐만 아니라 EC2에서 외부로 나가는 트래픽(Outbound)역시 제어 할 수 있습니다.

Page 22: 20150115 AWS BlackBelt - Amazon VPC (Korea)

NACL(Network Access Control)

• 개별 Subnet 별로 접근 제어가 가능

• Inbound, Outbound 트래픽에 대해 아래와 같은 제어가 가능

– Inbound

• Port range(포트 번호, 범위)

• Source(접근 IP 주소)

• Allow/Deny

– Outbound

• Port range(포트 번호, 범위)

• Destination(대상 IP 주소)

• Allow/Deny

Page 23: 20150115 AWS BlackBelt - Amazon VPC (Korea)

DNS Settings

• VPC 내에서 DNS 관련 설정

Enable DNS resolution.

• 기본값은 true

• False 를 체크하면 VPC에서 제공하는 DNS 기능이 적용되지 않는다.

Enable DNS hostname support for instances launched in this VPC.

• True 로 하면 DNS 이름이 할당된다

• “Enable DNS resolution”을 true로 하지 않으면 적용되지 않는다.

Page 24: 20150115 AWS BlackBelt - Amazon VPC (Korea)

EC2 Dedicated Instance

고객A

EC2 서버

일반 EC2

고객B 고객C

고객A

EC2 서버

고객B 고객C

Dedicated Instance

• VPC 에서 single tenant 보장

• 보안 규정상 필요한 경우에 적용할 수 있는 기능

• 클라우드의 장점을 그대로 사용• 종량 과금• 유연한 확장성• 필요할때 즉시 사용

Page 25: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Elastic Network Interfaces

• VPC에서 다수의 네트워크 인터페이스를 사용할 수 있는 기능

• ENI에는 다음의 리소스를 연결/할당 가능

– Private IP

– Elastic IP

– MAC 주소

– 보안 그룹 (Security Groups)

• 인스턴스에 따라 할당 가능한 갯수가 다르다.

Page 26: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Elastic Network Interfaces

인스턴스 유형에 따른 제한 – 아래의 링크 확인

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

Page 27: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Elastic Network Interfaces

주의! AZ종속성이있음

Page 28: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPN (Virtual Private Network)

• 기존의 데이터센터, 사무실과 AWS의 VPC를 연결하는 방법

• BGP/static routing을 지원하며, VPN Router를사용하여연결 가능!

• IPsec VPN 을 이용하기 위한 기능– 터널 모드에서, IPsec 보안 연결

– AES 128 bit 암호화 채널

– BGP (Border gateway protocol) peer

• 참고 URL<http://aws.amazon.com/ko/vpc/faqs/>

Page 29: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPN (Virtual Private Network)

• VPN Connection 설정

IGW

Corporate Data center

VPC Subnet VPN

Gateway

VPN Gateway를생성하고 VPC에연결(attach)

Customer

Gateway

Global IP및 AS번호를지정하여 Customer

Gateway를생성

VPN Connection

VPN Connection을생성한후Configuration파일을다운로드하여

VPN Router설정을완료

VPN Router

Page 30: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Public subnet + Private subnet + VPN GW

Public Subnet

VPC 10.0.0.0/16

WebServer

Private Subnet

WebServer

Destination Target

10.0.0.0/16 Local

0.0.0.0/0 igw-xxxxx

Destination Target

10.0.0.0/16 Local

172.16.0.0/16 VGW

IGW

OKNG

VGW

Corporate = 172.16.0.0/16

Page 31: 20150115 AWS BlackBelt - Amazon VPC (Korea)

[복습] VPC에서 제어 가능한 리소스

• VPC CIDR / Subnet• Route Table• Internet Gateway(IGW)• VPC Security Group• Network Access Control List (NACL)• NAT• EC2 Dedicated Instance• Elastic Network Interface• Virtual Private Network (VPN)

Page 32: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Agenda

• VPC?

• VPC의 구성요소

• [신기능] VPC Peering

• VPC 사용시 주의 사항 및 가격

• 정리

• Q&A

Page 33: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering

• 다수의 VPC를 서로 Peering 할 수 있는 기능

• 따라서 편리하게 VPC간 연결을 구성하여 Private IP 를사용한 통신이 가능

• 동일한 AWS 계정 내에서의 VPC 연결뿐만 아니라, 다른AWS 계정의 VPC를 연결하는 것도 가능

Page 34: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법

VPC 10.0.0.0/16

WebServer

Destination Target

10.0.0.0/16 Local

VPC 11.0.0.0/16

WebServer

Destination Target

11.0.0.0/16 Local

Page 35: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step1- Peering Connection 을 생성

① VPC

페이지에서 ”Peering

Connections”을선택

② “Create VPC Peering

Connection”을클릭

Page 36: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step1- Peering Connection 을 생성

③ Peering을원하는VPC선택

④상대방측의 VPC를선택.

동일한 AWS계정외에도다른계정도선택가능

동일한계정의 VPC를선택“My account”를선택, Peering대상 VPC선택

다른계정의 VPC를선택“Another account”를선택하여 Account ID와VPC ID를입력

Page 37: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step1- Peering Connection 을 생성

xxxxxxxxxxxxxx

⑤ Peering Connection생성이정상적으로완료되면관련

정보가표시되며승인대기상태

Console에 Status가 Pending상태항목이표시

Page 38: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step1- Peering Connection 을 생성

선택한 2개 VPC의 IP 범위가 중복되는 경우

• 동일 계정에서는 다음과 같은 오류로 연결 불가능

• 다른 계정의 VPC와 IP 범위가 중복되는 경우, 아래와 같은 상태표시와 함께 peering 생성이 불가능

Page 39: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step1- Peering Connection 을 생성

⑥새로운 Peering Connection

항목의 “Accept request”를클릭하면설정이완료

※다른계정의경우,새로운 Peering Connection항목이표시될때까지수분정도시간이필요할수있으므로기다린다.

Page 40: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step1- Peering Connection 을 생성

VPC 10.0.0.0/16

WebServer

Destination Target

10.0.0.0/16 LocalDestination Target

11.0.0.0/16 Local

VPC 11.0.0.0/16

WebServer

pcx-12345

Page 41: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step2- Route Table의 설정

• Route Table 을 설정한다. 설정 방법은 기존과 동일• Destination의 CIDR을 Target Peering Connection의

ID, ”pcx-XXXXXXX” 로 매핑• 다른쪽의 VPC에서도 동일한 방법으로 Route Table 을 설정

Page 42: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 설정 방법 – Step2- Route Table의 설정

VPC 10.0.0.0/16

WebServer

Destination Target

10.0.0.0/16 Local

11.0.0.0/16 pcx-12345

VPC 11.0.0.0/16

WebServer

Pcx-12345

Destination Target

11.0.0.0/16 Local

10.0.0.0/16 pcx-12345

Page 43: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 구성 예

• 구성 예제는 아래 링크의 문서를 참조

http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/peering-scenarios.html

Page 44: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Peering 제한 사항

• IP Address 범위가 겹치는 VPC간의 Peering은 불가능

• VPC Peering은 현재 동일한 Region 내에서만 가능

• 2 hop 이상 Routing 불가능

• AWS Solution Architect 블로그 (일본어)

http://aws.typepad.com/sajp/2014/04/vpc-peering-tips.html

Page 45: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Agenda

• VPC?

• VPC의 구성요소

• [신기능] VPC Peering

• VPC 사용시 주의 사항 및 가격

• 정리

• Q&A

Page 46: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Tag의 적극적 사용

• Tag 설정이 가능한 VPC 리소스가 증가

Page 47: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Public IP 할당

• EC2를 시작할때 Public IP 할당 여부 선택

Elastic IP 를 사용하지 않고도Global IP 를 사용 할 수 있는 방법

단, IP의 고정이 필요한 경우라면반드시 Elastic IP 를 사용

Page 48: 20150115 AWS BlackBelt - Amazon VPC (Korea)

DHCP options sets

• VPC의 DHCP 기능 설정 변경이 가능domain-name

• 도메인 이름 지정

domain-name-servers

• DNS 서버 지정

ntp-servers

• NTP 서버 지정

netbios-name-servers

• NetBIOS 서버 지정

netbios-node-type

• NetBIOS 노드 유형 지정

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html

Page 49: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC Limits의 확인 (support 를 통해 변경 가능)

• 일부 리소스의 limit 이 일부 증가– http://docs.aws.amazon.com/AmazonV

PC/latest/UserGuide/VPC_Appendix_Limits.html

• 필요에 따라 limit 변경 요청이가능

– http://aws.amazon.com/ko/contact-us/vpc-request/

• 문의 사항은 AWS 지원 및담당자에게 문의하십시오.

Page 50: 20150115 AWS BlackBelt - Amazon VPC (Korea)

VPC 가격 정보

• VPC 사용은 무료!!!

• VPC Peering Connection 역시 무료!!

• VPN Connection을 사용하면 VPN연결 당 1시간 과금이 $0.05/VPN

Page 51: 20150115 AWS BlackBelt - Amazon VPC (Korea)

정리

• VPC Peering이 출시되어 사용이 더욱 편리해졌습니다. VPC는AWS 를 사용하는데 필수적입니다!!

• Security Group과 NACL, Routing Table 등 VPC 의 각종 기능을이용하면 AWS에 매우 안전한 네트워크 환경 구성이 가능합니다!

• VPN 연결이나 Direct Connect(DX), Peering Connection을이용하여 다수의 AWS 계정간 연결 및 하이브리드 환경 등 다양한네트워크 설계가 가능해졌습니다.

Page 52: 20150115 AWS BlackBelt - Amazon VPC (Korea)

Appendix

• 참고 자료– Amazon VPC Documents

http://aws.amazon.com/ko/documentation/vpc/

– Amazon VPChttp://aws.amazon.com/ko/vpc/

– Amazon VPC FAQhttp://aws.amazon.com/ko/vpc/faqs/

Page 53: 20150115 AWS BlackBelt - Amazon VPC (Korea)

감사합니다.