DevOps & SRE
[클라우드 인프라와 API의 구조] 5. 서버 리소스를 제어하는 방법
서버 리소스를 제어하는 방법 5장에서는 클라우드 환경에서 서버를 구축하는 과정이 어떻게 이루어지는지? 1. 먼저 서버 리소스란 무엇일까요? 가상 서버(인스턴스)를 의미. 서버 리소스는 타입 (리소스의 스펙), 이미지 (서버를 기동할 이미지)로 구성. 타입 (AWS의 경우 인스턴스 유형) 이미지 (AWS의 경우 AMI) 2. 서버를 생성하기 까지의 과정? 2-1. 인증 인증 서버로 부터 인증을 요청하고 성공시 토큰과 엔드포인트를 받아옴. 이때 받아온 토큰을 인증이 필요한 Request Header에 포함해서 요청 여기서 엔드포인트는 인증이 성공한 후에 접속할 엔드포인트를 의미. (가상 서버를 생성하는 엔드포인트) 엔드포인트 개념상, 매번 리소스 제어 요청시 인증을 요청하는 방식 같은데... 최초 로그인시 ..
[클라우드 인프라와 API의 구조] 2. 클라우드 컴포넌트 종류
클라우드를 구성하는 요소 1. 테넌트 각 클라우드 사용자는 자신만의 독립된 테넌트 환경을 갖게 됨. 멀티 테넌트를 구성하여, 여러 사용자가 자신만의 격리된 공간에서 같은 클라우드 환경을 사용. 2. 리전 지리적으로 멀리 떨어진 지역에 여러 개의 클라우드 인프라를 분산 운영할 수 있음. 각 리전들은 서로 독립된 환경이라 리전 별로 가상 네트워크를 구성할 순 있지만, 여러 리전에 걸친 가상 네트워크를 구성할 순 없음. cf) 보안 측면에서 재난 대응 시스템을 구성한다. BCP(Business Continuity Plan) 자연적, 인위적 재해와 장애로 부터 핵심 사업 프로세스의 연속성을 보장 예방적 개념 DRP(Disaster Recovery Plan) 재난이 닥친 직후의 파급 효과를 다루는 것 복구적 개념..
[클라우드 인프라와 API의 구조] 1.클라우딩 컴퓨팅과 API의 역할
클라우딩 컴퓨팅이란? 저자는 클라우딩 컴퓨팅의 진정한 본질은 물리적이고 기술적인 시스템 구조나 전산 장비들로만 만들어지는 것이 아니고, API에 있다고 봄. Public Cloud vs Private Cloud Private Cloud 특정 기업 내부에서만 사용하는 클라우드 환경 Public Cloud 여러 기업이 함께 사용할 수 있는 클라우드 환경 사용자마다 각자 격리된 공간에서 같은 클라우드 환경을 사용할 수 있음. 과연 어떻게 각 사용자마다 격리된 공간을 구성할 수 있을까? 클라우드 환경에서 멀티 테넌트 (multi-tenant)라는 기능을 제공해서 가능함. 멀티 테넌트 덕분에 보기에는 자신만 사용하는 클라우드로 보이지만, 실제로는 여러 (기업) 사용자가 서로 간섭 없이, 자신만의 격리된 공간에서 ..
[쿠버네티스 공부] Ingress
Ingress 서비스 오브젝트가 외부 요청을 받아들이기 위한 것이였다면, 인그레스는 외부 요청을 어떻게 처리할 것인지 네트워크 7계층 레벨에서 정의하는 쿠버네티스 오브젝트임. 인그레스가 제공하는 기능 외부 요청의 라우팅 가상 호스트 기반의 요청 처리 SSL/TLS 보안 연결 처리 NodePort, LoadBalancer 타입의 서비스를 사용해도 되는데 왜 인그레스를 사용하는 가? 애플리케이션이 4개의 Deployment가 생성되어 있고, 각각의 서비스를 하나씩 연결 해줬다고 가정해보자. 이러한 방식은 잘 동작하는 것 같지만, 서비스마다 세부적인 설정을 할 때 추가적인 복잡성이 발생하게 된다. (SSL/TLS 보안 연결, 접근 도메인 및 클라이언트 상태에 기반한 라우팅 등을 구현하려면 각 서비스와 디플로이..
[쿠버네티스 공부] Namespace
그저 사이드 플젝에서 한 번 써보고 싶어서... 쿠버네티스를 공부를 하면서 정리하는 글입니다. Namespace 용도에 따라 컨테이너와 리소스를 구분지어 관리할 수 있는, 일종의 논리적인 그룹. (리소스를 논리적으로 구분) Namespace의 활용 사용 목적에 따라 포드, 서비스 등의 리소스들을 격리함으로써 편리하게 구분할 수 있음. ResourceQuota 오브젝트를 이용해 특정 네임스페이스에서 생성되는 포드의 자원 사용량을 제한할 수 있음. Namespace 생성 apiVersion: v1 kind: Namespace metadata: name: production Namespace 사용 apiVersion: v1 kind: Pod metadata: name: pod-1 namespace: produ..