반응형 🌴 DevOps94 [AutoScaling] Amazon EC2 Auto Scaling 개념 및 life cycle 1. 개념 Auto Scaling 그룹 : 애플리케이션이 해야할 일을 처리할 수 있는 Amazon EC2 인스턴스 그룹 각 Auto Scaling 그룹의 최소 인스턴스 수를 지정가능 언제 인스턴스 수가 늘리고, 언제 인스턴스 수를 줄일지 그 정책 지정 가능 2. 구성요소 Groups : EC2 인스턴스의 최소 및 최대 인스턴스 수와 원하는 인스턴스 수를 지정 가능 구성템플릿(시작구성) : 인스턴스의 AMI ID, 인스턴스 유형, 키 페어, 보안 그룹, 블록 디바이스 매핑 등의 정보 지정 조정옵션 : 무슨 조건일 때 확장/축소될지, 또는 스케줄에 따라서 확장/축소 될지 지정 3. 이점 내결함성 향상 : 인스턴스가 비정상 상태일 때 이를 감지하여 종료 -> 대체할 인스턴스 시작 가용성 향상 : 애플리케이션이.. 2020. 4. 30. AWS고객이 주로 겪는 운영이슈3 -ELB관련 유형1. HTTP 5XX ERRORS 1) 502 BAD GATEWAY 원인 : ELB가 뒷단에 있는 인스턴스로부터 응답을 받지 못했을 경우 해결 : 뒷단에 있는 인스턴스들(WAS/WEB)의 로그를 참조해서 응답이 제대로 갔는지 확인 2) 503 Service Unavailable : 서비스불가 모니터링 지표 : HealthyHostCount 지표 원인1 : ELB 뒷단에 등록된 인스턴스가 없을 경우 해결1 : 인스턴스 등록 원인2 : ELB 뒷단에 인스턴스가 있지만 모든 인스턴스가 다 Unhealthy 상태인 경우 해결2 : Health 한 인스턴스를 하나라도 만듦 SG이나 VPC 설정을 확인해서 인스턴스가 ELB와 통신이 가능한 상태인지 점검 원인3 : 갑자기 request가 많아지는 경우 해결3 :.. 2020. 4. 29. AWS 고객이 주로 겪는 운영 이슈2 - Auto Scaling 관련 유형1 : 신규 인스턴스 생성 이슈 (오토스케일링 그룹에 인스턴스가 생성되지 않을 경우) 원인1 : Launch Configure 설정문제 SG이나 EC2 key pair가 안맞아서 오토스케일링 그룹에 인스턴스가 없기 때문에 발생 해결1 : 새로운 Launch Configure 생성 원인2 : limit도달 인스턴스개수, ebs 볼륨,네트워크 인터페이스 개수 리밋에 도달했을 때 해결2 : 안쓰고 있는 리소스를 삭제해서 인스턴스 생성, 정 안되면 aws에 리밋 인크리즈 요청 유형2: 스케일 인/아웃 이슈 (스케일 인/아웃이 안될 경우) 원인1 : 오토스케일링 그룹이 중지 해결1 : Suspended Process를 제거해서 다시 시작 원인2 : Cooldown시간이 지나지 않았을 경우(쿨다운시간이 아주 긴.. 2020. 4. 28. AWS고객이 주로 겪는 운영이슈1 -EC2관련 유형1. 상태확인이슈(Status Check Fail 발생) 1-1. 시스템 상태확인 인스턴스가 실행되는 기본 호스트OS에서 문제 확인 모니터링 지표 : Status Check Failed(System) -> 정상0, 문제1 원인 : 물리적 호스트의 소프트웨어/하드웨어 문제로 인한 네트워크 접속문제 해결방법 : 인스턴스를 stop하고 start한 다음 다른 물리적 호스트로 이동시킴 1-2.인스턴스 상태확인 인스턴스 자체(Guest OS)에서 문제 확인 모니터링 지표 : Status Check Failed(Instance) ->정상0, 문제1 확인 : 시스템로그/콘솔출력/오류메세지 원인 : 커널패닉, 게스트os부팅실패, 볼륨마운트 실패, 파일시스템 문제 등 인스턴스 자체의 잘못 해결방법 : 인스턴스 재시작.. 2020. 4. 27. 쿠버네티스 구성요소(4/5) - Service 구성 및 종류/kube-proxy 서비스 (Service) 고정된 주소로 pod에 접근하기 위한 중간다리 pod는 Controller에 의해 관리되기 때문에 고정되어 있지 않음 그래서 pod가 클러스터내에 어디에 있던지 상관없이 고정된 주소로 사용할 수 있도록 서비스 사용 Label Selector로 pod를 선택해서 하나의 endpoint로 노출되는 pod의 집합 즉, 외부에서 pod와 접속하기 위한 중간다리(gateway) 역할 1)Service 필요성 동적으로 변하는 pod에게 고정된 방법으로 접근가능 외부에서 서비스를 거쳐서 pod에게 접근가능(ingress대신) pod가 옮겨겨갔을 때 서비스는 자동으로 새로뜬 pod를 바라보기 떄문에 실제 접속하는 사용자는 서비스만 바라보고 있으면 댐 2) Service 구성 여러개의 pod와 .. 2020. 4. 20. 클라우드 흐름(OS->VM->Container->Docker->k8s) 1. OS 자원들을 격리해서 프로세스들이 독립적인 환경에서 돌아갈 수 있도록 해줌 예를 들어 웹서비스 환경을 제공한다라고 하면.. 1. 서버OS설치 (Linux/Ubuntu/CentOS) 2. 애플리케이션 설치(Web/Was/DB/App) 3. 각 애플리케이션의 Configuration 설정 4. 서비스데몬 실행 즉, 어떤 서비스를 운영하기 위해서는 Application들이 os단위에 올라가 있고, 그 os들은 CPU,메모리,디스크 같은 하드웨어(x86아키텍쳐) 위에 있는 환경으로 구성됨 하지만, 하나의 컴퓨터에서는 하나의 App만 운영할 수 있음 https://pearlluck.tistory.com/120 [하드웨어기초] CPU와 메모리 하드웨어 : 컴퓨터에 필요한게 뭐가 있을까? 1. 입출력장치(I/.. 2020. 4. 20. 쿠버네티스 구성요소(3/5) - Volume 구성 및 특징 Volume pod에 종속되는 디스크 (컨테이너의 외장디스크) 1) 왜 필요? Pod가 기동할때 컨터네이너 마다 생성되는 로컬디스크는 영구적이지 않음(휘발) 즉, 컨테이너가 새로 배포되면 로컬디스크 내용이 사라짐 그래서 영구적으로 파일을 저장해야하는 경우 볼륨사용 * 스토리지 볼륨(Storage Volume) : 영구적으로 저장해야하는 파일 저장하는 디스크 2) 언제 사용? 컨테이너가 재시작해도 데이터가 사라지면 안될때 일반적으로 컨테이너는 상태가 없는(Statelss) 앱 사용 즉, 어떤 이유로건 컨테이너가 죽었을떄 현재까지의 데이터가 사라진다 상태가 없기 때문에 장점 : 문제가 있거나 노드 장애가 발생하면, 컨테이너를 새로띄우거나 다른 곳으로 옮길 수 있음 단점 : 컨테이너를 새로 띄울때 현재까지 데.. 2020. 4. 20. 쿠버네티스 구성요소(2/5) - Pod 구성 및 특징 Pod (파드) 컨테이너화 된 애플리케이션 오브젝트 쿠버네티스에서 배포할 수 있는 가장 기본적인 단위 즉, 컨테이너를 여러개로 묶어서 관리하는 배포하는 단위 (컨테이너 서비스들을 담는 그릇) 워커노드 안에서 실행되는 컨테이너들의 집합 쿠버네티스는 컨테이너를 pod라는 단위로 묶어서 한꺼번에 배포할 수 있음 그래서 컨테이너들을 개별적으로 관리하는게 아니라 pod라는 단위로 묶어서 컨테이너들을 관리함 1) pod 구성 한개 이상의 컨테이너를 가지고 있음 (일반적으로 1pod 1Container) 스토리지, 네트워크 속성을 가지고 서로 공유하고 있음 2) pod 특징 한 개 이상의 컨테이너를 묶어서 배포한다 예를 들어 nginx,wsgi, django 컨테이너가 하나의 pod안에 들어가서 한꺼번에 띄울 수 있.. 2020. 4. 20. 쿠버네티스 구성요소(1/5) (Object/Controller) K8S 구성요소 크게보면 Obejct : 가장기본적인 구성단위 object spec : obejct 설정값을 정의한 내용(yaml 파일형식) basic object : k8s에 의해 배포/관리 되는 가장 기본적인 오브젝트 Pod : 관련내용 보러가기 Service : 관련내용 보러가기 Namespace : 관련내용 보러가기 Volume : 관련내용 보러가기 Controller : Basic Object들을 생성/관리하는 추가 기능을 가진 것 1. 객체(Object) 가장 기본적인 구성단위 쿠버네티스가 애플리케이션을 배포하기 위해 원하는 상태(desired state) -> '상태'를 관리하기 위한 대상 즉, 기본 오브젝트를 가지고 애플리케이션을 설정하고 배포함 1) 오브젝트 스펙 (Object Spec).. 2020. 4. 19. 쿠버네티스 아키텍쳐(2/2) (마스터노드/워커노드) 쿠버네티스 아키텍쳐 하나의 마스터노드와 여러대의 워커로드로 하나의 클러스터를 이루고 있는 구조 1. 마스터노드(Kubernetes Master) (aka.마스터) 쿠버네티스 클러스터 전체를 컨트롤 하는 시스템 master는 API서버를 통해 K8S를 관리하고, 모든 컴포넌트들은 API 서버를 통해서 통신함 관리자만 접속할 수 있돌고 보안설정 필요 마스터 서버가 죽으면 클러스터를 관리할 수 없기 때문에 3대를 구성해서 안전성 높임 다양한 모듈이 확장성을 고려하여 기능별로 쪼개져 있는 특징 1.1 마스터노드 구성요소 API 서버 etcd Scheduler Controller Manager 1) API 서버 쿠버네티스의 모든 기능들은 REST API로 제공하고, 그에 대한 명령을 처리하는 부분 K8S 내부의 .. 2020. 4. 19. 이전 1 ··· 3 4 5 6 7 8 9 10 다음 728x90