AWS- EC2, RDS, S3 사용해보기

지혜·2025년 3월 20일
0

💡 https://github.com/cjh0412/spring-plus

EC2

EC2란?
aws에서 제공하는 가상 서버로 원하는 스펙으로 서버를 생성 및 운영하도록 지원하는 서비스

설정하기

    1. 인스턴스 이름 설정
    1. os설정
  • 3.key pair 설정시 고려 사항

    • EC2를 SSH로 안전하게 접근할 수 있도록 하는 인증 방식
    • 퍼블릭 키는 EC2 인스턴스, 프라이빗 키는 로컬에 저장됨
    • 📌 보안 tip!
      - 프라이빗 키(.pem 파일)은 절대 공유 금지!
      - 필요 시 새로운 키 페어를 발급받아 관리할 것

RDS

RDS란?
aws에서 지원하는 관계형 데이터베이스 서비스로, MySQL, PostgreSQL, MariaDB, Oracle, SQL Server 등이 있다

설정하기

    1. db선택하기
    1. 외부 접근 여부 설정
    • yes의 경우 로컬PC, 외부 서버 등에서 직접 rds 접근 가능
    • no의 경우 rds 내부 vpc에서만 접근 가능

    1. 비밀번호 설정

🚨RDS와 EC2연결시 주의할점

  • ec2와 rds를 연동 후 배포한 어플리케이션을 실행했더니 오류 발생했다
  • 로컬에서는 정상 동작했기 때문에 당황스러웠지만, 로그를 확인해 본 결과 다음과 같은 오류가 발견이 되었다.
ava.lang.NullPointerException: Cannot invoke "org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(java.sql.SQLException, String)" because the return value of "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()
  • sql관련 오류인 것을 확인하고 우선 다음과 같은 명령어를 실행했다.
nc -zv RDS_ENDPOINT 3306
  • 결과는 failed가 나왔다
  • rds와 ec2의 어떠한 원인 때문에 서로 연결이 되지 않는다는 것을 알게되었다.
  • 원인은 바로 RDS 보안 그룹에서 EC2 보안 그룹을 허용하지 않았기 때문!
    • 해결방법
      1. RDS 보안 그룹에서 인바운드 규칙 수정
      1. 소스(Source)에 EC2 보안 그룹 추가

S3

AWS에서 제공하는 객체 스토리지로 파일을 클라우드에 저장하고 언제, 어디서나 접근할 수 있는 스토리지 서비스

설정하기

    1. 버킷이름 설정

-3. 보안 설정

  • AWS S3는 기본적으로 비공개이지만, 퍼블릭으로 설정 가능
  • 버킷의 퍼블릭 액세스를 차단하는 4가지 설정 옵션이 제공

0개의 댓글

관련 채용 정보