/ AWS

AWS를 이용하여 서버 배포 및 HTTPS를 위해 Certbot으로 인증서 받기(1)

AWS를 이용하여 배포하기는 여러 절로 구성되어 있습니다.
해당글은 직접 경험을 바탕으로 정리한 것을 공유하는 글입니다.
혹시 잘못된 정보거나 부족한 정보에 대해 피드백을 주신다면 감사하겠습니다.




저번 시간에 클라이언트를 배포하고 HTTPS 프로토콜을 이용하는 방법에 대해 복습해봤다. 이번에는 서버를 배포하는 방법에 대해 복습해 보겠다.

EC2 가상 환경을 선택하고 그 가상환경에 접속하는 방법을 알아볼 것이다. 개인적으로 가상환경은 Ubuntu를 권장하지만 Window10에서도 CMD로 접속하는 방법도 찾아보았다

만약 CMD 창에서 ssh를 쳤을 때 여러 옵션이 열거되지 않는다면 OpenSSH를 설치 해야 한다

여기서는 간략하게만 설명하겠다 좀 더 정확한 정보는 직접 찾아보길 바란다 윈도우10 시작 버튼 우클릭하여 앱 및 기능 클릭

선택적 기능 -> 기능 추가 -> OpenSSH 클라이언트설치




1. AWS EC2를 설정 및 인스턴스에 연결


EC2는 클라우드 컴퓨팅 시스템이다. EC2는 말 그대로 가상의 컴퓨터 환경이기 떄문에 특정한 작업을 통해 이 환경에서 서버를 열면 내 컴퓨터를 24시간 동안 켜서 서버를 유지할 필요 없이 서버를 24시간 열 수 있게 된다

우선 EC2로 이동해서 새로운 인스턴스를 생성 하자 이 인스턴스를 통해 가상 환경에 접속할 수 있다. 인스턴스로 이동하여 인스턴스 시작 버튼을 클릭한다.

아래와 같이 OS를 선택할 수 있다. 나는 Ubuntu 20.04 LTS로 선택하고 넘어가자

img1

위 과정을 거치고 나면 가상 환경 컴퓨터의 사양을 선택하는 단계이지만 프리티어에게는 선택 권한이 없다. 바로 다음 과정으로 넘어가자 검토 및 시작 버튼을 누르자

이제 가장 중요한 프라이빗 키를 선택할 수 있는 창이 나온다 프라이빗 키란 가상 환경에 접속할 때 필요한 보안키라고 생각하면 편하겠다. 해당 키는 파일로 이루어져 있어 개인적으로 구글 드라이브에 올려서 분실하는 일이 없도록 하자

기존의 키가 있는 사람은 기존 키를 선택하면 되고 없다면 새 키를 발급 받도록 한다.

예전의 한 아이디로 프라이빗키를 받아 여러명이서 한 서버를 작업하기 위해 공유해서 사용한 적이 있는데 처음에는 정상적으로 접속이 되다가 어느 순간 파일이 손상되어 사용할 수 없게 되니

나처럼 공유해서 사용하지 말고 깔끔하게 IAM 기능을 이용하여 공유하도록 하자

이제 가상환경으로 접속해보자. 인스턴스 상태 탭이 실행 중으로 바뀌었다면 연결로 들어가서 가상환경에 접속할 준비를 한다. 그럼 3가지 탭 EC2 인스턴스 연결 Session Manager SSH 클라이언트이 보인다

EC2 인스턴스 연결

해당 연결은 브라우저창으로 연결하는 방법이지만 vi, vim과 같은 텍스트 편집기를 사용하다 보면 가끔씩 화면이 깨지는 버그?가 생기기 때문에 SSH 클라이언트pem키 접속을 하는 것을 추천한다

SSH 클라이언트로 접속하기에는 간단한 몇 가지 작업이 필요하다 각 환경으로 설명하겠다

리눅스 환경

우분투 환경일 경우에는 아래 나온 순서를 그대로 따라가면 된다

Windows10 환경


윈도우에서는 chmod 400 권한 대신 파일 보안 권한을 주면 된다 폴더를 하나 생성하여 pem키를 넣어 준후 폴더 속성 -> 보안 탭 -> 고급 버튼을 클릭한다. Administrators 그룹을 선택하고 사용 권한 변경 을 누르고 하단의 [상속 사용 안함] , 상속 권한 모두 제거합니다 클릭 한다

아래처럼 보안탭으로 돌아와 편집 -> 추가 -> 고급 클릭한다

img2

개체 유형을 클릭하여 사용자를 제외하고 체크를 없애자 그리고 지금 찾기 버튼을 눌러 현재 윈도우 계정명을 클릭 후 확인 클릭하고 다시 확인을 하여 계정을 추가한다

img3

아래처럼 세 항목만 허용을 하고 적용하자

img4

이제 모든 준비가 끝났다 CMD를 열어서 ssh -i 폴더/전체/경로/암호키파일명.pem 서버사용자명@퍼블릭IP주소를 넣어주자 ex] ssh -i C:\download\example.pem ubuntu@127.0.0.1

위에서버사용자명퍼블릭IP주소는 아래처럼 EC2 인스턴스 연결 탭에 나와 있다

img5

위에서 가상 환경의 컴퓨터가 준비 되었지만 아직 빈 깡통이므로 다음 블로그에서는 필요한 여러 도구들을 추가하는 과정을 적어나가도록 하겠다




AWS를 이용하여 배포하기는 여러 절로 구성되어 있습니다.
해당글은 직접 경험을 바탕으로 정리한 것을 공유하는 글입니다.
혹시 잘못된 정보거나 부족한 정보에 대해 피드백을 주신다면 감사하겠습니다.