D2-13. Amazon OpenSearch Service
Amazon OpenSearch Service(구 Elasticsearch Service)는 검색(Search) 및 분석(Analytics) 을 위한 관리형 서비스입니다.
VPC Flow Logs는 VPC, 서브넷 또는 개별 ENI(Elactic Network Interface) 레벨에서 주고받는 IP 트래픽 정보를 캡처하는 기능입니다.
주로 네트워크 연결 문제를 해결하고, 트래픽 패턴을 모니터링하며, 악의적인 동작을 탐지하는 데 사용됩니다.
logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents와 같은 권한이 포함되어야 합니다.로그 파일에는 트래픽에 대한 상세한 메타데이터가 포함되며, action 필드가 문제 해결의 핵심입니다.
| 필드 | 설명 |
|---|---|
srcaddr / dstaddr |
트래픽을 주고 받는 IP 주소 |
srcport / dstport |
사용된 포트 |
action |
ACCEPT 또는 REJECT결과는 SG(Security Group 또는 NACL(Network ACL) 규칙에 의해 결정 |
Flow Logs의 action 필드를 분석하면, Stateful(상태 저장)인 SG과 Stateless(상태 비저장)인 NACL 중 무엇이 문제인지 식별할 수 있습니다.
Stateful vs Stateless 핵심 원리
Security Group (Stateful): Inbound가 허용되면, 돌아가는 Outbound 트랙픽은 자동으로 허용됩니다. (반대도 마찬가지)
NACL (Stateless): Inbound와 Outbound 트래픽을 각각 별개로 검사해야 합니다.
action 필드 |
문제 원인 | 설명 |
|---|---|---|
Inbound REJECT |
NACL 또는 SG 문제 | 트래픽이 인스턴스에 도달하기 전에 둘 중 하나에 의해 거부됩니다.해당 로그만으로는 정확한 원인 판별이 불가능합니다. |
Inbound ACCEPT + Outbound REJECT |
NACL 문제 | SG는 Stateful이라 Inbound가 ACCEPT되면 Outbound를 자동으로 허용합니다.그런데도 Outbound가 REJECT된 것은 Stateless인 NACL이 Outbound 트래픽을 차단했다는 의미입니다. |
action 필드 |
문제 원인 | 설명 |
|---|---|---|
Outbound REJECT |
NACL 또는 SG 문제 | 트래픽이 외부에 도달하기 전에 둘 중 하나에 의해 거부됩니다.해당 로그만으로는 정확한 원인 판별이 불가능합니다. |
Outbound ACCEPT + Inbound REJECT |
NACL 문제 | SG는 Stateful이라 Outbound가 ACCEPT되면 Inbound를 자동으로 허용합니다.그런데도 Inbound가 REJECT된 것은 Stateless인 NACL이 Inbound 트래픽을 차단했다는 의미입니다. |



VPC Flow logs는 대부분의 IP 트래픽을 캡처하지만, 아래와 같은 특정 트래픽은 로깅(캡처)하지 않습니다.
169.254.169.254) 트래픽169.254.169.123) 트래픽x.x.x.1 주소)로 향하는 트래픽VPC Traffic Mirroring은 VPC 내의 네트워크 트래픽을 실시간으로 복사하여 비간섭적(Non-intrusive) 방식으로 검사할 수 있게 해주는 기능입니다.
원본 트래픽에 영향을 주지 않고 사본을 보안 장비로 전송하여 위협 모니터링, 콘텐츠 검사, 문제 해결 등을 수행할 수 있습니다.

| 구성 요소 | 설명 |
|---|---|
| Source | 트래픽을 모니터링할 대상 |
| Target | 복사된 트래픽을 수신할 목적지일반적으로 NLB(Network Load Balancer)를 사용하며, 이 NLB는 트래픽을 분석용 보안장비로 라우팅합니다. |
| Filter | 선택 사항으로 모든 트래픽이 아닌, 특정 트래픽만 복사하도록 지정하는 규칙 |
원본 트래픽은 중단 없이 정상적으로 Source ENI로 계속 전달됩니다.
트래픽의 사본만 Target으로 전송되므로, Source는 미러링 사실을 인지하지 못하며 성능에 영향을 받지 않습니다.
핵심 원칙은 미러링된 트래픽(Source)이 대상(Target)으로 라우팅(Routing)될 수 있어야 한다는 것입니다.
즉, Source와 Target이 사설 IP를 통해 서로 통신할 수 있는 네트워크 경로에 있어야 합니다.
VPC Peering vs Transit Gateway
VPC Peering은 두 VPC 간의 1:1 직접 연결(Mesh 구조)이며, Transit Gateway는 여러 VPC와 온프레미스를 연결하는 중앙 허브(Hub-and-Spoke 구조)입니다.가장 큰 차이는 전이성(Transitive) 유무입니다.
VPC Peering: 전이성 없음 (A↔B, B↔C 연결되어도 A↔C는 통신 불가)
Transit Gateway: 전이성 있음 (허브를 통해 A↔B↔C 모두 통신 가능)
모니터링할 트래픽이 많거나 여러 종류의 분석이 필요할 때 사용합니다.
트래픽을 동일한 보안 장비 여러 대에 분산 시킵니다.
미러링된 트래픽을 NLB로 전송하고, NLB 뒤편의 ASG(Auto Scaling Group)이 트랙픽을 처리합니다.
트래픽이 증가하면 ASG가 자동으로 확장되어 유연하게 대응할 수 있습니다.

트래픽을 여러 종류의 보안 장비로 보냅니다.
미러링된 트래픽은 먼저 Cloud Packet Broker(타사 솔루션)로 전송됩니다.
해당 Broker가 트래픽의 특성을 파악하여, 목적에 맞게 목적에 맞는 보안 장비로 분배합니다.

여러 VPC나 계정에 분산된 트래픽을 한 곳으로 모아 중앙에서 관리하고 분석하는 모델입니다.
각 소스 VPC와 중앙의 “보안 VPC”를 VPC Peering으로 1:1 연결합니다.
이를 통해 각 VPC의 트래픽을 중앙 모니터링 어플라이언스로 라우팅하여 분석할 수 있습니다.

Transit Gateway를 허브로 사용하여, 여러 계정과 여러 VPC를 중앙의 “보안 VPC”에 연결합니다.
모든 트래픽이 TGW를 통해 중앙으로 모이므로 확장성이 매우 뛰어나지만, TGW 데이터 처리 비용이 추가로 발생할 수 있습니다.

보안 위협이 탐지되었을 때만 자동으로 트래픽 미러링을 활성화하여 필요한 포렌식 데이터를 수집하는 아키텍처입니다.

VPC Network Access Analyzer는 리소스에 대한 잠재적인 네트워크 경로를 식별하여, 네트워크 보안 의도(요구 사항)와 실제 구성이 일치하는지 확인하는 도구입니다.
이를 통해 “모든 데이터베이스는 인터넷에서 접근 불가능해야 한다”와 같은 네트워크 요구 사항을 정의하고, 실제 규정 준수 여부를 자동으로 검증할 수 있습니다.

분석의 기준이 되는 보안 요구 사항을 정의한 JSON 문서입니다. “인터넷 게이트웨이에서 RDS로 들어오는 트래픽이 없어야 한다”와 같이 구체적인 조건을 이 Scope에 정의합니다.