서버 외부 공개
EC2에서 구축한 웹 응용 프로그램을 외부에 공개할 때 추가 설정이 필요합니다. 퍼블릭 IP가 있어야 하고 보안 그룹이 존재해야 합니다.
EC2를 인터넷에 공개하려면 다음 3가지 조건을 충족해야 합니다.
- EC2를 퍼블릭 서브넷에 배치
- 퍼블릭 IP 주소를 EC2에 부여
- 보안 그룹에서 외부로부터의 접근을 허가

EC2를 퍼블릭 서브넷에 배치를 해야 인터넷과 통신을 할 수 있습니다. 서브넷은 EC2를 배치하는 네트워크 입니다.
이 때 웹과 소통하기 위해서는 보안 그룹을 접속 허가로 설정해야 합니다.
퍼블릭 IP는 인터넷과 통신할 수 있는 IP 주소, IP 주소는 EC2의 위치를 나타내는 주소입니다.
서버 접근 제어
어느 곳에서 어느 곳으로 접속을 허가할지에 대한 접근 제어는 보안 그룹을 이용합니다.
보안 그룹은 온프레미스의 방화벽 기능을 수행합니다.
- 외부에서 EC2로의 통신을 인바운드 규칙으로 정의합니다.
- EC2에서 외부로의 통신을 아웃바운드 규칙으로 정의합니다.
둘 다 통신을 허용할 네트워크와 포트 번호를 지정합니다.
예를 들어 제가 프로젝트를 할 때 리눅스 터미널과 접근하기 위해 22번 포트를 열었습니다. 또 웹가 소통하기 위해서는 80번 포트를 열어놔야 합니다.

이렇게 포트를 열 수 있습니다.

이건 아웃바운드 규칙 설정 화면입니다. 디폴트는 외부로의 모든 트래픽을 허용합니다.
보안 그룹에 규칙을 추가할 때 대상에 IP가 아니라 다른 보안 그룹을 지정하는 것도 가능합니다.
예를 들어 EC2-A와 EC2-B 인스턴스가 있다고 할 때, EC2-A에서 EC2-B로 통신을 허가해야 한다면 EC2-B의 보안 그룹에 EC2-A의 보안 그룹ID를 지정하면 내부적으로 EC2-A의 IP가 지정돼 통신이 허가됩니다.
- 보안 그룹에 지정하는 규칙은 허용만 할 수 있다는 특징이 있습니다.
- 특정 네트워크로부터의 통신을 차단하도록 설정할 수는 없습니다.
차단 설정을 네트워크 ACL이나 다른 접근 제어 기능에서 가능합니다.
출처
AWS 구조와 서비스 | 우에노 후미아키 - 교보문고
AWS 구조와 서비스 |
product.kyobobook.co.kr