IPv6 6

[django] 도커 DB 컨테이너 접속할 때 종종 마추지는 에러

django에서 로컬에서 실행중인 mysql 컨테이너에 접속할 때 아래처럼 에러가 발생했습니다.Can't connect to local MySQL server through socket '/tmp/mysql.sock' 위 에러는 DB Host를 localhost로 설정할 때 마주칩니다. DB Host를 localhost에서 127.0.0.1로 변경하면 오류가 사라집니다. 왜 localhost에서 127.0.0.1로 변경하면 문제가 해결될까요? localhost는 IPv6, IPv4를 표현하는 도메인으로서 IPv6가 우선순위가 더 높습니다. 따라서 내 PC에서 IPv6를 쓸 수 있으면 localhost의 IP는 IPv6주소입니다. 도커 mysql 컨테이너는 보통 IPv4를 사용하도록 네트워크를 설정하기 때..

EKS IPv6에서 IPv4통신 원리

https://youtu.be/ieH-jTYRvPA 1. 개요 이 글은 EKS IPv6에서 IPv6 IP를 갖는 pod가 IPv4와 어떻게 통신하는지 설명합니다. 2. 선수지식 EKS IPv6는 듀얼스택 VPC를 사용합니다. 듀얼 스택 VPC에서 IPv6가 IPv4와 통신하기 위해서는, IPv4 주소 앞에 64:ff9b를 사용해야합니다. 자세한 내용은 이전 글과 유투브를 참고해주세요 VPC IPv6->IPv4통신방법 정리 글: https://malwareanalysis.tistory.com/707 VPC IPv6->IPv4통신방법 정리 영상: https://youtu.be/iyLChKT47J4?si=HDtEszDJfqy56nvv 3. IPv4 prefix가 필요없는 EKS IPv6 EKS IPv6에서 p..

EKS IPv6 생성방법

https://youtu.be/y6_NIvQ7hmA?si=GyCXBii-_Q6qhuH0 1. EKS IPv6란? EKS IPv6는 pod와 service가 모두 IPv6로 실행됩니다. 2. 언제 EKS IPv6를 사용하면 좋을까? 사설 IPv4대역이 고갈되었을 때 사용하면 매우 좋습니다. 고갈이라는 의미는 EKS가 사용하는 VPC 사설 CIDR이 회사 내에 모두 사용되고 있어, 더이상 VPC CIDR를 생성할 수 없을 때 입니다. VPC CIDR이 고갈되는 경우는 여러 VPC가 서로 연결되어 있을 때 고갈됩니다. 3. 제약사항 EKS IPv6노드는 Nitro를 지원하는 EC2인스턴스 타입만 사용할 수 있습니다. 그리고 security group for pod 기능을 사용하지 못합니다. 그 이외 제약사항..

IPv6 소켓 프로그래밍

https://youtu.be/iw9dQUhV9rE?si=8z6Hb_JT34ux2De0 IPv6 전환 시 코드에서 가장 고민해야할 내용은 소켓 프로그래밍입니다. IPv4 소켓을 사용하면 IPv4통신은 가능하지만 IPv6통신은 불가능합니다. 예를 들어 웹 애플리케이션을 실행할 때 0.0.0.0 주소를 사용하는데, 이 주소를 사용하면 애플리케이션이 실행되면서 IPv4 소켓을 운영체제에 bind합니다. 그러므로 IPv6주소로 서버를 호출하면, 서버를 연결할 수 없다는 오류 메세지를 만납니다. 서버는 IPv4소켓을 사용하므로 IPv6 요청을 처리할 수 없기 때문입니다. IPv6소켓을 사용하려면 소켓타입을 IPv6로 사용하고 bind주소를 "::"를 사용해야 합니다.

AWS VPC IPv6->IPv4 통신 방법

https://youtu.be/iyLChKT47J4 1. IPv6->IPv6 통신 AWS IPv6주소를 갖는 클라이언트가 IPv6와 통신하려면, IPv4처럼 Internet gateway를 사용하면 됩니다. 라우팅 테이블은 모든 IPv6(::/0)에 대해 Internget gateway를 사용하도록 설정합니다. 2. IPv6->Ipv4 통신 문제 IPv6->IPv4는 아쉽지만 IPv6->IPv6처럼 Internet gateway만 사용하여 통신이 불가능합니다. Internget gateway는 IPv6->IPv4프로토콜 변환기능이 없기 때문입니다. 3. IPv6->IPv4 통신 오류 수정방법 IPv6->IPv4 통신을 가능하게 하려면 IPv6->IPv4 프로토콜 변환 과정을 추가해야 합니다. 프로토콜 변..

AWS에서 IPv6를 private IP로 설정하는 방법

IPv6는 기본이 pulbic통신 IPv6는 전세계에서 고유하므로 언제든지 public통신이 가능합니다. 따라서 내가 원하지 않는 IPv6가 외부에 공개되는 위험이 있습니다. IPv6를 private IP로 설정하는 방법 AWS에는 외부공개를 원치 않은 IPv6를 private하게 감추는 기능을 제공합니다. Egress-only internet gateway를 사용하면 IPv6는 내부에서 외부로 가는 것만 허용합니다. 즉 외부에서 IPv6를 접근하지 못하게 합니다. Egress-only internet gateway를 사용하면 라우팅 테이블을, 모든 IPv6트래픽을 Egress-only internet gateway로 향하게 해야 합니다. 참고자료 https://docs.aws.amazon.com/ko_..