Building Your First Amazon VPC V3.5 2016.10
Index 01. Overview 02. Create the base VPC 03. Launch EC2 instances 04. Manually create public & private subnet 05. Launch a bastion windows host 06. Connect to the SQL Server via Bastion
Overview 이과정은 qwiklabs 를통해다음과같은내용을실습하고이해하는것을목적으로합 니다. 1. Amazon Web Service Cloud 를사용하여가상의데 이터센터구축하기 2. 인터넷엑세스가능한 Public Subnet 과, 외부로부터 격리된 Private Subnet 을각각구성하고차이점이해 3. OS 를직접설치할필요가없는쉽고빠른서버구축 4. Bastion 서버를경유하여 Public Subnet 에위치한 Database Server 접속하기 3
Create the base VPC VPC Dashboard 에서 Start VPC Wizard 를클릭하시면다음과같은메뉴를만나실수 있습니다. 우리는여기서두번째항목 [VPC with Public and Private Subnets] 를사용 할것입니다. 1. 단일 Public Subnet 단순구성 2. Public/Private Subnet 분리 3. 위 2 번항목 + VPN 4. Public Subnet + VPN (No Internet Access) 4
Create the base VPC VPC 설정예제입니다. 아래와같은구성이되도록, Public과 Private Subnet을모두 AZ-A 로선택합니다. VPC및 Subnet의 IP대역은모두 Private IP이므로, 인터넷공인 IP대역과겹치지않는 10.x.x.x, 172.16.x.x, 192.168.x.x 등을사용하시기를권장합니다. 5
Create the base VPC VPC 생성이완료되면새로생성된것들을확인합니다. Outbound Traffic Flow 3 4 4 Public Route Table 0.0.0.0/0 -> IGW Private Route Table 0.0.0.0/0 -> NAT 5 2 1. VPC 1 개 2. Subnets Private/Public Subnet 총 2 개 2 3. Internet Gateway 1 개 1 4. Route Tables - Private/Public 총 2 개 5. NAT instance (with Elastic IP) 6
Launch EC2 instances 이번에는 Web 서버와 MSSQL 데이터베이스서버를설치해보겠습니다. 7
Launch EC2 instances Launch Instance 초기화면입니다. OS 를직접설치할필요없이이미설치된 OS 의이 미지를선택하여곧바로서버를구동할수있습니다. 아마존에서사용할수있는서버의 이미지를 Amazon Machine Image (AMI) 라합니다. 본 Lab 에서는 Quick Start 에서 찾을수있는 Amazon Linux 와 Windows 의이미지를사용합니다. 1. Quick Start 마켓의 AMI 중주로사용되는 OS 이미지 들이표시됩니다. 1. My AMIs 본인이만든 AMI 를사용할수있습니다. 2. AWS Marketplace - 아마존에서공식배포하는이미지, 또는인증된업체들의상품을조회할수있습니다. 3. Community AMIs 유저들간의공유이미지로, 사용시 발생하는문제에대해서는아마존에서책임지지않습니다. 8
Launch EC2 instances Instance 의 Type 은서버의사양을기준으로분류되어있으므로, 용도에알맞은사양을 선택합니다. 9
Launch EC2 instances Web 서버 Detail 설정예 Web Security Group 설정예 10
Launch EC2 instances Web 서버 Detail 설정예 Web Security Group 설정예 11
Manually create public & private subnet 이번에는 AZ-B 에 Public/Private 서브넷을각각 1 개씩추가해보겠습니다. Availability Zone 을 us-west-2b 로선택합니다. 12
Manually create public & private subnet Public Subnet 2와 Private Subnet 2가각각추가되었습니다. 하지만아직두 Subnet의역할에는차이가없습니다. 둘다 Internet Gateway로 Route하지않고있거든요. 그럼이번에는 Route Table을한번살펴보겠습니다. 13
Manually create public & private subnet 10.0.0.0/16 VPC에속한 2개의 Route Table을확인할수있습니다. 아래쪽의 Route Tab을클릭하여, 0.0.0.0/0 의 Route 경로를확인합니다. 0.0.0.0/0이 igw-xxxxxxxx 로향하고있다면, 이것은인터넷으로바로연결되는 Public Route Table입니다. 혼동하지않도록 Tag Tab으로가서, Name Tag에이름을붙여줍시다. 14
Manually create public & private subnet 나머지하나는 0.0.0.0/0 이 eni-xxxx( 네트워크인터페이스 )/i-xxx(ec2) 로향하고있습 니다. NAT 를가리키고있는것으로, Private Route Table 로볼수있겠습니다. 마찬가지 로, Name Tag 를붙여줍니다. Public Route Table 0.0.0.0/0 -> IGW Private Route Table 0.0.0.0/0 -> NAT 15
Manually create public & private subnet Public Route Table을사용하는 Subnet 목록입니다. Public subnet 1개만등록되어있네요. Public Subnet 2 도 Edit를통해추가해주어야진정한 Public Subnet이됩니다. Route Table이할당되지않은나머지 Subnet들은모두 Main으로등록된 Private Route Table을바라보고있습니다. 16
Launch a bastion windows host 서비스에필요한 Web과 DB서버가모두구축되었습니다. 하지만 DB서버가 Private Subnet 안에있어, 외부에서접속을할수가없네요. 관리자가 Private Subnet에접속하기위해서는 VPC내에접속가능한서버를거쳐서가야합니다. 이런용도로사용되는서버인스턴스를 Bastion 또는 Jump host라고부릅니다. 17
Launch a bastion windows host ElasticIP 를부여하기위해 Public IP 자동할당은체크하지않았습니다. Elastic IP : 고정 IP Auto-assign Public IP : 유동 IP ( 인스턴스 Stop 시소멸 ) Bastion 서버 Details 설정예 Bastion Security Group 설정예 18
Launch a bastion windows host Allocate New Address 로새로할당받은 ElasticIP 를 Bastion EC2 에 Associate 합니다. ( 참고 ) IP 는한정된자원이기때문에, 발급만받고 사용하지않는 Elastic IP 에는요금이부과됩니다. 19
Connect to the SQL Server via Bastion 보안을위해, Bastion 서버에서만 SQL 서버로 RDP 접속할수있도록, SQL Security Group 을수정합니다. IP 대역뿐아니라, 특정 Security Group 을대상으로도허용설정 할수있습니다. 20
Connect to the SQL Server via Bastion Windows Instance를생성하면 Administrator 계정의 Password가 Random으로할당됩니다. Instances - Actions 메뉴의 Get Windows Password를사용하면, 해당 Instance의 Key Pair를입력하여 Administrator 암호를알아낼수있습니다. 21
Connect to the SQL Server via Bastion 주의사항 : Administrator 계정접속후, 해당계정의비밀번호를직접변경할수도있 습니다. 하지만 Administrator 암호를변경하고분실하면, Key Pair 를사용해도찾을수 없기때문에, 주의를요합니다. mstsc 등의 Remote Desktop 프로그램을사용하여, Bastion Server 에할당한 Elastic IP 로접속합니다. Bastion 서버내에서다시한번 mstsc 를수행합니다. 이때접속할대상 IP 는 SQL 서버의 Private IP 인 10.0.1.99 입니다. 22
Connect to the SQL Server via Bastion 여기까지잘수행하셨다면, 아래와같은네트워크구성의가상데이터센터가구축된것 입니다. 수고많으셨습니다. Web Service Remote Control Outbound Traffic From Private Subnet 23
Thank You.