IT(29)
-
[EC2 IMDS] EC2 Metadata란? IMDS 확인 설정하기
보안상, 그리고 Terraform 코드를 정적 분석하는 툴 tfsec에서는 IMDSv2를 사용하도록 권고한다. IMDS가 무엇이고, IMDSv1 → IMDSv2로 변경하는 방법을 공유한다. 인스턴스 생성 시, 메타데이터에 대한 옵션들을 설정할 수 있다. 콘솔 상으로 어떤 값을 의미하는지 설명되어 있는데, 사실 Version을 선택함에 있어서 충분한 사전 파악은 필요하다. 메타데이터 액세스 가능: 메타데이터 HTTP 엔트포인트 조회 기능을 활성화 또는 비활성화 할 수 있다. 메타데이터 버전: 메타데이터 버전을 설정할 수 있다. 기본은 v1 및 v2로 설정된다. 메타데이터 응답 홉 제한: 메타데이터 토큰이 이동할 수 있는 네트워크 홉 수를 설정한다. 기본 값은 1이다. EC2 서버에서 컨테이너를 실행할 경..
2022.12.27 -
[Saga 패턴] 마이크로서비스에서 Saga 패턴이란?
회사에서 Kafka 스터디에 참여하면서, 알아보았던 Saga 패턴에 대해서 정리한다. Saga 패턴에 대해 처음 알게 되었는데, MSA 구조를 고려한다면 꼭 알고 있어야 하는 구조이다. Saga 패턴 이전에 어떠한 패턴으로 사용되었는지, 기존 패턴의 문제는 무엇인지 알아본다. 1. Distributed Transaction 소개 1.1 Monolithic에서의 Transaction 처리 모놀리식 아키텍처에서는 사용자가 요청을 보내면, 단일 데이터베이스에서 트랜잭션을 생성하여 상태 확인 및 요청 처리가 진행된다. 만약 이 과정에서 실패한다면, 해당 트랜잭션은 롤백된다. 1.2 Microservice에서의 Transaction 처리 Microservice 기반 분산된 아키텍처에서는 각 서비스마다 별도의 데이..
2022.12.26 -
Kubernetes Istio 설치/적용하기 (Kubernetes Istio service mesh)
1. Istio 설치 - 최신 Istio Releases를 다운로드 한다. (본문에서는 Istio 1.9.1 사용) 다운 받은 폴더로 이동 후, Istioctl 경로를 추가한다. curl -L https://istio.io/downloadIstio | sh - cd istio-1.9.1 export PATH=$PWD/bin:$PATH - Istio가 제공하는 profile을 확인하고, 설치한다. istioctl profile list istioctl install --set profile=demo -y kubectl label namespace default istio-injection=enabled 2. Sample Appl. 배포 - Istio 정상 동작을 확인하기 위해 MSA Appl.(BookIn..
2021.11.10 -
Kubernetes Elastic Stack 구성하기 (Elasticsearch, Kibana, Beats, Logstash 설치)
ELK Stack에 데이터 수집 플랫폼인 Beat가 추가되어 4개의 조합은 Elastic Stack으로 불린다. 일반적으로 Elasticsearch> Kibana> Logstash> Beats 순서로 구성하고, 모든 구성 요소는 버전을 고려하여 구성한다. (본문에서는 CentOS 8 기반으로 한다.) ELK Stack은 https://github.com/elastic/helm-charts 참고하여 Helm으로 설치 가능하다. (또는 제공되는 Docker Image로 실행할 수 있다.) 1. Elasticsearch 설치 - Java와 SHASUM을 설치한다. (Java 경로 설정 필요) sudo dnf install java-11-openjdk-devel.x86_64 yum install -y perl-..
2021.11.10 -
Kubernetes Prometheus, Grafana 설치/구성하기
Kubernetes에서 기본 모니터링을 할 수 있도록 구성해본다. 가장 많이 사용되는 오픈소스로 Prometheus, Grafana 구성이다. 1. Helm 설치 - Helm v3.0.0 이상을 설치한다. curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh sudo chmod 700 get_helm.sh ./get_helm.sh - Helm Chart Repo를 추가하고, 업데이트한다. (본문에서는 Git에서 Chart를 직접 다운받는다.) 설치한 Helm이 v3.0.0 이상임을 확인한다. helm repo add stable https://charts.helm.sh/stable git clone ..
2021.11.10 -
Azure Files로 Kubernetes Persistent Volumes 구성하기
이전 AWS EFS에 이어서 Azure Files로 PV를 사용하도록 설정한다. 구성하는 방법은 크게 다르지 않다. 1. Azure Storage Account 생성 본문에서는 생성된 Azure Files, 액세스 키를 기반으로 PV를 구성한다. (VDI 외부에서 Azure Potal 조직 계정에 접근할 수 없어 CLI 접근이 불가하다.) Azure Storage Account에서 종류는 File Storage, Storage redundancy는 LRS로 설정하여 생성한다. 액세스 키에서 Storage 인증에 필요한 키를 확인한다. 2. Persistent Volume 사용 설정 - cifs-utils 를 설치한다. sudo yum -y install cifs-utils - 앞서 생성한 Azure St..
2021.11.10