본문 바로가기

Hallo37

최소권한 관리 안녕하세요~ BTC Hallo팀입니다. 이번에는 보안에 관련하여 권한에 대한 소개글 입니다. 클라우드 보안에 있어서 권한은 매우 민감한 문제 입니다. VPC Service control이나 Cloud Amor 같은 부가적인 보안 시스템을 이용하지 않는 환경에서는 더욱 중요하다고 볼 수 있습니다. 방화벽과 함께 보안에서 가장 큰 부분을 차지하는 권한, 이번에는 그 중에서도 권한을 최소로 관리하는 방법에 대해서 알아보겠습니다. 클라우드에서 권한은 세부적인 제어를 필요로 합니다. 예를 들어 운영팀은 시스템 로그를 보고 VM이나 인프라에 접근하지만 DB 데이터나 BQ 데이터에 접근을 하지 못하게 하거나 데이터 팀은 테이터에만 접근 가능하도록 구성하게 됩니다. 따라서 권한을 최소로 부여하여 보안성을 높일 수 있습.. 2023. 1. 19.
[GKE 사용하기] 쿠버네티스 셀프힐링(Kubernetes Self-healing) 쿠버네티스에서는 서비스를 안정적으로 운영하기 위해 셀프힐링 기능을 지원합니다. 이 기능에는 Liveness Probe와 Readiness Probe가 있습니다. Liveness Probe를 통해서는 이름 그대로 컨테이너가 잘 살아있는지를 진단합니다. Readiness Probe를 통해서는 이름 그대로 서비스가 가능한 준비된 상태인지를 진단합니다. Probe 타입 컨테이너를 진단하과 확인하는 방법으로는 3가지가 있습니다. Http Get probe 가장 많이 사용하는 방식으로, 지정된 IP, port, path에 HTTP GET 요청을 보내 해당 컨테이너가 제대로 응답하는지를 확인합니다. HTTP 응답코드가 200이면 정상으로 판단하고, 그 이외의 값인 경우에는 비정상으로 판단하여 컨테이너를 다시 시작합니.. 2022. 12. 20.
[GCP] Dataflow 안녕하세요~ BTC Hallo팀입니다. 이번시간에는 GCP의 특징적인 서비스 중에 하나인 Dataflow에 대해서 알아보겠습니다. Dataflow는 빠르고 경제적이며 서버리스 방식인 통합 스트리밍 및 일괄 데이터 처리를 제공합니다. 먼저 Dataflow를 사용하는 이점에 대해서 알아보겠습니다. 1. 완전 관리형 데이터 처리 서비스 2. 처리 리소스의 프로비저닝 및 관리 자동화 3. 작업자 리소스가 수평식으로 자동 확장되어 리소스 활용률 극대화 4. Apache Beam SDK를 통한 OSS 커뮤니티 기반의 혁신 5. 안정적이고 일관성 있는 단 한 번의 처리 신속한 스트리밍 데이터 분석 Dataflow를 사용하면 데이터 지연 시간을 줄이면서 스트리밍 데이터 파이프라인을 빠르고 간편하게 개발할 수 있습니다... 2022. 12. 16.
Cloud Functions 안녕하세요~ GCP Hallo팀입니다. 이번시간에는 GCP의 Cloud Function서비스에 대해서 알아보겠습니다. Cloud Function은 사용한 만큼만 지불하는 FaaS제품으로 서버나 컨테이너를 관리할 필요 없이 클라우드에서 코드 실행이 가능하게 하는 서비스 입니다. Cloud Function의 주요 특징에 대해서 알아보겠습니다. 개발자 환경 간소화 및 개발자 속도 증가 Cloud Functions는 개발자 환경이 단순하고 직관적입니다. 코드를 작성하기만 하면 운영 인프라는 Google Cloud가 처리합니다. 이벤트에 응답하는 작은 코드 스니펫을 작성하고 실행하여 보다 빠르게 개발하세요. 이벤트를 사용해 Google Cloud 제품을 서로 또는 타사 서비스에 연결하여 까다로운 조정 문제를 간소.. 2022. 11. 28.
[GKE 사용하기] 쿠버네티스 리소스관리 안녕하세요 Hallo 팀입니다.이번 시간에는 GKE를 잘 사용하기 위한 리소스 관리에 대해 알아보겠습니다. 서비스가 안정적으로 제공되기 위해서는 Pod 내의 애플리케이션이 원활하게 동작할 수 있는 충분한 자원이 확보되어야 합니다. 만약 특정 Pod나 컨테이너가 리소스를 독점한다면 다른 Pod에서 서비스를 제공하는 데에 문제가 발생할 수 있습니다. 그러므로 각 Pod의 리소스를 제한하고 관리하는 것이 필요합니다. ResourseQuota Resource Quota는 네임스페이스별로 리소스 사용과 생성을 제한합니다. 쿠버네티스에는 기본적으로 Resource Quota 지원이 활성화되어 있어, computing resource, storage resource, object count 등 다양한 타입을 통해 R.. 2022. 11. 25.
[GKE 사용하기] 서비스 디스커버리(Service Discovery)(2) 저번 시간에 이어 GKE를 잘 사용하기 위해 쿠버네티스 서비스 디스커버리에 대해 알아보도록 하겠습니다. 서비스 레지스트리 서비스 레지스트리는 각 서비스 인스턴스의 네트워크 위치 정보를 저장하는 데이터베이스로 항상 최신 정보를 유지해야 하며 고가용성이 필요하다. Netflix Eureka는 서비스 인스턴스를 등록하고 조회하는 API를 제공하는데, 각 서비스 인스턴스는 POST 요청으로 자신의 네트워크 위치를 등록하고 30초마다 PUT 요청으로 자신의 정보를 갱신한다. 등록된 서비스 정보는 DELETE 요청이나 타임 아웃으로 삭제된다. 그리고 등록된 서비스 정보는 GET 요청으로 조회 가능하다. 서비스 등록 서비스 레지스트리에 정보를 등록하고 해제하는 데에는 서비스 스스로 등록을 관리하는 셀프 등록 패턴(S.. 2022. 11. 14.
[GKE 사용하기] 서비스 디스커버리(Service Discovery)(1) 이번 시간에는 GKE를 잘 사용하기 위해 쿠버네티스 서비스 디스커버리에 대해 알아보도록 하겠습니다. Service Discovery란? 마이크로서비스 아키텍처(MSA)로 구성되어 있는 서비스들은 각자 다른 IP와 포트를 가지고 있다. 수많은 서비스의 IP와 포트 정보에 대해서 저장하고 관리하는 것이 필요하다. 클라우드에서 인스턴스는 동적으로 할당되기 때문에 IP주소나 포트 정보가 정해지지 않은 데다가 오토스케일링도 일어나고 중지되고 복구되면서 네트워크 위치가 지속적으로 변경된다. 따라서 클라이언트나 API 게이트웨이가 호출할 서비스를 찾기 위해 서비스 디스커버리(Service Discovery)가 필요하다. 서비스 디스커버리는 클라이언트 사이드 디스커버리 패턴(Client-Side Discovery Pa.. 2022. 11. 14.
쿠버네티스 서비스(Kubernetes Service) 안녕하세요~ BTC Hallo팀입니다. 이번시간에는 GKE 활용과 관련해서 쿠버네티스 서비스에 대해서 알아보겠습니다. 쿠버네티스 서비스는 동적으로 변하는 IP를 가지는 Pod들에 고정된 방법으로 접근하고, 동일한 서비스를 제공하는 Pod 그룹에 접근하는 단일 진입점을 생성하는 리소스이다. 각 서비스에는 서비스가 존재하는 동안 변하지 않는 IP와 port가 있다. 클라이언트는 해당 IP:port에 연결할 수 있고, 이 연결은 서비스를 제공하는 Pod 중 하나로 라우팅된다. 서비스 타입 ClusterIP 동일한 서비스를 지원하는 Pod는 하나 이상 존재할 수 있다. 이때 ClusterIP를 통해 백엔드의 동일한 서비스를 제공하는 Pod들로 로드밸런싱이 가능하다. Selector의 Label이 동일한 Pod를.. 2022. 11. 1.