모르는 AWS 용어, 개념 정리
1. API Gateway 비프록시 통합
•
프록시 통합: API Gateway가 들어온 요청을 그대로 Lambda 또는 HTTP 백엔드에 전달 → 백엔드가 모든 응답을 직접 구성. (가장 단순, 유연)
•
비프록시 통합: API Gateway가 요청/응답 매핑 템플릿을 사용하여 가공 → 백엔드가 비즈니스 로직만 처리하면 됨. 즉, 변환/매핑 로직을 API GW에서 미리 정의.
2. Lambda 함수 ProvisionedThroughputExceededException
•
DynamoDB 등과 통신할 때 프로비저닝된 읽기/쓰기 용량을 초과하면 발생하는 오류.
•
보통 재시도(backoff), 스로틀링 조정, 자동 스케일링으로 완화.
3. SAM (Serverless Application Model)
•
AWS가 제공하는 서버리스 IaC 프레임워크.
•
CloudFormation 확장 문법(AWS::Serverless::*)으로 간단히 Lambda, API Gateway, DynamoDB 등을 정의.
•
로컬 개발/테스트(sam local invoke), 배포(sam deploy) 지원.
4. DynamoDB 키 설계 & 성능 개선
•
파티션 키: 데이터 분산을 결정.
•
정렬 키: 파티션 내 정렬, 범위 쿼리 지원.
•
성능 개선 방법:
◦
GSI(Global Secondary Index): 다른 파티션 키 기반 조회.
◦
LSI(Local Secondary Index): 같은 파티션 키, 다른 정렬 키 기반 조회.
5. BatchGetItem
•
여러 테이블/키를 한 번에 조회.
•
키 목록 = (파티션 키 + 정렬 키 조합)의 리스트.
•
주의: 일관성 옵션 제한, 쓰로틀링 발생 가능.
6. ASG EC2 프로비저닝 시간 단축
•
AMI 사전 최적화 (필요 패키지/앱 미리 설치).
•
Warm Pool (미리 기동된 인스턴스 풀).
•
EC2 Launch Template + User Data 최소화.
7. ElastiCache Memcached vs Redis
•
Redis: 더 많은 기능(퍼시스턴스, Pub/Sub, Stream, 클러스터링).
•
Memcached: 단순 키-값 캐시, 설정 난이도 낮음.
•
일부 문제에서 “정답”으로 Memcached가 나오는 이유 = 단순 캐시 용도만 필요하고 관리 난이도를 줄이기 위함.
8. HTTP API vs REST API (API GW)
•
REST API: 기능 풍부(사용자 인증, Usage Plan, 통합 등) / 가격 높음.
•
HTTP API: 저비용, 성능 최적화 / 기능 제한(OIDC/JWT 인증 위주).
•
신규 서비스엔 HTTP API 권장.
9. TLS vs SSL 인증서 & ACM
•
SSL은 구버전 프로토콜, TLS가 최신.
•
“SSL 인증서”라고 부르지만 실제는 TLS.
•
ACM(AWS Certificate Manager): 인증서 발급/관리 서비스.
10. Lambda VPC 연결
•
Lambda를 VPC의 Private Subnet에 붙이면 내부 리소스(RDS, ElastiCache 등)에 접근 가능.
•
단, NAT 게이트웨이 없으면 인터넷 불가 → 아웃바운드 제한됨.
11. Blue-Green vs Rolling 배포
•
Blue-Green: 새로운 버전(Blue)을 준비 → 트래픽 스위치.
•
Rolling: 일부 인스턴스씩 순차 교체.
•
Blue-Green은 다운타임 적지만 비용↑, Rolling은 비용↓.
12. DynamoDB 자동 크기 조정
•
CloudWatch 기반으로 읽기/쓰기 용량을 자동 조정.
•
예상 부하 설정 시 버퍼 확보 → 스파이크에도 스로틀링 최소화.
13. KMS 키 종류
•
AWS 관리형 KMS 키 (aws/…): 자동 생성/관리, 비용↓, 제어권↓.
•
고객 관리형 키 (CMK): 키 정책, 로테이션, 세부 제어 가능.
•
보통 애플리케이션에서는 관리형으로 시작 → 보안 규제 있으면 CMK.
14. CodeDeploy ECS 배포 전략
•
CodeDeployDefault.ECSCanary10Percent15Minutes: 10% → 15분 후 전체.
•
그 외:
◦
ECSLinear10PercentEvery1Minutes
◦
ECSAllAtOnce
◦
ECSCanaryXXPercentYYMinutes 형태 다양.
15. SNS FIFO vs SQS FIFO
•
SNS FIFO: 순서 유지 브로드캐스트.
•
SQS FIFO: 순서 유지 + 중복 방지 대기열.
•
함께 쓰면 순서 보장 Pub/Sub 가능.
16. ECS PutClusterCapacityProviders
•
클러스터에 Capacity Provider (ASG, Fargate 등)를 지정/업데이트.
•
→ 서비스가 어떤 리소스 풀에서 실행될지 정의.
17. Kinesis 샤드
•
샤드 = 데이터 처리 단위.
•
1샤드 = 초당 1MB 쓰기 / 2MB 읽기 / 1,000 PUT TPS.
•
샤드 수↑ = 처리량 확장.
18. DynamoDB 암호화 클라이언트
•
SDK 레벨에서 클라이언트 측 암호화.
•
서버 저장 전 데이터 암호화 → AWS 직원조차 원문 접근 불가.
•
보안 강화용.
19. SQS 가시성 시간 초과
•
메시지 처리 중엔 큐에서 “숨김”.
•
처리 실패 → 시간 만료 시 다시 보임.
•
너무 짧으면 처리 중 다시 소비 → **VisibilityTimeout ↑**로 해결.
20. SSM Parameter Store 고급 매개변수
•
TTL, 만료 알림 등 지원.
•
SNS 없이 자체 알림 설정 가능 → 보안 자격증명 자동 만료 관리에 유용.
21. SELECT FOR UPDATE, WITH RECURSIVE
•
SELECT FOR UPDATE: 행 단위 잠금 → 동시 수정 충돌 방지.
예) 재고 감소 시
BEGIN;
SELECT stock FROM items WHERE id=1 FOR UPDATE;
UPDATE items SET stock = stock - 1 WHERE id=1;
COMMIT;
SQL
복사
•
WITH RECURSIVE: 계층 구조/재귀 쿼리.
예) 트리 구조 탐색
WITH RECURSIVE subordinates AS (
SELECT id, manager_id FROM employees WHERE id=1
UNION ALL
SELECT e.id, e.manager_id
FROM employees e JOIN subordinates s ON e.manager_id = s.id
)
SELECT * FROM subordinates;
SQL
복사
22. DynamoDB REST API vs SDK
•
REST API 직접 호출 시 → 재시도, 백오프, 에러 처리 모두 직접 구현 필요 → 비용↑.
•
AWS SDK 사용 시 → 내장된 재시도 로직과 효율적 연결 재사용으로 비용 효율적.
23. SSL/TLS 인증서를 us-east-1 ACM에 가져오는 이유
•
CloudFront, Global Accelerator 등 글로벌 서비스는 인증서를 us-east-1에서만 인식.
•
사용자 지정 도메인 → DNS에 CNAME 레코드 추가해 ACM 검증.
