2023-12-01 12:00:43
728x90
728x90

이번 글에서 구성할 아키텍처

1. 웹 서버(Web Server)

웹 서버는 브라우저나 애플리케이션으로부터 요청을 받아서 HTML이나 JSON 등의 응답을 반환하는 역할을 한다. 미리 준비한 HTML 파일의 내용을 그대로 반환하기도 하고, PHP나 루비 등으로 만들어진 프로그램의 실행 결과를 반환하기도 한다.

 

웹 서버 생성 내용

항목
AMI Amazon Linux 2 AMI(HVM) -Kernel 5.10,
SSD Volume Type
인스턴스 유형 t2.micro
네트워크 my-vpc
서브넷 [웹 서버 01]
my-subnet-private01
[웹 서버02]
my-subnet-private02
퍼블릭 IP 자동 할당 비활성화
태그 | Name [웹 서버 01]
my-ec2-web01
[웹 서버 02]
my-ec2-web02
보안 그룹 default

 

2. 웹 서버 생성

EC2 서비스 -> Instances -> Launch instances

태그 네임 입력

AMI 지정

Instance type 지정

자기 이름.pem 키 페어 지정

웹 서버 생성 내용대로 입력 후 생성 과정을 반복해 my-ec2-web01,02 둘다 생성한다.

my-ec2-web01,02 서버의 Private IPv4 address 확인

3. 접속 확인하기

EC2 인스턴스를 생성했다면 ssh 명령을 이용해 연결을 확인할 수 있다. 웹 서버는 프라이빗 서브넷에 생성했으므로 점프 서버를 경유해서 연결한다. 간단히 연결하려면 먼저 점프 서버에 SSH로 연결한 뒤, 거기에서 다시 웹 서버에 SSH로 연결하는 방식을 쓴다. 하지만 이 연결 방식에는 두 가지 문제점이 있다.

  • ssh 명령어를 2번 입력해야 한다.
  • private key 파일을 점프 서버에 전송해야 한다.

특히 두 번째의 private key 파일 운영과 관련한 것은 보안적 측면에서도 가능한 한 피해야 한다. ssh 명령어가 제공하는 cascading connection 기능을 이용해 두 가지 문제를 해결한다.

 

3.1. cascading connection(다단계 연결)

로컬의 .ssh 디렉토리에 config 파일 생성, 확장자는 없음

config 파일 내용 입력

Host 항목에는 별명(alias)를 자유롭게 붙일 수 있다.

Hostname에는 연결할 서버의 IP주소 또는 서버 이름을 지정한다.

User에는 연결할 때의 사용자 이름을 지정한다.

IdentityFIle에는 Private key 파일의 경로를 지정한다.

ProxyCommand에는 경유하는 점프 서버의 정보를 지정한다. 

ssh {별칭} 을 입력하면 config 파일에 작성한 서버에 접속할 수 있다.

728x90