[AWS] AWS Well-Architected framework란?

Hailey·2021년 2월 15일
6

AWS

목록 보기
18/18

먼저! 해당 블로그 포스팅은 https://www.slideshare.net/awskorea/aws-cloud-track-2-advanced 의 자료를 공부하며 정리한 것입니다🌸

Well-Architected 프레임워크

Well-Architected 프레임 워크는 크게 4가지 요소로 이루어져 있습니다.

1. Reliability (안정성)

-장애 복구 능력
-자원 동적 할당
-오류 회피

2. Performance (성능)

-자원의 효율적인 사용
-비즈니스 요구에 능동적 대응
-신기술을 통한 효율성

3. Security (보안)

-위험요소 제거
-대응전략
-데이터/자산을 안전하게 보호

4. Cost Optimization (비용)

-비용의 투명성
-불필요한 비용요소 제거
-관리형 서비스를 통한 최적화


✍ 일반적인 디자인 원칙 #1

필요한 용량을 추측하지 마십시오.

시스템 용량을 과도하게 산정하여 자원을 낭비
시스템 용량이 부족하여 성능 문제 발생
🔽🔽🔽

  • 필요한 만큼의 자원을 할당
  • 업무량의 변화에 따라 능동적으로 대응

✍ 일반적인 디자인 원칙 #2

프로덕션 시스템 스케일로 테스트 시스템을 구축하십시오.

  • 프로덕션과 동일한 테스트 환경을 빠르게 구축
  • 테스트 후 빠르게 제거
  • 사용한 시간에 대한 비용 지불

✍ 일반적인 디자인 원칙 #3

아키텍쳐 변경에 대한 위험을 낮추십시오.

제한된 테스트 환경
여러 팀이 테스트 환경 공유
충분한 테스트 불가능
🔽🔽🔽

  • 테스트 환경구축 자동화
  • 팀별 별도의 테스트 환경
  • 충분한 테스트를 통한 잠재적인 문제요소 제거

✍ 일반적인 디자인 원칙 #4

아키텍쳐에 대한 변경/실험을 자동화하십시오.

변경에 대한 이력관리 힘듦
성능 및 문제에 대한 분석 어려움
🔽🔽🔽

  • 아키텍쳐에 대한 배포 자동화
  • 쉬운 아키텍쳐 복제

✍ 일반적인 디자인 원칙 #5

지속적으로 아키텍쳐를 개선하십시오.

  • 지속적인 실험
  • 새로운 기술 도입
  • 아키텍쳐 개선

Well-Architected 프레임워크의 4가지 영역
보안(Security) : AWS 클라우드 상의 데이터 및 자산을 보호하기 위한 Best practice가 적용되어 있습니까?
안정성(Reliability) : 시스템 아키텍쳐가 장애 복구, 업무 증가시에 피해를 최소화할 수 있습니까?
성능 효율화(Performance Efficiency) : 시스템 리소스들이 최적의 성능을 낼 수 있도록 설계되어 있습니까?
비용 최적화(Cost Optimization) : 비즈니스 업무를 수행함에 있어 비용을 줄일 수 있는 방법들에 대한 고려가 이루어지고 있습니까?

하나씩 자세히 살펴보겠습니다!


1. 보안 영역 - 디자인 원칙

1) 모든 영역에 보안을 적용해라!
: 인프라 전체에 적용되는 방화벽 보다는, 각각의 리소스에 대한 방화벽 사용 및 보안 제어를 설정 (모든 가상 머신, 로드밸런서, 네트웍 서브넷)

2) 추적 로그를 수집해라!
: 모든 활동과 변경사항들에 대한 로그를 수집하여 감시

3) 보안 이벤트에 대한 대처를 자동화해라!
: 지속적인 모니터링을 수행하고, 이벤트 혹은 조건에 따른 대처를 자동화

4) 클라우드 상에서 수행되고 있는 시스템의 보호에 집중해라!
: AWS의 공유 보안 모델에 따라, AWS는 인프라 및 서비스에 대한 보안을 제공. 고객은 AWS에서 운영되고 있는 어플리케이션, 데이터 및 운영체제의 보안에 집중

