일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- DXGW
- CrossSiteScript
- 푸시게이트웨이
- s3 sync
- ec2
- 마운트
- bWAPP M1
- S3 Interface Endpoint
- x lock s lock
- 리눅스
- 도커
- BastianHost
- Route53 Endpoint
- s3
- bWAPP arm
- 다이렉트 커넥트
- DNS Resolver
- push-gateway
- S3 private통신
- SessionManager 터널링
- sessionManager
- AWS Resolver
- S3 PrivateLink
- Terraform
- ix is lock
- bWAPP install
- Route53 Resolver
- node pod 분리
- S3 Gateway Endpoint
- VGW
- Today
- Total
이것이 점프 투 공작소
VPC의 리소스들에 대해 알아보자 본문
VPC란?
Virtual Private Cloud의 약자로 AWS 계정에 종속되는 가상의 네트워크입니다.
VPC의 요소들
Subnet
vpc의 ip주소 범위를 말합니다.
보통 public, private 서브넷으로 나누게됩니다.
Public Subnet의 경우 0.0.0.0/0 즉 Any Traffic 은 IGW(인터넷 게이트웨이)를 타도록 설정합니다.
Public Subnet에 할당되는 EC2에는 Public DNS가 자동으로 할당되도록 할수도 있습니다.
NAT G/W 또한 일반적으로 Public Subnet에 구성합니다.
Private Subnet의 경우 0.0.0.0/0 의 트래픽을 NAT G/W으로 향하게 하거나 차단합니다.
기본적으로 인터넷을 통한 접속을 차단합니다.
Routing Table
서브넷 안에서 목적지에 대한 라우팅 설정을 제공합니다.
주로 Public Subnet의 라우팅 테이블의 경우 0.0.0.0/0 트레픽을 인터넷 게이트 웨이로 보내고
Private Subnet에서는 0.0.0.0/0의 트래픽을 Nat G/W로 보내어 Egress만 인터넷을 탈 수 있도록 처리하는 경우가 많습니다.
Nat G/W
private subnet에서 인터넷으로의 접속을 허용하고자 할 때 사용됩니다.
별도로 특정 상황에서 비용절감이나 더 다양한 기능을 적용시키기 위해 EC2를 사용해서 Nat Instance를 사용하는 방법도 존재합니다.
IPv4만 지원하기에 AWS에서는 egress-only Internet G/W를 지원하고있습니다.
Middlebox Routing
VPC에서 트래픽을 도착지로 가기전 가로체어 다른 리소스로 라우팅을 보낼 수 있는 기능입니다.
Ingress traffic을 검사하거나 subnet간의 트래픽을 검사하여 보낼 수 있고, GLB(Gateway Load Balancer)를 사용하여 중간단계의 절차를 추가 하는 일도 가능합니다.
VPC IPAM
IPAM (IP Address Manager) 를 의미하며, Multi-account 를 통합으로 관리 할 수 있습니다.
새로운 VPC대역을 할당하거나 할때도 유용하게 사용 할 수 있습니다.
Security group
ENI 에 설정하는 가상 방화벽으로 , 인바운드 & 아웃바운드 트래픽을 제어합니다
soft limit으로 5개까지 적용 가능합니다.
기본적으로 all deny정책을 사용하며 Allow Rule만 지정 할 수 있습니다.
Stateful하며 SG Chaining을 통해 Security group끼리의 요청에 대한 Allow를 할 수 있습니다.
Prefix List를 사용하여 대역을 등록하고 만들어진 Prefix List를 SG에 등록하여 허용 할 수 있습니다.
NACL
Natwork Access Control List로 서브넷 레벨에서 동작하는 가상 방화벽입니다.
Subnet 안에 존재하는 모든 리소스에 영향을 끼칩니다.
Allow, Deny 정책 모두 사용가능하고 Stateless하며, 정책 평가시 rule number가 낮은 정책부터 평가합니다.
Private Link를 만들기 위한 VPC Endpoint 리소스들
Private Link란?
VPC와 리소스간의 pirvate connection을 의미합니다.
IGW, Nat G/W, DX, VPN 없이 직접적으로 접근이 가능하며,
다른 VPC Peering을 맺은 다른 Account의 리소스에도 접근이 가능합니다.
VPC Endpoint( Consumer ) , VPC Endpoint service( Provider ) 2개의 개념을 통해 Private Link를 구현 할 수 있습니다.
VPC Endpoint ( consumer )
서비스를 사용하려고하는 리소스에 할당하여 사용합니다.
리소스간의 private connection을 제공해주는 주체입니다.
현재 Internet endpoint, Gateway endpoint, Gateway LoadBalancer endpoint 총 3가지 endpoint를 제공합니다.
Interface Endpoint
다양한 AWS리소스가 제공하는 Endpoint입니다.
subnet의 ENI에 생성하여 VPC Endpoint service으로 요청이 전달됩니다.
기본적으로 AWS의 Regional 서비스와 연동되기에 자동으로 요청이 전달됩니다.
ENI에 SG을 할당하여 사용가능하고 DNS를 지원합니다. IAM의 Endpoint Policy또한 존재하여 정책을 부여하여 사용 할 수 있습니다.
Gateway Endpoint
인터페이스 타입과 다르게 서브넷 내에 ENI가 생성되는 구조가 아니라 Rounting table에 규칙을 추가해서 사용해야합니다.
S3, Dynamo DB가 Gateway Endpoint를 지원합니다.
AWS 가 기본적으로 제공하는 Prefix를 사용하여 routing을 설정 할 수 있습니다.
ENI가 생성되지 않기에 SG, IAM설정이 불가하며 AWS외부에서 사용 할 수 없습니다.
Gateway LoadBalancer Endpoint
GENEVE tunneling 프로토콜을 사용하는 Gateway LoadBalancer에 Attach할 수 있는 Gateway Endpoint입니다.
Gateway Loadbalancer 가 요청을 보내는 리소스가 GENEVE tunneling 프로토콜을 지원하는지 확인해야합니다.
아래 그림처럼 IGW의 라우팅테이블에서 Gateway LoadBalancer Endpoint로 가도록 세팅되어 있으면 Gateway LoadBalancer Endpoint는 Gateway LoadBalancer로 요청을 전달합니다.
VPC Endpoint service (서비스 제공자)
다른 AWS어카운트에 서비스를 제공하기 위한 서비스입니다.
SAS를 제공하는 업체라면 VPC Endpoint service를 사용하여 SAS 이용자에게 private연결을 하도록 사용 할 수 있습니다.
private DNS를 제공합니다.
VPC 보안관련 서비스들
ANF (AWS Network Firewall)
AWS의 관리형 방화벽 서비스로 내부적으로 Gateway Loadbalancer를 사용하며, 사용자 정의 보안 규칙을 정의하여 VPC와 인스턴스의 트래픽을 통합하여 감시하고 보호 할 수 있습니다.
Firewall Manager를 통해서 각 어카운트 내의 Firewall을 통합적으로 관리 할수도 있습니다.
VPC Endpoint를 Network Firewall로 연결하여 사용합니다.
Stateless 정책
nacl과 유사하게 rule number를 통해 관리 할 수 있고 ip, port 리스트를 사용해 적용 할 수 있습니다.
Pass, Drop, Forward정책을 적용 가능하며 Forward 정책을 사용해서 Stateless에서 Statefull 정책으로 넘겨줄 수도 있습니다.
Stateful 정책
SG처럼 모든 정책을 통합해서 걸러지고, Pass, Drop, Alert 정책을 사용하며 모든 정책에 해당이 되지 않으면 Default정책으로 넘어갑니다.
AWS WAF
L7 레이어의 해당하는 보안 위협(SQLi, XSS 등)에 대응하기 위한 서비스입니다.
API G/W, ALB ,CloudFront에 Attach 하여 사용 가능하며, 하나의 WAF로 여러 서비스에 attach 할 수 있습니다.
AWS Managed rule, AWS Marketplace, Custom rule 크게 총 3가지의 rule을 사용하여 정책을 지정 할 수 있습니다.
AWS Shield
DDOS공격을 막기 위한 AWS관리형 서비스로
Standard와 Advanced로 나뉘어져있으며 기본적으로 Standard를 제공합니다.
일반적으로 DDOS는 공격포인트를 최소화 하거나 , HA를 구성하여 대비합니다.
Advanced의 경우 CloudWatch Metric이나 진단 리포트, 위협 환경 대시보드를 추가적으로 제공합니다.
VPC Flow Log
네트워크 인터페이스를 통해 들어오는 트래픽들의 로그를 관리하는 서비스입니다.
S3, CloudWatch를 목적지로 지정합니다.
'aws' 카테고리의 다른 글
CodeDeploy에서 ApplicationStop 에러날때 (0) | 2023.06.14 |
---|---|
AWS CloudMap 과 Route53 PrivateNameSpace를 이용한 ECS Fargate 디스커버리 구현하기, EC2를 CloudMap에 등록하기 (0) | 2023.05.14 |
CI/CD Pipeline - AWS CodePipeline을 통한 CICD 해보기 with Terraform (0) | 2023.03.05 |
ALB와 ASG 만들기 with Terraform (0) | 2022.12.02 |
EC2에 MFA(Google-Athenticator)를 사용한 Bastian Host만들기 with Terraform (0) | 2022.11.12 |