다양한 사용 사례의 보안 그룹 규칙

다양한 사용 사례의 보안 그룹 규칙 (Security group rules for different use cases)

보안 그룹을 만들고 보안 그룹과 연결된 인스턴스의 역할을 반영하는 규칙을 추가할 수 있어요. 예를 들어 웹 서버로 구성된 인스턴스에는 인바운드 HTTP와 HTTPS 액세스를 허용하는 보안 그룹 규칙이 필요해요. 마찬가지로 데이터베이스 인스턴스에는 MySQL인 경우 포트 3306 액세스처럼 데이터베이스 유형에 맞는 액세스를 허용하는 규칙이 필요해요.

출처: 문서

본문

다음은 특정 유형의 액세스를 위해 보안 그룹에 추가할 수 있는 규칙 종류의 예시예요.

예시 (Examples)

  • Web server rules
  • Database server rules
  • Rules to connect to instances from your computer
  • Rules to connect to instances from an instance with the same security group
  • Rules for ping/ICMP
  • DNS server rules
  • Amazon EFS rules
  • Elastic Load Balancing rules

지침은 Create a security group과 Configure security group rules를 참고하세요.

웹 서버 규칙 (Web server rules)

다음 인바운드 규칙은 모든 IP 주소에서 HTTP와 HTTPS 액세스를 허용해요. VPC가 IPv6으로 활성화된 경우 IPv6 주소에서 들어오는 인바운드 HTTP·HTTPS 트래픽을 제어하는 규칙을 추가할 수 있어요.

프로토콜 유형 프로토콜 번호 포트 소스 IP 참고
TCP 6 80 (HTTP) 0.0.0.0/0 모든 IPv4 주소에서 인바운드 HTTP 액세스 허용
TCP 6 443 (HTTPS) 0.0.0.0/0 모든 IPv4 주소에서 인바운드 HTTPS 액세스 허용
TCP 6 80 (HTTP) ::/0 모든 IPv6 주소에서 인바운드 HTTP 액세스 허용
TCP 6 443 (HTTPS) ::/0 모든 IPv6 주소에서 인바운드 HTTPS 액세스 허용

데이터베이스 서버 규칙 (Database server rules)

다음 인바운드 규칙은 인스턴스에서 실행 중인 데이터베이스 유형에 따라 데이터베이스 액세스를 위해 추가할 수 있는 규칙의 예시예요. Amazon RDS 인스턴스에 대한 자세한 내용은 Amazon RDS User Guide를 참고하세요.

소스 IP에 대해 다음 중 하나를 지정해요.

  • 로컬 네트워크의 특정 IP 주소 또는 IP 주소 범위(CIDR 블록 표기)
  • 데이터베이스에 액세스하는 인스턴스 그룹의 보안 그룹 ID
프로토콜 유형 프로토콜 번호 포트 참고
TCP 6 1433 (MS SQL) 예: Amazon RDS 인스턴스에서 Microsoft SQL Server 데이터베이스에 액세스하는 기본 포트
TCP 6 3306 (MYSQL/Aurora) 예: Amazon RDS 인스턴스에서 MySQL 또는 Aurora 데이터베이스에 액세스하는 기본 포트
TCP 6 5439 (Redshift) Amazon Redshift 클러스터 데이터베이스에 액세스하는 기본 포트
TCP 6 5432 (PostgreSQL) 예: Amazon RDS 인스턴스에서 PostgreSQL 데이터베이스에 액세스하는 기본 포트
TCP 6 1521 (Oracle) 예: Amazon RDS 인스턴스에서 Oracle 데이터베이스에 액세스하는 기본 포트

선택적으로 데이터베이스 서버에서 나가는 트래픽을 제한할 수 있어요. 예를 들어 소프트웨어 업데이트를 위해 인터넷 액세스를 허용하되 다른 모든 종류의 트래픽은 제한하려는 경우가 있어요. 먼저 모든 나가는 트래픽을 허용하는 기본 아웃바운드 규칙을 제거해야 해요.

프로토콜 유형 프로토콜 번호 포트 대상 IP 참고
TCP 6 80 (HTTP) 0.0.0.0/0 모든 IPv4 주소로 나가는 HTTP 액세스 허용
TCP 6 443 (HTTPS) 0.0.0.0/0 모든 IPv4 주소로 나가는 HTTPS 액세스 허용
TCP 6 80 (HTTP) ::/0 (IPv6 활성화 VPC만) 모든 IPv6 주소로 나가는 HTTP 액세스 허용
TCP 6 443 (HTTPS) ::/0 (IPv6 활성화 VPC만) 모든 IPv6 주소로 나가는 HTTPS 액세스 허용

컴퓨터에서 인스턴스로 연결하는 규칙 (Rules to connect to instances from your computer)

인스턴스에 연결하려면 보안 그룹에 SSH 액세스(Linux 인스턴스) 또는 RDP 액세스(Windows 인스턴스)를 허용하는 인바운드 규칙이 있어야 해요.

