본문 바로가기

Ryu's Tech

AWS SAA 자격증 공부-1. 소개 및 기본

주요내용

대부분 udemy 해당 유료 강좌의 내용으로 구성되어 있고, 요약 하는 형태의 글입니다. 

해당 내용에 필요한 부분을 첨삭했습니다.

취득 목적

AWS 사용중 서비스가 너무 많고, 연관관계를 제대로 알지 못하면 완벽하게 사용하지 못함.

자격증 취득 중 공부를 통해 다양한 서비스를 알고, AWS well-designed architecture를 구성하기 위함

Part1. Introduction to the Course 

자격증의 가치

AWS 자격증과 연봉의 관계 분석 기사를 통해 자격증의 가치 설명.

기사에 일부 왜곡은 있겠지만, 현재 엄청난 수요가 있음.

미미하지만 AWS 자격증 혜택도 있음.

AWS 자격증의 종류

출처: AWS 공식 페이지

또한 aws.training 에서 가입절차를 진행하고 확인하면 아래와 같은 현재 응시 가능한 시험 리스트를 확인할 수 있음.

강좌에서 설명하는 난이도의 정도

Practitioner < Developer Associate < Solution Architect Associate < Sysops Admin Associate < Security Specialty < Big Data Specialty < Advanced Networking Specialty < Devops Pro < Solution Architect Professional

실제 시험정보

시험 길이 130분

60 문제 (변동가능)

복수선택

합격점수 720 이상 ( 70% 정도)

유효기간 2년 (갱신 필요)

시나리오 기반 문제

https://aws.amazon.com/ko/certification/certified-solutions-architect-associate/


Part2. 10,000 Feet Overview

History Of AWS

2003년 - Chris Pinkman과 Benjamin Black이 AWS의 내부 인프라 논문을 발표 (관련 링크) (Jeff Bezos의 PowerPoint에 대한 생각)

2004년 - SQS 출시

2006년 - 공식 출시

2007년 - 180,000 개발자들이 가입

2010년 - amazon.com 리테일 웹 서비스를 AWS로 이전

2012년 - 첫 re:invent 행사

2013년 - 자격증 출시

2014년 - 재생 에너지 사용을 약속(관련기사)

2015년 - 수익창출 시작, 매년 60억 달러 수익, 연간 90% 성장.

2016년 - 13억 달러

2017년 - re:Invent에서 VR, AI 등 다양한 서비스를 타겟팅

AWS의 신규 서비스 런칭 및 업데이트

2011년 - 82

2012년 - 159

2013년 - 280

2014년 - 516

2015년 - 735

2016년 - 1000

2017년 - 1300+

이렇게 매주 엄청난 업데이트가 됨.

강좌 제작자 유튜브 채널에서 주간 리포팅을 제공ㅋㅋ

rss 통해 news 채널을 등록해도 보기 좋음. 한글도 제공되나 영어 뉴스보다 보통 1일+ 이후 올라옴.

https://aws.amazon.com/ko/new/feed/

영어는 feedly 에서 aws 검색 추천

Magic Quadrant

간단하게 설명하면 AWS 출시 이후 AWS가 쭉 Leader,Visionaries 상위를 지키고 있으며 Microsoft가 뒤따라오는 중 Google도 현재 서서히 올라가는 중.

AWS Platform

출처 

Region & Availability Zone

불과 몇주전 신규 남아프리카 리전(2018년 10월 27일 뉴스)이 추가되었고, 실제 리전과 가용지역은 여기에서 확인할 수 있다.

혹은 aws cli를 통해 확인할 수 있다.

