Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
저번 게시글에서는 AWS IPv6 전용의 Egress only IGW를 다뤄보았다.EC2에서는 IPv4와 IPv6가 모두 사용가능한데, 실제 통신에 사용되는 것은 어떤 것일까? 일단 변하지 않는 원리는 하나다.IPv4 주소는 IPv4로, IPv6 주소는 IPv6로 통신한다.IPv4와 IPv6는 엄연히 구조가 다른 주소 체계이므로 하나를 안다고 다른 하나를 유추할 수는 없다. 두 가지 주소를 모두 지원한다면 어떤 주소 방식으로 통신할지는 아래의 과정을 따른다. 1. DNS 조회서버의 IP를 DNS 서버로부터 쿼리한다.이때 해당 서버가 IPv4 주소만 가진다면 IPv4로, IPv6 주소만 가진다면 IPv6로 통신하게 된다.(다른 IP 주소를 유추할 수 없으므로 방법이 없다. )하지만 서버가 IPv4와..

Docker 컨테이너들의 대부분은 리눅스 컨테이너로 만들어졌다. 하지만 AWS의 ECS(Docker engine base) 세팅에서 알 수 있듯이, Windows OS인 EC2 상에서도 리눅스 컨테이너는 동작할 수 있다.Windows에서는 리눅스 컨테이너가 어떤식으로 동작하는지 알아보자. WSL(Windows Subsystem for Linux)Windows OS를 사용한다면, 리눅스 환경을 위해 타입 1 혹은 2의 하이퍼바이저를 통해 리눅스 가상머신을 실행해야 한다.하지만 WSL을 사용하면, 별도의 가상머신 없이도 Windows OS에서도 리눅스 환경을 제공받아 리눅스 명령어를 실행할 수 있게 된다.WSL 1과 2는 구조적 차이가 존재한다. WSL 11버전에서는 Linux 커널 요청인 Sys..

IPv6는 NAT GW가 아니라 Egress Only Internet Gateway 서비스로 트래픽을 외부로 보내는 걸까?이 이유를 IPv4와 IPv6의 특징을 통해 알아보자. IPv4의 NAT(Network address translation) 한국은 인구 대비 많은 IPv4를 부여받았고, AWS가 많은 공인 IPv4를 사들여서 AWS에서는 공인 IPv4를 쉽게 이용할 수 있다. (국내 IP의 50% 가까이 점유했다는 말이 있다;;) 하지만 IPv4는 이미 전 세계적으로 고갈되고 있고, AWS에서도 이제 EIP와 같은 공인 IPv4 사용에 대한 유료화 정책을 추진하고 있다. 이미 고갈된 상태의 IPv4 체계가 아직까지 잘 사용되는 이유는 NAT의 역할이 크다.VPC에서를 예를 들면, ALB의 공..

ECS의 태스크를 정의할 때 네트워크 모드를 선택하게 된다.AWS에서는 특별한 이유가 없다면 awsvpc를 권장하는데, 네트워크 모드마다 어떤 식으로 차이점이 있는지 살펴보자. 1. awsvpc 모드awsvpc는 EC2와 동일한 네트워크 속성을 사용한다. 각 태스크에 ENI를 통해 private IPv4 주소가 부여되기 때문에, EC2에서 사용하던 방식대로 ECS의 각 태스크를 사용할 수 있게 된다.단, 태스크의 ENI는 조작할 수 없고 태스크 중지 시 자동으로 분리/삭제된다. 이때 ECS 컨테이너 에이전트가 각 태스크에 대한 pause 컨테이너를 생성하기 때문에, 같은 태스크의 컨테이너들은 pasuse 컨테이너를 통해 네트워크 네임스페이스를 공유한다.따라서 같은 태스크 내의 컨테이너는 동일한 E..

정말 빠르면 1~2초 안에 시청자에게 도달하는 라이브 스트리밍 방송들은 어떻게 이뤄지는 걸까?이를 네트워크 프로토콜을 중심으로 알아보자. 1. 카메라 데이터의 인코딩 카메라로 촬영한 영상이 해당 플랫폼이 지원하는 코덱으로 변환되어한다. 코덱(codec)은 어떠한 데이터 스트림이나 신호에 대해, 인코딩이나 디코딩, 혹은 둘 다를 할 수 있는 하드웨어나 소프트웨어를 일컫는다. 또, 이를 위한 알고리즘을 가리키는 용어로도 쓰인다.일반적으로 코덱이라고 하면 영상, 음향 등 미디어 정보를 압축하는 기술을 가리킨다.- 위키피디아- 코덱을 통해 영상의 데이터 스트림을 디코딩이 가능하게 압축한다.이때 비손실 코덱의 경우 원본의 정보를 그대로 살려 압축하기 때문에 압축률이 높지 않다.데이터가 커질수록 네트워..
리눅스 계열의 OS를 사용하면 apt, yum, dnf와 같은 명령어를 사용해 패키지를 다운로드한다.이때 각 명령어가 어떻게 다른지 확인해 보자. 리눅스 배포판일단 리눅스는 각 배포판에 따라서 사용되는 패키지 다운/설치 명령어가 다르다.대표적으로는 데비안 계열과 레드헷 계열이 있다. 1. 데비안 계열의 경우데비안 계열의 대표적인 OS가 바로 Ubuntu이다.Ubuntu에서는 .deb 형식의 컴파일된 바이너리 패키지 포맷을 사용한다. dpkg이 .deb 형식의 데비안 패키지 관리 시스템이 dpkg이다.dpkg는 .deb 패키지의 설치, 삭제, 정보 제공을 위해 사용되는 저레벨 도구이다. 문제는 우리가 사용하는 대부분의 패키지들은 다른 기본 패키지들에게 의존성을 가진다는 것이다.dpkg로 패키..

취득 목적 AWS SAA 자격증을 취득하고 AWS 프로젝트로 인프라를 설계/구현해 본 것까지는 좋았다. 문제는 구현 후였다. 적절한 모니터링과 문제 상황에 대한 대응이 준비되어 있지 않아서 운영이 되지 않는데, 고가용성과 비용최적화가 무슨 소용일까?결국 아키텍팅의 기본은 운영에 대한 이해에서 시작한다는 것을 알게 되었다.하지만 운영을 경험하는 것이 아니라 혼자 공부한다는 것부터가 막막했기 때문에, 운영적인 지식에 도움이 되는 SysOps Administrator 자격증을 준비하게 되었다. 아직 실무 경험이 없기 때문에 Associate로 준비하였고 최종 합격까지 성공해 후기를 남긴다. 공부 방법 자격증 자체만을 목표로 하면 당연히 최신 덤프들을 구해서 외우면 된다.하지만 개인적인 취득 목적은 ..

AWS Network Firewall을 사용하게 되면, VPC 내부에 감시 자원 배치되는 것이 아니라 트래픽을 전송하는 엔드포인트가 배치된다. 이 엔드포인트가 Gateway Load Balancer(GWLB)로 연결된다. 따라서 IGW와 연결된 subnet들에는 Endpoint로의 라우팅 경로를 설정해 주게 된다.이를 통해 IGW의 In/out bound 트래픽은 항상 Gateway Load Balancer로 전송되어 Network Firewall 서비스에서 검사가 수행된다. 이 Gateway Load Balancer란 도대체 뭘까? Gateway LoadBalancer(GWLB) Network LoadBalacner는 4 계층인 TCP/UDP까지 검사한다.따라서 7 계층까지 검사해 처..