AMI(Amazon Machine Image) 생성
인스턴스 유형 설정 t2.micro
T 시리즈의 경우 정해진 사양 보다 높은 트래픽이 오면 크레딧을 조금 더 적극적으로 사용하면서 트래픽을 처리하지만, 크레딧이 모두 사용되면 더이상 인스턴스를 사용할 수 없어서 트래픽이 높은 서비스는 T 시리즈 보다 다른 시리즈가 권장된다.
키 페어 생성 → pem 은 EC2 에 접근하는 마스터 키 이므로 절대 유출하면 안된다.
네트워크 설정
vpc 설정, 방화벽 설정
스토리지 설정
인스턴스 시작과 동시에 생석ㅇ됨
인스턴스 ID 클릭 > 보안 > 보안 그룹 클릭 > 인바운드 규칙 편집 으로 들어가 아래 네 가지를 추가한다.
0.0.0.0/0
으로 설정한 이유는 집이 아닌 외부에서도 EC2에 접근할 수 있도록 한 것이다.인스턴스 생성 시 새 IP가 할당된다. (IP 주소 입력하면 서버 접속 가능)
그러나, 같은 인스턴스를 중지하고 다시 시작할 때도 새 IP가 할당된다.
이는 매우 번거롭기 때문에, IP가 매번 변경되지 않도록 고정 IP를 가지도록 해줘야 한다.
여기까지 진행했으면 EC2 인스턴스 생성과정은 끝났다.
하지만 주의해야할 것이 있는데, 탄력적 IP를 생성하고 EC2 서버에 연결하지 않으면 비용이 발생한다.
생성한 탄력적 IP는 꼭 인스턴스에 연결하고, 인스턴스 삭제 시 탄력적 IP도 꼭 함께 삭제해주도록 하자.
Java 설치(각자 프로젝트에 맞게)
sudo apt-get update
sudo apt-get install openjdk-17-jdk
java -version
타임존 변경
기본 서버의 시간은 미국 시간대이다.
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
호스트네임 변경 (현재 접속한 서버의 별명을 등록)
실무에서는 수십 대의 서버가 작동하는 데, IP만으로는 어떤 역할을 하는지 구분할 수 없다.
구분하기 쉽도록 호스트 네임을 등록하자.
sudo vim /etc/hosts
sudo vim /etc/hostname
sudo reboot
RDS 는 AWS에서 지원하는 클라우드 기반 관계형 데이터베이스이다.
하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스이다.
추가로 조정 가능한 용량을 지원하여 예상치 못한 양의 데이터가 쌓여도 비용만 추가로 내면 정상적으로 서비스가 가능하다는 장점도 있다.
이러한 RDS 를 이용해 데이터베이스 환경을 구축해보자
VPC 설정
서브넷 그룹 설정
퍼블릭 엑세스 설정
VPC 보안 그룹 설정
보안 그룹의 경우 기존 보안 그룹 혹은 새로 생성한 보안 그룹과 함께 추가로 2개의 보안 그룹이 추가로 생성됩니다.
데이터베이스 인증 옵션 설정
보안그룹에 대해 더 알아보고 싶으면?
RDS를 생성할 시, 컴퓨팅 인스턴스로 연결을 자동으로 설정해 보기 | DevelopersIO
파라미터 그룹은 DB 옵션을 설정하기 위해 AWS 에서 제공하는 기능
파라미터 그룹을 생성하면 그룹 DB 버전에 맞는 프로퍼티 값들을 제공한다.
사용자는 이 값을 수정하여 DB 의 옵션을 변경할 수 있다.
로컬 PC에서 RDS로 접근하기 위해 RDS의 보안 그룹에 PC의 IP를 추가해야한다.
EC2에서 사용된 보안 그룹의 그룹 ID를 인바운드 규칙에 추가하면 된다.