1. AWS에 접속하여 ec2를 검색한다.
2. 인스턴스 시작을 클릭한다.
3. AMI(Amazon Machine Image)를 세팅한다.
OS는 AWS 프론티어가 제공하는 Ubuntu LTS 로 선택하였고, 인스턴스 유형은 tc.mircro로 설정하였다.
(다른 유형으로 선택할 경우 과금요소가 추가된다.)
4. 키 페어를 생성한다.
키는 한 번 생성하면 다시 다운로드 받을 수 없으므로 잘 보관해야 한다. 생성된 키는 추후 SSH 프로토콜을 사용해 EC2 서버와 연결하는데 사용된다.
5. 네트워크 설정
기존에 만들어 둔 보안 그룹이 있다면 선택하거나 새롭게 만들어도 된다. 보안 그룹은 생성된 EC2서버에서의 방화벽에 해당하며 어떤 포트에 대한 접근을 허용할 것인지, 어떤 IP를 허용할것인지 등을 설정할 수 있다.
'다음에서 SSH 트패픽 허용' 부분은 외부(우리의 작업환경,등)에서 SSH 프로토콜을 통한 접속을 허용할 것인지 묻는 것으로, 초기에 서버를 가동시키기 위해 앞서 다운받은 .pem파일을 사용하여 SSH 프로토콜로 서버에 접속을 할 것이므로 체크하도록 한다.
고정 IP를 사용하는 환경에서만 접근을 허용하도록 할 것이라면 특정 IP를 입력하도록 하고, 그렇지 않다면 위치 무관(0.0.0.0/0)으로 두도록 한다.
6. 스토리지 설정
EC2 서버가 사용할 저장공간을 선택하는 단계이다. 당연한 말이지만 저장소를 크게 설정할수록 금액이 더 많이 발생한다.
프리티어는 최대 30GB를 지원하므로 30으로 설정하였고, 유형은 범용 SSD(gp2)로 선택하였다.
'프로비저닝된 IOPS SSD' 를 선택 할 경우, 사용하지 않더라도 활성화한 기간만큼 비용이 발생하므로 프리티어로 사용시 주의해야 한다.
7. 인스턴스 생성
요약된 정보를 확인하고, 올바르다면 인스턴스 시작을 눌러 생성을 진행한다.
8. 보안 그룹 수정하기
왼쪽 메뉴 탭에서 네트워크 및 보안 - 보안 그룹을 클릭한다.
보안 그룹 생성 버튼을 클릭한다.
이름과 설명을 기입한다.
인바운드 규칙을 생성한다.
인바운드 규칙 : 외부에서 EC2나 RDS 등의 내부로 접근할 때 사용되는 방화벽 규칙
아웃바운드 규칙 : EC2나 RDS 등의 내부에서 외부로 접근할 때 사용되는 방화벽 규칙
스프링부트는 8080포트를 사용하므로 사용자 지정 TCP/8080를 허용하고 .pem파일을 통해 EC2에 접속할 때 SSH 프로토콜을 사용하므로 SSH/22를 허용하고 HTTP/80, HTTPS/8080 도 허용해주도록 한다.
추가로 필요한 접근이 있다면 해당하는 포트도 추가해주면 된다.
아래와 같은 화면이 뜨면 성공이다.
다시 인스턴스 페이지로 이동하고, 우클릭 - 보안 - 보안 그룹 변경을 클릭한다.
방금 전 생성한 보안
9. SSH키로 EC2 서버에 접속하기
인스턴스 페이지에서 연결 버튼을 클릭한다.
여러가지 방식이 있지만, SSH 로 연결해볼 것이다.
AWS에서 제공하는 가이드 라인에 따라 1~4번 과정을 진행한다.
9-1. 터미널을 열어 앞서 저장해둔 SSH키(.pem)가 존재하는 디렉토리로 이동한뒤, 아래 명령어를 입력하여 pem파일에 권한을 부여한다.
chmod 400 키이름.pem
9-2. ssh 명령어로 EC2 인스턴스에 접속한다. (명령어는 가이드라인에 나와있다.)
ssh -i "sshKey.pem" ubuntu@ec2-43-200-8-55.ap-northeast-2.compute.amazonaws.com
아래와 같이 뜨면 접속 성공이다.
EC2 서버에서 SpringBoot 서버를 실행시키는 과정은 다음 포스팅에서 이어서 작성하겠다.
'Backend' 카테고리의 다른 글
[SpringBoot] SSL 인증서 발급하고 적용하기 (1) | 2024.02.22 |
---|---|
[SpringBoot] 프로젝트 AWS EC2로 배포하기(2) (0) | 2024.02.22 |
[SpringBoot] AWS RDS(MySQL) 생성하고 연동하기 (0) | 2024.02.22 |
[MySQL] 서버 실행, 로그인, 비밀번호 변경 (1) | 2024.02.11 |
H2 Database 데이터베이스 생성 및 접속 (0) | 2024.02.08 |