[ec2-user@threadripper ~]$ aws ec2 describe-regions
{
"Regions": [
{
"Endpoint": "ec2.ap-south-1.amazonaws.com",
"RegionName": "ap-south-1"
},
{
"Endpoint": "ec2.eu-west-3.amazonaws.com",
"RegionName": "eu-west-3"
},
{
"Endpoint": "ec2.eu-west-2.amazonaws.com",
"RegionName": "eu-west-2"
},
{
"Endpoint": "ec2.eu-west-1.amazonaws.com",
"RegionName": "eu-west-1"
},
{
"Endpoint": "ec2.ap-northeast-2.amazonaws.com",
"RegionName": "ap-northeast-2"
},
{
"Endpoint": "ec2.ap-northeast-1.amazonaws.com",
"RegionName": "ap-northeast-1"
},
{
"Endpoint": "ec2.sa-east-1.amazonaws.com",
"RegionName": "sa-east-1"
},
{
"Endpoint": "ec2.ca-central-1.amazonaws.com",
"RegionName": "ca-central-1"
},
{
"Endpoint": "ec2.ap-southeast-1.amazonaws.com",
"RegionName": "ap-southeast-1"
},
{
"Endpoint": "ec2.ap-southeast-2.amazonaws.com",
"RegionName": "ap-southeast-2"
},
{
"Endpoint": "ec2.eu-central-1.amazonaws.com",
"RegionName": "eu-central-1"
},
{
"Endpoint": "ec2.us-east-1.amazonaws.com",
"RegionName": "us-east-1"
},
{
"Endpoint": "ec2.us-east-2.amazonaws.com",
"RegionName": "us-east-2"
},
{
"Endpoint": "ec2.us-west-1.amazonaws.com",
"RegionName": "us-west-1"
},
{
"Endpoint": "ec2.us-west-2.amazonaws.com",
"RegionName": "us-west-2"
}
]
}
[ec2-user@threadripper ~]$ aws ec2 describe-regions | grep -o -c Endpoint
15
[ec2-user@threadripper ~]$

이를 통해 위해서 언급한 남아프리카 리전(sa-east-1)도 실제 서비스 중인것을 확인할 수 있지만 일부 리전이 안보이거나 하는 경우도 있다.

예를들어, 위에서 나오지 않는 리전 중 AWS GovCloud와 Amazon AWS (중국) 은 별도 방식을 통해 접속할 수 있다.

그리고 아시아 태평양(오사카-로컬)(ap-northeast-3)도 보이지 않는데, 관련 정보는 AWS Infrastructure 페이지에서 지역별 제공 서비스 상세정보를 통해 들어가면 아래와 같은 내용을 확인할 수 있다.

아시아 태평양(오사카) 로컬 리전은 로컬 리전으로, 단일 데이터 센터 내에 위치하였으며 내결함성을 갖춘 격리된 인프라 디자인으로 이루어진 새로운 리전 유형입니다. 아시아 태평양(오사카) 로컬 리전은 1개의 가용 영역으로 구성되었으며 아시아 태평양(도쿄) 리전과 함께 사용하기 위한 리전입니다. 이 리전을 사용하려면 고객이 영업 담당자를 통해 액세스를 요청해야 합니다.

이러한 형태로 AWS는 신규 정보가 계속 바뀌기 때문에 확인할 필요가 있지만,

시험에는 이러한 숫자에 대한 문제는 나오지 않으며, 시험자체는 이러한 숫자에 대한 테스트가 아닌 개념을 학습하는 것이 중요하다.

예를들어, Region이 무엇인지 AZ가 무엇인지를 아는것이 더 중요합니다.

Region은 지리적인 위치를 이야기하는 것이며, 지리적 위치에는 최소 2개 이상의 가용 영역(AZ)를 가지고 있다.

AZ는 데이터센터일 뿐이지만 AZ 간에 거리가 보장되어 있어, 리전단위의 재난이 아니라면 AZ로 재난에 대해 대비가 가능하다.

그리고, 이는 리소스 배치 가능 영역이기 때문에 단순히 그냥 배포하게 된다면 하나의 데이터센터(AZ)에 리소스를 올리는 것이지만 장애 대비 구성을 하게 된다면 여러개의 데이터센터(AZ)에 리소스를 분배하는 구성을 한다고 생각하면 된다.

AWS의 서비스 종류

너무 많긴 하지만 공식 홈페이지의 내용을 나열해봤다. 

카테고리: 컴퓨팅

Amazon EC2: 클라우드의 가상 서버

Amazon EC2 Auto Scaling: 수요에 맞춰 컴퓨팅 파워 조정

Amazon Elastic Container Service: Docker 컨테이너 실행 및 관리

