VPC Create
AWS 클라우드에서 논리적으로 격리된 공간을 생성합니다.
Task1. VPC 생성하기
AWS Management Console의 서비스 찾기에서 “VPC”를 검색하고 선택합니다.

VPCs를 선택합니다.

1-1 VPC 만들기
[Create VPC]를 클릭하여 VPC를 생성합니다.

Name tag - "IMD-VPC" 입력
IPv4 CIDR block - " 10.1.0.0/16
Tags - Key: Name , Value: IMD-VPC

생성된 VPC 정보를 확인합니다.

DNS 호스트 이름을 활성화 합니다.
[Actions] > [Edit DNS hostnames] 클릭

DNS hostnames Enable 체크

Task2. Public 및 Private subnet 생성하기
2-1 subnet 만들기
좌측 VPC 메뉴의 Subnets에서 [Create subnet] 을 클릭합니다.

아래 정보로 총 4개의 Subnet을 생성합니다.
VPC ID - 1-2에서 생성한 VPC, "IMD-VPC", 선택
Subnet name - Subnet 이름 입력
Availability zone - Subnet 이 위치할 가용 영역 선택
IPv4 CIDR block - Subnet에서 사용할 IP 대역을 지정
Tags - Key: Name , Value: Subnet 입력
서브넷 Name tag
Available Zone(가용영역)
IPv4 CIDR Block
IMD-PUBLIC-A
ap-northeast-2a
10.1.1.0/24
IMD-PUBLIC-C
ap-northeast-2c
10.1.2.0/24
IMD-PRIVATE-A
ap-northeast-2a
10.1.11.0/24
IMD-PRIVATE-C
ap-northeast-2c
10.1.12.0/24


생성된 4개의 Subnet 정보를 확인합니다.

Task3. Routing Table 생성하기
3-1 Routing Table 만들기
좌측 VPC 메뉴의 Routing Tables에서 [Create routing table] 을 클릭합니다.

Public Routing Table(RT)와 Private RT, 총 2개의 Routing Table를 생성합니다.
Name tag - "PUBLIC-RT" 입력
VPC - 1-2에서 생성한 VPC, "IMD-VPC", 선택

"PRIVATE-RT" 도 생성합니다.
각 Routing Table에 Subnet을 연결(Association) 합니다.
Routing Table 선택
Subent Associations > [Edit subnet associations] 클릭
Routing Table Name tag
Associated Subnet
PUBLIC-RT
IMD-PUBLIC-A , IMD-PUBLIC-C
PRIVATE-RT
IMD-PRIVATE-A , IMD-PRIVATE-C


Task4. Gateway 생성하기
4-1 Internet Gateway 만들기
좌측 VPC 메뉴의 Internet Gateway에서 [Create Internet Gateway]을 클릭합니다.
Name tag - "IMD-IGW" 입력
Tags - Key: Name , Value: IMD-IGW

생성된 Internet Gateway를 선택하여 VPC에 연결합니다.
"IMD-IGW" 선택
[Actions] > [Attach to VPC] 선택

4-2 NAT Gateway 만들기
좌측 VPC 메뉴의 NAT Gateway에서 [Create NAT Gateway]을 클릭합니다.
Name - "IMD-NATGW" 입력
Subnet - IMD-PUBLIC-C 를 선택
Elastic IP allocation ID - [Allocate Elastic IP] 를 클릭하여 자동 생성
Tags - Key: Name , Value: IMD-NATGW

NAT Gateway가 생성이 완료되었는지 확인합니다. (약 4분 정도 소요됩니다.)

4-3 Routing Table 업데이트
생성된 Internet Gateway와 NAT Gateway로 트래픽 경로를 설정합니다. 좌측 VPC 메뉴의 Route Tables 에서 수정할 Routing Table을 선택합니다.

PUBLIC-RT에는 외부 인터넷 연결을 위한 Internet Gateway 경로를 추가합니다.
Destination - 0.0.0.0
Target - igw-xxxxxxxxxxxxxxxx

PRIVATE-RT에는 외부 인터넷으로 향하는 NAT Gateway 경로를 추가합니다.
Destination - 0.0.0.0
Target - nat-xxxxxxxxxxxxxxxx

Task5 EC2 Instance 생성하기
AWS Management Console의 서비스 찾기에서 “EC2”를 검색하고 선택합니다.

5-1 Key Pair 생성
좌측 EC2 메뉴의 Key Pairs에서 [Create key pair]을 클릭합니다.

