AWS Solutions Architect - Associate certificate Study— 공식 문서 정리 Part 1

SangHyo Han
8 min readAug 5, 2019

--

비공식 AWS Solutions Architect - Associate(2018년 2월 출시) 수험 가이드 (bit.ly/saaguide)를 기반으로 공부하고 있습니다.

현재 영역 1: 복원력을 갖춘 아키텍처 설계 부터 정리하고 있습니다.

2019/08/12 업데이트

AWS 글로벌 인프라의 이해

AWS 글로벌 인프라

  • AWS 는 전 세계 21개의 지리적 리전 내에 66개의 가용 영역을 운용하고 있어, 장애 대처에 안정적이며, 확장 가능한 방식으로 설계됨.
  • 성능, 가용성, 보안, 확장성, 저렴한 비용을 장점로 들 수 있음.
  • 자세한 사항은 링크 참조

EC2의 지역 및 가용영역 선택

  • 리전과 가용영역에 대한 개념을 이해해야 함.
  • 각 리전은 개별 지역 내 존재하는 지리적 위치를 의미.
  • 가용영역(AZ)은 리전 내 있는 구분된 가용성 영역을 의미, 전용선으로 연결되어 있어 마치 한 클러스터인것처럼 동작함.
  • 이렇게 지역별로 , 지역 내에서도 가용영역을 분리하여 강력한 내결함성과 안정성을 얻을 수 있음.
  • 자세한 사항은 링크 참조

Amazon CloudFront 글로벌 엣지 네트워크

  • 전 세계에 있는 최종 유저에게 짧은 지연시간으로 콘텐츠를 전송할 수 있도록 도와줌.

CDN 위치 지도

  • 여러 공격으로부터 네트워크 및 어플리케이션 계층을 보호하며, AWS Edge 에서 관문 역할을 함.
  • 가용성 향상을 위해 Cloudfront의 엣지 로케이션에 콘텐츠 캐싱하여 오리진 서버의 부하를 줄일 수 있음.
  • 여러 오리진을 설정하여 기본 오리진 사용 불가시 자동으로 백업 오리진을 사용하도록 라우팅함.
  • 성능 최적화 및 콘텐츠 제공을 위한 여러 네트워크 프로토콜 제공함.
  • 프로그래밍 가능하게 정식 API 제공하며, 사용한 만큼 비용 지불하기 때문에 경제적임.
  • 자세한 사항은 링크 참조

클라우드 서비스를 설계하는 방법

AWS 고급 아키텍처 방법론

  • 보안 : 전송 및 보관시 암호화, IAM으로 권한 관리, VPC로 인프라 보호, CloudWatch로 감시 제어 활동
  • 안정성: 복구 절차 테스트 및 자동 복구 설정, 수평 확장이 가능하도록 구성한다.
  • 성능 효율화 : AWS에서 최신 기술 쉽게 사용하도록 지원 , 글로벌 어플리케이션 지원 및 서버리스 아키텍쳐를 이용한 새로운 아이디어 실험
  • 비용 최적화: 오토 스케일링을 통한 필요한 자원만 사용, 비용 효율적인 지원 사용

AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안

  • Monolic 아키텍쳐에서 발견 가능한 여러 단점들(코드 관리, 연쇄적인 오류 발생, 확장성 부재)를 해결할 수 있음

마이크로 아키텍쳐의 고려 사항

  • 리소스 관리 : EC2 Container 사용해서 유연하고 AWS 응용이 쉬운 상태로 설계, Lambda를 사용하여 Serverless 이벤트 처리방식의 컴퓨팅 서비스 사용
  • 모니터링: AWS Cloudwatch
  • 서비스 Discovery : EC2 와 Route53 사용
  • 배포: Blue-green 배포, Lambda 배포 사용

느슨한 결합을 구현하기 위한 서비스들

ELB FAQ

  • 로드 밸런서 선택 시 :애플리케이션에 맞는 로드 밸런서 선택
  • Application load Balancer, Network load Balancer, Classic load balancer 를 적절히 사용
  • Application Load Balancer : Http, HTTPS, Websocket 등 다양한 프로토콜 지원
  • 하이브리드 로브 밸런싱 지원

Amazon SQS FAQ

  • 메세지 대기열 시스템을 손쉽게 구축 가능, 느슨한 FIFO 대기열 사용
  • Amazon SNS 와 차이점 — SNS 는 폴링할 필요 없이 푸쉬 매커니즘으로 메세지 전송, SQS 에서는 폴링 모델로 메세지 교환
  • Amazon Kinesis Streams와 차이점: kinesis 는 빅 데이터 스트리밍 처리시 사용
  • 메세지 전달 보장 기능 사용

안정적이고 복원력을 갖춘 스토리지 선택하기

EC2 스토리지- Amazon EBS

  • Amazon EBS : EC2에서 사용하는 일종의 하드 디스크. 다른 물리적 하드 드라이브처럼 사용 가능, 다른 인스턴스에 EBS를 분리한 후 다른 인스턴스에 연결하는 것도 가능하다.

Amazon EC2 인스턴스 스토어

  • 인스턴스 스토어: 휘발성 스토리지, 인스턴스가 활성화되어 있는 동안 유지되는 스토리지. 상대적으로 성능이 낮으니 데이터 분석용으로 주로 사용