Amazon Elastic Container Service for Kubernetes: AWS에서 관리형 Kubernetes 실행

Amazon Elastic Container Registry: Docker 이미지 저장 및 검색

Amazon Lightsail: 가상 프라이빗 서버 시작 및 관리

AWS Batch: 규모와 상관없이 배치 작업 실행

AWS Elastic Beanstalk: 웹 앱 실행 및 관리

AWS Fargate: 서버 또는 클러스터를 관리할 필요 없이 컨테이너 실행

AWS Lambda: 이벤트에 대한 응답으로 코드 실행

AWS Serverless Application Repository: 서버리스 애플리케이션을 검색, 배포 및 게시

VMware Cloud on AWS: 사용자 지정 하드웨어 없이 하이브리드 클라우드 구축

카테고리 : 스토리지

Amazon S3: 클라우드의 확장 가능한 스토리지

Amazon EBS: EC2용 블록 스토리지

Amazon Elastic File System: EC2용 관리형 파일 스토리지

Amazon Glacier: 클라우드상의 저렴한 아카이브 스토리지

AWS Storage Gateway: 하이브리드 스토리지 통합

AWS Snowball: 페타바이트 규모의 데이터 전송

AWS Snowball Edge: 온보드 컴퓨팅으로 페타바이트 규모의 데이터 전송

AWS Snowmobile: 엑사바이트 규모의 데이터 전송

카테고리 : 데이터베이스

Amazon Aurora: 관리형의 고성능 관계형 데이터베이스

Amazon RDS: MySQL, PostgreSQL, Oracle, SQL Server 및 MariaDB를 위한 관리형의 관계형 데이터베이스 서비스

Amazon DynamoDB: 관리형 NoSQL 데이터베이스

Amazon ElastiCache: 인 메모리 캐시

Amazon Redshift: 빠르고 간단하며 비용 효과적인 데이터 웨어하우징

Amazon Neptune : 완전관리형 그래프 데이터 서비스

AWS Database Migration Service: 최소한의 다운타임으로 데이터베이스 마이그레이션

카테고리 : 마이그레이션

AWS Application Discovery Service: 온프레미스 애플리케이션을 검색하여 마이그레이션을 간소화

AWS Database Migration Service: 최소한의 다운타임으로 데이터베이스를 이전

AWS Migration Hub: 한 곳에서 마이그레이션을 추적

AWS Server Migration Service : 온프레미스 서버를 AWS로 마이그레이션

AWS Snowball: 페타바이트 규모의 데이터 전송

AWS Snowball Edge: 온보드 컴퓨팅으로 페타바이트 규모의 데이터 전송

AWS Snowmobile: 엑사바이트 규모의 데이터 전송

카테고리 : 네트워킹 및 콘텐츠 전송

Amazon VPC: 격리된 클라우드 리소스

Amazon VPC PrivateLink: AWS에 호스팅된 서비스에 안전하게 액세스

Amazon CloudFront: 전 세계 콘텐츠 전송 네트워크

Amazon Route 53: 확장 가능한 Domain Name System

Amazon API Gateway: API 구축, 배포 및 관리

AWS Direct Connect: AWS로 전용 네트워크 연결

Elastic Load Balancing: 확장성이 뛰어난 로드 밸런싱

카테고리 : 개발자 도구

AWS CodeStar: AWS 애플리케이션 개발 및 배포 

AWS CodeCommit: 프라이빗 Git 리포지토리에 코드 저장

AWS CodeBuild: 코드 빌드 및 테스트

AWS CodeDeploy: 코드 배포 자동화

AWS CodePipeline: 지속적 전송을 사용한 소프트웨어 릴리스

AWS Cloud9: 클라우드 IDE에서 코드 작성, 실행 및 디버깅

AWS X-Ray: 애플리케이션 분석 및 디버깅

AWS 명령줄 인터페이스: AWS 서비스를 관리하는 통합 도구

카테고리 : 관리 도구

Amazon CloudWatch: 리소스 및 애플리케이션 모니터링

AWS Auto Scaling: 수요에 맞춰 여러 리소스의 규모 조정

