728x90
CloudFormation
- AWS 인프라 세트를 수동으로 프로비저닝하면 많은 노력이 소요됨
- 수동 작업말고 코드를 작성하여 자동화한다면?
- 코드를 통해 인프라를 프로비저닝, 관리하는 서비스가 CloudFormation (Infrastructure as Code)
- 코드를 통해 자동화 하여 AWS 인프라를 생성, 업데이트, 삭제 가능
- 구성요소
- Template = 인스턴스 유형, AMI id ,VPC 등의 인프라를 구성하기 위한 설정 값이 있는 JSON 또는 YAML 형식의 텍스트 파일로 이루어진 템플릿
- Stack = Template을 사용하여 생성된 리소스
- Change Set = Stack 리소스 변경사항에 대한 세트
AWS 컨테이너 서비스
- Elastic Contaienr Service (ECS)
- Docker 컨테이너를 배포, 관리하는 컨테이너 오케스트레이션 서비스
- Amazon Elastic Kubernetes Service (EKS)
- AWS에서 kubernetes 를 실행하는 서비스
- Kubernetes = 오픈소스 커네팅너 오케스트레이션 시스템
- AWS Fargate
- 서버리스 컨테이너 서비스
- 서버 프로비저닝, 패치 적용 , 클러스터 용량 관리 또는 인프라 관리를 AWS에서 자동으로 수행
- ECS , EKS 와 연동되는 서비스 , 모두 Fargate를 통해 프로비저닝된 컨테이너를 사용하여 자동으로 컨테이너 크기를 조정하고 로드 밸런싱 가능
- Amazon Elastic Container Registry(Amazon ECR)
- Docker등의 컨테이너 이미지를 공유 , 배포 등의 관리 서비스
- ECR에서 공유된 이미지를 사용하여 ECS, EKS 에서 컨테이너 구성
Elastic Container Service(ECS)
- Docker 컨테이너를 지원하는 컨테이너 관리 서비스
- Amazon EC2 인스턴스의 관리형 클러스터에서 앱을 손쉽게 실행 가능
- ECS에서 앱 가용성을 유지 관리하고 앱 용량 요구 사항에 따라 컨테이너 규모를 확장하거나 축소
- CPU 사용량 , 메모리 사용량, 로드발란서 요청 수, Event Bridge 이벤트 , SQS 와 결합하여 AutoScaling이 가능
- App LB, NLB 를 사용하여 트래픽 분산 가능
- ECS 시작 유형 (ECS Launch Type)
- Fargate 시작 유형
- 서버리스 방식으로 Amazon ECS 워크로드를 호스팅. 사용자가 EC2 인스턴스를 관리할 필요 없음
- 기본으로 배포가된다
- EC2 시작 유형
- Amazon ECS 클러스터를 등록하고 사용자가 직접 관리하는 EC2 인스턴스에서 컨테이너화 된 앱을 실행
- Auto Scaling Group 이 생성이된다 이 뒤에 ec2 instance가 배포된다.
- ECS Anywhere
- Amazon ECS 클러스터에 등록하고 원격으로 관리하는 온프레미스 서버나 가상 머신에서 컨테이너화 된 앱을 실행
- Fargate 시작 유형
- 기본적으로 시작유형으로 fargate는 생성이 되었고 3번째가 EC2 시작 유형을 추가적으로 선택하여 Auto scaling group에 의해 추가적으로 생성된 것이다.
- autoscaling gorup에서 원하는 용량을 조절해서 인스턴스가 런칭이되는지 확인을 할 수 있다.
- 이후 테스크를 정의한다. (예를 들어 nginx 이미지를 실행한다.) 같은 태스크의 수를 늘리는데 그러면 n개의 컨테이너가 배포가 되는것이다.
- 컴퓨팅 서비스를 선택하는 부분에서 위 사진의 3가지 컴퓨팅 서비스중에 하나 고른다.
- 즉, ec2 에 docker container 배포를 쉽게 하게 도와준다.
Elastic Kubernetes Service(EKS)
- AWS에서 Kubernetes 를 실행하는 서비스
- Kubernetes 는 컨테이너 (docker 등) 앱의 배포, 확장 및 관리를 자동화하기 위한 오픈소스 시스템
- 배포옵션
- Amazon EKS = 자체 kubernetes 컨트롤 플레인 또는 노드를 설치, 운영 및 유지 관리할 필요 없이 AWS에서 관리하는 AWS 클라우드에 Kubernetes 클러스터를 배포하는 옵션
- Amazon EKS Anywhere = 온프레미스에서 Kubernetes 클러스터를 생성하고 운영할 수 있게 해주는 배포 옵션
- 노드 유형(Node Types)
- EKS managed node group
- EKS에서 자동으로 EKS 클러스터의 노드 (EC2) 생성 및 관리
- 사용자가 보안 및 업데이트 등의 일부분을 설정 및 관리 가능
- 모든 관리형 노드는 EKS에서 관리하는 EC2 Auto Scaling 그룹의 일부로 프로비저닝됨
- 관리형 노드 그룹을 생성할 때 온디멘드 또는 스팟 용량 유형을 선택할 수 있음
- Self managed nodes
- 사용자가 직접 EKS 클러스터의 노드 생성 및 관리
- 온디멘드 , 스팟 용량 유형을 선택할 수 있음
- AWS Fargate
- 노드 관리를 AWS에서 담당
- AWS에서 EKS의 모든 환경을 자동으로 관리
- EKS managed node group
- 우선 IAM에서 EKS 클러스터 역할을 생성한다.
- 클러스터 구성시 클러스터 서비스 역할에서 방금 만든 IAM 역할을 입력해준다.
- EKS 클러스터 배포가 되고 활성화되면 여기서 굴러갈 서버(노드)를 배포할 방법을 선택해야한다.
- self managed 노드 , 노드그룹 , Fargate 프로파일 이 3가지중 하나의 방법으로 노드를 만든다
컴퓨팅 Serverless - Lambda
Serverless
- 서버를 사용자가 관리할 필요가 없다는 의미
- 실제로 서버는 존재하며 서버 인프라 운영은 AWS등의 클라우드 회사에서 담당
- AWS에서 용량조정, 프로미저닝, 패치등의 인프라를 관리
- 사용자는 필요한 앱을 구축해서 사용하기만 하면됨
- 대표적인 serverless 서비스
- Lambda, Fargate
- S3, Dynamo DB, Amazon Aurora Serverless
- SNS, SQS , API Gateway
Lambda
- 코드를 실행하여 동작하는 서버리스 컴퓨팅
- EC2는 서버를 시작하고, 앱을 설치하고 서버가 계속 실행되며 사용자가 직접운영 해야함
- Lambda는 AWS에서 서버 운영에 필요한 모든 인프라를 관리
- Lambda 사용자는 코드를 입력하여 실행만 하면 됨
- Lambda 요청할 때에만 시스템을 사용하는 온디멘드 방식의 이벤트 중심의 실행
- Lambda는 사용한 만큼만 비용을 지불 (코드를 실행한 횟수와 실행한 시간으로 과금)
- EC2는 Auto Scaling 기능을 사용해 서버를 확장하지만 Lambda 는 사용량이 늘어나면 자동으로 용량이 확장되므로 용량 계획이 필요 없고 확장성이 뛰어남
- 다양한 프로그래밍 언어를 지원
- Lambda 함수는 실행당 최대 15분 동안 하도록 구성( 1초 ~ 15분)
- 동시에 처리가능한 실행 수는 1000건이며 요청을 통해 한도 증가 가능
- lambda는 독립적으로 사용하지 않고 다른 서비스와 결합하여 사용됨
- 결합서비스 = api gateway , kinesis ,dynamodb, sns, sqs, s3 , cloudfront
트리거에 s3 같은 서비스를 추가해서 이벤트를 발생시키게 하고 그 이벤트를 람다가 먹고 자신의 로직을 실행하거나 다른 대상(SNS, SQS , DynamoDB) 에게 어떤일을 수행하게 하게끔 할 수 있음
Elastic Beanstalk
- 웹 앱 및 서비스를 배포하고 운영하는 서비스
- 사용자가 직접 인프라 리소스를 구성할 필요 없고 앱 코드에만 집중하면 됨
- 코드를 업로드하기만 하면 elastic beanstalk 가 용량 프로비저닝, 로드 밸런싱, auto scaling 부터 시작하여 앱 상태 모니터링 등의 배포를 AWS에서 자동으로 처리
- Elastic Beanstalk work flow
앱을 업데이트 해서 배포만 하면 환경을 알아서 관리해준다
머신러닝
- Comprehend
- 텍스트 안에서 특정 항목을 찾아내는 서비스
- 예) 분석 보고서에서 회사 이름 찾기, 부정적인 후기 또는 고객 서비스 상담사와의 긍정적인 고객상담
- Rekognition
- 이미지, 비디오 분석 (이미지에서 얼굴 탐지, 사물 인식)
- Polly
- 텍스트를 음성으로 변환하는 서비스
- Lex
- 음성인식 서비스, 챗본 구현 가능
- Textract
- 스캔문서에서 문자, 테이블, 양식 추출 서비스
- Translate
- 변역서비스
- Transcribe
- 음성을 텍스트로 변환
- SageMaker
- 머신러닝 모델을 구축, 훈련 및 배포하는 서비스
- Forecast
- 머신러닝을 기반으로하며, 비즈니스 지표 분석을 위해 구축된 시계열 예측 서비스
- Kendera
- 지능형 검색 서비스
- 간단한 키워드 외에도 자연어 질문을 사용하여 원하는 답을 얻을 수 있으며 텍스트 조각이든, FAQ이든, PDF 문서이든 관계없이 문서 내에서 정확한 답변을 반환
- Personalize
- amazon.com 에서 실시간 맞춤화 추천에 사용하는 것과 동일한 기계학습 기술로 앱을 구축 가능한 서비스
- 특정 제품 추천, 맞춤화된 제품 순위 재지정, 맞춤화된 직접 마케팅 등을 포함하여 다양한 맞춤화 환경을 제공할 수 있는 애플리케이션을 손쉽게 구축 가능
- Amazon Connect
- 클라우드 기반 고객 센터 서비스
- 전화통화, 자동 음성응답, 챗봇등의 기술 통합 가능
Disaster Recovery(DR)
728x90
'Cloud > AWS Certified Solutions Architect - Asso' 카테고리의 다른 글
네트워크 - VPC (0) | 2023.08.28 |
---|---|
네트워크 - Route53 (0) | 2023.08.25 |
관리 및 거버넌스 (0) | 2023.08.24 |
보안 및 자격 증명 (0) | 2023.08.24 |
애플리케이션 통합 (0) | 2023.08.23 |