본문 바로가기

Study/GW

[AWS] 프리티어 EC2 생성, EC2-RDS 연결, DataGrip SSH 연결

EC2 생성하기

 

1. EC2 대시보드에서 "인스턴스 시작" 버튼 클릭

EC2 대시보드

 

 

2. AMI (Amazon Machine Image) 선택

 

 

3. 키페어 생성

자동으로 .pem 파일 다운로드가 된다

 

 

 

4. 네트워크 설정 / 스토리지 구성

 

* 스토리지 구성 - 30GiB로 용량을 높였다.

 

 

 

 

5. 인스턴스 생성 완료

 

 

6. 보안 그룹 생성 

네트워크 및 보안 - 보안 그룹 메뉴 클릭
인바운드 규칙 추가해주기

 

[ 인바운드 규칙 추가 ]

- SSH : pem키로 인스턴스 접근 가능하도록 설정

- HTTP(80포트), HTTPS(443포트)로 기본적으로 접근할 수 있도록 설정

+ 추후에 EC2에 올린 스프링이나 리액트 접근시 인바운드 규칙에 추가 필요!

 

 

보안 그룹 생성 완료

 

 

 

7. EC2 인스턴스에 보안 그룹 설정

직전에 생성한 보안 그룹 선택 후 저장!
보안 그룹 반영 완료

 

 

8. 인스턴스 접속(연결)

 

 

터미널로 접속시 에러 발생
sudo chmod 400 키파일 명령 후 재접속 성공!

 

 

 

 


 

 

 

EC2와 RDS 연결하기

 

이전에 만들었던 RDS에 EC2를 연결하려고 보니 아래와 같은 문구가 떴다. 
'EC2 인스턴스와 RDS 데이터베이스가 서로 다른 가용 영역에 있기 때문에 데이터 전송 요금이 발생합니다. ...'

 

해결 방법은, 

기존 RDS의 스냅샷을 생성 후 스냅샷 마이그레이션을 하면서 EC2와 동일한 가용영역 내에서 새로운 RDS 인스턴스를 생성하는 것! 

 

=> 하지만, 이 방법은 기존 DB를 물리적으로 다 복제하다 보니 이후에 문제가 생길 수도 있어 그냥 새로 생성했다.

 

 


 

1. 기존 RDS 인스턴스 삭제

새로 생성하기 전, 기존 DB는 삭제

 

 

 

2. RDS 새로 생성

[ 프리티어에 맞는 옵션 ]

  • 엔진 옵션 > MariaDB / 10.11.6 버전
  • 템플릿 > 프리 티어(Free Tier)
  • 설정
    • DB 인스턴스 식별자 > "gods-work-db"
    • 마스터 사용자 이름 > "root"
    • 마스터 암호, 암호 확인 > "******"
  • 인스턴스 구성 > "db.t3.micro"
  • 스토리지
    • 할당된 스토리지 > 20 GiB
    • 스토리지 자동 조정 활성화 > OFF
  • 연결
    • 퍼블릭 액세스 > OFF
    • EC2컴퓨팅 리소스에 연결 > ON
  • 추가 구성
    • 초기 데이터베이스 이름 > 예)"gods-work"
    • 자동 백업 활성화 > OFF
    • 유지관리 / 마이너 버전 자동 업그레이드 사용 > OFF

 

위 옵션들을 체크해서 생성해준다. 

RDS 새로 생성시 확인할 부분
DB 새로 생성중...

 

 

 

3. 파라미터 그룹 연결

time_zone, char_set ... 등 설정되어 있는 파라미터 그룹을 연결 후 재부팅 해준다.

 

 

 


 

 

SQL 클라이언트(Data Grip) 연결

1. Data Source 생성 후 "Use SSH tunnel" 클릭 > "..." 클릭

User SSH tunnel 클릭 > ... 표시 클릭

 

 

2. EC2 연결정보 입력 (.pem키 등록)

 

3. RDS DB정보 입력 후 "Test Connection" 연결 테스트

RDS 연결정보 입력

 

 

4. 연결 완료!

Succeeded!

 

 

 

show variables like 'c%' 실행 결과
select now() 실행 결과

 

 

 

5. DB 사용자 추가

권한 적용 완료!

반응형