5) 보안에 대한 Best practice를 자동화해라!
: 최적화된 이미지들을 사용하고, 전체 인프라를 템플릿을 통하여 관리

1. 보안 영역 - 정의

  • 데이터 보호 (Data Protection)
  • 권한 관리 (Privilege Management)
  • 인프라 보호 (Infrastructure Protection)
  • 감시 제어 (Detective Controls)

1. 보안 영역 - 주요 서비스

  • 데이터 보호 👉
    : 전송 및 보관시 암호화 - ELB, EBS, S3 및 RDS
    : 암호화 키 생성 및 관리 - KMS (AWS Key Management Service), AWS CloudHSM

  • 권한 관리 👉
    : 사용자 / 권한 관리 - IAM
    : 인증 강화 - MFA(Multi Factor Authentication)

  • 인프라 보호 👉
    : 논리적으로 격리된 네트워크 - VPC

  • 감시 제어 👉
    : API 호출 기록 - AWS Cloudtrail
    : 인벤토리 변경 이력 관리 - AWS Config
    : 자원 모니터링 - Amazon Cloudwatch
    : 로그 수집 - ELB, S3, CloudFront, VPC Flow logs


2. 안정성 영역 - 디자인 원칙

1) 복구 절차를 테스트해라!
: 다양한 형태의 장애 상황을 만들고 복구하는 시나리오를 자동화하여 복구시 문제를 미리 파악하여 대처

2) 문제 발생시 자동으로 복구될 수 있도록 구성해라!
: 중요 요소들에 대한 모니터링을 수행하여, 임계치에 도달하였을 때 자동으로 필요한 절차를 수행하도록 시스템을 구성. 이를 통해 장애에 대한 감지, 추적, 조치 뿐만 아니라 더 나아가서 장애를 사전에 예방

3) 시스템의 가용성을 높이기 위하여 수평확장이 가능하도록 구성하라!
: 하나의 큰 자원을 사용하는 것보다, 여러개의 작은 자원들을 사용하는 것이 장애 발생시 피해를 최소화. 이때, 여러개의 작은 자원들은 공통된 장애 요소를 갖지 않도록 구성

4) 필요한 용량을 추측하지 말아라!
: 시스템의 용량을 초과하는 부하가 유입되는 경우(종종 Ddos)에도 자원의 고갈로 인해 문제가 발생하지 않도록 동적으로 구성

2. 안정성 영역 - 정의

  • 기본 요건
  • 변경 관리(Change Management)
  • 장애 관리(Failure Management)

2. 안정성 영역 - 주요 서비스

  • 기본 요건 👉
    : AWS IAM을 통하여 AWS 서비스 및 자원들에 대한 접근을 제어
    : Amazon VPC를 통해서 AWS 서비스 및 자원들을 독립된 네트웍 공간에 안전하게 운영
    : Service limit 관리

  • 변경 관리 👉
    : AWS Clouttrail을 통하여 AWS의 API 호출에 대한 기록을 보관
    : AWS Config를 통하여 AWS의 자원 및 구성에 대한 인벤토리를 관리
    : 지속적으로 구성 변경을 관리

  • 장애 관리 👉
    : AWS Cloudformation을 사용하여 원하는 AWS 자원들을 자동 생성하는 템플릿을 구성
    : Auto Recovery 기능을 통한 자동 복구 설정
    : Auto Scaling Group을 활용하여 Self Healing 설정


3. 성능 효율화 영역 - 디자인 원칙

1) 최신 기술을 쉽게 사용해라!
: 구현하기 어려운 최신 기술도 클라우드에서는 쉽게 사용할 수 있음. IT 팀이 새로운 인프라 기술을 익히기 보다는 서비스 형태로 사용하는 것이 유리. 전문성이 필요한 기술도 클라우드 서비스 형태로 제공.

2) 세계 시장으로 빠르게 진출해라!
: 여러 리전에 서비스를 배포하여 고객에게 최소의 비용으로 최고 품질의 서비스를 제공.

3) 서버 없는 아키텍쳐를 이용해라!
: 클라우드에서는 서버운영 부담 없이 서버리스 아키텍쳐를 손쉽게 구성할 수 있고, 이를 통하여 서버 운영의 부담을 줄이고 사용량 또한 줄일 수 있음.

