카테고리 없음

AWS- 7/8일 Cloud 3Tier 아키텍처 구성 발표(1/2)

클라우디아랩 2021. 7. 4. 23:46

[관점에 따른 3티어 아키텍처]

 

1) 네트워크 엔지니어 관점

액세스 계층(access layer)

- 서버, 컴퓨터, 프린터 등의 장치들을 네트워크 연결하는 수단을 제공 하고 통신하는데 사용되는 계층

 

분배 계층(distribute layer)

- 분배계층은 액세스 계층과 코어계층 사이에 존재하며 네트워크에 대한 정책과 보안을 정의

- 신뢰성 높은 가용성과 리던던시를 가지는 네트워크

 

코어 계층(core layer)

- 고속으로 트래픽을 전송하고 최적의 경로를 통해 전송하는 계층

- 모든 분배계층 장치들의 데이터 흐름을 통합하여 많은 양의 데이터를 빠르게 전달하는 역할

 

 

2) 서버 엔지니어 관점

서버 : initiator 로 host 서버 서비스의 역할

SAN 스위치 : 경로 이중화 및 리던던시를 고려한 분배 스위치 역할

스토리지 : target으로 데이터를 저장하고 읽고 쓰는데 사용 

 

 

 

3) 어플리케이션 개발자 관점

 

 

1. Presentation layer

프레젠테이션 계층은 응용 프로그램 최상위 위치하며 서로 다른 계층의 로직과 연동

- 사용자 인터페이스 지원(ex: web)

- Gui, front-end - 정적 데이터를 제공

- 비즈니스 로직과 데이터관리 로직이 포함되지 않음

- 주로 웹서버로 사용 (ex : apach, nginx, HTML, CSS, JSP, image)

 

2. Application layer

요청된 정보를 규칙에 의해 데이터를 처리하고 가공하는담당, (동적 데이터를 제공)

- 비즈니스 로직 또는 트랜젝션 계층이라고도 함

- 첫 번째 계층 또는 클라이언트계층에서 바라보기에 서버처럼 동작(응답)하고 세 번째 계층 에서는 클라이언트 처럼 동작(요청)함 

- 동적 데이터를 제공

- middleware, back-end

- java, PHP, tomcat, Jboss, weblogic등 해당

 

3. Data layer데이터 베이스에 엑세스하여 읽거나 쓰는 것을 관리

- 데이터베이스를 의미

- Back-end라고 함

- DB서버를 말함

- Mysql, mariadb 등

 

 

3_Tier_Architecture.pdf
0.61MB

 

 

[간단한 용어 정리]

1. VPC생성 : 내 인프라 영역을 만들어서 그 안에서 사용하겠다는 의미

1-2. VPC 특징 : VPC는 리전별로 생성하고, 서브넷은 AZ 별로 생성, AZ 안에 public, private 서브넷 생성

                 - public 서브넷 : 외부 인터넷에서 내부로 연결될 수 있는 영역

                 - private 서브넷 : 내부망에서만 접근할 수 있는 영역(외부로 통신할 수 없음)

 

2. 인터넷 게이트웨이 : VPC와 외부인터넷을 연결해주는 통로( 외부 인터넷에서 VPC로 들어만 올 수 있음)

 

3. NAT 게이트 웨이 : private 서브넷에서 외부로 연결 해줄 수 있는 통로(내부망에서 외부로만 나갈 수 있음)

                            - 외부 공인IP를 할당 받아야 함(리전당 5개 허용)

 

4. 라우팅테이블 : 목적지를 찾아가기 위한 지도( 집 주소를 찾아갈때 주소목록이라 볼 수 있다.)

                       - 보통 0.0.0.0/0 을 internet gateway로 잡는데 이는 주소 목록에 없는 ip는 internet gateway로 보내라는 의미

 

5. 보안그룹 : 방화벽의 의미로 포트를 열어주는 작업 (디폴트로 deny 다.)

 

6. 네트워크 ACL : 서브넷 경계의 방화벽으로 서브넷끼리 네트워크를 제어하기 위해 inbound/outbound 정책 설정이 필요

 

7. Bastion host : 일종의 CMS 서버처럼 관리용 서버라고 보면 된다. 외부에서 내부VPC안의 EC2 linux로 접속을 하려면 반드시 bastion host에서만 접속 할 수 있다.

 

 

