Cloud Solution Architect/AWS

AWS - AMI, VPC, Route53

YunHyeong 2023. 4. 13. 17:50

0. 결제 대시보드 확인

1. 결제 대시보드 -> Free tier

AWS Data Transfer 부분이 실무에서는 많은 요금이 부과될 수 있음

 

 

1. AMI(Amazon Machine Image; )

1.1 이미지 생성 

- 이미지 생성 -> Root Volume을 Snap shot으로 찍은 다음에 Snap shot을 이미지 Volume으로 생성

 

 

 

 

 

- 재부팅안함 -> 이미지를 활용해서 EC2를 만드는 순간 재부팅 여부, 재부팅을 해야 필요한 프로그램이 설치되는 경우

- 태그(식별자) 값 추가

- 이미지 목록과 스냅샷에서 생성된 항목들 확인

- AMI를 가지고 인스턴스 실행

 

- 이미지를 내 AMI 항목에서 직전에 생성한 이미지로 설정

- 인스턴스 유형을 변경할 수 있다

- 다른 서버를 2a에 만들었기 때문에 습관적으로 2c에 생성

- base image : httpd 설치하고 html 수정함(web01과 똑같이 나옴) - 자원이 web01과 같기 때문에

 

1.2. 시작 Template(형,틀) 생성

* 템플릿 : 내가 만들 EC2를 조건에 맞게 미리 셋팅해 놓는것-> 인스턴스 시작 효율화, 간소화 및 표준화

* EC2를 빠르게 만들기 위한 장치

* 설정할 항목을 미리 선택해 놓는 것

* 어떠한 항목은 "시작 템플릿에 포함하지 않음"을 선택할 필요가 있다 - default 값이 아닐 수 있기 때문에

* 버전 관리가 가능하다

* 과거의 "시작 구성"은 버전 관리가 안됐다

* 추후의 Auto Scaling에서 사용 예정 

- 왼족 탭에서 시작 템플릭을 선택하고 Create launch template 버튼 누르기

 

- 템플릿 이름과 미리 만들어 놓은 ami 이미지를 활용한다

- 인스턴스 유형과 키페어는 EC2를 선택

- 서브넷의 가용영역을 템플릿을 사용할 가용영역에 맞춰준다

- web서버 템플릿이기 때문에 보안그룹을 web을로 설정한다

- root 스토리지(/dev/xvda) 설정

- 태그의 키와 값을 명시해준다

 

- 탬플릿 완성 확인

.

- 대시보드나 인스턴스 페이지에서 템플릿으로 인스턴스 시작을 누른다

- 사용할 템플릿을 선택하면 밑에 설정이 자동으로 완성되는 것을 볼 수 있다.

 

2. AWS 네트워크 서비스(VPC; Virtual Private Cloud)

 

2.1. VPC 서비스 확인

* isolated(격리된) 네트워크의 필요성을 느꼈다. 즉,  Public이 아닌 Private network 구성을 위해 VPC 서비스가 등장.

- 검색 창에 VPC를 검색해서 서비스 화면으로 이동한다

- 왼쪽 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트 웨이는 무료 ; 나만의 VPC를 만든다

- VPC : 전체 네트워크를 의마하는 Ip 범위를 지정

- 서브넷 : 전체 네트워크를 쪼개서 가용영역을 나눈다

- 인터넷 게이트웨이 : 라우터 역할을 함; 길을 물었을 때 알려주는 역할

- 기본 VPC는 앞에 이름이 없음

 

- 기본 VPC는 전세계에 있는 모든 리전에 다 다른 VPC ID를 가지고 있지만 같은 네트워크 주소범위(172.31.0.0/16)를 가지고 있음

- 서브넷은 총 4개로 각각의 가용영역을 나타낸다

 

- 라우터 역할을 하는 인터넷 게이트웨이에도 같은 VPC(네트워크 대역대)가 연결되어 있다

-  hop : 라우터와 라우터의 사이

- 172.31.0.0/16 : 목적지 (내부 네트워크)

- VPC 내부에 있는 모든 주소들이 통신되게 함

- webserver의 주소를 확인해서 ping test 진행

- icmp 설정이 필요함( 강의장 IP(106.~)로 설정되어 있어서 처음에는 ping이 안감)

