AWS 보안 그룹 설정
현재 EC2 인스턴스 하나와 RDS 하나를 생성한 상태이다.
각각은 별도의 보안 그룹을 사용한다.
이번 글에서는 각각의 보안 그룹에 대해 자세히 알아본다.
EC2 보안 그룹
- SSH (Secure Shell): SSH는 원격 컴퓨터를 안전하게 제어하기 위한 프로토콜이다.
- 이를 통해 사용자는 네트워크를 통해 다른 컴퓨터에 로그인하고, 명령어를 실행하며, 파일을 전송할 수 있다.
- SSH는 기본적으로 TCP 22번 포트를 사용한다.
- 이 규칙을 추가하면 사용자는 인터넷을 통해 EC2 인스턴스에 SSH 접속을 시도할 수 있게 된다.
- HTTP (Hypertext Transfer Protocol): HTTP는 웹 서버와 클라이언트 간에 정보를 주고 받기 위한 프로토콜이다.
- 웹 브라우저를 통해 웹페이지를 요청하거나, 웹 서버에서 웹페이지를 제공하는 등의 작업에 사용된다.
- HTTP는 기본적으로 TCP 80번 포트를 사용한다.
- 이 규칙을 추가하면 사용자는 인터넷을 통해 EC2 인스턴스에서 호스팅되는 웹페이지에 접속할 수 있게 된다.
- HTTPS (Hypertext Transfer Protocol Secure): HTTPS는 HTTP에 보안 기능이 추가된 프로토콜이다.
- 이를 통해 웹 서버와 클라이언트 간에 주고 받는 정보는 SSL/TLS를 통해 암호화되어, 외부의 공격자로부터 안전하게 보호된다.
- HTTPS는 기본적으로 TCP 443번 포트를 사용한다.
- 이 규칙을 추가하면 사용자는 인터넷을 통해 EC2 인스턴스에서 보안성이 강화된 웹페이지에 접속할 수 있게 된다.
RDS 보안 그룹
AWS RDS 보안 그룹의 인바운드 규칙은 RDS 인스턴스에 접근할 수 있는 네트워크 트래픽을 제어한다.
일반적으로 다음과 같은 방식으로 설정한다.
- 사용자 지정 TCP 규칙
- RDS 인스턴스의 데이터베이스 엔진이 사용하는 특정 포트를 열어준다.
- 프로젝트에서는 MariaDB를 사용하므로 3306번 포트를 열어준다.
- 소스
- 일반적으로는 보안상의 이유로 특정 IP 또는 IP 범위를 지정한다.
- 만약 모든 IP에서의 접근을 허용하고자 한다면, '0.0.0.0/0'을 지정할 수 있지만, 이는 보안상 좋은 방법이 아니다.
- 가능하다면, RDS 인스턴스에 접근이 필요한 IP 주소나 IP 주소 범위만을 허용해야 한다.
- 내 개인 IP
- EC2 인스턴스 보안 그룹의 IP
- 보안 그룹 참조
- 보안 그룹을 참조하는 방식을 사용할 수도 있다.
- EC2 인스턴스의 보안 그룹을 소스로 지정하면, 해당 EC2 인스턴스에서만 RDS 인스턴스에 접근이 가능해진다.
- 이런 방식으로 인바운드 규칙을 설정하면, 오직 허용된 IP 주소나 IP 주소 범위, 또는 허용된 보안 그룹을 사용하는 인스턴스에서만 RDS 인스턴스에 접근할 수 있다.
- 이는 RDS 인스턴스를 보호하고, 불필요한 접근을 차단하는 데 도움이 된다.
'기술 블로그 > ToValley' 카테고리의 다른 글
[Spring Boot, WebSocket, Kafka, MongoDB] 채팅 기능 구현#1. 기술 선정 (0) | 2024.03.20 |
---|---|
Refresh Token 문제 및 해결 과정 (0) | 2024.01.05 |
[Spring Boot + React]배포#4. AWS RDS 생성 및 설정 (1) | 2023.12.17 |
[EC2 + RDS + Docker + Spring Boot + React]배포#11. 문제 해결 과정 (0) | 2023.12.16 |
[Spring Boot + React]배포#3. AWS EC2 생성 및 설정 (0) | 2023.12.16 |