지난 번 업로드 이후, 학습의 접근방법에 대해 다시 생각해봤습니다. 왜 AWS를 배우는 걸까요. 돈을 벌기 위해서라면 더 쉬운 길도 많습니다. 우리는 각자, 서로에게 필요한 사람이 되기위해 노력한다고 생각합니다. 제가 누군가에게 필요한 사람이 된다는 것은 저만의 독특성을 가지면서 남들과 대체될 수 없는 유용한 지식이나 기술을 보유해야 한다는 것입니다. 저에게 AWS를 배운다는 것은 이러한 성질을 갖는 것으로 말할 수 있습니다. 물론 이 것만으로 충분하지 않기 때문에 이후에도 계속 새로운 것을 배워야겠지만요.
따라서 공부는 나를 위해 하는 것이라고 배워왔지만, 실제로는 남을 위해 더 많이 쓰이는 것 같습니다. 저를 위한 것도 아니고 남을 위한 것인데 대충할 수는 없겠죠. 잘못된 정보를 남에게 알려주는 것 만큼 위험한 것도 없기 때문이죠. 그렇기 때문에 지금 배우는 AWS만큼은 오래 걸리더라도 확실하게 알았으면 좋겠습니다.
이 블로그는 저의 학습을 위한 것이며 아직 배워가는 단계이기 때문에 초보자의 입장에서 잘못 이해한 것이 서술되어 있을 수도 있습니다. 이 점 참고해주시면 감사하겠습니다.
아마존에 있는 수 많은 서비스들이 무엇인지 알아야 저 혼자 공부하더라도 시나리오를 세우고 그에 맞는 토폴로지를 만들어보는 연습이라도 할 수 있겠다는 생각을 했습니다. 또한 그동안 다니던 학원이 종강을 앞두고 있어 취업을 위한 자격증 취득을 목표로 공부하는 중이기도 해서 AWS에서 제공하는 다양한 서비스들에 대한 개요를 정리하기로 하였습니다. 공책에 하나하나 적어둔 것을 타이핑하여 옮기는 과정이라 오타가 있을 수 있습니다.
Amazon Kinesis Data Streams (KDS)
대규모 레코드 스트림을 실시간으로 수집하고 처리할 수 있다. Kenesis Data Streams Application을 생성하여 데이터 스트림에서 데이터를 읽어와서 처리한다. Application은 kinesis client library를 사용하여 EC2로 실행될 수 있음
Kinesis Streaming Data Platform
- kinesis data streams
- kinesis data Firehose
- kinesis 비디오 스트림
- kinesis Data Analytics
https://eli-kim.tistory.com/15
KDS로 할 수 있는 것들
- Accelerated log and data feed intake and processing
- Realtime mereics and reporting
- Realtime data analytics
- Complex stream processing
KDS의 이점
- Solve a variety of streaming data problem
- 데이터를 넣고 다시 가져오는데 1초
- map-reduce-type applications
- multiple actions, concurrently and independently
AWS Elastic Beanstalk
Java, NET, PHP, Node.js, Python, Rudy, Go, Docker 등을 사용하여 Apache, Nginx, Passenger, Ils와 같은 웹 어플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있는 서비스
용량 프로비저닝, 로드 밸런싱, Auto scaling부터 애플리케이션 상태 모니터링에 이르기까지 배포를 자동으로 처리함.
Amazon Simple Queue Service
마이크로서비스, 분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있는 완전관리형 메세지 대기열 서비스.
다른 서비스를 가동할 필요 없이 소프트웨어 구성 요소 간에 어떤 볼륨의 메세지든 전송, 저장 및 수신할 수 있다.
Amazon CloudFront
개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스. 정적+동적 혼합도 지원.
.html .css .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹서비스.
Edge location이라는 데이터 센터의 전 세계 네트워크를 통해 컨텐츠를 제공함.
S3 버킷 또는 고유 HTTP 서버와 같은 오리진 서버를 지정하고, ClouldFront는 이로부터 파일을 가져와 엣지 로케이션에 배포.
Amazon Elastic Block Store (EBS)
대규모 처리량과 트랜잭션 집약적인 워크로드 모두를 지원하기 위해 EC2에서 사용하도록 설계된 사용하기 쉬운 고성능 블록 스토리지.
관계.비관계형 데이터베이스, 엔터프라이즈 애플리케이션, 컨테이너화된 애플리케이션, 빅 데이터 분석엔진, 파일 시스템 및 미디어 워크플로와 같은 다양한 워크로드가 EBS에서 배포된다.
Amazon Elastic File System (EFS)
클라우드 서비스와 온프레이미스 리소스에서 사용할 수 있는, 간단하고 확장가능하며 탄력적인 완전관리형 NFS.
애플리케이션을 중단하지 않고 온디멘드 방식으로 페타바이트 규모까지 확장하도록 구축되어, 용량을 자동으로 확장하고 축소하여 용량을 프로비저닝 및 관리할 필요가 없다.
* 프로비저닝(in IT)
특정 서비스를 제공 받기 위하여 서비스 실행부터 시작해 서비스를 제공받기 전 단계까지 처리되는 일련의 절차를 말한다.
EC2 Cluster Placement Group (CPG)
It is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput.
A spread placement group places instances on distict hardware.
AWS Global Accelerator
글로벌 네트워크 인프라를 통해 트래픽을 전송하여 성능을 최대 60% 개선. 패킷 손실, 지터 및 지연 시간을 일관적으로 낮게 유지한다.
글로벌 정적 IP2개를 제공함. Network Load Balancer, Application Load Balancer, 탄력적 IP 및 EC2 인스턴스와 같은 AWS 애플리케이션 오리진을 추가하거나 제거.
AWS FSx for Windows File Server
업계 표준 SMB(server messege block) 프로토콜을 통해 안정적이고 확장 가능한 완전관리형 파일 스토리지 서비스 제공.
Windows server에 구축되며 사용자 할당량, 최종 사용자 파일 복원 및 Microsoft Active Directory(AD)와 같은 광범위한 관리 기능을 제공한다.
AWS 또는 온프레미스 환경에서 엑세스할 수 있음.
*EC2 인스턴스
Spot Instance : 미사용 EC2를 저렴한 시간당 가격에 이용.
On-demand Instance : 장기 약정없이 초 단위로 구입.
Reserved Instance : 온디멘드에 비해 상당한 할인 헤택. 사용량이 꾸준한 경우에 적합.
Amazon CloudWatch
DevOps 엔지니어, 개발자, SRE(Site Reliability Engineering, 사이트 안전 엔지니어) 및 IT 관리자를 위한 구축된 모니터링 및 관찰 기능 서비스이다.
애플리케이션을 모니터링하고, 시스템 전반 성능 변경 사항에 대응하며, 리소스 사용률을 최적화하고, 운영 상태에 대한 통합된 보기를 확보하는데 필요한 데이터와 실행 가능한 통찰력을 제공함.
Amazon CloudTrail
AWS 계정의 거버넌스, 규정 준수, 운영 감사를 지원하는 서비스. AWS 인프라에서 계정 활동과 관련된 작업을 기록하고 지속적으로 모니터링하며 보관.
Management console, AWS SDK, 명령줄 도구 및 기타 AWS 서비스를 통해 수행된 작업을 비롯하여 AWS 계정 활동의 이벤트 기록을 제공.
AWS Software Development Kits (SDK)
C++, Go, Java, JavaScript, .NET, Node.js, PHP, Python, Rudy 지원
Amazon DynamoDB Accelerator (DAX)
DynamoDB를 위한 가용성이 뛰어난 완전관리형 인 메모리 cache로서, 초당 요청 수가 몇 백만 개인 경우에도 먗 밀리초에서 몇 마이크로 초까지 최대 10배의 성능을 제공.
DAX가 DynamoDB 테이블 인 메모리 가속화를 추가하는 데 필요한 모든 작업을 수행함.
Management console에서 혹은 SDK를 사용하여 DAX를 활성화 가능.
AWS Direct Connect (DX)
데이터 센터, 사무실 또는 코로케이션 환경에서 AWS 리전으로 직접 비즈니스 크리티컬 데이터를 전송하거나 AWS에서 직접 전송할 수 있다. 이때 인터넷 서비스 공급자를 우회하므로 네트워크 정체가 발생하지 않는다. 또한, AWS Direct Connect에서는 간편하게 사용한 만큼만 요금을 지불하고 최소 약정이 없으므로, 사용한 네트워크 포트 비용과 AWS Direct Connect 연결을 통해 AWS 리전 외부로 전송한 데이터 비용만 지불하면 된다.
AWS Transit Gateway
중앙 허브를 통해 VPC와 온프레미스를 연결.
복잡한 피어링 관계를 제거하여 네트워크를 간소화하고 클라우드 라우터 역항을 하므로 새로운 연결을 한 번만 추가하면 된다.
글로벌 확장시 리전 간 피어링을 사용하면 AWS Global Network에서 AWS Transit Gateway를 하나로 연결할 수 있다. 데이터는 자동으로 암호화되고 퍼블릭 인터넷을 통하지 않는다.
중앙 위치에 있으므로 AWS Transit Gateway 네트워크 관리자를 통해 전체 네트워크를 보고 SD-WAN(Software Defined Wide-Area Network)디바이스에 연결할 수 있다.
* SD-WAN
엔터프라이즈 네트워크 연결 및 서킷 비용 관리를 위한 자동화된 프로그램적 접근 방식
Amazon Elastic Container Service (ECS)
완전 관리형 컨테이너 오케스트레이션 서비스.
서버리스 컴퓨팅인 AWS Fargate를 사용해 ECS 클러스터를 실행할 수 있다.
ECS는 Amazon 내에서 Amazon SageMaker, AWS Batch, Amazon Lex, Amazon.com의 추천엔진과 같은 서비스를 지원하는 데 폭넓게 사용되어 보안, 안정성, 가용성에 대한 테스트를 마쳤다고 함.
AWS Fargate
컨테이너에 적합한 서버리스 컴퓨팅 엔진.
ECS 및 Amazon Elastic Kunbernetes Service(EKS)에서 모두 작동.
서버를 프로비저닝하고 관리할 필요가 없어 애플리케이션 별도 리소스를 지정하고 관련 비용을 지불할 수 있으며, 계획적으로 애플리케이션을 격리함으로써 보안 성능을 향상시킬 수 있다.
AWS S3 Glacier
데이터 보관 및 장기 백업을 위한 안전하고 저렴한 스토리지 클래스.
AWS Snow 패밀리
엣지에서 데이터를 수집 및 처리하여 AWS에서 데이터를 마이스레이션할 수 있는 매우 안전한 휴대용 디바이스.
데이터 센터가 아닌 열악한 환경, 네트워크 연결이 일관되게 유지되지 않는 위치에서도 작업을 실행해야 하는 경우 이용.
- AWS Snowcone : 4.5파운드 휴대용
- Snowball : 데이터 마이그레이션 및 엣지 컴퓨팅 디바이스로서 compute optimized와 storage optimized의 두 가지 디바이스 옵션으로 제공.
*compute optimized : vCPU 40개와 80테라바이트의 사용가능 블록.
*storage optimized : vCPU 52개와 42테라바이트의 사용가능 블록.
- Snowmobile : 45피트 운반 컨테이너, 최대 100PB 전송. 멀티 페타바이트 또는 엑사바이트급 디지털 미디어 마이그레이션 및 데이터 센터에 적합.
AWS Storage Gateway
사실상 무제한의 클라우드 스토리지에 대한 온프레미스 엑세스 권한을 제공하는 하이브리드 클라우드 스토리지 서비스.
파일 게이트웨이, 테이프 게이트웨이, 볼륨 게이트웨이와 같은 세가지 유형의 게이트웨이를 제공한다.
온프레미스 애플리케이션을 클라우드 스토리지에 연결하고 지연시간이 짧은 액세스를 위해 로컬 위치에 데이터를 캐싱함.
Amazon Elasticsearch Service (ES)
Elasticsearch를 배포, 보호, 실행이 가능한 완전관리형 서비스로 규모에 따라 저렴한 비용을 지불할 수 있음.
*Elasticsearch : 텍스트, 숫자, 위치기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터를 위한 무료 검색 및 분석 엔진으로 분산형 및 개방형을 특징으로 함. Apache Lucene을 기반으로 구축. +간단한 REST API, 분산형 특징, 속도, 확장성으로 유명한 Elasicsearch는 데이터 수집, 보강, 저장, 분석, 시각화를 위한 무료 개방형 도구 모음인 Elastic Stack의 핵심 구성 요소이다.
*Elastic stack(ELK stack) : ELK는 Elasticsearch, Logstash 및 Kibana의 오픈 소스 프로젝트 세 개의 머리글자이다.
- Elasticsearch는 검색 및 분석 엔진이다.
- Logstash는 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch와 같은 "stash"로 전송하는 서버 사이드 데이터 처리 파이프라인이다.
- Kibana는 사용자가 Elastisearch에서 차트와 그래프를 이용해 데이터를 시각화할 수 있게 해준다.
=>Elasticsearch를 개발한 elastic사는 아마존의 Elasticsearch service에 대응하는 Elastic cloud를 서비스한다.
Amazon RDS에서 Multi-AZ와 Read replica의 차이점
Multi - AZ | read replica |
동기식 복제 | 비동기식 복제 |
active-standby | 읽기 부하 분산 |
secondary(standby)노드에서 복제가능 | 기본값은 백업설정이 안돼있음 |
최소 2개의 가용영역 | 단일리전/cross-AZ/cross-region 다 가능 |
업데이트시 Primary 적용 | 독립적으로 적용가능 |
자동 장애 복구 | 장애시 수동으로 승격 |
*동기식-비동기식 복제본의 차이점
동기식은 Primary Storage에 데이터가 저장될 때 동시에 저장. 비동기식은 스케쥴에 따라. 비동기식은 낮은 대역폭 사용 및 연결 환경의 질적 저하에도 허용됨.
AWS Migration Hub
요구 사항에 가장 적합한 AWS 및 파트어 마이그레이션 도구를 선택가능. 애플리케이션 포트폴리오 전체에서 마이그레이션 상태에 대한 가시성 확보.
모든 마이그레이션에 대한 진행 상황 업데이트를 신속하게 확보하고, 문제를 손쉽게 파악 및 해결하고, 마이그레이션 프로젝트에 사용되는 전반적인 시간과 노력을 줄일 수 있다.
모든 AWS 리전의 마이그레이션을 모니터링할 수 있는 단일 장소 제공.
AWS CloudFormation
Infrastructure as Code를 통해 관련된 AWS 및 서드 파티 리소스 모음을 모델링하고, 프로비저닝하고, 수명 주기 전반에 걸쳐 관리할 수 있음.
CloudFormation 템플릿에 리소스 종속성이 설명되어 있으므로 이를 모두 하나의 스택으로 구성하고 시작할 수 있다.
리소스를 개별적으로 관리하는 대신 템플릿을 통해 전체 스택을 단일 단위로 처리.
*Infrastructure as Code : "프로그래밍형 인프라"라고도 함. 인프라 구성을 마치 소프트웨어를 프로그래밍하는 것처럼 처리하는 방식을 가리킨다. 이 결과로서 애플리케이션을 작성하는 작업과 애플리케이션이 실행되는 환경을 구현하는 작업 사이의 경계가 모호해짐. 애플리케이션은 자체적으로 VM시스템을 생성하고 오케스트레이션하는 스크립트를 포함할 수 있다. DevOps의 필수 요소.
*오케스트레이션(orchestration)이란 : 컴퓨터 시스템과 애플리케이션, 서비스의 자동화된 설정, 관리, 조정을 의미함. 복잡한 태스크와 워크플로우를 보다 쉽게 관리할 수 있도록 돕는다.
"자동화"와 유사한 개념이지만, 자동화는 일반적으로 단일 태스크의 자동화를 의미하다, 오케스트레이션은 여러 다른 기종 시스템 전반에서 다양한 단계를 수반하는 프로세스 또는 워크플로우를 자동화하는 방법을 뜻함.
DevOps 접근 방식을 지원할 수 있으며 애플리케이션을 더욱 빠르게 배포하도록 해준다.
*API(Application Programmin Interface) : 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
AWS Resouce Access Manager (RAM)
AWS 계정 또는 AWS Organizations 내에서 리소를 공유할 수 있는 간단한 방법을 제공한다. 많은 AWS 고객이 여러 AWS 계정을 사용하여 팀에 관리 및 결제 자율성을 제공.
중앙 집중식으로 리소스를 생성하고 RAM을 사용하여 여러 계정 간에 공유할 수 있으므로 다중 계정 전략의 이점은 유지하면서 고객 운영 비용은 줄일 수 있다.
*Lustre(file system) : 병렬 분산 파일 시스템으로서 주로 고성능 컴퓨팅의 대용량 파일 시스템으로 사용되고 있다. 러스터의 이름은 Linux와 Cluster의 혼성어이다. GNU GPL 정책의 일환으로 개방되어 있으며 소규모부터 대규모 클러스터 시스템용 고성능 파일 시스템이다.
높은 성능과 코드가 개방되었기 때문에 슈퍼컴퓨터에서 자주 사용된다.
Amazon FSx for Lustre
컴퓨팅 워크로드를 위한 비용 효율적이면서 확장 가능한 고성능 스토리지를 제공하는 완전관리형 서비스.
고성능 컴퓨팅(HPC), 동영상 렌더링, 금융 시뮬레이션 같은 많은 워크로드는 고성능 공유 스토리지를 통해 동일한 데이터 집합에 엑세스하는 컴퓨팅 인스턴스를 활용합니다.
1밀리 초 미만의 지연시간, 토당 최대 수백 기가바이트의 처리량, 수백만 IOPS를 제공하며, 여러 배포 옵션과 스토리지 유형을 바탕으로 워크로드 요구사항에 대해 비용과 성능을 최적화 함.
Amazon Elastic Kubernetes Service (EKS)
AWS 클라우드 또는 온프레미스에서 Kubernetes 애플리케이션을 시작, 실행 및 조정할 수 있는 유연성을 제공한다.
고가용성의 안전한 클러스터를 제공하는데 도움이 되며 패치 적용, 노드 프로비저닝 및 업데이트 등 주요 테스크 자동화 코드를 리팩터링(결과의 변경 없이 코드의 구조를 재조정함)하지 않고 표준 Kubernetes 애플리케이션을 EKS로 손쉽게 마이그레이션할 수 있다.
Amazon EC2 Dedicated Instance (전용 인스턴스)
단일 고객 전용 하드웨어의 VPC에서 실행되는 인스턴스. 호스트 하드웨어 수준에서 다른 AWS 계정에 속하는 인스턴스로부터 물리적으로 격리된다.
동일한 AWS 계정의 다른 전용 인스턴스가 아닌 인스턴스와 하드웨어 공유가 가능함.
*long-running transaction( known as Saga interaction pattern) : 로컬이 아닌 리소스의 잠금을 피해 보상(?)을 통해 실패를 조정하고 잠재적으로 작은 ACID transaction들을 통합함. <- 잘 이해 안됨
*ACID Transaction : Atomicity, Consistency, Isolation, Durability. 데이터베이스 전송 오류, 정전 등 사고에도 불구하고 데이터가 보존되는 특성을 갖는 transaction.
Amazon Redshift
표준 SQL을 통해 데이터 웨어하우스, 운영 데이터베이스 및 데이터 레이크에서 엑사바이트 규모의 정형 데이터 및 반정형 데이터를 쿼리하고 결합할 수 있다.
Apache Paraquet 같은 오픈 포멧을 사용하여 쿼리 결과를 S3 데이터 레이크에 손쉽게 다시 저장할 수 있도록 지원한다. 이를 통해 Amazon EMR, Amazon Athena, Amazon SageMaker 등의 다른 분석 서비스에서 추가적인 분석을 수행할 수 있다.
'AWS' 카테고리의 다른 글
용어 정리 3/3 (0) | 2021.03.24 |
---|---|
용어 정리 2/? (0) | 2021.03.20 |
RDS를 간단하게 배워보자1/2 (3) | 2021.03.07 |
S3를 간단하게 배워보자 2/3 (2) | 2021.03.01 |
S3를 간단하게 배워보자 3/3 (0) | 2021.03.01 |