전체 글
글 804개
-
[AWS] Transit Gateway 경로 평가 순서, 정적이 이기면 전파는 안 실린다
TGW는 접두사 길이 → 연결 유형 10단계 → BGP 속성 순으로 고르고, 정적에 진 전파 경로는 우선순위가 낮아지는 게 아니라 테이블에서 사라진다. 온프레미스 대역 172.31.0.0/16을 Direct Connect 게이트웨이로 전파시키고, 장애 대비로 VPN 연결을 향한 정적 경로도 하나 넣었다. 그런데 TGW 라우팅 테이블을 열면 DX 쪽 전파 경로가 보이지 않는다. 전파를 껐다 켜도 같다. 지난 글에서 AZ 서브넷과 피어링을 다뤘으니, 이번에는 경로가 겹칠 때 TGW가 뭘 고르고 뭘 숨기는지를 문서의 평가 순서대로 따라가 본다.준비물 — 겹치는 경로 세 종류를 먼저 나눈다TGW 라우팅 테이블의 경로는 세 층으로 평가된다. 어느 층에서 갈리는지에 따라 결과가 다르니 지금 겹치는 게 어느 경우인..
-
[AWS] Transit Gateway AZ 서브넷, 안 고른 AZ는 왜 못 닿나
연결이 없는 AZ의 리소스는 TGW에 못 닿고, 목적지 연결이 없는 AZ에서 출발한 트래픽은 TGW가 임의의 AZ로 넘긴다. 두 문장은 방향이 다르다. VPC를 Transit Gateway에 붙일 때 서브넷을 AZ 두 곳만 골랐다. 그런데 세 번째 AZ에 올린 인스턴스가 다른 VPC로 핑을 못 보낸다. 라우팅 테이블에는 분명 TGW로 가는 경로가 있고 보안 그룹도 열려 있다. 지난 글에서 어플라이언스 모드와 보안 그룹 참조를 다뤘으니, 이번에는 그 아래 깔린 AZ 서브넷 구조가 트래픽을 어디서 막고 어디서 우회시키는지를 문서 범위 안에서 짚는다.화두 — 서브넷 하나가 AZ 전체의 문이다VPC 연결을 만들 때 AZ마다 정확히 서브넷 하나를 고른다. TGW는 그 서브넷에 네트워크 인터페이스를 두고 서브넷의..
-
[AWS] ALB 인증 작업, 쿠키 7일은 세션 길이가 아니다
쿠키 속성의 7일과 세션은 다른 시계다. 실제 세션은 암호화된 쿠키 값 안의 SessionTimeout이 정한다. deny도 만료된 자격 증명 앞에서는 401 대신 리다이렉트를 고른다. HTTPS 리스너 규칙에 authenticate-oidc나 authenticate-cognito를 붙이고 SessionTimeout을 3600으로 줬는데, 브라우저 개발자 도구를 열면 AWSELBAuthSessionCookie 만료가 7일 뒤로 찍혀 있다. 설정이 안 먹은 것 같아 규칙을 다시 저장해도 같다. SPA에서 deny를 골랐는데 401 대신 리다이렉트가 돌아오는 것도 같은 부류의 혼란이다.이 글은 ALB 사용자 인증 문서와 API 레퍼런스, 문제 해결·액세스 로그 페이지 범위 안에서 이 세 가지를 정리한다. ..
-
[AWS] Route 53 별칭 대상 상태 평가, 켜기 전에 짚을 자리 5곳
Evaluate Target Health 는 Route 53 이 검사하는 게 아니라 별칭이 가리키는 리소스의 상태를 그대로 물려받는 스위치다. ALB 앞에 별칭 레코드를 만들 때 Evaluate target health 를 Yes 로 두고 "이제 Route 53 이 헬스체크를 해주겠지" 하고 넘어가기 쉽다. 그런데 대상이 전부 죽었는데도 DNS 응답이 그대로거나, 반대로 대상 그룹 하나만 비었을 때 레코드 전체가 빠지는지는 문서마다 말이 다르다. 이 옵션이 무엇을 읽고 언제 아무 일도 안 하는지, 문서에서 갈리는 다섯 자리를 순서대로 짚는다. 하나, 검사가 아니라 상속이다API 레퍼런스의 표현은 inherits 다. EvaluateTargetHealth 가 true 인 별칭 레코드는 참조하는 리소스, ..
-
[AWS] NLB 영역 DNS 친화성 3종, 교차 영역과 정하는 구간이 다르다
친화성은 클라이언트가 NLB에 닿는 구간을 정하고, 교차 영역은 NLB가 대상에 닿는 구간을 정한다. NLB를 가용 영역 두세 곳에 걸쳐 올려뒀는데 특정 영역의 연결 수만 유독 높다. 대상 그룹은 전부 정상이고 교차 영역 설정도 손댄 적이 없다. 이럴 때 살펴볼 곳이 로드 밸런서 속성 dns_record.client_routing_policy다. 이 속성은 NLB DNS 이름을 푸는 클라이언트가 어느 영역의 NLB IP를 받을지 정하는데, 값 세 가지가 어디서 갈리고 교차 영역 로드 밸런싱과 어떻게 얽히는지를 문서 범위 안에서 비교한다. 세 정책을 한 표로NLB는 활성화한 가용 영역마다 IP 하나를 갖고, DNS 이름은 이 주소들로 풀린다. 정책은 그중 어느 것을 우선 돌려줄지를 정한다. 문서의 정책 ..
-
[AWS] Route 53 on Outposts, 랙에 남는 건 캐시뿐이다
Outposts 랙에 오는 건 DNS 레코드가 아니라 질의 캐시다. 리전과 끊기면 이름은 풀려도 장애 조치는 없다. Outposts 랙 위에 올린 애플리케이션이 이름 하나 풀 때마다 리전까지 왕복하는 게 거슬려서 Route 53 on Outposts를 켠다. 그런데 "랙에 Route 53이 온다"고 이해하면 설계가 어긋난다. 리전 연결이 끊긴 날 무엇이 되고 무엇이 안 되는지가 문서에 다섯 줄로 적혀 있는데, 그걸 읽지 않으면 장애 조치 레코드가 랙에서도 동작한다고 믿게 된다. 이 글은 그 경계를 문서 범위에서 짚는다. 화두 — 레코드는 리전에, 랙에는 Resolver만Route 53 on Outposts가 하는 일은 두 가지다. Outposts에서 시작하는 DNS 질의를 캐시하는 VPC Resolve..