전체 글

김정태의 개발일기
· Network
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/서브넷 서브넷, 서브넷마스크(+ CIDR), 서브넷팅 서브넷, 서브넷마스크와 CIDR, 서브넷팅의 개념을 알아보자! velog.io 서브넷 서브넷은 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크, 부분망을 말합니다. 원본 네트워크를 여러 개의 네트워크로 분리하여 서브넷으로 만드는 과정을 서브넷팅이라 하고, 네트워크 ID와 호스트 ID를 분리하는 서브넷 마스크를 통해 이루어집니다. 서브넷의 탄생 배경 IP 주소에서 128비트 체계의 IPv6가 나오기 전에 32비트 체계의 IPv4가 나왔습니다. IPv4는 초기에 클래스를 나누어서 IP 주소를 할당하는 방식이었으나, 매우 비효율적이었습니다. 예를 들어, 어떤 회..
· Database
오늘은 PostgreSQL에 대해 배워봤습니다. 항상 Aurora를 사용할 때 PostgreSQL을 사용할 줄 몰라 MySQL을 선택했는데, PostgreSQL의 수요가 증가하는만큼 배워야겠다는 생각을 했습니다. 마침 2023년 8월에 생활코딩님 유튜브로 PostgreSQL 강좌가 올라와 입문수업을 듣게 되었습니다. 1. 개념 PostgreSQL은 서버 - 클라이언트 구조를 가집니다. PostgreSQL 서버는 데이터를 보관하고 관리하는 프로그램입니다. 사용자들은 PostgreSQL 클라이언트를 이용하여 서버가 관리하는 데이터에 접근할 수 있습니다. GUI 클라이언트로 pgAdmin 4가 있으며, CLI 클라이언트로 psql이 있습니다. 이러한 서버 - 클라이언트 구조 덕분에 서버가 다른 컴퓨터에 있더라..
· AWS
웹서비스는 국내뿐만 아니라 해외에도 빠른 연결을 제공해야 합니다. 그러나 데이터를 보관하는 데이터베이스가 국내에만 있을 경우, 해외에서는 Read / Write가 느려질 것입니다. 이 문제를 해결하려면 다른 리전에도 Read Replica를 놓는 등의 조치를 해야합니다. 오늘은 2가지 방법을 통해 해외에도 빠른 Read / Write를 제공해봅시다. 0. 사전 준비 Seoul 리전과 Tokyo 리전에 2개의 public subnet, 2개의 private subnet을 가진 VPC가 생성되어야 합니다. 두 리전 모두 private subnet 2개를 포함하는 subnet group을 생성합니다. 다음 링크를 참고하여 Seoul 리전에 Aurora Database를 생성합니다. https://arcozz...
· AWS
RDS의 DB 엔진으로 MySQL, PostgreSQL을 선택해도 되지만, 아마존이 클라우드에 최적화되게 개발하여 성능이 좋은 Aurora를 선택해도 됩니다. 오늘은 DB 엔진 Aurora에 대해 알아봅시다. 1. Aurora MySQL과 PostgreSQL에서 호환됩니다. 여러가지 최적화를 통해 RDS의 MySQL보다 5배 높은 성능, Postgres보다 3배 높은 성능을 가집니다. 자동으로 스토리지를 확장합니다. 10GB에서 시작하여 128TB까지 확장 가능합니다. CPU 96vCPU와 메모리 768GB까지 증가 가능합니다. 최대 15개의 Read Replicas를 더 빠른 복제 속도로 생성 가능합니다. 즉각적인 장애 조치와 높은 가용성을 가지고 있습니다. RDS에 비해 약 20% 정도 높은 비용이지..
· AWS
RDS Database의 고가용성을 위하여 Read Replicas와 Multi AZ 기능을 이용하는 것이 좋습니다. 오늘은 이 두 기능에 대해 알아봅시다. 1. Read Replicas Read(읽기)를 스케일링하여 DB의 부하를 분산시킵니다. MySQL, MariaDB, PostgreSQL DB 엔진은 최대 15개를 생성할 수 있습니다. Oracle, Microsoft SQL Server DB 엔진은 최대 5개를 생성할 수 있습니다. 동일한 가용 영역 또는 가용 영역이나 리전을 걸쳐서(Cross AZ, Cross Region) 생성이 가능합니다. DB Instance와 Read Replicas 간 비동기식(Async) 복제가 발생하여 Read가 일관적으로 유지됩니다. DB Instance로 승격시킬 ..
· AWS
웬만한 애플리케이션은 데이터베이스를 사용합니다. 데이터베이스 중에서도 수요가 많은 것은 관계형 데이터베이스 (RDB)입니다. 관계형 데이터베이스는 데이터가 하나 이상의 열과 행의 테이블(또는 '관계')에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악하고 이해할 수 있도록 사전 정의된 관계로 데이터를 구성하는 정보 모음입니다. 관계는 이러한 테이블 간의 상호작용을 기반으로 설정되는 여러 테이블 간의 논리적 연결입니다. 이러한 관계형 데이터베이스를 EC2에서 직접 설치하여 운영할 수도 있지만, AWS에서 관리해주는 RDS를 사용하는 것이 좋은 선택입니다. 오늘은 RDS에 대해 간단하게 알아보고 작은 실습을 해봅시다. 1. RDS란? RDS는 Relational Database Servi..
· Network
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/포트와게이트웨이 포트(& 포트포워딩), 게이트웨이 통신에 중요한 포트, 포트포워딩, 게이트웨이에 대하여 velog.io 포트 운영 체제 통신의 종단점으로 네트워크 서비스나 특정 프로세스를 식별하기 위해 사용하는 번호입니다. 포트의 동작 통신을 할 때에 클라이언트(Client)와 서버(Server)가 있습니다. 두 기기가 통신을 할 때에 IP 주소로만 통신을 하면 웹을 이용한 통신인지 메일을 이용한 통신인지 모르게 됩니다. 따라서 어떤 프로그램의 서버가 응답해야할지 포트 정보를 추가하여 보내게 됩니다. 각 프로그램들의 서버는 특정 포트에서 대기하게 됩니다. 클라이언트는 그 프로그램을 이용할 때 해당 포트로 접속하기로 약속된..
· Network
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/프로토콜 프로토콜과 IP, TCP, UDP 프로토콜에 대하여 📒 프로토콜이란 무엇일까? 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. velog.io 프로토콜 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계입니다. 인간에 비유하면 언어라고 할 수 있는데 한국인이 미국인과 소통할 때 한국어 또는 영어로 언어를 통일해야 의사소통을 할 수 있는 것처럼 컴퓨터는 프로토콜이라는 양식과 규칙에 따라 통신을 하는 것입니다. 프로토콜의 기본 요소 구분(Syntax) 데이터를 어떻게 구성할 지에 대한 형식(아날로그와 디지털), 부호화(유니코드와 ASCII), 신호 레벨 등에 대..
KimJeongTae
개발정태