4. AWS의 다양한 서비스
응용 프로그램
스토리지
EBS, S3, Glacier, Storage Gateway
컨텐츠 전송(CDN)
CloudFront
네트워킹
VPC, Route 53, Direct Connect
인증 및
로그
IAM,
CloudTrail,
CloudHSM
모니터링
Cloud
Watch
Web 관리 콘솔
Management
Console
배포 및 자동화
Elastic Beanstalk,
Cloud Formation,
OpsWorks
명령줄 도구
CLI
라이브러리 & SDKs
Java, 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
5. 왜 VPC가 필요한가?
• 높은 보안성을 위해 다양한 네트워크가 필요하다!
• 기존에 사용하던 네트워크 구조를 클라우드에서도 그대로 사용하고
싶다!
• 세분화된 접근 제어를 하고 싶다!
• Local IP Address 를 고정하고 싶다!
• 1대의 EC2 인스턴스에 여러개의 IP 주소 또는 여러개의 네트워크
인터페이스를 할당하고 싶다!
• 신용카드 결재 또는 의료 데이터 관련 서비스등 보안 규정 적용이
필요하다!
・・・・・등등등등!
6. 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
7. Amazon VPC
• AWS에 사설 네트워크를 구축
– 회사와 AWS 간 VPN 을 연결
– 가상 네트워킹
• 기존 데이터센터와의 연결을 통해 하이브리드 구성
– AWS를 회사 인프라의 일부처럼 사용
내부 시스템 소프트웨어의 연동이 매우 쉬워짐
예) 메일, 그룹웨어와 같은 업무 시스템, 파일 서버 등
• 세심한 네트워크 설정이 가능
• 모든 리전에서 이용 가능
8. AWS에 사설 네트워크를 생성, 기존 인프라와 연결
AWS region
EC2
VPC인트라넷
사설 서브넷
(private subnet)
공인 서브넷
(public subnet)
Internet
VPC 내에서
서브넷을 생성
VPN연결
전용선
인터넷
게이트웨
이
VPN
DX
9. 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 전용선
10. 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 사용자
11. 나는 default VPC 사용자인가?
• EC2 대시보드의 우측 상단 ”Account Attributes”에서 확인 가능
Non-Default VPC
Default VPC
12. 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
14. 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)
15. VPC CIDR, Subnet
Subnet: 10.0.1.0/24
VPC 10.0.0.0/16
Web
Server
Web
Server
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 를 일단 생성한 후에는 크기와 주소 변경이 불가능 하므로 주의!
16. Route Table
• 각 Subnet은 Route Table 을 가지고 있다. 이 설정을
변경하여 네트워크의 통신 경로를 제어 가능 。
Public Subnet의 Route Table
Private Subnet의 Route Table
IGW(Internet Gateway)에
대한 경로가 존재하므로
인터넷 연결이 가능
17. Route Table과 Internet Gateway
Public Subnet
VPC 10.0.0.0/16
Web
Server
Private Subnet
Web
Server
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
경로가 없으므로
인터넷 연결이 불가능
Internet
Gateway
Internet
OK
OK
NG
18. 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를 제공
19. NAT
Public Subnet
VPC 10.0.0.0/16
Web
Server
Private Subnet
Web
Server
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
경로가 없으므로
인터넷 연결이 불가능 。
Internet
Gateway
Internet
NAT
OK NG
20. VPC Security Group과 NACL(Network Access
Control List)
Instance 레벨
에서 In/Out
접근 제어
Subnet
레벨에서
In/Out 접근
제어
22. NACL(Network Access Control)
• 개별 Subnet 별로 접근 제어가 가능
• Inbound, Outbound 트래픽에 대해 아래와 같은 제어가 가능
– Inbound
• Port range(포트 번호, 범위)
• Source(접근 IP 주소)
• Allow/Deny
– Outbound
• Port range(포트 번호, 범위)
• Destination(대상 IP 주소)
• Allow/Deny
23. 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로 하지 않으면 적용되지 않는다.
24. EC2 Dedicated Instance
고객A
EC2 서버
일반 EC2
고객B 고객C
고객A
EC2 서버
고객B 고객C
Dedicated Instance
• VPC 에서 single tenant 보장
• 보안 규정상 필요한 경우에 적용
할 수 있는 기능
• 클라우드의 장점을 그대로 사용
• 종량 과금
• 유연한 확장성
• 필요할때 즉시 사용
25. Elastic Network Interfaces
• VPC에서 다수의 네트워크 인터페이스를 사용할 수 있는 기능
• ENI에는 다음의 리소스를 연결/할당 가능
– Private IP
– Elastic IP
– MAC 주소
– 보안 그룹 (Security Groups)
• 인스턴스에 따라 할당 가능한 갯수가 다르다.
28. 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/>
29. 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
30. Public subnet + Private subnet + VPN GW
Public Subnet
VPC 10.0.0.0/16
Web
Server
Private Subnet
Web
Server
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
31. [복습] 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)
33. VPC Peering
• 다수의 VPC를 서로 Peering 할 수 있는 기능
• 따라서 편리하게 VPC간 연결을 구성하여 Private IP 를
사용한 통신이 가능
• 동일한 AWS 계정 내에서의 VPC 연결뿐만 아니라, 다른
AWS 계정의 VPC를 연결하는 것도 가능
34. VPC Peering 설정 방법
VPC 10.0.0.0/16
Web
Server
Destination Target
10.0.0.0/16 Local
VPC 11.0.0.0/16
Web
Server
Destination Target
11.0.0.0/16 Local
35. VPC Peering 설정 방법 – Step1
- Peering Connection 을 생성
① VPC
페이지에서 ”Peering
Connections” 을 선택
② “Create VPC Peering
Connection”을 클릭
36. VPC Peering 설정 방법 – Step1
- Peering Connection 을 생성
③ Peering을 원하는
VPC 선택
④ 상대방측의 VPC를 선택.
동일한 AWS 계정외에도 다른
계정도 선택 가능
동일한 계정의 VPC를 선택
“My account”를 선택, Peering 대상 VPC선택
다른 계정의 VPC를 선택
“Another account”를 선택하여 Account ID 와
VPC ID를 입력
37. VPC Peering 설정 방법 – Step1
- Peering Connection 을 생성
xxxxxxxxxxxxxx
⑤ Peering Connection생성이
정상적으로 완료되면 관련
정보가 표시되며 승인 대기 상태
Console에 Status가 Pending 상태 항목이 표시
38. VPC Peering 설정 방법 – Step1
- Peering Connection 을 생성
선택한 2개 VPC의 IP 범위가 중복되는 경우
• 동일 계정에서는 다음과 같은 오류로 연결 불가능
• 다른 계정의 VPC와 IP 범위가 중복되는 경우, 아래와 같은 상태
표시와 함께 peering 생성이 불가능
39. VPC Peering 설정 방법 – Step1
- Peering Connection 을 생성
⑥ 새로운 Peering Connection
항목의 “Accept request”를
클릭하면 설정이 완료
※ 다른 계정의 경우, 새로운 Peering Connection 항목이
표시될때까지 수분 정도 시간이 필요할 수 있으므로 기다린다.
40. VPC Peering 설정 방법 – Step1
- Peering Connection 을 생성
VPC 10.0.0.0/16
Web
Server
Destination Target
10.0.0.0/16 Local
Destination Target
11.0.0.0/16 Local
VPC 11.0.0.0/16
Web
Server
pcx-12345
41. VPC Peering 설정 방법 – Step2
- Route Table의 설정
• Route Table 을 설정한다. 설정 방법은 기존과 동일
• Destination의 CIDR을 Target Peering Connection의
ID, ”pcx-XXXXXXX” 로 매핑
• 다른쪽의 VPC에서도 동일한 방법으로 Route Table 을 설정
42. VPC Peering 설정 방법 – Step2
- Route Table의 설정
VPC 10.0.0.0/16
Web
Server
Destination Target
10.0.0.0/16 Local
11.0.0.0/16 pcx-12345
VPC 11.0.0.0/16
Web
Server
Pcx-12345
Destination Target
11.0.0.0/16 Local
10.0.0.0/16 pcx-12345
43. VPC Peering 구성 예
• 구성 예제는 아래 링크의 문서를 참조
http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/peering-scenarios.html
44. 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
47. Public IP 할당
• EC2를 시작할때 Public IP 할당 여부 선택
Elastic IP 를 사용하지 않고도
Global IP 를 사용 할 수 있는 방법
단, IP의 고정이 필요한 경우라면
반드시 Elastic IP 를 사용
48. 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
49. VPC Limits의 확인 (support 를 통해 변경 가능)
• 일부 리소스의 limit 이 일부 증가
– http://docs.aws.amazon.com/AmazonV
PC/latest/UserGuide/VPC_Appendix_Lim
its.html
• 필요에 따라 limit 변경 요청이
가능
– http://aws.amazon.com/ko/contact-
us/vpc-request/
• 문의 사항은 AWS 지원 및
담당자에게 문의하십시오.
50. VPC 가격 정보
• VPC 사용은 무료!!!
• VPC Peering Connection 역시 무료!!
• VPN Connection을 사용하면 VPN
연결 당 1시간 과금이 $0.05/VPN
51. 정리
• VPC Peering이 출시되어 사용이 더욱 편리해졌습니다. VPC는
AWS 를 사용하는데 필수적입니다!!
• Security Group과 NACL, Routing Table 등 VPC 의 각종 기능을
이용하면 AWS에 매우 안전한 네트워크 환경 구성이 가능합니다!
• VPN 연결이나 Direct Connect(DX), Peering Connection을
이용하여 다수의 AWS 계정간 연결 및 하이브리드 환경 등 다양한
네트워크 설계가 가능해졌습니다.
52. Appendix
• 참고 자료
– Amazon VPC Documents
http://aws.amazon.com/ko/documentation/vpc/
– Amazon VPC
http://aws.amazon.com/ko/vpc/
– Amazon VPC FAQ
http://aws.amazon.com/ko/vpc/faqs/