*아마존 VPC 네트워킹과 보안 책 참고해 작성했습니다.
7. 컴퓨팅 서비스의 네트워킹 요건
7.1 트래픽의 시작: IP 주소
트래픽을 전달하려면 통신 경로상의 모든 네트워크 디바이스가 목적지 IP를 명확히 인식할 수 있어야 한다.
1) IP 유형 = [정적/동적] + [퍼블릭/프라이빗]
- 동적 + 퍼블릭
- 동적 + 프라이빗
- 정적 + 퍼블릭
- 정적 + 프라이빗
정적 IP는 고정되 변경되지 않지만, 동적은 어느 시점부터 변경되는 IP를 의미한다.
IP는 어디서 바뀔까? 바로, 네트워크 인터페이스이다. IP가 주기적으로 변경되면 서비스를 제공할 도메인과 IP 매핑을 위한 DNS 설정이 어렵다. 따라서, 서비스용 IP는 정적 IP를 주로 사용한다.
2) 퍼블릭 IP와 인터넷 라우팅
한 IP 가 퍼블릭, 프라이빗 중 어떤 성격을 띠는지는 누가 결정할까? 바로, ISP 다. 국내 ISP는 KT, SKT, LG U + 등 이다.
쉽게 예를 들면, 우리가 https://console.aws.amazon.com 입력하면, 해당 IP 54.239.30.25까지 전달하는 경로다. 해당 도메인과 IP 가 부합하므로 이것을 퍼블릭 IP 라고 지칭한다.
AWS는 ISP 에게 일정 비용을 지불해 IP를 할당 받는다.
반면, 프라이빗 IP 는 AWS의 IP를 디바이스에 임의에 할당해도, 그 디바이스로는 트래픽전달이 안되기 때문에 인터넷 활동은 할 수 없다. 그러나, 이 IP는 내부망에서는 중복이 없는 한 제약없이 사용할 수 있다.
7.2 트래픽 전달의 주체: 탄력적 네트워크인터페이스 (ENI)
탄력적 네트워크 인터페이스(Elastic Network Interface, ENI)는 VPC 네트워킹의 중심 리소스이다.
1) VPC 서비스의 전용 배송원: ENI
ENI는 온프레미스 서버의 NIC에 상응하는 가상 장치다. ENI는 인스턴스가 만들어 낸 트래픽을 네트워크로 전송하거나 네트워크에서 들어온 트래픽을 수신한다. 마치 배송원처럼 물품 내용에는 관여하지 않고 송수신 역할만 전달한다.
ENI는 서브넷에 생성하므로, 최소 1개의 프라이빗 IP를 소유한다. ENI는 개별 생성이 가능하지만, 그 자체만으로는 아무런 기능도 못한다.
2) ENI의 2가지 유형
ENI사용은 곧 VPC 네트워킹을 의미하므로, ENI 에 연결된 모든 서비스는 반드시 VPC 네트워킹의 보안 통제를 받는다.
- A유형: 데이터 처리가 주 역할인 서비스
- B유형: 트래픽 전송이 주 역할인 서비스
A유형 서비스: RDS, Lamda, EFS 등이 있다. 이들은 애플리케이션 실행, 컴퓨팅, 스토리지 등 데이터 가공이나 저장이 주된 역할이며 ENI 는 단지 트래픽을 전송하는 수단에 불과하다.
B유형 서비스: NAT G/W, 전송 게이트웨이 같은 네트워크 디바이스로 트래픽 전송이 주 목적이다. 물론 트래픽 전달 과정에서 경로를 제어하지만, 트래픽에 포함된 데이터 내용을 변경 또는 가공하진 않는다.
A 유형 서비스에 연결된 ENI를 컴퓨팅 ENI, B 유형 서비스에 연결된 ENI를 라우팅 ENI로 정의
3) ENI 유형비교(1) : 소스/대상 확인
소스: 패킷의 출발지 IP, 대상: 목적지 IP를 의미
즉, ENI가 패킷을 전송하고 수신할 때 출발지 IP와 목적지 IP를 검사할 것인지를 선택하는 옵션
NAT G/W는 프라이빗 영역의 패킷을 퍼블릭으로 전달해야 하므로, 프라이빗 IP와 퍼블릭 IP를 모두 소유한다. 그리고 두 IP는 다르다. 소스/대상 확인의 옵션이 켜져 있으면, 두 IP가 같을 때 전송한다. 다시말해, 옵션이 꺼지면 모든 패킷을 선별해 전송/수용하고, 옵션이 켜지면 패킷을 선별해 전송/수용한다.
4) 요청자 관리형 ENI
NAT G/W 도 라우팅 ENI 중 하나로서 소스/ 대상 확인 옵션을 변경하는 기능이 없다.
만약, NAT G/W가 사용하는 ENI 설정을 강제로 바꾸면? 오류가난다. NAT G/W 메뉴에서 제공하지 않는 기능은 ENI 메뉴에서도 마음대로 변경할 수 없다.
요청자 관리형 속성값이 '예'로 설정된 서비스는 ENI가 장착된 서비스 메뉴에서만 ENI 속성을 조작할 수 있다.
컴퓨팅 ENI 및 라우팅 ENI 구분과 관계없이, 인스턴스를 제외한 대부분의 서비스는 요청자 관리형 ENI 를 사용한다.
5) ENI 유형 비교(2): 보안그룹(SG) 강제 적용
컴퓨팅 ENI를 사용하는 컴퓨팅 서비스는 데이터 처리와 보관을 담당하므로 데이터 보호에 각별히 유의 해야한다.
라우팅 ENI는 연결된 네트워크 디바이스는 자신에게 전달된 트래픽을 서비스 기능에 맞게 다시 포워딩하면 되므로 데이터 보호에는 직접 관여하지 않는다.
6) SG와 서브넷에 의존하는 ENI
이전에 VPC 네트워킹을 아래와 같이 정의했다.
AWS 서비스가 네트워크 인터페이스를 사용하면 자동으로 보안그룹, 네트워크 ACL 그리고 라우팅 테이블의 통제를 받게 된다. 이를 두고 서비스 VPC 네트워킹을 사용한다고 말한다.
여기서 말하는 네트워크 인터페이스는 컴퓨팅 ENI 이다. 라우팅 ENI 는 보안그룹을 제외하고 NACL 과 라우팅 테이블의 통제를 받는다.
ENI 의 패런트는 서브넷이고, 서브넷의 패런트는 VPC 이다.
7) ENI 보호 = VPC 보호
VPC 보안을 강화하려면 ENI를 안전하게 관리하면 된다는 결론에 이른다. 정리하면, ENI에 연결된 보안 그룹과 서브넷에 연결된 네트워크 ACL, 그리고 라우팅 테이블을 안전하게 통제하면 된다.
모든 컴퓨팅 서비스는 ENI를 통제하는 방식이 있다. 예를들어, 요청자 관리형 서비스는 ENI 임의 변경을 못하도록 설정해뒀다. 또, RDS 는 특수 포트만 허용하고 있어 지정된 포트만 접근할 수 있다.
7.3 트래픽 생성의 주체 : EC2 인스턴스
EC2 인스턴스는 OS 이미지인 AMI, 로그인 시 사용하는 키페어, 데이터 저장하는 EBS 등이 있다.
1) 트래픽 공장의 대표 이사: 인스턴스
인스턴슨느 가상 서버다 . 모든 종류의 인스턴스부터 다양한 용도의 OS를 구축할 수 있다. 이걸 가능하게 한 요소는 AMI 인스턴스를 생성하려면 하나의 AMI 를 선택해야 한다.
2) 인스턴스로 위장한 AWS 서비스들
AWS 자체 서비스가 인스턴스 형태로 생성되는 방식도 있다.
이를테면, AWS 컴퓨팅 서비스인 Batch, Elastic Beanstalk, 개발자 도구인 cloud9 그리고 OpsWorks 가 있다.
EC2 인스턴스는 크게 2개로 구분할 수 있다.
- A 유형: EC2 메뉴 인스턴스 시작 버튼으로 생성한 서비스
- B유형: AWS 자체 서비스 메뉴에서 생성한 컴퓨팅 서비스
3) 인스턴스의 위상
VPC 네트워킹 보안 통제 측면에서 A, B는 큰 차이는 없다 . 모든 인스턴스는 최소 1개 이상의 ENI 를 연결해야 하기 때문에 모든 인스턴스는 VPC의 보안 통제를 받는다.
4) 요약
- ENI에 할당된 IP가 일정 시간 이후 변하면 동적 IP, 변하지 않고 유지되면 정적 IP 라 한다. 동적 및 정적 여부는 IP자체가 아닌 환경이 좌우한다.
- 인터넷에서 활동 가능한 IP를 공인 IP라 한다. AWS 에서는 동적 공인 IP를 퍼블릭 IP, 정적인 공인 IP를 탄력적 IP라 부른다.
- VPC 통신의 중심인 ENI는 서비스 목적에 따라 컴퓨팅 또는 라우팅용으로 구분한다. 컴퓨팅 ENI를 사용하는 인스턴스는 보안 그룹과 서브넷을 반드시 동반한다.
- ENI 를 안전하게 보호한느 것이 VPC 보안의 핵심이다.
- 인스턴스는 AMI를 구동해 다양한 솔루션을 구현할 수 있다.
'cloud > AWS Cloud' 카테고리의 다른 글
[ANS]5. 연결(1) (0) | 2023.06.08 |
---|---|
[ANS]3. 컴퓨팅 서비스 활용 (0) | 2023.06.07 |
[ANS]2. 네트워크 공간과 그 경계 (2) | 2023.06.05 |
[ANS]1. AWS 네트워킹 개요 (0) | 2023.06.01 |
[AWS] root 계정으로 로그인하기 (1) | 2023.05.30 |