인프라

    메세지 브로커 (Message Broker) 란?

    메세지 브로커 (message broker) 란? 안정적인 비동기 방식으로 메세지를 교환하여 분산된 시스템 혹은 애플리케이션 간의 통신을 돕는다. 생산자와 소비자간 중개자 역할을 하여 두 시스템이 완전히 독립적으로 작동할 수 있도록 돕는다. 컴포넌트간 느슨한 결합 (loose coupling) 을 돕는다. 이 구조는 확장성을 증대시켜주고 장애가 미치는 여파를 줄일 수 있습니다. 메세지 큐, 토픽과 같은 데이터구조를 통해 메세지를 임시로 저장해두었다가 적절한 수신자에게 보내줍니다. 핵심 기능 비동기 커뮤니케이션 디커플링 메세지 라우팅 및 필터링 영속성과 신뢰성 스케일링 로드밸런싱과 장애 내성 비동기 커뮤니케이션 (Asynchronous communication) 시스템이 비동기로 소통할 수 있도록 돕는다...

    Binary Safe (바이너리 안전, 이진 안전) 문자열이란?

    binary-safe 문자열이란? 데이터 손실없이 null 바이트를 포함한 모든 바이트 시퀀스를 저장, 처리, 조작할 수 있는 문자열 처리 방식이다. 인코딩에 특화된 문자열을 읽는 것이 아니라 원시 (raw) 바이트 그대로를 다룬다. 원시 바이트를 그대로 처리하기 때문에 텍스트 데이터 뿐만 아니라 이미지, 오디오, 직렬화된 객체 등의 처리도 가능하다. binary-safe 하지 않다는 것은 무엇일까? 특정 인코딩 (ASCII, UTF-8) 으로 문자열을 다루는 것을 말한다. 이 경우 특정 바이트 시퀀스가 특수 문자로 다뤄지거나 유효하지 않은 인코딩으로 다뤄져 바이너리 데이터를 저장하거나 조작하는 경우 문제가 생길 수 있다. 레디스의 관점에서 binary-safe 문자열을 다룬다는 것은? text, num..

    AWS CloudFront 란?

    AWS CloudFront 란 AWS 에서 제공하는 CDN (Content Delivery Network) 이다. 웹페이지, 비디오, 이미지, 파일 등을 빠르고 안정적으로 전달한다. 지리학적으로 가장 가까운 위치의 서버에 컨텐츠를 캐싱해두고 제공한다. 최초에는 S3 버킷이나, EC2 인스턴스에서 가져온다. 보통의 CDN 처럼, SSL/TLS 암호화, 액세스 제어 등의 기능을 가진다. CloudFront 를 사용할 때 유의할 점 기본 설정 중 HTTP 응답을 통째로 캐시하는 정책이 있다. 이 경우 사용자의 인증 토큰까지 캐싱되는 경우가 있으니 주의해야 한다. 리디(RIDI) 의 경우 이러한 이유로 장애가 발생했다.

    CDN (Content Delivery Network) 이란?

    CDN (Content Delivery Network) 이란? Content Delivery Network 를 말한다. 콘텐츠 전송 네트워크를 말한다. 전세계 다양한 장소에 걸친 분산된 서버 네트워크이다. 최종 사용자들에게 더 빠르고, 안정성있고, 향상된 퍼포먼스를 제공하기 위해 디자인되었다. CDN 의 장점 빠르다 사용자와 지리학적으로 가장 가까운 서버에서 콘텐츠를 전송해줘서 통신지연이 적고 빠르다. 자주 접근되는 컨텐츠에 대한 캐싱을 제공하여 퍼포먼스를 향상시킬 수 있다. 이는 origin 서버에 요청 때문에 생기는 부하를 줄여주기도 한다. 안정성과 신뢰성 다중화된 서버로 컨텐츠를 분산하여 단일 서버일 때보다 컨텐츠를 안정적으로 전달해준다. 로드 밸런싱, 장애 극복(fail over), 이중화 등의 ..

    웹 성능 측정 방법과 지표가 되는 것들

    웹 성능 측정 방법과 지표가 되는 것들

    개요 웹의 성능은 어떻게 측정해야 할까? 아래의 그림에서는 웹을 이용하는 도중에 부하가 걸릴 수 있는 부분들이 보인다. 간단하게 웹페이지의 성능을 측정하는 방법 webpagetest.org 를 이용하기 WebPageTest 라는 웹사이트를 이용하면, 간단하게 웹 페이지의 성능을 측정할 수 있다. URL 을 입력하면, 위와 같이 각종 지표를 통해 성능을 측정한 결과가 나온다. First Byte Time: 웹 서버에서 받은 컨텐츠의 첫번째 바이트가 얼마만에 도착했는가 Keep-Alive Enabled: TCP 연결을 재사용하기 위한 Keep-Alive 설정이 되어있는가? Compress Transfer: 스크립트 파일이 Content-Encoding 으로 압축되어 있는가? Compress Image: 이미..

    AWS 라우트 테이블 (Route Tables) 이란? 그리고 실제 활용 (라우팅 테이블)

    AWS 라우트 테이블 (Route Tables) 이란? 그리고 실제 활용 (라우팅 테이블)

    개요 AWS VPC 메뉴에서 제공하는 라우트 테이블(Route tables) 은 VPC 에 존재하는 서브넷들이 특정한 범위의 IP 목적지를 향할 때, Target 을 정해주는 역할을 한다. 인터넷에 연결하는 라우트 테이블의 예시 위는 AWS Route tables IAM 의 실제 화면이다. 192.168.92.0/24 범위의 목적지를 향할 때, local 이 타겟으로 지정되어 있어서 로컬을 거쳐가게 된다. 0.0.0.0/0 (로컬 외의 모든 통신) 범위의 목적지를 향할 때, IGW(Internet Gateway) 가 타겟으로 지정되어 있어서, 인터넷 게이트웨이를 거쳐가게 된다. 이 경우 가상 스위치를 통해 직접 인터넷에 통신하게 된다. NAT 에 연결하는 라우트 테이블의 예시 192.168.92.0/24..

    L2 스위치란?

    L2 Switch (L2 스위치)란? L2 란 Layer 2 로 2계층을 말한다. 정확히는 OSI 레이어 2계층인 데이터 링크 계층을 말한다. 2계층은 1계층처럼 단순 1:1 통신이 아닌 MAC 을 이용해 망에 연결된 컴퓨터 중 내가 통신해야 하는 컴퓨터를 특정해 통신할 수 있게 되는 계층이다. 1계층에서는 내가 원하는 컴퓨터와 통신할 수 없었기에, 어쩔 수 없이 브로드 캐스팅 방식으로 다른 컴퓨터와 통신해야 했다. 이는 나의 통신 사실을 망에 연결된 다른 모든 컴퓨터에게 알리는 것과 같은 행위로 보안상 취약하다. Multiple Access 를 위한 장비이다. 서버에는 Network Interface Card 가 있다. Network Interface Card 는 MAC 주소가 있어서 네트워크에 연결된..

    퍼블릭 클라우드란? 퍼블릭 클라우드를 사용하는 이유

    퍼블릭 클라우드 (public cloud) 란? 서버, 데이터베이스, 네트워킹 등 컴퓨터 리소스를 물리적인 장치 없이 인터넷을 통해 관리하는 것이다. 대표적으로 GCP (Google Cloud Platform), AWS (Amazon Web Service), Azure 등이 있다. 퍼블릭 클라우드를 사용하는 이유 물리적 장치를 사용했을 때의 관리 포인트를 없애고, 온전히 나의 서비스에 집중하기 위해서이다. 물리적 장치를 사용한다면? 데이터 관리에 대한 이슈가 생긴다. -> 데이터 백업, 보안 이슈, 데이터 공유는 어떻게 하지?, 데이터가 유실되면 어떡하지? 서버 관리에 대한 이슈가 생긴다. -> 이사할 때는 장비를 끌까?, 장비가 노후화돼서 망가지진 않을까?, 온도 관리는 어떻게 해야 할까? 네트워크 관..

    인프라에서 노드와 링크란?

    노드란? 보통 IP 로 식별할 수 있는 대상을 말한다. AWS 에서 EC2 인스턴스 하나는 하나의 노드로 볼 수 있다. 링크란? 물리적 회선을 말한다. 노드간에 연결을 링크라고 할 수 있다.

    VPC 구성 후 SSH 연결하기

    VPC 구성 후 SSH 연결하기

    개요 VPC 구성 후 SSH 를 연결하기 위해 핵심적으로 해야하는 일들을 생각해보자. 키페어 만들기 보안 그룹 설정하기 네트워크 ACL 설정하기 인터넷 연결하기 키페어 만들기 키페어는 AWS 메뉴 중 키 페어 메뉴에서 간단히 만들 수 있다. 보안그룹 설정하기 보안 그룹은 보통 인스턴스 단위로 설정한다. SSH 에 사용되는 포트는 22번이기 때문에 내 공인 IP 혹은 모든 IP(0.0.0.0) 에 대해서 22 번 포트를 열어주면 된다. 네트워크 ACL 설정하기 네트워크 ACL 은 서브넷 단위로 설정하니 해당 서브넷에서 잘 살펴보면 된다. 인터넷 연결하기 VPC 를 구성하고 인터넷에 연결하려면, VPC 내부에 있는 EC2 가 인터넷에 연결되어야 한다. 인터넷에 연결하려면 IGW(Internet GateWay..

    AWS EC2 인스턴스 삭제 하는 방법

    AWS EC2 인스턴스 삭제 하는 방법

    개요 AWS 에서 인스턴스를 삭제하기 위해서는 인스턴스 종료(terminate) 를 하면 된다. 용어가 '삭제'가 아니어서 조금 헷갈릴 수도 있는 부분이다. 종료를 하고도 10~20 분은 기다려야 완전히 삭제되니 충분히 기다렸다가 새로고침해보면 된다.

    AWS VPC 를 이용한 보안그룹 구축

    개요 보안그룹이란, 내 VPC 내부에 있는 네트워크에 접속할 때 인바운드, 아웃바운드 규칙을 설정하는 것이다. 보통 OSI 계층 중 4 번째에 속하는 전송 계층에서 다루는 정보인 IP 와 포트를 이용하여 설정한다. AWS 에서 구성할 때는 특정한 CIDR 블록 에 대해서 어떤 포트 를 열지 설정한다. 예제 이를테면, 외부망에 3306 번 포트를 열라는 주문을 받았다면, VPC 서브넷 중 외부망에 해당하는 서브넷을 먼저 찾는다. 외부망 서브넷의 CIDR 블록을 확인해보면, 192.168.92.0/26 과 192.168.92.64/26 가 외부망 서브넷으로 할당된 것을 확인할 수 있다. 프로토콜을 TCP 로 설정하고 192.168.92.0/26 과 192.168.92.64/26 에 22 번 포트를 열어주면 ..

반응형