Cloud

클라우드 스터디 정리
Cloud/GCP

[Cloud Skills Boost] Kubernetes Engine에서 Jenkins로 지속적 배포

Overview Kubernetes Engine은 컨테이너를 위한 강력한 클러스터 관리자 및 조정 시스템으로 고가용성 다중 노드 클러스터에 이르기까지 다양한 환경에서 실행할 수 있는 오픈 소스 프로젝트 Jenkins는 빌드, 테스트 및 배포 파이프라인을 유연하게 조정할 수 있는 오픈 소스 자동화 서버이므로 개발자가 지속적 배포에서 발생할 수 있는 오버헤드 문제에 대해 걱정하지 않고 프로젝트를 빠르게 반복할 수 있음 지속적 전달 파이프라인을 설정해야 하는 경우 Kubernetes Engine에 Jenkins를 배포하며 빌드 프로세스에서 컨테이너를 사용하는 경우 하나의 가상 호스트가 여러 운영 체제에서 작업을 실행할 수 있어 일괄 처리 작업과 같은 다른 클러스터 작업을 위한 리소스를 남겨두어 빠른 속도로 몇..

Cloud/GCP

[Cloud Skills Boost] Kubernetes Engine으로 배포 관리

Introduction to deployments 단일 환경 또는 지역으로 제한된 배포에서는 다양한 비즈니스 및 기술 문제가 발생할 수 있음 최대 리소스 문제 제한적 지리적 범위 문제 제한된 가용성 문제 공급업체 종속 문제 유연하지 않은 리소스 문제 이기종 배포는 일반적으로 특정 기술 또는 운영 요구 사항을 해결하기 위해 둘 이상의 별개의 인프라 환경 또는 지역을 연결 이를 위해 프로그래밍 방식의 결정론적 프로세스와 절차를 사용해 설계해야 함 다중 클라우드 배포 온프레미스 데이터 프론팅 CI/CD 프로세스 Get the sample code for this lab 기본 컴퓨팅 영역 설정 컨테이너 및 배포를 만들고 실행하기 위한 샘플 코드 가져오기 5개의 노드가 있는 클러스터 생성 Learn about t..

Cloud/GCP

[Cloud Skills Boost] Kubernetes를 통한 클라우드 조정

Get the sample code 구글 쿠버네티스 엔진 시작 기본 컴퓨팅 영역을 설정한 후 실습에서 사용할 클러스터 시작 샘플 코드 가져오기 GitHub 저장소를 복제한 후 실습에 필요한 디렉터리로 변경하고 작업 중인 항목을 확인 deployment : 배포 매니페스트 ngix : nginx 구성 파일 pods : 포드 매니페스트 services : 서비스 매니페스트 tls : TLS 인증서 cleanup.sh : 정리 스크립트 Quick Kubernetes Demo Kubernetes는 kubectl 실행 및 노출 명령을 사용해 즉시 사용하기 쉬운 워크플로우를 지원 kubectl create 명령을 사용해 nginx 컨테이너의 단일 인스턴스를 시작해 배포 Deployment 생성 Kubernetes에..

Cloud/GCP

[Cloud Skills Boost] Kubernetes Engine

Overview Google Kubernetes Engine(GKE) 클러스터는 Kubernetes 오픈 소스 클러스터 관리 시스템을 기반으로 함 Kubernetes는 컨테이너 클러스터와 상호 작용하는 메커니즘을 제공하며 명령 및 리소스를 사용하여 애플리케이션을 배포 및 관리, 정책 설정, 배포된 워크로드의 상태를 모니터링 Set a default compute zone 기본 컴퓨팅 영역을 설정 클러스터와 해당 리소스가 있는 대략적인 지역 위치인 컴퓨팅 영역을 설정 Create a GKE cluster 클러스터 생성 클러스터는 하나 이상의 클러스터 마스터 시스템과 노드라고 하는 여러 작업 시스템으로 구성 노드는 클러스터의 일부이며 Kubernetes 프로세스를 실행하는 Compute Engine 가상머신..

Cloud/GCP

