DEVELOP 52

Proxy, Reverse Proxy 란

📗 proxy '대리'라는 의미 서버와 서버 사이의 중계기 역할 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템 보안상의 이유로 직접 통신할 수 없는 두 점사이에서 대리로 통신을 수행하여 보안성, 성능, 안정성을 향상 시키기 위해 사용 보통 웹은 클라이언트에서 서버로, 서버에서 클라이언트로 통신하며 데이터를 전달한다. 이때 필연적으로 중복되는 데이터를 반복하여 전달하는 상황이 발생하는데, 이렇게 동일한 요청을 매번 처리하는 것은 곧 리소스 낭비 와 서버의 부하 로 이어지게 된다. 때문에 본 서버에 도달하기 전에 새로운 서버(proxy server)를 미리 배치하여 중복 요청에 대해 (연산이 필요없는) 동일한 응답을 할 수 있다면, 클라이언트에겐 빠른 속..

DEVELOP 2023.11.03

Network | 쿠키 vs 세션 vs 캐시 비교

📗HTTP HTTP는 OSI(Open Systems Interconnection) 네트워크 통신 모델의 애플리케이션 계층 프로토콜(TCP/IP 위에서 작동) 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜 하이퍼텍스트 기반으로(Hypertext) 데이터를 전송하겠다(Transfer) = 링크기반으로 데이터에 접속하겠다 라는 의미 ❕HTTP 작동 방식 서버/클라이언트 모델 -> 클라이언트에서 요청(request) 보내면 서버는 요청을 처리해서 응답(response) 클라이언트 서버에 요청하는 클라이언트 소프트웨어(IE, Chrome, Firefox, Safari ...)가 설치된 컴퓨터를 이용한다. 클라이언트는 URI를 이용해서 서버에 접속하고, 데이터를 요청할 수 있다. 서버..

AWS | EC2 볼륨 증설 (볼륨, 파티션, 파일시스템, EFS)

📗 EBS 란 (Elastic Block Store) EC2 인스턴스에 사용할 수 있는 블록 수준 스토리지 볼륨을 제공 EBS 볼륨은 형식이 지정되지 않은 원시 블록 디바이스처럼 동작. 이러한 볼륨을 인스턴스에 디바이스로 마운트 할 수 있다. 인스턴스에 연결된 EBS 볼륨은 스토리지 볼륨으로 표시되며, 인스턴스 수명에 관계없이 지속. 즉, 인스턴스가 종료되어도 보관. 서버의 스토리지 개념. 주의할 점: 루트볼륨의 용량은 신중하게 생성해야 한다! 한번 생성하고 나면 용량을 늘릴 수는 있지만 줄이는 것은 불가능 📗 볼륨 저장 장치의 할당 바이트들을 분할, 조합하는 데이터 구조체 파일 시스템으로 포맷된 디스크의 저장영역 📗 파티션 디스크 공간을 논리적인 별도의 데이터 영역으로 분할한 공간 하나의 물리적인 디스..

DEVELOP/AWS 2023.10.31

AWS | AWS를 다루는 기술 - VPC

📗 VPC (Virtual Private Cloud) 가상 네트워크 제공. 사용자 상황에 맞게 VPC 생성하여 여러가지 형태 네트워크 구성 가능 VPC 는 리전별로 생성하고 서브넷은 AZ(가용영역)별로 생성 VPC 안에 서브넷 여러 개 추가하여 네트워크 격리하거나 서브넷 간 접근제어(ACL) 설정 가능 ex. 인터넷에서 접근해야 하는 웹 서버는 public subnet에 만들고 외부에서 접근이 필요없는 db 서버는 private subnet에 만드는 식으로 구성 가능 VPC와 서브넷은 CIDR 표기법으로 IP 대역 설정 라우팅 테이블 서브넷이나 게이트웨이의 네트워크 트래픽이 어디로 향하는지 결정하는 경로 라는 규칙 집합이 포함 네트워크상의 특정 목적지까지의 거리와 가는 방법등을 명시하고 있는 테이블. 라..

DEVELOP/AWS 2023.10.26

AWS | AWS를 다루는 기술 - 기본 개념(Region, 가용영역, 서브넷, ip, CIDR), EC2

