Amazon EC2 인스턴스의 인바운드(Inbound) 및 아웃바운드(Outbound) 규칙을 올바르게 구성하는 것은 보안을 유지하고 개인 또는 비즈니스 목적에 맞는 서비스를 안정적으로 운영하는 데 매우 중요합니다. 예를 들어, Amazon EC2 인스턴스에서 웹 애플리케이션을 호스팅하려면 외부 사용자가 웹 앱에 접속할 수 있도록 HTTPS 인바운드 통신을 허용해야 합니다.
마찬가지로 EC2 인스턴스가 인터넷상의 메일 서버와 통신해야 한다면 IMAP, POP3, SMTP 아웃바운드 통신을 허용해야 합니다.
1부: HTTPS 활성화로 인바운드 규칙 구성하기
첫 번째 파트에서는 HTTPS 프로토콜을 활성화하여 인바운드 규칙을 구성하는 방법을 살펴보겠습니다. HTTPS(Hypertext Transfer Protocol Secure)는 웹 브라우저와 웹사이트(웹 서버) 간의 안전한 통신에 사용되는 프로토콜입니다.
- AWS 관리 콘솔(AWS Management Console)에 로그인합니다.
- 실행 중인 인스턴스(Running instances)를 클릭합니다.
- 대상 인스턴스를 선택합니다.
- Description(설명) 탭을 클릭한 후, 아래 스크린샷과 같이 창 오른쪽에 있는 보안 그룹(Security groups)으로 이동합니다.

보안 그룹 섹션에서는 다음 세 가지 항목을 확인할 수 있습니다.
- launch-wizard-3 – 보안 그룹의 이름입니다. EC2 인스턴스의 인바운드 및 아웃바운드 규칙을 구성하는 데 사용됩니다. 이 예제에서는 이름이 launch-wizard-3입니다.
- inbound rules(인바운드 규칙) – Amazon EC2 인스턴스로 들어오는 통신을 정의하는 규칙을 생성합니다. 'view'를 클릭하면 기존 인바운드 규칙을 확인할 수 있습니다.
- outbound rules(아웃바운드 규칙) – Amazon EC2 인스턴스에서 외부로 나가는 통신을 정의하는 규칙을 생성합니다. 'view'를 클릭하면 기존 아웃바운드 규칙을 확인할 수 있습니다.
- 보안 규칙을 구성하려면 launch-wizard-3를 클릭합니다.
- Security Group 아래에서 해당 인스턴스에 연결된 보안 그룹을 클릭합니다. 이 예제에서는 sg-002fe10b00db3a1e0이라는 보안 그룹 ID입니다.

- Inbound rules(인바운드 규칙)를 클릭한 다음 Edit inbound rules(인바운드 규칙 편집)을 클릭합니다.
- Inbound rules 아래에서 Add rule(규칙 추가)을 클릭합니다.
- 다음과 같이 규칙을 구성합니다.
- Type(유형) – 목록에서 HTTPS를 선택합니다. SSH(Linux 인스턴스용), RDP(Windows 인스턴스용) 등 일반적인 프로토콜을 선택할 수도 있고, 사용자 지정 포트나 포트 범위를 직접 입력할 수도 있습니다. 구성 가능한 프로토콜은 30가지 이상이며, DNS, IMAP, SMTP 등 다른 프로토콜을 활성화하려는 경우에도 HTTPS와 동일한 절차로 진행하면 됩니다.

