# 시작하기 전에
먼저 이 글을 쓰게 된 이유... 스프링 프로젝트를 서버 출시부터 배포까지 했는데, 검색하면 나오는 정보들이 많이 AWS 의 구 콘솔 버전이기도 했고, 그 외에도 스프링 maven 등 최신 기술에 대해 차이점이 좀 있었다. 그래서 정리할 겸, 이후 이 글을 읽게되는 누군가에게 도움이 되었으면 하는 마음에 서버 출시부터 배포까지의 과정을 적어보려한다!
Amazon Web Services Sign-In
대체 인증 방법을 사용하여 로그인 멀티 팩터 인증(MFA) 디바이스 분실, 손상 또는 고장 시에는 대체 인증 팩터를 사용하여 로그인할 수 있습니다. 이 계정으로 등록된 이메일과 전화를 사용하여
signin.aws.amazon.com
일단 AWS 클라우드에 가입을 했다는 가정하게 진행하겠다! (위 가입 링크 참고)
# 1 EC2 인스턴스 생성 (서버 구축)
먼저 로그인을 하게 되면 맨 위 상단에 검색창이 있고 거기서 EC2 를 검색해 들어가주도록 하자.
그러면 자동으로 EC2 대시보드가 연결이 되게 되는데, 주황색 버튼 인스턴스 시작 을 눌러 인스턴스를 같이 만들어보자.
인스턴스 시작 창에는 여러가지 항목들이 있는데, 짚고 넘어가야 할 부분을 살펴보자
1-1) 애플리케이션 및 OS 이미지
먼저 AMI란, Amazon Machine Image 로써 EC2 인스턴스를 시작하는데 필요한 정보를 이미지로 만들어 둔 것이다. 위 목록에서 선택한 AMI 가 내 EC2의 OS가 된다. 나는 상대적으로 레퍼런스가 많은 Ubuntu 20.04 버전을 사용했다. 프리 티어 사용 가능 이 있는 것을 선택하면 된다.
1-2) 인스턴스 유형
프리 티어에서 인스턴스 유형은 t2.micro 를 사용하면 된다.
1-3) 키 페어
키 페어는 나중에 서버에 접속할 때 필요한 암호 같은 것이라고 볼 수 있다. 오른쪽의 새 키 페어 생성을 클릭한 뒤
원하는 키 페어의 이름을 입력하고 유형은 ED25519 를 선택하자 (ED25519 유형이 조금 더 효율적이라고 한다) . 그리고 키 페어 생성을 누르면 자동으로 생성한 키 페어의 pem 파일이 다운로드 된다. 지금 만들고 있는 EC2 인스턴스는 방금 생성한 키 페어로만 접근이 가능하다! (물론 여러개의 키 페어를 생성할 수도 있다) 그러니 유출되지 않도록 잘 관리하자.
1-4) 네트워크 설정
AWS 의 최대 약점이라 한다면.. 해킹이 잘 당한다는 것이다. 나는 아직 해킹 당해본 적은 없으나, 이용하는 사람이 많아 해킹도 빈번하게 일어난다고 한다. 따라서 네트워크 설정은 정말 중요하다. 서버에 접속할 때에는 위에서 만든 pem 키가 필요하긴 하지만 반대로 말하면 pem 키가 유출됐을 경우에는 누구나 내 서버에 접속할 수 있다는 말이 된다. 그러므로 SSH (22번 포트)는 내 IP 에서 허용하는 것으로 설정해야한다.
상단의 편집 버튼을 눌러보자.
먼저 보안 그룹 규칙 1은 방금 설정한 것 처럼 소스 유형이 내 IP 로 잘 설정되어있을 것이다.
여기서 끝이 아니라 HTTPS 의 기본 포트와 내가 만든 프로젝트의 기본 포트를 열어주어야한다.
밑에있는 Add security group rule 을 클릭하게 되면 보안 그룹 규칙을 추가할 수 있는데, 총 4개를 추가하여 HTTPS 의 기본 포트인 (443) 과, 내가 만든 프로젝트의 포트 (11111 - 본인의 포트번호를 입력하면 된다) 을 다음과 같이 설정해 열어주자.
1-5) 스토리지 구성
프리 티어의 경우 30 GB 까지 무료로 사용할 수 있다. 원하는 만큼 설정하면 되는데, 나는 30 GB 로 설정했다.
그리고 인스턴스 시작 을 누르게 되면 인스턴스가 잘 생성되게 된다!
이제 EC2 로 돌아와 인스턴스를 클릭해보면 방금 생성한 인스턴스를 찾을 수 있다! 상태 검사 시간이 좀 걸리니 기다리자.
서버가 잘 만들어졌다~
shawnhansh 님의 글을 참고했습니다
'𝑨𝑾𝑺' 카테고리의 다른 글
[AWS] 서버 구축부터 배포까지 - # 6 nohup 을 이용한 무중단 배포 (백그라운드) (4) | 2022.11.10 |
---|---|
[AWS] 서버 구축부터 배포까지 - # 5 JAR 파일 생성 및 EC2 서버에 배포 (0) | 2022.11.08 |
[AWS] 서버 구축부터 배포까지 - # 4 배포 환경 구축 (0) | 2022.11.03 |
[AWS] 서버 구축부터 배포까지 - # 3 EC2 서버 접속 (feat. 리눅스 권한 관리 명령어) (0) | 2022.10.13 |
[AWS] 서버 구축부터 배포까지 - # 2 EC2 탄력적 IP 할당 (0) | 2022.06.18 |