공부/AWS 3-tier

3-tier (2)네트워크 설정(VPC, EC2)

HY13 2021. 6. 6. 17:00

1. VPC 생성

내가 사용할 네트워크 대역 생성

VPC 생성

 

1-1. 서브넷 생성

퍼블릭 서브넷: 인터넷 게이트웨이와 연결되어 있는 서브넷

-> 외부와 접근 가능

 

프라이빗 서브넷: 인터넷 게이트웨이와 연결되어 있지 않은 서브넷

-> 외부와 접근 불가능

-> NAT게이트웨이를 연결하면 패키지, 자료 등 다운 가능

 

퍼블릭 서브넷과 동일하게 프라이빗 서브넷도 생성

 

 

-- 내가 생성한 서브넷 정보 --

NAME Avaliability Zone IPv4 CIDR VPC
Public01 ap-northeast-2a 10.0.1.0/24 HY-VPC
Public02 ap-northeast-2c 10.0.3.0/24 HY-VPC
Private01 ap-northeast-2a 10.0.2.0/24 HY-VPC
Privaet02 ap-northeast-2c 10.0.4.0/24 HY-VPC
Private03 ap-northeast-2a 10.0.5.0/24 HY-VPC
Private04 ap-northeast-2c 10.0.6.0/24 HY-VPC

Public01, Public02 : 가용성을 위해 multi-az로 퍼블릭 서브넷 생성

Private01, Private02 : WEB 서버가 존재할 서브넷, 가용성을 위해 multi-az로 프라이빗 서브넷 생성

Private03, Private04 : WAS 서버가 존재할 서브넷, 가용성을 위해 multi-az로 프라이빗 서브넷 생성

 

 

 

1-2. 인터넷 게이트웨이 생성

 

 

1-3. 라우팅 테이블 설정

1-3-1. 라우팅 테이블 생성

 

- Public

 

- Private

 

 

1-3-2. 라우팅 테이블 연결

서브넷 선택 > 서브넷 연결 편집 선택 > 연결할 서브넷 선택 > 연결 저장

위의 사진 처럼 Public 라우팅 테이블에는 Public 서브넷만 연결, Private 라우팅 테이블에는 Private 서브넷만 연결

 

 

 

1-3-3. 퍼블릭 라우팅테이블에 인터넷게이트웨이 연결

라우팅 편집 > 라우팅 추가 > Destination: 0.0.0.0/0 입력

Target: 인터넷 게이트웨이 선택하면 아래와 같이 위에서 생성한 HY-IGW라는 이름의 인터넷 게이트웨이를 선택할 수 있다.

HY-IGW 선택 후 변경사항 저장 

 

 

 

2. 인스턴스 생성

 

(1) Bastion 인스턴스

1단계)

 Amazon Linux2 AMI 선택

 

2단계)

 t2.micro 선택

 

3단계) 

 네트워크: HY-VPC

 서브넷: 가용영역a

 퍼블릭IP 자동할당: 활성화

 

4단계)

 스토리지 변경사항 없음

 

5단계)

 Name태그: Bation

 

6단계)

 보안그룹 이름: SG-BASTION

 유형: SSH

 프로토콜: TCP

 포트범위: 22

 소스: 내 IP (보안 강화하기 위해 내 IP에서만 접속 가능하도록 만들어준다)

SG-BASTION Type Protocol Port range Source
Inbound rules SSH TCP 22  IP
Outbound rules All traffic All All 0.0.0.0/0

 

7단계)

키페어:

- 생성한 키페어가 없으면 새로 생성 (단, 키페어 생성 후 다운받은 pem파일은 잃어버리지 않게 잘 가지고 있어야한다.)

- 생성해 둔 키페어가 있으면 기존에 생성한 키페어 사용

 

 

 

(2) WEB01 인스턴스

1단계)

 Amazon Linux2 AMI 선택

 

2단계)

 t2.micro 선택

 

3단계) 

 네트워크: HY-VPC

 서브넷: 가용영역a

 퍼블릭IP 자동할당: 비활성화

 

4단계)

 스토리지 변경사항 없음

 

5단계)

 Name태그: WEB01

 

6단계)

 보안그룹 : SG-WEB (새로 생성)

 유형: HTTP

 프로토콜: TCP

 포트범위: 80

 소스: 0.0.0.0/0 (ELB 생성 후 변경 예정)

 

보안그룹 추가
 보안그룹: SSH (기존 보안그룹에서 선택)

 (인바운드 규칙 편집 -> 보안그룹: SG-BASTION 선택) : WEB은 원격 접속하기 위해서는 BASITON을 통해 접속하므로 인  바운드 규칙에 추가

SG-WEB Type Protocol Port range Source
Inbound rules

SSH TCP 22 SG-BASTION
HTTP TCP 80 0.0.0.0/0
Outbound rules All traffic All All 0.0.0.0/0

 

7단계)

Bastion 생성할 때 사용한 키페어 선택

3-tier 구축할 때 사용하는 키페어는 모두 같음

 

 

 

 

(3) WEB02 인스턴스

WEB01 인스턴스와 가용영역만 다르고(c영역) 나머지는 동일하게 설정

-> 가용성을 위해 다른 가용영역에 생성

 

 

 

 

 

(4) WAS01인스턴스

1단계)

 Amazon Linux2 AMI 선택

 

2단계)

 t2.micro 선택

 

3단계) 

 네트워크: HY-VPC

 서브넷: 가용영역a

 퍼블릭IP 자동할당: 비활성화

 

4단계)

 스토리지 변경사항 없음

 

5단계)

 Name태그: WAS01

 

6단계)

 보안그룹 이름: SG-WAS (새 보안그룹)

 유형: 사용자 유형 TCP

 프로토콜: TCP

 포트범위: 8080

 소스: 0.0.0.0/0 (ELB 생성 후 변경 예정)

 

+ 보안그룹: SSH 추가

(인바운드 규칙 편집 -> 보안그룹: SG-BASTION 선택) : 원격 접속을 위해서는 BASITON을 통해 접속하므로 인바운드 규칙에 추가

SG-WAS Type Protocol Port range Source
Inbound rules

SSH TCP 22 SG-BASTION
HTTP TCP 8080 0.0.0.0/0
Outbound rules All traffic All All 0.0.0.0/0

 

 

 

 

(5) WAS02인스턴스

WAS01 인스턴스와 가용영역만 다르고(c영역) 나머지는 동일하게 설정

-> 가용성을 위해 다른 가용영역에 생성

 

 

 

 

-- 라우팅 연결 및 Bation, web, was 인스턴스 생성 완료