Amazon EC2 접속 시, 프라이빗 키와 퍼블릭 키로 구성된 키 페어를 사용하여 접속을 합니다. Amazon EC2에는 프라이빗 키의 사본이 보관되지 않으므로, 프라이빗 키를 분실하면 이를 복구할 방법이 전혀 없으므로, 보관에 유의해야 합니다.
참고 링크 : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-key-pairs.html
Name - "IMD-PUB-PPK" 입력
File format - ppk

[Create key pair] 클릭 시, 팝업 창이 뜨면, 생성한 key 파일을 저장합니다.
Key 파일은 생성 시, 최초 1회만 다운로드 할 수 있습니다.
5-2 EC2 Instance 만들기
좌측 EC2 메뉴의 Instances에서 [Launch Instances] 을 클릭합니다.
AMI(Amazon Machine Image) - Amazon Linux 2 AMI, SSD Volume type 64-bit (x86) 선택

Instance type - t2.micro

Instance 세부 정보를 기입합니다.
세부 정보
값
Number of Instance
1
Network
IMD-VPC
Subnet
IMD-PUBLIC-A
Auto-assign Public IP
Enable
Monitoring
Enable CloudWatch
Networking Interfaces > Primary IP
10.1.1.101



Advanced Details > User data 에 아래 사용자 데이터 값을 복사하여 입력합니다.
#!/bin/sh
sudo yum -y update
sudo yum -y install yum-utils
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install iotop iperf3 iptraf tcpdump git bash-completion
sudo yum -y install httpd php mysql php-mysql
sudo yum -y install python-pip
sudo yum -y install nethogs iftop lnav nmon tmux wireshark vsftpd ftp
sudo systemctl start httpd
sudo systemctl enable httpd
cd /var/www/html/
sudo git clone https://github.com/whchoi98/ec2meta-webpage.git
sudo systemctl restart httpd
exit

[Next: Add Storage] 클릭하여 스토리지(EBS)를 정의합니다.
Volume type - General Purpose SSD (gp3) 로 변경

[Next: Add Tags] 클릭합니다.
Tags - Key: Name , Value: PUBLIC-EC2-A01

[Next: Configure Security Group] 클릭하여 새로운 Security Group(보안그룹)을 생성합니다.
Create a new security group
Name : "IMD-PUB-SG" 입력
Description : Security Group for IMD-PUBLIC 입력

Type
Source
SSH
Anywhere
All ICMP - IP
Anywhere
HTTP
Anywhere
HTTPS
Anywhere
[Review and Launch] 를 클릭하여 입력된 정보를 검토 후 [Launch] 를 클릭합니다.
Key pari 선택에 대한 팝업창이 뜨며, 5-1에서 생성한 Key pair, "IMD-PUB-PPK", 를 선택합니다.

[Launch Instances] 를 클릭하면, 최종적으로 EC2 Instance가 생성됩니다.
위 과정을 반복하여, "IMD-PUBLIC-C" 가용영역에 EC2 Instance를 한개 더 추가합니다.
세부 정보
값
Number of Instance
1
Network
IMD-VPC
Subnet
IMD-PUBLIC-C
Auto-assign Public IP
Enable
Monitoring
Enable CloudWatch detailed monitoring
Advanced Details > User data
사용자 데이터 값
Private IP
10.1.2.101
Add Tag
Key : Name , Value : PUBLIC-EC2-C01
Security Group
Select an existing S.G : IMD-PUB-SG
5-3 Instance 에 접속하기
Window 사용자의 경우 로컬 PC에 Putty를 다운로드 및 설치합니다. Mac/Linux 사용자의 경우 내장되어 있는 Open SSH Client(Terminal)을 사용합니다.
Putty Client 프로그램을 통해 접속하도록 설정합니다.
SSH > Auth - "Allow agent forwarding"을 활성화 , Browse를 클릭하여 저장한 key 파일을 선택
Session - Host name : ec2-user@public ip
Served Sessions - "EC2 Tag name" 입력 후 Save

Open을 선택하여 instance에 정상적으로 접속 되는지 확인합니다.

5-4 EC2 Instance Meta 정보 확인
명령어를 통해 "Index.php"파일이 설치되어 있는지 확인합니다.
ls /var/www/html/ec2meta-webpage/
로컬 브라우저에서 URL로 접속하여 EC2 instance Meta 정보를 확인합니다.
<Public IP>/ec2meta-webpage/index.php

VPC Lab을 성공적으로 완료하였습니다.
Last updated
Was this helpful?