[Cloud Skills Boost] Docker 소개

Overview Docker는 애플리케이션을 개발, 배송 및 실행하기 위한 개방형 플랫폼 Docker를 사용하면 더 빠르게 코드를 제공하고, 더 빠르게 테스트하고, 더 빠르게 배송하므로 코드 작성과 코드 실행 사이의 주기를 단축할 수 있음 Hello World docker run 명령어를 통해 hello-world 컨테이너를 실행 docker 데몬은 hello-world 이미지를 검색하지만 로컬에서 이미지를 찾지 못하므로 Docker Hub이라는 공용 레지스트리에서 이미지를 가져와서 해당 이미지에서 컨테이너를 생성하고 컨테이너를 실행 Docker Hub에서 가져온 컨테이너 이미지를 살펴보기 이미지 ID로 SHA256 해시 형식을 가지며 이 필드는 프로비저닝된 Docker 이미지를 지정함 다시 hello-..

Cloud/AWS

[SAA] NACL 및 보안 그룹

Security Groups & NACLs 예1) 요청이 EC2 인스턴스 내부로 들어올 때, 언제 보안 그룹이 연결된 EC2 인스턴스를 사용할지와 들어오는 요청의 NACL 역할 요청이 서브넷에 들어가기 전에 NACL로 이동하며, NACL에는 몇 가지의 인바운드 규칙이 정의되며 요청이 허용되지 않으면 내부로 들어갈 수 없음 첫 번째 요청이 NACL을 통과해서 서브넷 내부에 도달한 후 보안 그룹 인바운드 규칙을 만나게 되는데 만약 그 요청이 명시적으로 허용 받지 못하면 거부가 됨 만약 요청이 보안 그룹의 인바운드 규칙을 통과해서 EC2 인스턴스에 도달하면 EC2 인스턴스는 그 응답으로 애플리케이션 관점에서 응답할 내용을 모두 회신되며 보안 그룹의 아웃바운드 규칙은 상태 유지이므로 아웃바운드 규칙은 자동으로 ..

Cloud/AWS

[SAA] 아키텍처의 예

More Architecture Examples 대표적인 아키텍처 : EC2, ELB, RDS, ElastiCache 등 서버리스 아키텍처 : S3, Lambda, DynamoDB, CloudFront, API Gateway 등 더 많은 아키텍처를 보고 싶다면 AWS 웹 사이트의 링크를 이용 AWS 아키텍처 센터 Well-Architected 프레임워크에 액세스할 수 있으며 훌륭한 참조 아키텍처를 찾을 수 있음 또한 퀵 스타트가 있고 AWS 참조 아키텍처가 있어 웹 애플리케이션 호스팅, 콘텐츠와 미디어 제공 배치 처리, 내결함성 등이 존재 사진을 클릭하면 파일 동기화가 되면서 PDF 파일이 나타나며 사용 서비스, S3, 오토 스케일링, DynamoDB, STS 등 어떤 아키텍처든 실행할 수 있는 좋은 아..

Cloud/AWS

[SAA] ECS 서비스 및 작업, 로드 밸런싱

ECS Services & Tasks Amazon ECS 클러스터가 있고 이들이 EC2 실행 타입일 때 두 개의 컨테이너 인스턴스가 존재 Amazon ECS 클러스터에 여러 서비스를 가동할 수 있을 때 예1) 여러 테스크를 EC2 인스턴스에 걸쳐 가동하는 서비스 A를 사용자들에게 이를 노출시키고 싶다면 애플리케이션 로드 밸런서를 생성해서 테스크를 직접 통합시킬 수 있으며 로드 밸런서의 뒤에는 ECS 테스크에 오는 모든 요청(ECS 서비스의 일부로서 가동되고 있는 요청들)을 포워딩하여 ECS 클러스터 하나에서 다중 서비스를 가동할 수 있음 예2) 만약 서비스 B라는 또 다른 서비스를 생성해 노출시키고 싶다면 같거나 새로운 애플리케이션 로드 밸런서를 연결 Load Balancing for EC2 Launch..