AWS Certified Solution Architect | 클라우드 컴퓨팅, AWS 개요 — 클라우드 컴퓨팅과 가상화

📌 클라우드 컴퓨팅과 가상화

모든 클라우드 컴퓨팅 서비스의 핵심 기술은 가상화에 기반

가상화란.

하나의 물리적 서버 형태로 존재하는 하드웨어 리소스를 여러 개의 작은 유닛으로 나누는 것임.

가상의 작은 유닛으로 분할된 물리적 서버는 자체 운영체제, 유닛별 메모리, 스토리지 네트워크를 할당 받은 가상 머신이 되어 작동할 수 있게 됨.

가상화 기술은 사용자가 가상 서버를 불과 수 초만에 배포, 프로젝트 요구 사항에 맞춰 실행한 뒤, 즉시 삭제할 수 있을 정도로 높은 유연성 제공.

🚧 클라우드 컴퓨팅 아키텍처

AWS와 같은 주요 클라우드 서비스 제공사는 수십만 대의 서버, 디스크 드라이버를 네트워크 케이블로 연결한 방대한 규모의 서버 팜을 운영.

🚧 클라우드 컴퓨팅 최적화

클라우드는 확장성 및 탄력성을 지니고 있으며, 전통적인 시스템에 비해 훨씬 낮은 비용이 소요. 변동성 높은 워크로드 처리를 위한 탁월한 선택이 될 수 있음. 사용자는 효과적인 클라우드 리소스 배포를 위해 이들 세 가지 속성에 대한 나름의 감각 또는 인사이트를 지니고 있어야 함.

🍃 확장성

인프라의 확장성이 높다는 의미는 사용자의 애플리케이션에 예측하지 못한 트래픽이 몰렸을 때, 이를 해소하기 위한 리소스를 자동으로 추가할 수 있다는 것.

AWS는 사전 정의된 요구 수준에 맞춰서 필요한 즉시 자동으로 머신 이미지를 복제해서 론칭할 수 있는 Auto scaling 서비스를 제공.

🍃 탄력성

탄력성 원칙 또한 확장성과 같이 요구 수준 변화에 대해 시스템이 어떻게 반응하도록 할 것인가 하는 문제를 다룸. 탄력성이 확장성과 다른 부부은 확장성은 수요 증가에 따라 리소스를 증대시키는 개념이라면, 탄력성은 수요 감소에 따라 리소스를 감소시키는 개념을 포함하고 있다. 사용자는 꼭 필요할 때만 리소스를 실행하면 되므로 클라우드 비용을 효과적으로 통제할 수 있다.

🍃 비용관리

여러분이 사용하는 리소스의 양과 관련된 비용을 통제하는 것과 별개로 클라우드 컴퓨팅은 IT 인프라 도입 및 운영을 기존의 자본 비용에서 운영 비용 관점으로 변화시킴.

클라우드 기반의 총 운영 비용이 전통적인 데이터 센터 구축 및 운영 비용보다 반드시 낮다는 것은 아니지만 사용자가 장기적인 수요의 관점에서 불필요한 자본적 지출의 리스크를 줄일 수 있는 것은 분명함.

📌 AWS 클라우드

AWS service 카테고리

🎾 Compute

⛳️ Compute— Elastic Compute Cloud (EC2)

EC2 서버 인스턴스는 전통적인 데이터 센터에서 실행되던 서버의 가상화 버전. EC2 인스턴스는 CPU, 메모리, 스토리지, 네트워크 인터페이스 프로필 등과 함께 프로비저닝 되며, 간단한 웹 서버부터 통합 멀티 티어 아키텍처 기반의 클러스터용 인스턴스까지 구현할 수 있다. EC2 인스턴스는 가상화된 리소스이므로, 효율성은 높고 배포는 즉각적으로 이뤄질 수 있음.

⛳️ Compute— Lambda

