-
Notifications
You must be signed in to change notification settings - Fork 0
KR_AWS
DevOps 엔지니어를 위한 AWS 핵심 개념 정리. 상세 내용은 각 링크를 클릭하세요.
- Assume Role: 임시 보안 자격 증명을 통해 다른 계정 또는 동일 계정 내 다른 역할 권한을 획득
- sts:AssumeRole: IAM 자격 증명 기반 역할 위임 — 교차 계정 액세스에 활용
- sts:AssumeRoleWithWebIdentity: OIDC/SAML 토큰 기반 역할 위임 — GitHub Actions, Kubernetes SA 등 외부 ID 공급자 연동
- 임시 자격 증명: 액세스 키 + 보안 액세스 키 + 세션 토큰으로 구성, 유효 기간 설정 가능
-
Ingress Group: 여러 Ingress를 하나의 ALB로 통합 관리 (
alb.ingress.kubernetes.io/group.name) - group.order: Ingress 규칙 우선순위 설정 — 낮은 숫자가 먼저 적용
- listen-ports: ALB가 수신하는 포트 지정 (HTTP/HTTPS)
- ssl-redirect: HTTP → HTTPS 리디렉션 포트 설정
-
target-type:
instance(NodePort 경유) 또는ip(Pod 직접 라우팅) 모드 선택 -
scheme:
internet-facing(공개) 또는internal(VPC 내부) ALB 접근 유형 설정 - inbound-cidrs: ALB 접근 허용 IP 범위 제한
- security-groups: 로드밸런서에 연결할 보안 그룹 지정
- Security Group (Stateful): 인스턴스 단위 보안 — 허용 규칙만 지원, 아웃바운드 응답 자동 허용
- Network ACL (Stateless): 서브넷 단위 보안 — 허용·거부 규칙 모두 지원, 번호순 평가
- VPC: 격리된 가상 네트워크 — 서브넷·라우트 테이블·인터넷 게이트웨이로 구성
- 범위(Scope) 계층: Global/Edge → Region → VPC → AZ → Subnet 순으로 좁아지며, 안쪽일수록 단일 장애 도메인에 가까움
- Availability Zone (AZ): 리전 내 물리적으로 분리된 데이터센터 묶음 — 하나의 장애 도메인, 서브넷은 정확히 한 AZ에 종속
-
Public Zone: 라우트 테이블에
0.0.0.0/0 → IGW경로가 있는 서브넷 — Internet-facing ALB·NAT Gateway·Bastion 배치 - Private Zone: 인터넷 직접 경로가 없는 서브넷 — EC2/EKS·RDS·ElastiCache 배치 (필요 시 NAT GW로 아웃바운드)
- IGW vs NAT GW: IGW는 VPC 단위 양방향 게이트웨이(AZ 비종속), NAT GW는 Public Subnet에 위치한 사설 서브넷 아웃바운드 전용(AZ 종속)
AWS STS의 sts:AssumeRole을 사용한 교차 계정 액세스 방법(4단계: IAM 역할 생성 → 정책 연결 → 역할 위임 → 임시 자격 증명 사용)과 OIDC/SAML 기반 sts:AssumeRoleWithWebIdentity의 차이를 비교한다.
→ 상세 보기
여러 Ingress를 단일 ALB로 통합하는 IngressGroup 구성, 포트 수신(listen-ports) 및 SSL 리디렉션 설정, instance/ip 모드 트래픽 라우팅 어노테이션, 그리고 scheme·inbound-cidrs·security-groups를 활용한 접근 제어 방법을 정리한다.
→ 상세 보기
Stateful Security Group(인스턴스 단위·허용 규칙만)과 Stateless Network ACL(서브넷 단위·허용·거부 규칙·번호순 평가)의 동작 방식 차이와 VPC 내 트래픽 흐름(IGW → Router → Route Table → ACL → Subnet → SG → EC2)을 mermaid 다이어그램으로 설명한다.
→ 상세 보기
IGW·NAT Gateway·CloudFront·ALB·RDS 등 주요 리소스가 적용 범위(Global/Edge · Region · VPC · AZ · Subnet)별로 어디에 위치하는지, AZ가 왜 하나의 장애 도메인인지, 그리고 Public/Private Zone이 AWS가 정해준 리소스 타입이 아니라 라우트 테이블로 우리가 나누는 논리적 구분인 이유와 그 의미(공격 표면 최소화·심층 방어·아웃바운드 통제)를 전체 아키텍처 다이어그램과 함께 정리한다.
→ 상세 보기
프로덕션 EKS에서 Cluster Autoscaler를 Karpenter로 교체한 실전 구성을 면접용 Q&A로 정리한다. CA vs Karpenter, Terraform(AWS 인프라)↔Helm(클러스터 내부) 소유권 분리(계약=문자열 2개), IRSA 대신 Pod Identity 선택 이유, SQS+EventBridge 스팟 중단 대응, 워크로드별 NodePool 전략(build=SPOT 멀티패밀리 vs game=ON_DEMAND WhenEmpty+do-not-disrupt), consolidation WhenEmpty vs WhenEmptyOrUnderutilized, CRD prepare-hook 부트스트랩까지 다룬다.
→ 상세 보기