Amazon EFS

Amazon EFS
  • Amazon EC2 인스턴스에 사용할 수 있는 간단하고 확장 가능한 파일 스토리지
  • 파일이 추가되고 제거됨에 따라 자동으로 증가하고 줄어든다.
  • 저장 사용량만큼만 비용이 발생하기 때문에, 전체적인 Cost를 아낄 수 있다.

Amazon S3

  • Simple Storage Service의 약자로 파일 서버의 역할을 하는 서비스
  • 일반적인 파일서버는 트래픽이 증가함에 따라서 장비를 증설하는 작업을 해야 하는데 S3는 이와 같은 것을 대행한다.
  • 저장할수 있는 파일 개수의 제한이 없으며, 데이터 손실이 발생할 경우 자동으로 복구하며, 정보에 중요도에 따라 보호 수준을 설정 해 비용을 절감할 수 있다.

주요 특징 모음

AWS 사용 모범 사례

EC2 모범사례

  • 보안 및 네트워크 : 자격 증명 연동 및 IAM 역할을 사용해서 리소스 및 API 액세스를 관리한다.
  • 스토리지: 운영체제에 대해 별도의 EBS 볼륨을 사용하고, 임시 데이터를 저장할 수 있는 인스턴스 스토어를 사용한다.
  • 리소스 관리, 백업 및 복구: AWS EBS 스냅샷을 이용해 EBS 볼륨을 정기적으로 백업, 개인 AMI를 만들어 추후 인스턴스 시작을 위한 템플릿으로 구성 저장한다.

RDS 모범 사례

기본 운영 지침

메모리, CPU 사용 모니터링 필수

DB 인스턴스 확장

DB 작업량 늘어났을 경우 프로비저닝 된 IOPS 스토리지로 변환

  • RAM을 충분히 할당하여 작업 집합이 메모리에 상주하도록 한다.
  • Cloudwatch모니터링을 사용하여 DB 인스턴스에 대한 측정치를 확인한다.

가격/비용을 비롯한 클라이언트 사양 개발

Amazon EC2 요금

  • 온 디맨드 : 실행하는 인스턴스에 따라 시간당 혹은 초당 비용 지불
  • 유연하고 저렴하게 인스턴스 사용하거나, 단기간 혹은 첫 개발, 시험중인 경우 사용하면 좋다.
  • 스팟 인스턴스: 입찰 가격을 정해두고 저렴할 때 이용가능
  • 시작과 종료시간이 자유롭거나, 컴퓨팅 가격이 매우 쌀 때 수익이 나는 애플리케이션 경우에 사용
  • 예약 인스턴스: 계약 기간에 따라 60%까지 저렴하게 이용 가능
  • 수요가 꾸준하거나, 예약 용량이 필요할 수 있는 애플리케이션에 사용

아키텍처적 트레이드오프(RDS VS EC2)

Amazon Relational Database Service(Amazon RDS)는 무엇인가?

  • 아마존 클라우드에서 관계형데이터베이스를 사용할 수 있는 서비스
  • DB 관리 작업을 대신해줌 - 각 서버 구성 요소 독립적 확장, 백업 및 복구 관리, 스냅샷 관리 및 보조 인스턴스로 가용성 향상
  • 각 DB 인스턴스당 익숙한 MySQL, MariaDB, PostgreSQL, Oracle 및 Microsoft SQL Server DB 엔진 사용 가능
  • VPC를 사용하여 가상 사설 클라우드에서 인스턴스 실행 가능
  • 다중 AZ: 데이터 중복 및 장애 조치 지원,다른 가용 영역에서 자동으로 프로비저닝하고 유지하는 기능

기존 개발 환경과의 통합 및 확장형 아키텍처 구축

AWS Enterprise Summit: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안

  • 기존 환경을 유지하며 클라우드 추가 통합 : 클라우드와 기존 환경을 통합해 하이브리드 구성 가능

탄력성 및 확장성

AWS 클라우드에서의 웹 애플리케이션 호스팅

RDS의 고가용성(다중 AZ)

  • 서로 다른 가용 영역에 예비 복제본 프로비저닝 및 유지
  • RDS 콘솔을 사용해 다중 AZ 배포를 간편하게 사용 가능

Amazon CloudWatch를 사용하여 Auto Scaling 인스턴스 및 그룹 모니터링

  • 모든 EC2 지표 인스턴스를 통계로 사용하여 시스템이 예상대로 수행되는지 확인 가능
  • 주로 평균 cpu 사용률에 대해 지표를 생성하여 감시하는게 가능
  • 무료는 5분단위로 가능, 비용을 더 지불하면 1분 단위로 감시 가능

Auto Scaling 그룹에 로드 밸런서 사용

  • 수요 증가시 EC2 그룹의 크기 자동으로 늘리고,줄이는 역할을 함.
  • 로드 벨런서는 웹 트래픽에 대해 접접 역할을 하여, 인스턴스가 늘어낫을 경우 로드 밸런서에 등록하여 자동으로 트래픽이 들어가게 하고, 제거되면 자동으로 해제하여 트래픽이 오지 않도록 함.

--

--