별도의 서버를 운영 및 관리할 필요 없이 1년 내내 다수의 고객의 요구 수준에 대응하는 애플리케이션 서비스를 재공하기 위한 서버리스 아키텍처 요소. 버튼 클릭과 같은 이벤트에 반응해 미리 지정된 코드를 실행하는 서비스. 최장 15분간의 코드 실행 작업이 완료되면, Lambda 이벤트도 종료되고 코드 실행을 위해 할당됐던 모든 리소스는 자동으로 해제됨.

⛳️ Compute — Auto Scaling

조직에서 널리 사용하는 EC2 인스턴스를 이미지 템플릿으로 저장한 뒤 트래픽 또는 워크로드가 증가 또는 감소하면 이에 대응해 자동으로 인스턴스 이미지를 추가 또는 삭제하는 서비스. 즉, 자동화된 컴퓨팅 리소스의 스케일 아웃 및 스케일 인 도구.

⛳️Compute — Elastic Load Balancer

클라우드 인프라 및 리소스로 유입되는 네트워크 트래픽을 병목 현상이 발생하지 않도록 다수의 서버에 분산시키는 역할. 헬스 체크를 통과하지 못한 인스턴스에게는 요청을 전송하지 않음.

⛳️ Compute — Elastic Container Service

Docker 또는 K8s 등과 같은 컨테이너 기술을 이용해 다른 AWS 계정 소유 리소스와 완벽하게 통합할 수 있는 컴퓨트 워크로드를 프로비전, 자동화, 배포, 관리 업무를 수행할 수 있음. K8s의 경우, 전용의 컴퓨트 워크로드인 EKS를 사용.

⛳️ Compute — Elastic Beantalk

Beantalk는 AWS 컴퓨트와 네트워크 인프라의 프로비저닝을 추상화한 관리형 서비스.개발자가 애플리케이션 코드 작성에만 집중 할 수 있도록 해줌. Beantalk는 애플리케이션 서비스 구현에 필요한 제반 요소를 자동으로 시작 및 관리.


🎾 Networking

⛳️ Virtual Private Cloud.(VPC)

EC2 및 RDS 인스턴스 호스팅을 위해 만들어진, 고도의 환경설정이 가능한 네트워크 환경. 사용자는 VPC 기반 도구를 이용해 인스턴스의 네트워크 보안을 유지하거나, 외부 환경과 격리해서 인바운드 및 아웃바운드 네트워크 트래픽을 긴밀하게 제어할 수 있음.

⛳️ Direct Connect

속도 및 보안 수준이 높은 전용의 네트워크 연결 서비스를 통해 서드파티 공급자와 AWS를 연결해 로컬 데이터 센터 또는 AWS VPC 전용 네트워크를 구현할 수 있음.

⛳️ Route 53

도메인 등록, 레코드 어드민, 라우팅 프로토콜 관리, 헬스 체크 등의 기능을 제공하는 AWS DNS 서비스로서, 다른 AWS 리소스와 완벽한 통합성을 제공.

⛳️ CloudFront

아마존의 글로벌 분산화 CDN(Content Delivery Network) 서비스다.

이를 통해 사용자는 글로벌 차원의 엣지 로케이션에 사이트 콘텐츠의 캐시 버전을 저장할 수 있으며, 고객의 요청 시 매우 신속하게 효율적으로 콘텐츠 제공.


🎾 storage

⛳️ Simple Storage Service(S3).

다목적성, 신뢰성을 갖춘 저렴한 객체 저장 서비스로서 데이터 스토리지 및 백업 용도로 널리 활용. S3는 AWS 기반 상용화 서비스 구현 시 보편적으로 사용되며, 상용화 버전과 관련된 스크립트, 템플릿, 로그 파일 스토리지로 활용.

⛳️ S3 Glacier.

장기간, 저렴하게 대량의 데이터 아카이브를 저장할 수 있도록 해주는 서비스. 일정 시간의 인출 지연 시간이 존재. Glacier 생애 주기는 S3와 긴밀하게 통합돼 관리.

⛳️ Elastic Block Store(EBS).