- web 보안그룹에서 icmp 규칙의 inbound를 172.31.0.0/16으로 추가한다

 

- 외부통신도 가능해야함 (yum install 실행을 위해)

- 172.31.0.0./16의 next Hop을 0.0.0.0으로 설정 -> 외부와 연결; 내부 IP 주소를 벗어난 모든 IP는 0.0.0.0으로 향함

- 결국 정적 라우팅(static routing) -> 라우팅 테이블에 넣어준다

 

2.2. VPC 만들기

1. vpc 생성(dhcp + RTB 생성 + 네트워크 ACL;방화벽기능;nacl + default sg) // NAT역할도 함, nacl(보안그룹과 유사함)
2. 서브넷 생성
3. 인터넷 게이트웨이 생성(new-igw)
4. 라우팅 테이블 설정

- VPC의 이름과 IPv4 대역대를 설정해준다.

- VPC 생성 후 각각의 서브넷 대역을 확인한다

new-vpc : 10.17.0.0/16 -> 전체 네트워크 범위
new-public-subnet-2a -> 10.17.0.0/20
new-public-subnet-2b -> 10.17.16.0/20
new-public-subnet-2c -> 10.17.32.0/20
new-public-subnet-2d -> 10.17.48.0/20

- 서브넷 생성에서는 방금 생성한 vpc를 선택하고 서브넷 이름과 리전 대역을 차례로 넣어준다. 

- 그리고 새 서브넷 추가 버튼을 눌러 총 4개의 서브넷을 순서대로 넣어준다.

- 라우터 역할을 하는 인터넷 게이트웨이는 간단하게 이름과, 태그 설정으로 만들 수 있다.

- 인터넷 게이트웨이 생성 후 바로 VPC 연결을 해주는게 좋다

- 외부의 네트워크와 연결할 수 있도록 라우터 셋팅이 필요하다

- 0.0.0.0/0은 10.17.0.0/16인 내부 네트워크와 별개로 외부의 IP들과 연결이 가능하다.

 

* VPC Diagram

 

3. Route 53( 확장 가능한 DNS 및 도메인 이름 등록); 53은 포트 번호; 라우팅 기능이 있음

* 글로벌 영역에서 생성된다. 어디서든 이용될 수 있다

* 한 리전에 국한되지 않고 전세계를 대상으로 서비스를 구축한다

* 도메인 등록 : 도메인을 구매할 수 있는 기능( 비용이 예측이 안되서 가비아 이용)

 

- 호스팅 영역 생성

- 4개의 네임서버 복사해서 메모장에 붙이기

- aws 내에서 ip와 name 서버를 매핑

- 끝에 점 지워주기

- 도메인 네임서버가 4개면 가용성이 높아짐 ( 한개의 도메인이 죽으면 다른 도메인으로 접근해서 정보를 얻을 수 있음 )

 

- 한줄 씩 복사해서 가비아에 넣어주기

- 소유자 인증을 한번더 해야함

- 가비아 도메인이 aws 네임서버쪽으로 전파가 되야한다.

- 10 ~ 15분 정도 소요됨

 

- 이름 : web01

A레코드 사용 : 주어진 도메인의 IP를 나타내는 레코드

- webserver 주소 복사해서 넣어주기

 

4.  Network ACL(네트워크 접근제어); 거부 기능이 있음 

* 어떤 특정 IP 만을 "거부"할 때 사용 ; nacl

 

< - >Security Group(인스턴스 가상 방화벽 역할)

* 허용만된다. ( ex: 외부 사용자가 web 서버에 접근할 때 접근하는 트래픽을 CLB 보안그룹으로만 허용하면 반드시 CLB를 거쳐야함)

* 특정한 IP, IP 대역, 보안그룹만 허용(Allow)

 

- nacl의 이름을 new-nacl로 생성

-  해당 nacl로 들어가서 인바운드 규칙 편집 클릭

- 우선 순위가 존재; 거부할 IP 대역대는 규칙 번호를 낮게 해서 우선순위를 높여주어야함

- 0.0.0.0/0 모두 허용은 제거하면 안됨

- 거부할 IP만 추가

- 소스 : 출발지 Ip -> 거부할 IP