AWS Private Link 구성 시 특정 서브넷(AZ)에서 액세스할 수 없는 상태가 발생했습니다.
하고 싶었던 일
AWS Private Link에 대해 자세히 알아보기
AWS PrivateLink 업데이트 – 고객의 애플리케이션 및 서비스를 위한 VPC 엔드포인트
한마디로 SaaS 서비스와 같은 용도의 엔드포인트를 인터넷을 통하지 않고 AWS 간 네트워크에서 보안에 액세스할 수 있어요. 라는 사람입니다.
그래서, 하고 싶은 것은 다음과 같은 구성입니다.
거의 Terraform으로 구축했다.
빠진 것
User Account의 Subnet C에서는 Endpoint를 통해 Service Account의 EC2에 액세스 할 수 있었지만, 왠지 Subnet A, B에서는 Service Account의 EC2에 액세스 할 수 없습니다.
조사한 것
1. 어디에서 액세스할 수 있습니까?
서비스 계정의 EC2
localhost에서 액세스 가능
서비스 계정의 EC2 옆에 있는 인스턴스
Private IP로 액세스 가능
또한 NLB의 DNS 이름으로 액세스 가능
User Account의 Subnet A EC2
Endpoint 이름으로 액세스 불가
User Account Subnet B EC2
Endpoint 이름으로 액세스 불가
User Account Subnet C EC2
Endpoint 이름으로 액세스 가능
결론
Endpoint -> Endpoint Service -> NLB -> EC2 자체의 設定
네트워크 주위가 수상하다
2. 보안 그룹
엔드 포인트
Endpoint에 보안 그룹을 설정할 수 있으므로 확인했다.
User Account의 VPC 전체가 열렸습니다.
물론 아웃바운드는 무제한
엔드포인트 서비스
보안 그룹을 설정할 수 없으므로 관계 없음
NLB
보안 그룹을 설정할 수 없으므로 관계 없음
EC2
NLB는 클라이언트 IP를 그대로 가져오기 때문에 User Account의 IP 주소를 열어야합니다.
User Account VPC와 Service Account VPC를 통째로 열었습니다.
물론 아웃바운드는 무제한
결론
Subnet C의 EC2에서 액세스할 수 있고 모든 Subnet을 포괄한 CIDR로 열고 있기 때문에 문제 없을 것
3. NLB가 설정한 Subnet
모든 Subnet(AZ) 설정
4. NACL
데포이므로 특별히 제한 없음
5. 루트 테이블
Subnet A, B의 루트 테이블이 이상한가 ··? 라고 생각 확인
어느 쪽의 계정도 Subnet마다 나누고 있는 것은 아니기 때문에 차이는 없음.
그날은 포기했습니다
그리고 하루가 지나 판명
아무것도 NLB クロスゾーン負荷分散
꺼져있습니다.
즉, 크로스 존 부하 분산이 유효하지 않고, 또한 EC2가 없기 때문에 분산하지 않은 상태였습니다.
게다가 EC2 옆에서 확인한 인스턴스는 같은 존이었기 때문에 NLB 경유에서도 자존 내에서 통신하기 때문에 문제 없었습니다.
그리고 クロスゾーン負荷分散
를 유효하게 하면 이렇게 되었습니다.
왜 크로스존 부하 분산을 활성화하지 않았습니까?
이렇게. 처음에 말씀드렸지만 Terraform으로 NLB를 구축했는데
설정을 명시하지 않았기 때문에, 디폴트가 되어 무효 상태가 되어 있었던 것 같습니다. .
여러분, 크로스존 부하 분산은 유효하게 하지 않는 이유가 거의 없으므로, 유효하게 해 둡시다.
마음이 가면 Terraform에 PR 던져 둡니다.
보충
이번에 알았던 것은, 계정에 걸쳐도 존이 같다면 역시 존내에서 통신은 해결하고 있는군요. 라고 말하는 것을 몸에 걸었습니다.
Reference
이 문제에 관하여(AWS Private Link 구성 시 특정 서브넷(AZ)에서 액세스할 수 없는 상태가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogomuranushi/items/38d300182c75628d8ff4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
User Account의 Subnet C에서는 Endpoint를 통해 Service Account의 EC2에 액세스 할 수 있었지만, 왠지 Subnet A, B에서는 Service Account의 EC2에 액세스 할 수 없습니다.
조사한 것
1. 어디에서 액세스할 수 있습니까?
서비스 계정의 EC2
localhost에서 액세스 가능
서비스 계정의 EC2 옆에 있는 인스턴스
Private IP로 액세스 가능
또한 NLB의 DNS 이름으로 액세스 가능
User Account의 Subnet A EC2
Endpoint 이름으로 액세스 불가
User Account Subnet B EC2
Endpoint 이름으로 액세스 불가
User Account Subnet C EC2
Endpoint 이름으로 액세스 가능
결론
Endpoint -> Endpoint Service -> NLB -> EC2 자체의 設定
네트워크 주위가 수상하다
2. 보안 그룹
엔드 포인트
Endpoint에 보안 그룹을 설정할 수 있으므로 확인했다.
User Account의 VPC 전체가 열렸습니다.
물론 아웃바운드는 무제한
엔드포인트 서비스
보안 그룹을 설정할 수 없으므로 관계 없음
NLB
보안 그룹을 설정할 수 없으므로 관계 없음
EC2
NLB는 클라이언트 IP를 그대로 가져오기 때문에 User Account의 IP 주소를 열어야합니다.
User Account VPC와 Service Account VPC를 통째로 열었습니다.
물론 아웃바운드는 무제한
결론
Subnet C의 EC2에서 액세스할 수 있고 모든 Subnet을 포괄한 CIDR로 열고 있기 때문에 문제 없을 것
3. NLB가 설정한 Subnet
모든 Subnet(AZ) 설정
4. NACL
데포이므로 특별히 제한 없음
5. 루트 테이블
Subnet A, B의 루트 테이블이 이상한가 ··? 라고 생각 확인
어느 쪽의 계정도 Subnet마다 나누고 있는 것은 아니기 때문에 차이는 없음.
그날은 포기했습니다
그리고 하루가 지나 판명
아무것도 NLB クロスゾーン負荷分散
꺼져있습니다.
즉, 크로스 존 부하 분산이 유효하지 않고, 또한 EC2가 없기 때문에 분산하지 않은 상태였습니다.
게다가 EC2 옆에서 확인한 인스턴스는 같은 존이었기 때문에 NLB 경유에서도 자존 내에서 통신하기 때문에 문제 없었습니다.
그리고 クロスゾーン負荷分散
를 유효하게 하면 이렇게 되었습니다.
왜 크로스존 부하 분산을 활성화하지 않았습니까?
이렇게. 처음에 말씀드렸지만 Terraform으로 NLB를 구축했는데
설정을 명시하지 않았기 때문에, 디폴트가 되어 무효 상태가 되어 있었던 것 같습니다. .
여러분, 크로스존 부하 분산은 유효하게 하지 않는 이유가 거의 없으므로, 유효하게 해 둡시다.
마음이 가면 Terraform에 PR 던져 둡니다.
보충
이번에 알았던 것은, 계정에 걸쳐도 존이 같다면 역시 존내에서 통신은 해결하고 있는군요. 라고 말하는 것을 몸에 걸었습니다.
Reference
이 문제에 관하여(AWS Private Link 구성 시 특정 서브넷(AZ)에서 액세스할 수 없는 상태가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogomuranushi/items/38d300182c75628d8ff4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그리고 하루가 지나 판명
아무것도 NLB クロスゾーン負荷分散
꺼져있습니다.
즉, 크로스 존 부하 분산이 유효하지 않고, 또한 EC2가 없기 때문에 분산하지 않은 상태였습니다.
게다가 EC2 옆에서 확인한 인스턴스는 같은 존이었기 때문에 NLB 경유에서도 자존 내에서 통신하기 때문에 문제 없었습니다.
그리고 クロスゾーン負荷分散
를 유효하게 하면 이렇게 되었습니다.
왜 크로스존 부하 분산을 활성화하지 않았습니까?
이렇게. 처음에 말씀드렸지만 Terraform으로 NLB를 구축했는데
설정을 명시하지 않았기 때문에, 디폴트가 되어 무효 상태가 되어 있었던 것 같습니다. .
여러분, 크로스존 부하 분산은 유효하게 하지 않는 이유가 거의 없으므로, 유효하게 해 둡시다.
마음이 가면 Terraform에 PR 던져 둡니다.
보충
이번에 알았던 것은, 계정에 걸쳐도 존이 같다면 역시 존내에서 통신은 해결하고 있는군요. 라고 말하는 것을 몸에 걸었습니다.
Reference
이 문제에 관하여(AWS Private Link 구성 시 특정 서브넷(AZ)에서 액세스할 수 없는 상태가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogomuranushi/items/38d300182c75628d8ff4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이렇게. 처음에 말씀드렸지만 Terraform으로 NLB를 구축했는데
설정을 명시하지 않았기 때문에, 디폴트가 되어 무효 상태가 되어 있었던 것 같습니다. .
여러분, 크로스존 부하 분산은 유효하게 하지 않는 이유가 거의 없으므로, 유효하게 해 둡시다.
마음이 가면 Terraform에 PR 던져 둡니다.
보충
이번에 알았던 것은, 계정에 걸쳐도 존이 같다면 역시 존내에서 통신은 해결하고 있는군요. 라고 말하는 것을 몸에 걸었습니다.
Reference
이 문제에 관하여(AWS Private Link 구성 시 특정 서브넷(AZ)에서 액세스할 수 없는 상태가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogomuranushi/items/38d300182c75628d8ff4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS Private Link 구성 시 특정 서브넷(AZ)에서 액세스할 수 없는 상태가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shogomuranushi/items/38d300182c75628d8ff4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)