📗 Region (리전) aws 모든 서비스가 위치하고 있는 물리적인 장소. 리전 안에는 가용영역(AZ)가 여러개 있다 리전이 여러 곳에 있는 이유는 네트워크 속도 때문이다. 멀리 떨어진 서버에 접속하면 경유하는 라우트 개수가 많아지므로 느려질 수밖에 없다. 따라서 주요 지역에 리전을 위치시키고 가까운 리전에 접속하게 해야 빠른 속도를 낼 수 있다. 더불어 큰 재해를 대비하기 위해 한 리전이 작동 불능이 된다 하더라도 다른 리전에 데이터가 백업되어 있다면 정상적으로 서비스를 제공할 수 있다. 📗 가용영역 흔히 말하는 데이터센터(IDC). 같은 지역 혹은 도시라 하더라도 멀리 떨어져 있다. 하나의 가용영역이 각종 재해 등 다양한 이유로 작동 불능이 되더라도 다른 가용 영역에서 서비스를 재개할 수 있다.(무..

DEVELOP/AWS 2023.10.25

Kubernetes | 쿠버네티스 개념 정리

쿠버네티스란 컨테이너화 된 애플리케이션을 자동으로 배포, 스케일링 및 관리해주는 오픈소스 시스템 컨테이너 관리 시스템 = 상태가 계속 유지될 수 있도록 관리하는 것 ➡ container가 crash 나는 등의 “상태”가 변경될 경우 다시 원래 정의한 “상태"가 되도록 관리 구성 요소 쿠버네티스의 component들은 클러스터 내에서 컨테이너 형태로 실행 Cluster : 노드의 집합 Control Plane : 쿠버네티스 작업을 처리하는 component(etcd, scheduler, api server 등)의 집합. 클러스터 관리 Node : 물리적인 하드웨어 / 물리적 하드웨어 위에서 실행되는 가상머신 ➡ 컨테이너가 실행될 수 있도록 자원이 할당된 하드웨어 또는 가상머신 ⛴ 마스터 노드 쿠버네티스 클..

DEVELOP/DevOps 2023.10.24

Docker | Docker 개념 정리

Docker 오픈 소스 컨테이너화 플랫폼 개발자는 애플리케이션을 컨테이너로 패키징 가능 컨테이너 ▪ 애플리케이션 소스 코드를 임의의 환경에서 해당 코드의 실행에 필요한 운영체제(OS) 라이브러리 및 종속 항목과 결합하는 실행 가능한 표준 컴포넌트 ▪ Linux 커널에 빌드된 가상화 기능과 프로세스 격리를 통해 가능하게 됨 ▪ 프로세스 간의 리소스 할당을 위한 제어 그룹(Cgroups) 및 시스템의 기타 리소스나 영역에 대한 가시성이나 프로세스 액세스를 제한하기 위한 네임스페이스 등의 기능을 사용하면 다수의 애플리케이션 컴포넌트가 호스트 운영체제의 단일 인스턴스의 리소스를 공유가능 ▪ 하이퍼바이저를 통해 다수의 가상 머신(VM)이 단일 하드웨어 서버의 CPU, 메모리 및 기타 리소스를 공유하는 것과 거의 ..

DEVELOP 2023.08.07

AWS | CloudFormation 활용하여 Macie + Slack 알람 구성하기

✅ cloudformation 스택 생성 cloudformation에서 새로운 스택을 생성한다. 하단 yaml 파일을 넣어준다. macie.yaml AWSTemplateFormatVersion: 2010-09-09 Description: >- Demonstration of integration between Macie Findings with Slack Channel with Event Bridge and Lambda Metadata: 'AWS::CloudFormation::Interface': ParameterGroups: - Label: default: Slack Configuration Parameters: - IncomingWebHookURL - SlackChannel ParameterLabels..

DEVELOP/AWS 2023.07.20

AWS | EKS mariadb 구축하기

eks에서 mariadb를 실행해야하는데 이진로그 및 에러로그를 활성화해야하는 상황이다. my.cnf, 혹은 50-server.cnf를 수정하였지만 제대로 적용되지 않는 문제가 발생하였다. 따라서 mariadb 이미지를 생성한 뒤 deployment를 생성하는 방법으로 구현하였고, 그 과정을 기록해보았다. ✅ mariadb 이미지 생성 먼저 mariadb 이미지에 넣을 cnf 파일을 서버에서 먼저 만들어준다. cnf 파일은 mariadb 버전에 따라 다르기 때문에 해당 버전에 맞는 파일의 데이터를 들고와 수정해주어야한다. mariadb 10.7 은 하단과 같은 파일이 default로 생성되기에 해당 파일에서 이진로그 및 에러로그를 추가하는 코드를 넣어주었다. 50-server.cnf # These gro..

DEVELOP/AWS 2023.07.20

AWS | helm chart 이용해 grafana, prometheus, alertmanager 설치하기, slack alarm 설정

✅ EKS Cluster 구축 eks cluster를 먼저 구축한다. vpc를 선택하고 public subnet을 선택한다. 이후, eks worker node를 설정한다 t2.micro와 t2.small 두개의 워커 노드를 설정한다. ✅ Kubectl 설정 public subnet의 ec2에 접속한 뒤 eks를 연결해주어야 한다. 이때, 버전문제로 인해 1.23.6 버전의 kubectl을 다운받아 주어야 한다. $ aws configure # kubectl 다운 $ curl -LO https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl $ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubec..

DEVELOP/AWS 2023.07.20