4) 더 자주 새로운 아이디어를 시험해라!
: 가상화되고 자동화된 자원들을 통해 여러 종류의 인스턴스, 스토리지, 구성을 사용하여 빠르게 실험을 진행할 수 있음.

3. 성능 효율화 영역 - 정의

  • 컴퓨트(Compute)
  • 스토리지(Storage)
  • 데이터베이스(Database)
  • 용량-시간의 Trade-off

3. 성능 효율화 영역 - 주요 서비스

  • 컴퓨트 👉
    : 오토 스케일링 등의 방법을 사용하여 수요에 맞는 인스턴스 갯수를 유지하도록 관리

  • 스토리지 👉
    : Amazon EBS : Magnetic, General Purpose SSD, PIOPS SSD
    : Amazon S3 : S3, S3-IA, Glacier 그리고 RRS(reduced-redundancy storage) 및 라이프사이클 관리 기능 사용
    : 서버 없이 컨텐츠를 전송할 수 있는 기능을 통하여 성능이 유지되도록 관리

  • 데이터베이스 👉
    :관리형 데이터베이스 서비스 : Amazon RDS, Amazon DynamoDB, Amazon Redshift, Amazon ElastiCache
    : Amazon RDS는 다양한 기능(PIOPS, 읽기 복제본) 을 제공하여 성능 최적화

  • 용량-시간의 Trade-off 👉
    : AWS Region, Cloudfront등을 활용
    : 제약이 없는, 많은 용량을 사용하여 프로세싱 시간을 절약


4. 비용 최적화 영역 - 디자인 원칙

1) 비용을 업무/부서별로 투명하게 하라!
: 클라우드를 통하여 IT비용을 개별 업무/ 부서별로 쉽게 나눌 수 있음. 보다 정규하게 투자 회수율(ROI)를 측정할 수 있고, 결과적으로 비용 최적화

2) 비용 절감을 위하여 관리 서비스를 이용하라!
: 대용량 메일 발송이나 데이터베이스를 관리하는 등의 운영 부담을 줄여 클라우드 스케일로 최적화

3) CAPEX를 OPEX로 전환하라!
: 데이터 센터 및 서버들에 대한 불투명한 투자보다는, 사용할 때 사용한 만큼만 지불하는 방식으로 전환하여 위험 요소를 낮추고 비용을 효과적으로 관리
: 개발/테스트 환경의 경우 사용되지 않는 시간에 리소스를 중단하여 75%까지 비용을 절감

4) 규모의 경제를 통한 혜택을 누려라!
: 백만 이상의 고객들의 사용을 통하여 얻어지는 규모의 경제를 통하여 비용이 절감

4. 비용 최적화 영역 - 정의

  • 필요한 만큼 사용 (Matched supply and demand)
  • 비용 효율적인 자원 (Cost-effective resources)
  • 비용 인지 (Expenditure awareness)
  • 지속적인 최적화 (Optimizing over time)

4. 비용 최적화 영역 - 주요 서비스

  • 필요한 만큼 사용 👉
    : 오토 스케일링을 통하여 필요한 만큼의 자원만 사용

  • 비용 효율적인 자원 사용 👉
    : RI와 선납금 옵션 또는 spot 인스턴스를 통하여 비용 절감
    : AWS Trusted Advisor를 사용하여 AWS환경에 대한 검토를 수행하고 비용 절감 가능성을 탐색

  • 비용 인지 👉
    : Amazon Cloudwatch 알람 및 Amazon Simple Notification Service(SNS)를 활용하여 비용 관리 프로세스 수립

  • 지속적인 최적화 👉
    : AWS 블로그의 'What's new' 섹션을 통하여 새로 발표된 기능과 서비스들을 확인
    : AWS Trusted Advisor를 통하여 비용 절감 요소를 탐색


profile
Business & Software 💗🌎

1개의 댓글

comment-user-thumbnail
2022년 7월 5일

These people write in the resume "10 years of experience" when it's a year of experience repeated 10 times.
소개글이 좋아서 댓글 남깁니다.
혹시 소개글 원문 출처가 어떻게 되나요?

답글 달기