목록전체 글 (12)
개발에 관한 모든 것의 기록
1. CDN CDN 이란 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템이다. 온라인 상의 대용량 콘텐츠를 저렴한 비용으로 빠르게 전송하도록 합니다. 네트워크 경로 상 가장 가까운 곳의 서버로부터 콘텐츠를 전송받도록 하여 트래픽이 특정 서버에 집중되지 않고 각 지역 서버로 분산되도록하는 기술이다. 2. CDN의 동작원리 사용자가 웹 브라우저에 URL 을 이용해 웹 사이트 접속을 시도 웹 페이지를 제공하기 위해 필요한 콘텐츠(HTML, CSS, Javascript, 이미지 등)를 서버에 요청 사용자(End-User)와 가장 가까운 위치에 배치된 CDN 서버로 사용자를 접속시킴 CDN 서버는 요청된 파일의 캐싱된 콘텐츠를 사용자에게 전달한다. ※캐싱(Cachi..

1. 로드 밸런싱(Load Balancing) 로드 밸런싱이란 네트워크 기술의 일종으로 네트워크 트래픽을 하나 이상의 서버나 장비로 분산하기 위해 사용되는 기술이다. 로드 밸런서(Load Balancer) 는 로드 밸런싱을 수행하는 소프트웨어나 하드웨어를 지칭한다. 2. 웹 트래픽 증가에 대한 처리 방식 Scale Up : - 기존보다 높은 성능을 보유한 웹 서버로 시스템(CPU, 메모리, 디스크 등) 을 업그레이드하는 방식 - 성능이 높아질수록 비용이 기하급수적으로 늘어나는 단점이 있다. - 서버 중지 및 장애로 인한 웹 서비스 가용성에 문제가 발생할 수 있다. Scale Out - 저렴한 노드 여러 개를 하나의 Cluster로 구성하는 방식 - 하나의 노드에 문제가 발생하여도 웹 서비스가 중단되지 않..

1. Redux Toolkit 과 React-Redux 설치 npm install @reduxjs/toolkit react-redux 2. Redux Store 생성하기 // app/store.js import { configureStore } from '@reduxjs/toolkit' export const store = configureStore({ reducer: {}, }) // store 에 있는 State 타입과 Dispatch 타입 지정 export type RootState = ReturnType export type AppDispatch = typeof store.dispatch 3. React index 파일에 Provider 추가 import React from 'react' impo..

1. 네트워크 - 네트워크(network)란 컴퓨터들이 통신망을 통해 서로 그물처럼 연결된 체계를 말한다. - 컴퓨터들이 서로 통신을 하기 위해서는 반드시 지켜야하는 약속이 있는 있는 데 이를 프로토콜(Protocol)이라고 한다. 2. VPN (Virtual Private Network : 가상 사설망) - 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다. - 인터넷과 같은 공공망 위에서 표준 프로토콜을 써서 전달되거나, 가상 사설망 서비스 제공자와 고객이 서비스 수준 계약을 맺은 후 서비스 제공자의 사설망을 통해 전달된다. - AWS는 VPC(Virtual Private Cloud) 와 VPC Gateway를 통해 On-Premi..

1. DNS 란? 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하는 시스템 인터넷 상의 모든 컴퓨터는 IP Address(예 : 192.0.2.44) 라는 숫자를 사용하여 서로를 찾고 통신한다. 만약 DNS 가 없다면 웹 서버의 IP Address 를 알아야만 웹 페이지에 접속할 수 있을 것이다. 2. DNS의 구성요소 도메인 네임 스페이스 (Domain Name Space) - DNS가 저장 관리하는 계층적 데이터베이스 - 인터넷 도메인 체계에서 최상위는 Root로 인터넷 도메인의 시작점이 된다. - Root Domain 바로 아래 단계에 있는 것을 1단계 도메인이라고 하며, 이를 최상위 도메인 또는 TLD(Top Level Domain)라고 한다. - ..

1. Amazon S3 란 - 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 구축된 객체 스토리지 - 버킷(Bucket) 이라는 유일한 영역을 리전(Region) 내에 생성하고 데이터를 키-값 형식의 객체로 저장 - 주요 특징 a. 객체 기반의 무제한 파일 저장 스토리지 b. URL 을 통해 손쉽게 파일 공유 기능 제공 c. 정적 웹 사이트 호스팅 서비스 제공 기능 d. 99.9999% 내구성 e. 스토리지 기술을 근간으로 하며, 파일 단위의 접근만 지원하기 때문에 EBS(Elastic Block Storage) 서비스를 대체할 수 없음 - 활용 분야 a. 백업 및 복구 : 버전 관리 기능을 통한 데이터 보호 기능제공과 기업 내 데이터 백업 및 복원 기능을 제공할 수 있다. b. 데이터 아카이..

- Amazon Web Services 프리티어를 활용하여 진행했습니다. - EC2 인스턴스는 Linux 를 사용했습니다. 1. 인스턴스 시작 클릭 2. Amazon Linux AMI 선택 (자신의 원하는 OS 선택) 3. 검토 및 시작 클릭 (상세 옵션 설정은 차후에 업로드할 예정) 4. 기존 키 페어가 있으면 기존 키페어 선택, 만약 없으면 "새 키페어 생성" 선택 후 [키 페어 이름] 입력 후 [키페어 다운로드] 클릭 [키페어 이름].pem 파일을 로컬 컴퓨터에 보관합니다. 해당 키페어 파일을 분실하면 해당 EC2 에 접근할 수 없으니 잘 보관해야 합니다.
EC2란? - Amazon Web Services 상에서 안정적이며, 크기를 조정 가능한 컴퓨팅 파워를 제공하는 웹 서비스 EC2 특징 - 한 개에서 수천 개의 인스턴스로 확장 가능 - 모든 AWS Region 에서 사용 가능 - 필요에 따라 인스턴스의 생성, 시작, 수정, 중단, 삭제 가능 - Linux/Windows OS 에서 사용 가능하며 모든 소프트웨어 설치 가능 - 사용한 사용량에 대해서만 시간 단위 비용 과금 - 다양한 비용 모델(온디맨드, 스팟, 예약) 선택 가능 EC2 구매 옵션 1. 온디맨드 인스턴스(On-Demand) : - 필요할 때 바로 생성해서 사용하는 방식으로 인스턴스에 대해 초 단위 비용을 지불합니다 - 서버를 생성/삭제 를 자주 하는 개발환경에 적합함 2. 예약 인스턴스(Re..