AWS CloudFormation: 템플릿을 사용하여 리소스 생성 및 관리

AWS CloudTrail: 사용자 작업 및 API 사용 추적

AWS Config: 리소스 인벤토리 및 변경 추적

AWS OpsWorks: Chef 및 Puppet을 사용해 운영을 자동화

AWS Service Catalog: 표준화된 제품 생성 및 사용

AWS Systems Manager: 운영 통찰력 확보 및 조치 수행

AWS Trusted Advisor: 성능 및 보안 최적화

AWS Personal Health Dashboard: AWS 서비스 상태에 대한 맞춤형 보기

카테고리 : 미디어 서비스

Amazon Elastic Transcoder: 사용이 쉽고 확장 가능한 미디어 트랜스코딩

Amazon Kinesis Video Streams: 동영상 스트림 처리 및 분석

AWS Elemental MediaConvert: 파일 기반 비디오 콘텐츠를 변환

AWS Elemental MediaLive: 라이브 비디오 콘텐츠를 변환

AWS Elemental MediaPackage: 비디오 생성 및 패키징

AWS Elemental MediaStore: 미디어 스토리지 및 간단한 HTTP 오리진

AWS Elemental MediaTailor: 비디오 개인화 및 수익화

카테고리 : 보안, 자격 증명 및 규정 준수

AWS Identity and Access Management: 사용자 액세스 및 암호화 키 관리

Amazon Cloud Directory: 유연한 클라우드 네이티브 디렉터리 생성

Amazon Cognito: 앱을 위한 자격 증명 관리

AWS Single Sign-On: 클라우드 SSO(Single Sign-On) 서비스

Amazon GuardDuty: 관리형 위협 탐지 서비스

Amazon Inspector: 애플리케이션 보안 분석

Amazon Macie: 데이터를 검색, 분류 및 보호

AWS Certificate Manager: SSL/TLS 인증서 프로비저닝, 관리 및 배포

AWS CloudHSM: 규정 준수를 위한 하드웨어 기반 키 스토리지

AWS Directory Service: Active Directory 호스팅 및 관리

AWS Firewall Manager: 중앙에서 방화벽 규칙 관리

AWS Key Management Service: 암호화 키의 제어 및 생성 관리

AWS Organizations: 여러 AWS 계정을 정책 기반으로 관리

AWS Secrets Manager: 보안 정보를 교체, 관리 및 검색

AWS Shield: DDoS 보호

AWS WAF: 악성 웹 트래픽 필터링

AWS Artifact: AWS의 규정 준수 보고서에 대한 온디맨드 액세스

카테고리 : 분석

Amazon Athena: SQL을 사용해 S3의 데이터 쿼리

Amazon CloudSearch: 관리형 검색 서비스

Amazon Elasticsearch Service: Elasticsearch 클러스터를 실행 및 확장

Amazon EMR: 호스팅된 하둡 프레임워크

Amazon Kinesis: 실시간 스트리밍 데이터 작업

Amazon Redshift: 빠르고 간단하며 비용 효과적인 데이터 웨어하우징

Amazon QuickSight: 빠른 비즈니스 분석 서비스

AWS Data Pipeline: 데이터 중심의 주기적인 워크플로를 위한 오케스트레이션 서비스

AWS Glue: 데이터 준비 및 로드

카테고리 : Machine Learning

Amazon SageMaker: Machine Learning 모델을 대규모로 구축, 교육 및 배포

Amazon Comprehend: 텍스트에서 통찰력 확보 및 관계 파악

Amazon Lex: 음성 및 텍스트 챗봇 구축

Amazon Polly: 텍스트를 생생한 음성으로 변환

Amazon Rekognition: 이미지와 비디오 분석

Amazon Translate: 자연스럽고 유창한 언어 번역

Amazon Transcribe: 자동 음성 인식

AWS DeepLens: 딥 러닝을 사용하는 비디오카메라

AWS Deep Learning AMI: EC2에서 딥 러닝 빠르게 시작하기

AWS 기반 Apache MXnet: 확장 가능한 고성능 딥 러닝

AWS 기반 TensorFlow: 오픈 소스 인공 지능 라이브러리

카테고리 : 모바일 서비스

