본문 바로가기

⌛ AWS 인프라 구성하기 (MiniProject)/✅ 개발환경 구성 (EC2)

1. ALB를 활용 웹프로그램 서비스 하기

728x90
반응형

# 서비스 배포 인프라 구성도

ALB로 서비스 수행.drawio
0.01MB

# 정정 내용 : PublicSubnet 라우팅 테이블에는 igw 경로가 추가되고 PrivateSubnet 에는 nat gw 경로가 추가된다.

또한 nat gw는 PublicSubnet과 연결되어 있어야 한다.

구성전 해야할 작업은 아래와 같다.

2022.05.02 - [AWS/AWS Network] - AWS 기본 네트워크 구성

 

AWS 기본 네트워크 구성

# AWS의 기본 네트워크인 VPC, PublicSubnet, PrivateSubnet, 인터넷 게이트웨이, 라우팅 테이블등을 생성하고, public망과 private망을 나누어 네트워크를 구성한다. 1. VPC를 생성한다. → 192.168.0.0/16 infra..

may9noy.tistory.com

2022.05.03 - [AWS/AWS Network] - Private Subnet에 존재하는 EC2에 접근하기

 

Private Subnet에 존재하는 EC2에 접근하기

# 내부망에 존재하는 서버에 접근하기 PrivateSubnet이 내부망이므로 PublicSubnet에 존재하는 자원이 PrivateSubnet에 접근하기 위해서는 중간 매개체가 필요한데 이것을 Bation Host 라고 부른다. 아래의 그

may9noy.tistory.com

2022.05.03 - [리눅스/명령어 모음] - scp 명령어 활용 서버간 파일 전송

 

scp 명령어 활용 서버간 파일 전송

# 동일 VPC 내의 있는 AWS EC2 인스턴스 간의 파일 전송 1. 보낼 파일이 있는 서버로 접속 (scp 명령어 수행) MobaXterm Drag&Drop으로 옮길 파일 및 폴더를 아래와 같이 옮겨 놓는다. 2. 받을 파일이 있는 서

may9noy.tistory.com

기본적으로 jar를 배포하여 웹프로그램이 동작 가능한 소스 코드가 준비되어 있어야 한다.

2022.03.29 - [SpringBoot/build] - 리눅스 java 설치 및 Gradle로 빌드하기

 

리눅스 java 설치 및 Gradle로 빌드하기

1. 자바설치 - 자바 버전을 확인한다. javac -version javac --version Command 'javac' not found, but can be installed with: sudo apt install default-jdk # version 2:1.11-72, or sudo apt install openjdk..

may9noy.tistory.com

2022.04.12 - [SpringBoot/build] - jar 파일을 리눅스에서 빌드 후 웹서비스 접속

 

jar 파일을 리눅스에서 빌드 후 웹서비스 접속

MobaXterm을 이용하여 소스코드를 해당 AWS EC2 인스턴스 내부 경로로 이동 시킨다. 파일을 드래그 하여 해당 폴더로 올려놓으면, 폴더 자체로 서버에 업로드 된다. 해당 jar파일이 있는 경로로 이동

may9noy.tistory.com

위의 구성도의 흐름 설명을 진행 한다. (번호 순으로 설명 진행)

 

1. 사용자 및 개발자가 Internet을 통해 웹 서비스 주소로 접근을 한다.

-  ALB로 접근 시 ALB DNS 주소가 Endpoint 접속 주소가 된다.

- private 망에 있는 EC2에 접근 시 public 망에 있는 EC2 인스턴스인 BastionHost를 통해 접근을 해야 한다.

 

2. 인터넷을 통해 접근을 한다.

 

3. 가장 먼저 트래픽을 받는것은 InternetGateway이다.

AWS VPC로 들어오는 모든 트래픽은 IGW에서 우선 받는다고 보면 된다.

 

4. 위에서는 AppicationLoadBalancer로 바로 접근 되도록 했지만 Public망에 존재하는 EC2인 BastionHost로도 바로 접근 할 수 있다. 사용자가 어떤 주소를 호출 하는가에 따라서 Bastion 및 ALB로 이동을 한다.

 

5~6. 퍼블릭 망에 있는 라우터 테이블을 통해서 VPC내 local영역의 주소를 확인하고 트래픽을 전달 한다.

 

7~8. 퍼블릭 망의 라우터에서 프라이빗 망의 라우터 테이블로 트래픽을 보내고 프라이빗 망의 라우터 테이블 주소를 확인 후 EC2 인스턴스에 트래픽을 전달 한다.

 

9. 웹 애플리케이션이 실행되고 있는 실제 EC2 인스턴스 이다. 해당 인스턴스에서 jar 파일로 빌드된 프로그램이 돌고 있다. 클라이언트가 해당 정보를 호출 하면 해당 정보를 다시 역으로 라우팅 테이블, 라우터 를통해 최종적으로 NAT Gateway로 전송 한다.

 

10. NAT Gateway는 트래픽을 받고 최종적으로 Internet Gateway로 트래픽을 전달 한다. 그리그 Internet Gatwway는 전달받은 트래픽을 인터넷을 통해 사용자에게 전달 한다.

728x90
반응형