Contents
[AWS] SAA-C02 (Solutions Architect – Associate) 시험대비 내용정리
🖥️ 클라우드 컴퓨팅
클라우드 컴퓨팅은 어디서나 접속 가능하고, 온디맨드 방식으로 신속하고 간편하게 검증된 공유 컴퓨팅 자원에 접근할 수 있는 기술입니다. 사용자는 인터넷을 통해 클라우드 환경에 필요한 자원을 제공받고, 그에 대한 비용만 지불합니다.
👾 클라우드 컴퓨팅의 3가지 특성
- 온디맨드 방식 지원: 원하는 만큼 사용하고, 사용한 만큼 비용을 지불하는 모델입니다.
- 인터넷을 통한 자원 접근: 언제 어디서나 인터넷을 통해 클라우드 자원에 접근할 수 있습니다.
- 사용량별 과금 모델: 실 사용량에 따라 비용을 지불하며, 대부분 시간당 과금됩니다. 일부 서비스는 다른 체계를 따를 수 있습니다.
💬 클라우드 컴퓨팅의 주요 이점
- 자체 데이터 센터 불필요: 클라우드를 통해 하드웨어나 서버를 구입하고 운영할 필요가 없습니다.
- 민첩성 확보: 새로운 프로젝트를 시작할 때 하드웨어 구매 없이 바로 시작할 수 있습니다.
- 탄력적인 용량 관리: 서버 용량을 별도로 고려하지 않고, 트래픽 증가에 맞추어 쉽게 확장하거나 축소할 수 있습니다.
- 대규모 비용 절감: 클라우드를 통해 고정 자본 비용을 소규모 유동비용으로 전환할 수 있습니다.
- 규모의 경제 실현: 수많은 사용자로부터 얻은 데이터를 기반으로 저렴한 가격으로 클라우드 서비스를 이용할 수 있습니다.
- 데이터 센터 구축 비용 절감: 클라우드를 사용하면 물리적인 데이터 센터를 구축하지 않아도 됩니다.
- 기술 혁신 유지: 클라우드 제공업체가 서버와 인프라 혁신을 관리하므로 사용자는 제품 개발에 집중할 수 있습니다.
- 단기간 내 세계화 가능: 다양한 리전을 통해, 직접 구축 없이 원하는 지역에 서비스를 제공할 수 있습니다.
🥉 클라우드 컴퓨팅의 3대 모델
클라우드 컴퓨팅 모델은 비즈니스 필요에 따라 IaaS, PaaS, SaaS 모델 중 하나 또는 복합적으로 선택할 수 있습니다.
- IaaS (Infrastructure as a Service): 컴퓨팅, 스토리지, 네트워크 등 IT 인프라를 제공합니다. 클라우드에서 나만의 데이터 센터처럼 운영할 수 있습니다.
- PaaS (Platform as a Service): 애플리케이션 관리와 배포에 집중하고 싶을 때 사용되는 모델입니다.
- SaaS (Software as a Service): 소프트웨어의 제공과 관리는 클라우드 제공자가 담당하며, 사용자는 직접 관리할 필요가 없습니다.
💻 클라우드 컴퓨팅의 3대 배포 모델
- 올 인 클라우드 (All-In-Cloud): 모든 애플리케이션을 퍼블릭 클라우드에서 운영하는 모델입니다. 예를 들어, 넷플릭스는 이 방식을 사용합니다.
- 하이브리드 클라우드: 퍼블릭 클라우드와 온프레미스 환경을 결합하여 사용하는 방식입니다. 기존 데이터센터가 있는 기업에 적합합니다.
- 온프레미스 (On-Premise): 조직 내 데이터센터에서 애플리케이션을 배포하고 운영하는 방식입니다.
🗺️ 리전 (Region)
AWS의 리전은 클라우드 서비스용 데이터 센터 클러스터의 물리적 위치를 뜻합니다. AWS는 24개의 리전과 5개 대륙에 걸쳐 데이터 센터를 두고 있으며, 지리적으로 분산되어 있어 데이터의 국가별 정책을 준수할 수 있습니다.
- 각 리전은 고유한 데이터 센터를 포함하고 있으며, 데이터를 이동시키기 위해 사용자의 명시적 동의가 필요합니다.
- AWS는 고객의 요구에 따라 여러 리전을 선택할 수 있게 지원합니다.
- GovCloud 리전은 미국 정부 애플리케이션용으로 제공되며, 일반 사용자도 이용할 수 있습니다.
🤖 가용 영역 (AZ, Availability Zones)
- 가용 영역은 데이터 센터로 구성되며, 지역 자연재해 등을 고려하여 설계됩니다. 동일 리전 내에서 여러 가용영역(AZ)을 연결해 고응답성과 고보안성을 보장합니다.
- 데이터 복제: 가용 영역 간에 데이터 복제 인스턴스를 생성하여 장애 발생 시 다른 AZ에서 서비스가 계속 유지되도록 설계할 수 있습니다.
🍁 로컬 존
리전이 없는 지역에 추가된 가용 영역으로, 근처에 있는 리전을 부모로 여깁니다.
🚀 엣지 로케이션
엣지 로케이션은 콘텐츠 배포 네트워크(CDN)로 사용되며, 사용자에게 빠르고 효율적인 서비스를 제공합니다. 데이터 캐시를 활용하여 지연을 최소화하고 고품질 서비스를 제공합니다.
🔒 AWS의 보안 모델
🗝️ 공유 보안 모델
AWS는 클라우드 자체의 물리적 보안을 맡고, 클라우드 사용자는 애플리케이션 및 데이터 보안을 책임집니다.
- AWS: 데이터 센터의 물리적 보안, 하드웨어, 서버, 네트워킹.
- 사용자: 프로젝트, 애플리케이션, AWS에서 호스팅되는 데이터의 보안.
💻 컴퓨트
서버 기반 및 서버리스 기반의 환경 설정을 제공함과 동시에 리소스 확장의 자동화 도구와 프로젝트(애플리케이션)의 빠른 배포를 돕는 도구가 포함되어 있다.
Amazon Elastic Compute Cloud (EC2)
클라우드 서버에서 ‘인스턴스’로 불리는 가상화 서버를 제공하며, 사용자는 넓은 범위의 인스턴스 중에서 사용 목적에 맞는 인스턴스를 선택할 수 있다.
CPU/GPU 강화 인스턴스, 스토리지 최적화, 입/출력 성능 강화, 범용성 강화 등 목적에 맞는 인스턴스 선택이 가능하다.
Amazon EC2 Auto Scaling
- 미리 정의한 용량 정책에 맞게 EC2 인스턴스의 용량을 확대/축소할 수 있는 기능이다. 과도한 트래픽으로 인스턴스가 과부하되면 자동으로 새 인스턴스를 추가시킨다.
- 다양한 성능 지표, 헬스 체크 전략을 사용할 수 있다.
- 오토 스케일링 자체에는 별도 비용이 부과되지 않으며, ELB와 통합 제공되는 기능이다.
Amazon EC2 Container Service (ECS)
아마존 EC2 인스턴스에서 도커 컨테이너를 실행할 수 있는 서비스로 ECS라고 불린다.
확장성을 겸비한 고성능 컨테이너 관리 서비스이다. 내장된 스케줄러를 이용해 업무를 자동으로 처리할 수 있다.
ELB, EBS와 통합하여 제공되며 EC2와 EBS 사용량에 대한 비용만이 과금된다.
AWS Lambda
관리/프로비저닝 작업 없이 서버에 작성한 코드를 배포할 수 있게 해준다. 특정 코드를 작성한 뒤 이벤트 트리거를 정의하면 백엔드 코드 또한 실행이 가능하다. 그 이후 코드 실행에 필요한 리소스 프로비저닝, 결과 생성, 코드 분할등의 작업을 Lambda가 자체적으로 처리한다.
Amazon S3 업로드, DynamoDB 업데이트, Kinesis 스트리밍, API 게이트웨이 요청을 위한 이벤트 트리거를 AWS Lambda를 통해 구현할 수 있다.
비용은 코드가 실행되는 동안 컴퓨팅 시간에 대해 청구되며, Auto Scaling 기능을 포함하고 있어 확장성과 고가용성이 자동으로 관리된다.
Amazon Eleastic Kubernetes Servies (EKS)
완전관리형 쿠버네티스 서비스이며, 쿠버네티스 제어판, 워커 노드를 설치하거나 조작할 필요 없이 AWS에서 컨테이너 관리 코드를 실행할 수 있게 해주는 기능이다. 컨테이너화된 프로젝트를 대규모 배포/관리가 가능하게 해주는 오픈소스 소프트웨어이다. API, 백엔드 지속형 레이어등이 포함된 쿠버네티스 제어판을 프로비저닝하고 고가용성, 내오류성을 위해 다수의 AWS 가용 영역에 배포한다.
AWS Fargate
ECS, EKS에서 모두 사용이 가능한 컨테이너용 서버리스 컴퓨트 엔진이다. 프로젝트 빌드에만 집중할 수 있다.
AWS Elastic Beanstalk
웹 애플리케이션을 Apache, Nginx등의 서버에 Java, .NET PHP, Node.js, python, Ruby, Go, Docker 기반의 애플리케이션을 배포할 수 있다. 별도의 비용은 없으며 애플리케이션을 실행하는 데 사용되는 리소스에 대해서만 과금된다.
Amazon Lightsail
가상화된 VPS(보안 서버)를 간단하게 사용 가능하다. 즉각적인 프로젝트를 런칭할 때 요긴히 쓰이며 원하는 리소스들을 예상 가능한 금액 범위 안에서 사용할 수 있다.
AWS Batch
AWS 내의 수십만 건의 배치 컴퓨팅 작업을 효율적으로 처리하기 위해 존재하는 서비스로, 사용자가 오직 문제 해결과 결과 분석에만 집중할 수 있게 한다.
AWS Outposts
AWS 서비스를 타 데이터센터로 확장하여 사용하게 해 주는 기능이며 하이브리드 플랫폼 구현에 이상적인 서비스이다. AWS 내의 온프레미스 버전이라고 불린다.
🗺️ 네트워킹
기업의 클라우드 인프라를 타 요소와 격리시킬 수 있다. 접속 방식을 사용자가 원하는대로 설정할 수 있다.
Amazon Virtual Private Cloud
VPC라고 칭하며, 이를 통한 전용 가상 네트워크로만 클라우드 인프라에 접근하게 할 수 있다. 라우트 테이블, 네트워크 게이트웨이 등을 통해 네트워크를 관리할 수 있으며, 네트워킹 기법으로 여러 리소스를 완벽하게 통제하고 관리할 수 있다.
Amazon Route S3
DNS 웹 서비스로 IP4, IP6을 모두 지원한다. http:// 과 같은 형태의 도메인 주소를 ip주소로 변환하는 역할을 한다.
EC2 인그턴스, S3 버킷, ELB, CloudFront등의 다른 AWS와 연결해서 사용할 수 있다.
Elastic Load Balancing
EC2 인스턴스에 가해지는 트래픽을 분산시키는 역할을 하며, 오토 스케일링과 연결하여 트래픽 정도에 따라 EC2 인스턴스를 확장/축소할 수 있다. 동일 리전 내에 있는 다른 가용 영역 간에도 해당 기능을 통해 부하를 분산시킬 수 있다.
AWS Direct Connect
데이터 센터와 AWS 인프라를 전용 보안 네트워크로 연결하거나 프라이빗 네트워크 등으로 연결할 수 있다.
모든 AWS 서비스와 호환되며, 일관된 네트워크 성능으로 데이터 전송 비용을 절약할 수 있다.
AWS App Mesh
EC2, ECS, EKS, Fargate, Kubernetes 등에 의해 관리되는 컨테이너와 함께 사용 가능하며, 서비스 간의 모니터링, 디버깅, 커뮤니케이션 추적 등의 기능을 제공한다.
AWS Global Accelerator
글로벌 차원의 사용자를 위해 가용성, 성능을 높여주는 도구로, 배포한 프로젝트의 고정 엔트리 포인트 역할 수행이 가능하도록 정적 IP address를 제공하여 전 세계 AWS 엣지 네트워크를 활용할 수 있도록 한다.