다양한 사용 사례에 대한 보안 그룹 규칙
보안 그룹을 생성하고 보안 그룹과 연결된 인스턴스의 역할을 반영하는 규칙을 추가합니다. 예를 들어 웹 서버로 구성된 인스턴스에는 인바운드 HTTP 및 HTTPS 액세스를 허용하는 보안 그룹 규칙이 필요합니다. 마찬가지로 데이터베이스 인스턴스에는 데이터베이스 유형에 대한 액세스(예: MySQL의 경우 포트 3306을 통한 액세스)를 허용하는 규칙이 필요합니다.
다음은 특정한 종류의 액세스에 대해 보안 그룹에 추가할 수 있는 규칙의 종류를 예로 든 것입니다.
예제:
웹 서버 규칙
다음 인바운드 규칙에서는 임의의 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 액세스를 허용함 |
데이터베이스 서버 규칙
다음의 인바운드 규칙은 인스턴스에서 실행 중인 데이터베이스의 유형에 따라 데이터베이스 액세스를 위해 추가할 수 있는 규칙을 예로 든 것입니다. Amazon RDS DB 인스턴스에 대한 자세한 내용은 Amazon RDS 사용 설명서를 참조하세요.
원본 IP의 경우 다음 중 하나를 지정합니다.
-
로컬 네트워크의 특정 IP 주소 또는 IP 주소 범위(CIDR 블록 표기법)
-
데이터베이스에 액세스하는 인스턴스 그룹의 보안 그룹 ID
프로토콜 유형 | 프로토콜 번호 | 포트 | 참고 |
---|---|---|---|
TCP | 6 | 1433(MS SQL) | Microsoft SQL Server 데이터베이스 액세스를 위한 기본 포트(예: Amazon RDS 인스턴스에서) |
TCP | 6 | 3306(MYSQL/Aurora) | MySQL 또는 Aurora 데이터베이스 액세스를 위한 기본 포트(예: Amazon RDS 인스턴스에서) |
TCP | 6 | 5439(Redshift) | Amazon Redshift 클러스터 데이터베이스 액세스를 위한 기본 포트. |
TCP | 6 | 5432(PostgreSQL) | PostgreSQL 데이터베이스 액세스를 위한 기본 포트(예: Amazon RDS 인스턴스에서) |
TCP | 6 | 1521(Oracle) | Oracle 데이터베이스 액세스를 위한 기본 포트(예: Amazon RDS 인스턴스에서) |
선택적으로 데이터베이스 서버의 아웃바운드 트래픽을 제한할 수 있습니다. 예를 들어 소프트웨어 업데이트를 위해 인터넷 액세스를 허용하지만 다른 모든 종류의 트래픽은 제한할 수 있습니다. 먼저 모든 아웃바운드 트래픽을 허용하는 기본 아웃바운드 규칙을 제거해야 합니다.
프로토콜 유형 | 프로토콜 번호 | 포트 | 목적지 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 액세스를 허용함 |
컴퓨터에서 인스턴스 연결에 대한 규칙
인스턴스에 연결하려면 보안 그룹에 SSH 액세스(Linux 인스턴스) 또는 RDP 액세스(Windows 인스턴스)를 허용하는 인바운드 규칙이 있어야 합니다.
프로토콜 유형 | 프로토콜 번호 | 포트 | 소스 IP |
---|---|---|---|
TCP | 6 | 22(SSH) | 컴퓨터의 퍼블릭 IPv4 주소 또는 로컬 네트워크의 IP 주소 범위. IPv6를 위해 VPC가 활성화되어 있고 인스턴스에 IPv6 주소가 있는 경우 IPv6 주소 또는 범위를 입력할 수 있습니다. |
TCP | 6 | 3389(RDP) | 컴퓨터의 퍼블릭 IPv4 주소 또는 로컬 네트워크의 IP 주소 범위. IPv6를 위해 VPC가 활성화되어 있고 인스턴스에 IPv6 주소가 있는 경우 IPv6 주소 또는 범위를 입력할 수 있습니다. |
보안 그룹이 동일한 인스턴스에서 인스턴스에 대한 연결 규칙
같은 보안 그룹과 연결된 여러 인스턴스가 서로 통신할 수 있게 하려면 이에 대한 규칙을 명시적으로 추가해야 합니다.
참고
미들박스 어플라이언스를 통해 서로 다른 서브넷에 있는 두 인스턴스 간의 트래픽을 전달하도록 경로를 구성하는 경우 두 인스턴스에 대한 보안 그룹이 인스턴스 간에 트래픽이 흐르도록 허용해야 합니다. 각 인스턴스의 보안 그룹은 다른 인스턴스의 프라이빗 IP 주소 또는 다른 인스턴스가 포함된 서브넷의 CIDR 범위를 소스로 참조해야 합니다. 다른 인스턴스의 보안 그룹을 소스로 참조하면 인스턴스 간에 트래픽이 흐를 수 없습니다.
다음 표에서는 연결된 인스턴스가 서로 통신할 수 있도록 하기 위한 보안 그룹의 인바운드 규칙을 설명합니다. 이 규칙에서는 모든 유형의 트래픽을 허용합니다.
프로토콜 유형 | 프로토콜 번호 | 포트 | 소스 IP |
---|---|---|---|
-1(모두) | -1(모두) | -1(모두) | 보안 그룹의 ID 또는 다른 인스턴스가 포함된 서브넷의 CIDR 범위(참고 사항 참조). |
Ping/ICMP 규칙
ping 명령은 ICMP 트래픽의 한 유형입니다. 인스턴스를 ping하려면 다음과 같은 인바운드 ICMP 규칙 중 하나를 추가해야 합니다.
유형 | 프로토콜 | 소스 |
---|---|---|
사용자 지정 ICMP - IPv4 | 에코 요청 | 컴퓨터의 퍼블릭 IPv4 주소, 특정 IPv4 주소 또는 위치와 관계없는 IPv4 또는 IPv6 주소입니다. |
모든 ICMP - IPv4 | IPv4 ICMP(1) | 컴퓨터의 퍼블릭 IPv4 주소, 특정 IPv4 주소 또는 위치와 관계없는 IPv4 또는 IPv6 주소입니다. |
ping6 명령을 사용하여 인스턴스에 대한 IPv6 주소를 ping하려면 다음 인바운드 ICMPv6 규칙을 추가해야 합니다.
유형 | 프로토콜 | 소스 |
---|---|---|
모든 ICMP - IPv6 | IPv6 ICMP(58) | 컴퓨터의 IPv6 주소, 특정 IPv4 주소 또는 위치와 관계없는 IPv4 또는 IPv6 주소 |
DNS 서버 규칙
EC2 인스턴스를 DNS 서버로 설정한 경우 TCP 및 UDP 트래픽이 포트 53을 통해 DNS 서버에 연결할 수 있는지 확인해야 합니다.
원본 IP의 경우 다음 중 하나를 지정합니다.
-
네트워크의 IP 주소 또는 IP 주소 범위(CIDR 블록 표기법)
-
네트워크에서 DNS 서버로의 액세스를 필요로 하는 인스턴스 세트에 대한 보안 그룹의 ID
프로토콜 유형 | 프로토콜 번호 | 포트 |
---|---|---|
TCP | 6 | 53 |
UDP | 17 | 53 |
Amazon EFS 규칙
Amazon EC2 인스턴스에서 Amazon EFS 파일 시스템을 사용하려면 Amazon EFS 마운트 대상과 연결되는 보안 그룹이 NFS 프로토콜을 통한 트래픽 전송을 허용해야 합니다.
프로토콜 유형 | 프로토콜 번호 | 포트 | 소스 IP | 참고 |
---|---|---|---|---|
TCP | 6 | 2049(NFS) | 보안 그룹의 ID | 이 보안 그룹과 연결된 리소스(탑재 대상 포함)에서 인바운드 NFS 액세스를 허용합니다. |
Amazon EFS 파일 시스템을 Amazon EC2 인스턴스에 마운트하려면 인스턴스에 연결해야 합니다. 따라서 인스턴스와 연결되는 보안 그룹은 로컬 컴퓨터 또는 로컬 네트워크의 인바운드 SSH 트래픽을 허용하는 규칙이 필요합니다.
프로토콜 유형 | 프로토콜 번호 | 포트 | 소스 IP | 참고 |
---|---|---|---|---|
TCP | 6 | 22(SSH) | 로컬 컴퓨터의 IP 주소 범위 또는 네트워크의 IP 주소 범위(CIDR 블록 표기법). | 로컬 컴퓨터로부터의 인바운드 SSH 액세스를 허용합니다. |
Elastic Load Balancing 규칙
로드 밸런서에 EC2 인스턴스를 등록하는 경우 로드 밸런서에 연결된 보안 그룹은 인스턴스와의 통신을 허용해야 합니다. 자세한 내용은 Elastic Load Balancing 설명서에서 다음을 참조하세요.