프로토콜 유형 프로토콜 번호 포트 소스 IP
TCP 6 22 (SSH) 컴퓨터의 공개 IPv4 주소 또는 로컬 네트워크의 IP 주소 범위. VPC가 IPv6으로 활성화되고 인스턴스에 IPv6 주소가 있으면 IPv6 주소 또는 범위를 입력할 수 있어요.
TCP 6 3389 (RDP) 컴퓨터의 공개 IPv4 주소 또는 로컬 네트워크의 IP 주소 범위. VPC가 IPv6으로 활성화되고 인스턴스에 IPv6 주소가 있으면 IPv6 주소 또는 범위를 입력할 수 있어요.

같은 보안 그룹의 인스턴스에서 연결하는 규칙 (Rules to connect to instances from an instance with the same security group)

같은 보안 그룹과 연결된 인스턴스들이 서로 통신하도록 허용하려면 명시적으로 규칙을 추가해야 해요.

참고

서로 다른 서브넷의 두 인스턴스 간 트래픽을 middlebox 어플라이언스를 통해 전달하도록 경로를 구성했다면, 두 인스턴스의 보안 그룹이 인스턴스 간 트래픽 흐름을 허용하는지 확인해야 해요. 각 인스턴스의 보안 그룹은 다른 인스턴스의 프라이빗 IP 주소 또는 다른 인스턴스가 포함된 서브넷의 CIDR 범위를 소스로 참조해야 해요. 다른 인스턴스의 보안 그룹을 소스로 참조하면 인스턴스 간 트래픽이 흐르도록 허용되지 않아요.

다음 표는 연결된 인스턴스들이 서로 통신할 수 있게 하는 보안 그룹의 인바운드 규칙을 설명해요. 규칙은 모든 유형의 트래픽을 허용해요.

프로토콜 유형 프로토콜 번호 포트 소스 IP
-1 (All) -1 (All) -1 (All) 보안 그룹의 ID 또는 다른 인스턴스가 포함된 서브넷의 CIDR 범위 (참고 참조)

ping/ICMP 규칙 (Rules for ping/ICMP)

ping 명령은 ICMP 트래픽의 한 유형이에요. 인스턴스에 ping하려면 다음 인바운드 ICMP 규칙 중 하나를 추가해야 해요.

유형 프로토콜 소스
Custom ICMP - IPv4 Echo request 컴퓨터의 공개 IPv4 주소, 특정 IPv4 주소 또는 어디서든 IPv4·IPv6 주소
All ICMP - IPv4 IPv4 ICMP (1) 컴퓨터의 공개 IPv4 주소, 특정 IPv4 주소 또는 어디서든 IPv4·IPv6 주소

ping6 명령으로 인스턴스의 IPv6 주소에 ping하려면 다음 인바운드 ICMPv6 규칙을 추가해야 해요.

유형 프로토콜 소스
All ICMP - IPv6 IPv6 ICMP (58) 컴퓨터의 IPv6 주소, 특정 IPv4 주소 또는 어디서든 IPv4·IPv6 주소

DNS 서버 규칙 (DNS server rules)

EC2 인스턴스를 DNS 서버로 설정했다면 TCP와 UDP 트래픽이 포트 53으로 DNS 서버에 도달할 수 있도록 해야 해요.

소스 IP에 대해 다음 중 하나를 지정해요.

  • 네트워크의 IP 주소 또는 IP 주소 범위(CIDR 블록 표기)
  • DNS 서버에 액세스해야 하는 네트워크의 인스턴스 집합에 대한 보안 그룹의 ID
프로토콜 유형 프로토콜 번호 포트
TCP 6 53
UDP 17 53

Amazon EFS 규칙 (Amazon EFS rules)

Amazon EC2 인스턴스와 함께 Amazon EFS 파일 시스템을 사용한다면 Amazon EFS 마운트 대상과 연결하는 보안 그룹이 NFS 프로토콜을 통한 트래픽을 허용해야 해요.

프로토콜 유형 프로토콜 번호 포트 소스 IP 참고
TCP 6 2049 (NFS) 보안 그룹의 ID 이 보안 그룹과 연결된 리소스(마운트 대상 포함)에서 인바운드 NFS 액세스 허용

Amazon EC2 인스턴스에 Amazon EFS 파일 시스템을 마운트하려면 인스턴스에 연결해야 해요. 따라서 인스턴스와 연결된 보안 그룹에는 로컬 컴퓨터나 로컬 네트워크에서 인바운드 SSH를 허용하는 규칙이 있어야 해요.

프로토콜 유형 프로토콜 번호 포트 소스 IP 참고
TCP 6 22 (SSH) 로컬 컴퓨터의 IP 주소 범위 또는 네트워크의 IP 주소 범위(CIDR 블록 표기) 로컬 컴퓨터에서 인바운드 SSH 액세스 허용

Elastic Load Balancing 규칙 (Elastic Load Balancing rules)

EC2 인스턴스를 로드 밸런서에 등록한다면 로드 밸런서와 연결된 보안 그룹이 인스턴스와의 통신을 허용해야 해요. 자세한 내용은 Elastic Load Balancing 문서에서 다음을 참고하세요.

  • Security groups for your Application Load Balancer
  • Security groups for your Network Load Balancer
  • Configure security groups for your Classic Load Balancer

더 알아보기 (Learn more)