AWS Mobile Hub: 앱 구축, 테스트 및 모니터링

Amazon API Gateway: API 구축, 배포 및 관리

Amazon Pinpoint: 모바일 앱용 푸시 알림

AWS AppSync: 실시간 및 오프라인 모바일 데이터 앱

AWS Device Farm: 클라우드의 실제 디바이스에서 Android, FireOS 및 iOS 앱을 테스트

AWS Mobile SDK: 모바일 SDK

카테고리 : 증강현실 및 가상현실

Amazon Sumerian: 증강현실 및 가상현실 애플리케이션을 구축 및 실행

카테고리 : 애플리케이션 통합

AWS Step Functions: 분산 애플리케이션 조정

Amazon Simple Queue Service(SQS) : 관리형 메시지 대기열

Amazon Simple Notification Service(SNS): 게시/구독용 관리형 메시지 주제

Amazon MQ: ActiveMQ용 관리형 메시지 브로커

카테고리 : 고객 인게이지먼트

Amazon Connect: 클라우드 기반 고객 문의 센터

Amazon Pinpoint: 모바일 앱용 푸시 알림

Amazon Simple Email Service(SES): 이메일 송수신

카테고리 : 비즈니스 생산성

Alexa for Business: Alexa로 조직의 역량 강화

Amazon Chime: 편리한 회의, 영상 통화 및 채팅

Amazon WorkDocs: 엔터프라이즈 스토리지 및 공유 서비스

Amazon WorkMail: 안전한 관리형 비즈니스 이메일 및 일정관리

카테고리 : 데스크톱 및 앱 스트리밍

Amazon WorkSpaces: 데스크톱 컴퓨팅 서비스

Amazon AppStream 2.0: 데스크톱 애플리케이션을 안전하게 브라우저로 스트리밍

카테고리 : 사물 인터넷

AWS IoT Core: 디바이스를 클라우드에 연결

Amazon FreeRTOS: 마이크로 컨트롤러를 위한 IoT 운영 체제

AWS Greengrass: 디바이스를 위한 로컬 컴퓨팅, 메시징 및 동기화

AWS IoT 1-Click: 클릭 한 번으로 AWS Lambda 트리거를 생성

AWS IoT Analytics: IoT 디바이스에 대한 분석

AWS IoT Button: 클라우드 프로그래밍 가능한 대시 버튼

AWS IoT Device Defender: IoT 디바이스의 보안 관리

AWS IoT Device Management: IoT 디바이스를 온보딩, 조직화 및 원격으로 관리

카테고리 : 게임 개발

Amazon GameLift: 간단하고 빠르며 비용 효율적인 전용 게임 서버 호스팅

Amazon Lumberyard: AWS 및 Twitch와 통합된 크로스플랫폼 3D 게임 엔진으로 전체 소스까지 무료로 제공

카테고리 : AWS 비용 관리

AWS Cost Explorer: AWS 비용 및 사용을 분석

AWS 예산: 사용자 지정 비용 및 사용 예산을 설정

예약 인스턴스 보고: 예약 인스턴스(RI) 심층 분석

AWS 비용 및 사용 보고서: 포괄적인 비용 및 사용 정보에 액세스

외울필요는 없지만 한번쯤 훑어보고 이런게 있다. 라고 생각하는 정도로만 봐도 좋을 것 같다.

어차피 실제로 사용하게 되면 이것저것 필요하게 되서 대부분 내용을 하나하나 알게 되지만, 어느정도가 되면 아는 것만으로 어느정도 인프라 구성이 가능해서 더 좋은 서비스를 알지 못한 채로 쓰는 경우가 있게 되므로, 어떤 서비스가 있는지 아는것만으로도 매우 도움이 된다.

그리고, 자격증 자체가 솔루션 아키텍트 이기 때문에 광범위하게 이해해야 한다.

사실상 여러 서비스를 깊게 파악하는 것 자체가 불가능하지만 솔루션 아키텍트가 광범위하게 이에 대한 지식을 가지고 도움을 줄 수 있음.

아무튼 이렇게 서비스가 많다고 해서 좌절하거나 할 필요는 없음.