[목표]

3티어 아키텍처를 AWS 구성하고 구성방법 및 동작원리를 이해하기

 

 

1. 네트워크 설정

1) VPC 생성

- AZ 왼쪽 : ap-northeast-2a

- AZ 오른쪽 : ap-northeast-2c

VPC 생성 클릭

 

 

 

확인

 

 

 

 

 

 

2) 서브넷 생성( 퍼블릭2개, 프라이빗 6개)

 

 

서브넷 생성

- 나머지는 표를 보고 똑같이 생성하기

- AZ 는 구성도상 왼쪽이 ap-northeast-2a, 오른쪽이 ap-northeast-2c

- AZ에서 서브넷 이름 끝에 숫자가 01이면 ap-northeast-2a, 02면 ap-northeast-2c (예를들면, pri-web-02면 ap-northeast-2c로 함)

- pri-db AZ는 ap-northeast-2a로 함

 

pub-01 서브넷 만들기

 

 

pub-02 서브넷 만들기

 

pri-web-01 서브넷 생성

 

pri-web-02 서브넷 생성

 

pri-was-01 서브넷 생성

pri-was-02 서브넷 생성

 

pri-db 서브넷 생성

 

 

2. 네트워크 설정

1) 인터넷 게이트웨이 설정

    - 외부에서 public subnet을 통해 elb로 접속하고 web으로 바인딩 할 수 있도록 설정

2) NAT 게이트웨이 설정

    - private subnet 들은 nat 게이트웨이를 통해 인터넷을 통해 필요한 파일들을 다운 받음

3) 라우팅테이블 생성

IGW 설정

 

 

 

 

 

 

NAT 게이트웨이 설정

 

 

 

 

 

 

 

 

라우팅테이블 설정( public routing table)

 

서브넷 연결

pub-01, pub-02 체크

라우팅 편집

 

 

 

 

 

라우팅테이블 설정( private routing table)

 

private 서브넷 연결

pri-web-01, pri-web-02, pri-was-01, pri-was-02, pri-db 체크

라우팅 테이블 설정

 

 

3. EC2, 보안그룹 설정

1) 보안그룹 설정

2) EC2 설정

 

 

보안그룹 설정

 

b-sg 보안그룹 설정

 

ex-elb-sg 보안그룹 설정

 

web-sg 보안그룹 설정

 

in-elb-sg 보안그룹 설정

 

was-sg 보안그룹 설정

 

db-sg 보안그룹 설정

 

 

 

EC2 생성

 

 

bestion EC2 생성

체크 후 다음클릭

아래사항 체크 후 나머지 그대로 둠, 그리고 다음 클릭

그대로 두고 다음 클릭

태그 추가 하고 다음 클릭

보안그룹 서택하고 검토및 시작 클릭

확인 후 시작하기 클릭

키페어 선택  후 인스턴스 시작 클릭

인스턴스 보기 클릭

 

 

※ 나머지 web-01, web-02, was-01, was-02, db-01 도 동일한 방법으로 세팅함

 

 

 

Bastion host에 pem key 다운 받기 - bastion host에서 다른 ec2로 접속하기 위한 key 파일

 

내 PC에서 접속하기

 

id : ec2-user 후 엔터

 

scp 프로그램으로 bastion host에 접속하기

파일 끌어다 넣기

 

 

각 EC2 접속확인

nat를 통해 외부로 통신되는 지 ping 테스트

 

 

 

 

 

 

 

 

4. ALB 구성

 

 

 

External-ALB 구성

 

ALB 생성 클릭

 

external alb는 퍼블릭 구간에 배치하기 위해 가용영역을 public 쪽에 선택

그대로두고 다음

이름 : ex-alb-gr 으로 하고 다음 클릭

 

 

Internal-ALB 구성

ALB 생성 클릭

 

이름 : int-alb

체계 : 내부

리스너 포트 : 8080

가용영역 : vpc-1 / pri-was-01, pri-was-02

다음 클릭

이름: int-alb-gr

포트 : 8080

다음 클릭

was-01, was-02 선택 -> 등록된 항목 추가 -> 다음 클릭

생성클릭

닫기 클릭

확인