- Protocol(프로토콜) – 기본적으로 TCP 프로토콜이 사용됩니다. TCP 또는 UDP와 같은 프로토콜 유형을 지정하며, ICMP 옵션도 추가로 선택할 수 있습니다.
- Port range(포트 범위) – 규칙 유형으로 HTTPS를 선택하면 기본 포트로 443이 자동으로 할당됩니다. 사용자 지정 규칙 및 프로토콜의 경우 포트 번호 또는 포트 범위를 직접 입력할 수 있습니다.
- Source(소스) – EC2 인스턴스에 접근을 허용할 단일 IP 주소 또는 CIDR 표기법의 IP 주소 범위(예: 203.0.113.5/32)를 지정합니다. 이 예제에서는 Anywhere(모든 위치)를 선택합니다. 그러면 IPv4와 IPv6 범위인 0.0.0.0/0과 ::/0이 자동으로 추가되어, 어떤 네트워크의 호스트든 EC2 인스턴스에 접근할 수 있게 됩니다. 방화벽 뒤에서 연결하는 경우에는 클라이언트 컴퓨터가 사용하는 IP 주소 범위를 지정해야 합니다. 같은 리전 내 다른 보안 그룹의 이름이나 ID를 지정할 수도 있으며, 다른 AWS 계정의 보안 그룹을 지정하려면(EC2-Classic만 해당) 계정 ID와 슬래시를 접두사로 붙입니다(예: 111122223333/OtherSecurityGroup).
- Description(설명) – 선택 사항 – 보안 그룹 규칙에 대한 설명을 입력합니다.

- Save rules(규칙 저장)을 클릭합니다. 이것으로 인바운드 규칙이 성공적으로 생성되었으며, Amazon EC2 인스턴스에서 호스팅되는 웹 앱에 정상적으로 접속할 수 있습니다.

2부: IMAP, POP3, SMTP 활성화로 아웃바운드 트래픽 구성하기
두 번째 파트에서는 IMAP, POP3, SMTP 프로토콜을 활성화하여 아웃바운드 규칙을 구성하는 방법을 살펴보겠습니다. IMAP(Internet Message Access Protocol)과 POP3(Post Office Protocol 3)는 이메일을 수신하는 프로토콜이며, SMTP(Simple Mail Transfer Protocol)는 이메일을 발송하는 프로토콜입니다.
- 보안 그룹을 엽니다.
- Outbound rules(아웃바운드 규칙)를 클릭합니다. 아래 스크린샷에서 확인할 수 있듯이 Amazon EC2 인스턴스에는 기본적으로 하나의 아웃바운드 규칙이 생성되어 있습니다. 이 규칙의 이름은 All traffic(모든 트래픽)이며, EC2 인스턴스에서 외부로 나가는 모든 통신을 허용하는 역할을 합니다.

- Edit outbound rules(아웃바운드 규칙 편집)을 클릭한 후 Delete(삭제) 버튼을 눌러 All traffic 규칙을 삭제합니다.

- Add rule(규칙 추가)을 클릭하여 새 규칙을 생성합니다.
- 다음과 같이 규칙을 구성합니다.
- Type(유형) – 목록에서 IMAPS를 선택합니다.
- Protocol(프로토콜) – 기본적으로 TCP 프로토콜이 사용됩니다. TCP 또는 UDP와 같은 프로토콜 유형을 지정하며, ICMP 옵션도 추가로 선택할 수 있습니다.
- Port range(포트 범위) – 규칙 유형으로 IMAPS를 선택하면 기본 포트로 993이 자동으로 할당됩니다.
- Source(소스) – EC2 인스턴스에 접근을 허용할 단일 IP 주소 또는 CIDR 표기법의 IP 주소 범위(예: 203.0.113.5/32)를 지정합니다. 이 예제에서는 특정 공인 IP 주소만 접근할 수 있도록 제한합니다.
- Description(설명) – 선택 사항 – 보안 그룹 규칙에 대한 설명을 입력합니다.
6. Add rule(규칙 추가)을 클릭하여 POP3S와 SMTPS에 대한 규칙을 각각 생성합니다.

7. Save rules(규칙 저장)을 클릭합니다. 이것으로 세 개의 아웃바운드 규칙이 성공적으로 생성되었습니다.

8. Amazon EC2 인스턴스에 로그인하여 규칙이 정상적으로 적용되었는지 확인합니다.