AWS (12) 썸네일형 리스트형 [AWS] Deploy to ECS (Fargate) - Blue/Green Blue-Green 배포란Blue-Green 배포는 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델입니다.이전 버전을 blue 환경으로, 새 버전은 green 환경으로 부를 수 있습니다.AWS CLI로 진행하였으며, AWS에서 제공해주는 가이드를 참고하였습니다.ECS, ALB, CodedDeploy에 대한 권한이 필요합니다. 실습1. Application Load Balancer 생성블루/그린 배포 유형을 사용하는 Amazon ECS 서비스에서는 Application Load Balancer 또는 Network Load Balancer 중 하나를 사용해야 합니다. (ALB 사용)ALB 생성aws elbv.. [AWS] Docker Image를 이용한 EKS로 WEB 페이지 운영하기 EKS, Docker, ECR, Nginx, Tomcat, MySQL를 이용하여 진행하였습니다.OS는 Amazon Linux 2023으로 진행하였습니다. AWS Configure 적용IAM을 통해 생성한 Access Key 등록aws configureAWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: Default output format [None]: Dockerfile 생성docker 설치sudo yum install -y dockersudo systemctl start dockersudo systemctl enable dockersudo systemctl status dockerdocker image .. [AWS] EKS - Grafana & Prometheus 연동 및 시각화 Grafana란?멑티플랙폼 오픈소스로, 메트릭 분석 및 메트릭 정보 시각화를 제공해주는 웹 어플리케이션인터렉티브한 시각화 기능 제공Prometheus, InfluxDB, Elasticsearch 등 다양한 데이터 소스와 연동 가능시계열 메트릭 데이터 수집에 최적화서버 리소스의 메트릭 정보나 로그 같은 데이터를 시각화 할 때 많이 사용Grafana 특징오픈 소스알람 기능데이터 저장 방식확장성플러그 인가시성Prometheus 란메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 오픈 소스 모니터링 시스템Prometheus 기능풀 방식의 메트릭 수집, 시계열 데이터 저장PromQL을 활용하여 저장된 시계열을 쿼리 및 집계서비스 디스커버리데이터 시각화 Promethus 실습Prometheus .. [AWS] EKS에 Karpenter 적용 Karpenter 란Cluster Autoscaler와 유사하게 Kubernetes 클러스터에서 자동 스케일링을 관리하기 위한 오픈 소스 도구Karpenter 동작HPA에 의해 자동확장 또는 재배포하여 새로운 Pod가 생성.Kube-scheduler에 의해 기존에 존재하는 Worker node에 새로운 Pod를 할당기존 Worker node에 새로운 Pod를 할당할 자원이 부족하여 Pod는 Pending 상태가 됨Karpenter는 Pending 상태의 Pod를 감지하고 새로운 Worker node를 생성Kube-scheduler에 의해 새로 생성된 Worker node에 Pending 상태인 Pod가 배포 실습Node IAM Role 생성Karpenter의 IAM Role 생성 및 정책 연결cat n.. [AWS] WEB/WAS/RDS 연동하기 MySQL 8.0.39로 생성DB 생성 및 데이터 생성AWS에서 제공하는 서비스로 DB 생성Database 생성mysql> create database dyyeom;mysql> use dyyeomTable 생성mysql> create table user( -> NUM varchar(10) not null, -> ID varchar(10) not null, -> PW varchar(10) not null, -> NAME varchar(10) not null, -> ADDRESS varchar(10) not null -> );mysql> create table login( -> ID varchar(20) not null, -> PW varchar(20) not nu.. [AWS] EKS - Cluster Autoscaler 설정 EKS의 worker node 는 EC2 instacne이며 아무리 작은 크기의 pod 라고 해도 무한정으로 pod를 배포 시킬 수 없음여러개의 pod 가 만들어지면 node 가 가득 차버려서 나머지 pod 들은 pending 상태가 되어 버림이러한 문제를 해결하기 위해서 사용하는 것이 Cluster Autoscaler (CA)Cluster Autoscaler (CA) 이란?node의 자원이 부족하여 pod 가 pending 될 때 node의 수를 늘려주는 것Cluster Autoscaler 로직node의 자원이 부족하여 pending 상태가 된 pod 가 있는지 확인CA가 desired capacity의 갯수를 바꿈AWS 가 새로운 EC2를 생성하며 이에 해당하는 EC2가 새로운 worker node시.. [AWS] EKS - Horizontal Pod AutoScaler ( HPA ) 설정 HPA 란?Horizontal Pod Autoscaler(HPA)는 CPU, Memory 기반으로 Pod를 Scale Out/In 을 한다. Deployment에 세팅을 해주면 hpa라고 하는 리소스가 생성된다.HPA에서는 기본적으로 15초 마다 메트릭을 측정하고 조건에 맞을 경우 해당 deployment를 Scale Out/In을 하게 된다. 실제로 각 Node에서 cAdvisor가 메트릭정보를 수집하고 -> kubelet으로 보낸다. EKS 원클릭 배포에서 설치한 Addon인 metric server가 k8s apiserver에 메트릭 정보를 등록하고, HPA Controller가 15초마다 값을 수집하는 방식이다. HPA 장단점HPA 장점간단하고 쉬운 설정HPA는 선언적 구성을 통해 쉽게 설정할 .. [AWS] EKS - Nginx Ingress Controller 설치 및 NLB 생성 ngress 란클러스터 외부에서 내부로 접근하는 요청들을 어떻게 처리할 지 정의해둔 규칙들의 모음Ingress의 기능외부에서 접속 가능한 URL 사용트래픽 로드밸런싱SSL 인증서 처리도메인 기반 가상 호스팅 제공Ingress Controller 란클러스터에서 실행되고 수긴 리소스에 따라 HTTP 로드 밸런서를 구성하는 응용 프로그램Ingress가 동작하기 위해서는 Ingress Controller 필요Ingress Controller 통신 흐름 AWS Load Balancer Controller 설치https://yeom0326.tistory.com/4 참조Nginx Ingress Controller 설치helm repo add ingress-nginx https://kubernetes.github.io.. 이전 1 2 다음 목록 더보기