EC2 인스턴스의 운영 체제 및 각종 실행 데이터를 호스팅하기 위한 지속형 가상 스토리지 드라이브. 물리적 서버에 부탁하는 스토리지 드라이브의 기능 및 파티션 속성을 가상환경에서도 사용할 수 있게 해줌.

⛳️ Storage Gateway.

AWS 클라우드 스토리지를 로컬, 온프레미스 환경과 연결해서 사용할 수 있도록 해주는 하이브리드 스토리지 시스템. 데이터 마이그레이션 및 데이터 백업, 재난 복구 작업의 일부로 활용되기도 함.


🎾 DataBase

⛳️ Relational DataBase Service(RDS).

안정성, 보안성, 신뢰성을 갖춘 관리형 SQL 데이터베이스 서비스. 사용자는 MySQL, Microsoft SQL Server, Oracle, Amazon이 만든 Aurora 등 다양한 SQL 엔진을 사용할 수 있음.

⛳️ DynamoDB.

신속성, 유연성, 고확장성을 지닌 관리형 NoSQL 데이터베이스 서비스.


🎾 애플리케이션 관리

⛳️ CloudWatch

프로세스 성능 및 리소스 사용량 모니터링 서비스. 사용자가 미리 정한 기준치에 도달하면, 메시지를 전송하거나 자동화된 응답을 실행.

⛳️Cloud Formation

AWS 리소스 배포를 위한 완벽하면서도 복합적인 요구 사항 정의 템플릿을 제공. 사용자는 AWS 인프라에 대한 스크립트를 작성해 자동화된 리소스 관리가 가능, 애플리케이션 론칭 프로세스를 표준화, 간소화할 수 있음.

⛳️ CloudTrail

API 이벤트와 관련된 모든 사용자 계정의 기록을 수집해서 감사 업무 및 시스템 문제 해결에 활용.

⛳️ Config

AWS 계정과 관련된 변경 사항 관리 및 규정 준수 업무를 지원. 사용자가 바람직한 형태의 환경설정 상태를 정의하면, Config는 정의된 내용과 다른 변경 사항을 감지 및 평가하게 됨. 변경 사항과 미리 정의된 내용과의 격차가 일정 수준 이상인 경우, 알림 메시지를 발송.


🎾 보안 및 권한 관리

⛳️ Identity and Access Management(IAM)

AWS 계정에 대한 특정 사용자 또는 프로그래밍 차원의 접근을 관리 하기 위한 서비스. 유저, 그룹, 역할, 정책 등 개념을 통해 AWS 리소스에 누가, 어떤 작업을 위해 접근하게 할지 매우 상세하게 지정할 수 있음.

⛳ Key Managerment Service(KMS)

AWS 리소스와 관련된 보안 데이터의 암호화 키 생성 및 관리를 위한 어드민 서비스.

⛳️ Directory Service

AWS 리소스의 활용을 위해, Amazon Cognito 및 Microsoft AD 도메인 등 내외부의 신원 인증 제공 서비스와 통합 관리할 수 있도록 함.


🎾 애플리케이션 통합

⛳️ Simple Notification Service(SNS)

SQS, Lambda 등 다른 서비스나 모바일 기기에게 자동으로 알림 또는 경고 메시지를 보내거나 다른 수신자에게 이메일 또는 SMS를 전송하는 서비스.

⛳️ Simple Workflow(SWF)

일련의 AWS 서비스 또는 디지털화할 수 없는 (사람의 특정 동작이 관련된) 이벤트를 포함하는 연속적인 작업 관리 서비스.

⛳️ Simple Queue Service(SQS)

분산 시스템 등 대규모 프로세스에 포함된 다수의 업무 단계를 느슨하게 연결해 유연한 처리를 돕는, 이벤트 기반 메시징 서비스. SQS 메시지에 담긴 데이터는 신뢰할 수 있는 방식으로 전달돼, 애플리케이션의 내오류성을 높일 수 있음.

⛳️ API Gateway

AWS 기반 애플리케이션을 위한 안전하며, 신뢰할 수 있는 API를 생성하고 관리하기 위한 서비스.

댓글

댓글 남기기