진짜 개발자
본문 바로가기

AWS/Networking & CDN

AWS - 실습) EC2, VPC 생성

728x90

1. 시나리오

네트워크(VPC)

1) 2개의 Public Subnet

2) 2개의 Private Subnet 


인스턴스(EC2)

1) NAT Server (VPC 설정중 생성됨)

2) Web Server



2. VPC

1) 리전 선택

리전을 선택하기전 내가 서비스하고자 하는 어플이 필요한 서비스들을 찾고 그 서비스들이 해당 리전에서 제공하는지를 먼저 파악해야한다


2) VPC 만들기

VPC 서비스를 찾기위해 탐색창에 VPC를 입력하고 VPC를 선택한다


VPC 만들기를 선택한다(VPC Create)



Public , Private Subnet이 있는 VPC를 선택한다

Public Subnet : 인터넷을 엑세스하기 위한 IP를 사용

Private Subnet : 내부의 인스턴스들이 통신하기 위해 사용하며 NAT을 이용하면 인터넷 엑세스 가능


VPC 

1. IPv4 CIDR Block : VPC에서 사용될 네트워크 대역

2. VPC name : VPC의 이름


Public Subnet

3. Public Subnet's IPv4 CIDR : Public Subnet에서 사용될 네트워크 대역

4. Availabiliy Zone : Public Subnet에 해당하는 인스턴스들이 설치될 AZ

5. Public Subnet Name : Public Subnet의 이름


Private Subnet 

6. Private Subnet's IPv4 CIDR : Private Subnet에서 사용될 네트워크 대역

7. Availability Zone : Private Subnet에 해당하는 인스턴스들이 설치될 AZ

8. Private Subnet Name : Private Subnet의 이름


NAT - Private Subnet 대역의 외부와의 통신을 위한 설정

9. 우측의 Use Instance instead Nat GateWay 를 눌러서 NatGateway를 만드는 대신 NAT서비스가 

    제공되는 인스턴스를 생성한다



3) 서브넷 추가하기

현재 우리가 구성할 인프라의 Private Subnet 1과 Public Subnet 1 만이 구축 됬으므로

Private Subnet 2 와 Public Subnet 2를 구축하기위해 좌측의 Subnets 탭을 선택한다


Create Subnet을 눌러 Subnet을 추가한다


Name tag : Public Subnet 2

VPC : 만들 Subnet이 속할 VPC를 선택한다 우리는 앞서 만든 VPC를 선택한다

VPC CIDRs : 선택한 VPC의 네트워크 대역을 보여준다

Availability Zone : 2번째 AZ를 선택하여 1번째 AZ에 재해가 일어나더라도 독립적으로 실행 되도록 한다

IPv4 CIDR block : 우리가 구성할 인프라에서 Public Subnet 2의 네트워크 대역은 10.0.2.0/24 이다


마찬가지로 create subnet을 눌러 Private Subnet 2를 추가한다


4) Route Tables 추가하기

- Route Tables를 설정하여 논리적 네트워크 구성을 설정한다

좌측의 Route Tables를 선택한다


Main : YES , VPC : My VPC TEST를 확인하고 그것의 이름을 Private Route Table로 설정한다


Private Route Table 로 사용하기 위해 방금 이름을 변경한 Private Route Table을 선택한다음

Routes 탭에서 

 Destination : 0.0.0.0/0

 Target : XXX-XXXXXXXXXX / i -XXXXXXXXXXX 이 추가되어있는 것을 확인한다 

 (XXX-XXXXXXXXXX / i -XXXXXXXXXXX 는 NAT서비스가 동작하고 있는 인스턴스이다)

=> 이것은 Private Subnet들이 외부인터넷을 이용하려 할때 NAT인스턴스로 라우팅을 시킬때 사용된다


Private Route Table을 선택하고 Subnet Assocications탭을 선택한뒤 Edit을 누른다


Private Subnet 1,2를 선택한뒤 Save를 누른다


Main : NO , VPC : My VPC TEST 를 Public Route Table 로 사용하기 위해 Public Route Table로 명명


Public Route Table 을 선택한뒤 Routes탭의 

Destination : 0.0.0.0/0

Target : igw-02a0d9c79c1863dba 가 추가된것을 확인한다

=> Public Subnet에서 외부 통신용으로 사용된다



Public Route Table을 선택한뒤 Subnet Associations 탭의 Edit을 선택한다


Public Subnet 1,2를 선택하고 Save를 누른다


5) Security Group 추가하기

 보안그룹을 추가하기위해 좌측의 Security Groups를 선택한뒤 Create Security Group를 누른다


웹서버를 위한 Security Group을 생성한다

Security Group Name : WebSecurityGroup

VPC : 이전에 만든 My VPC TEST


만들어진 WebSecurityGroup를 선택하고 서버쪽으로 들어오는 패킷에대한 규칙을 정하기위해 Inbound 

Rules를 선택한뒤 Edit rules를 선택한다


Type : HTTP

Protocol : TCP

Port Range : 80 

Source : Custom , 0.0.0.0/0 


3. EC2

1) EC2 인스턴스 생성하기

인스턴스를 생성하기 위해 EC2서비스를 선택한다


Launch Instance를 눌러 인스턴스 생성을 시작한다


Step1은 AMI를 선택하는 것이다

Amzon Machine Image란 하드웨어가 적절히 구성되고 운영체제가 설치된 것을 이미지로 만든것을 말함

Amazon Linux 2 AMI를 선택한다


Instance 타입은 t2.micro로 한다


Instance에 대한 상세적인 환경 설정이다

Network : 이전에 만든 My VPC TEST를 선택

Subnet : Public Subnet 2를 선택한다

Auto-assign Public IP : Enable


next:add Tags 를 선택한다


Add Tag를 누른다


Key : Name

Value : Web Server 1


2) 인스턴스 보안그룹 추가하기

- 인스턴스에 대한 방화벽을 미리 구성해놓은 Security Group을 통해 설정한다

Select an existing security group을 선택하여 미리 구성한 Security Group을 이용한다

Name : WebSecurityGroup을 선택하고 HTTP에 대한 방화벽이 허용되어있음을 확인한다.



보안그룹을 선택한뒤 다음을 누르면 다음과같은 경고 메시지가 나타나는데 인스턴스 관리를 위해 접근하기위한 SSH 포트에 대한 방화벽이 설정되어 있지 않아서 나타나는 메시지이다 우리는 테스팅을 위한 

용도이므로 굳이 SSH포트를 열 필요가 없다


우리가 설정한 인스턴스를 한눈에 보여준다


키페어를 선택하고 동의를 체크하고 Launch Instances를 선택한다


3) 인스턴스 작동확인

인스턴스가 생성된 뒤에는 pending 상태에 있다가 수분이 지나야 running상태가 된다


수분이 지난뒤 F5를 눌러 웹페이지를 새로고침하면 만든 인스턴스가 running 상태가 되었음을 볼 수 있다


웹서버 테스트를위해 해당 인스턴스를 클릭하고 Description 탭을 클릭한뒤 

웹서버에 접근하기위한 Public DNS를 복사한다


해당 주소를 웹브라우저에 붙혀넣고 Enter를 누르면 다음과같은 화면이 나타난다


4. Putty를 이용하여 EC2 연결하기

- http://galid1.tistory.com/344