brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jan 22. 2024

AWS 45탄-7. 당신의 아키텍처 Well Arch

AWS의 좋은 아키텍처를 만드는 법을 알아보자.



<1> Well-Architeched Framework 란 무엇인가?

<2> 왜 Well-Architeched Framework  사용해야 하나?

<3> Well-Architeched Framework  원칙 6가지

<4> 안정성 4가지 원칙

<5> 안정성 모범 사례 

<6> 워크로드 아키텍처

<7> 장애 관리

<8> 비용 최적화 = Cost Optimization

<9> 실습 - AWS Well-Architected Tool




<1> Well-Architeched Framework 란 무엇인가?


클라우드에서 워크로드를 설계하고 실행하는데 필요한 주요 개념, 디자인 원칙 , 아키텍터 모범 사례를 제공합니다.




<2> 왜 Well-Architeched Framework  사용해야 하나?


배포나 확장을 빠르게 할수 있다 = 빠른게 비즈니스 가치를 높일수 있다.

잠재적인 리스크 제거 = 웰 아키텍트 프레임 워크 질문을 통해 알수 있다.

방향성을 정의 할수 있다.

베스트 프렉티스를 배워 비지니스 방향성에 도움이 될수 있다.




<3> Well-Architeched Framework  원칙 6가지


1

운영 우수성

시스템을 모니터링하고, 프로세스와 절차를 지속적으로 개선하는데 중점을 둔다.

운영 관리를 위한 표준 정의 , 이벤트 대응등이 포함 된다.



2

보안

데이터와 시스템 보호에 중점을 둔다.

보안 이벤트 관리가 포함 된다.



3

안정성

워크로드가 안정적으로 운영되도록 한다.

분산 시스템 설계, 변경사항 복구 하는 방법이 포함.



4

성능 효율성

컴퓨팅 리소스를 효율적으로 사용하도록 하는것.

자원 크기 선택 , 성능 모니터링 



5

비용 최적화

불필요한 비용  제거

과도록 지출 분석이 포함 된다.



6

지속 가능성

효율적인 프로그래밍 언어 선택

적절한 규모의 인프라 배포


건물을 짓는것과 유사하다.

아키텍서를 설계할때 안정성과 비용 최적화를 알아보자.




<4> 안정성 4가지 원칙


워크로드가 필요한 기능을 정확하고 일관되게 실행되게 하는 능력

복원력도 안정성에 포함

서비스 중단에서 워크로드를 복구하는 능력 포함



1

파운데이션?

안정성에 영향을 미치는 기본 요구사항이 미리 정의 되어 있어야 한다.

기본적으로 AWS서비스의 쿼터를 관리하여 서비스 기본 할당량이 충분 한지 검토해야 한다.



2

워크로드 아키텍처

올바른 어플리케이션 아키텍처, 서비스 아키텍처



3

변경 사항 관리

환경 변경을 예상하고 관리 필요.



4

장애 관리

장애 발생시 감지하고 자동으로 복구 가능해야 한다.




<5> 안정성 모범 사례 



1

서비스 할당량 확인


기본적으로 AWS서비스의 쿼터를 관리하여 서비스 기본 할당량이 충분 한지 검토해야 한다.

해당 내용은 Service Quotas를 통해 확인이 가능하다.

실제로 변경 불가한 할당량과 변경 가능한 할당량이 있다.  

람다는 컨커런드 커넥션은 1000개 가능하나 버스트 컨커런시는 조정이 불가능 하다.

기본 쿼터는 해당 리즌에서 조정가능하다. 

일부 쿼터는 미국 버지니아 리즌에서 조정 할수 있다.




2

중복 연결 프로비저닝


AWS 리전과 고객 데이터 센터간 이중화된 다이렉트 커넥션구성이 모범 사례이다.





<6> 워크로드 아키텍처



1

워크로드를 세분화 할 수 있는  서비스 아키텍처를 선택하라.

서비스 단위로 아키텍처를 구성하라.

마이크로 서비스를 아키텍처로도 나눌수 있다.

각 서비스는 독립적으로 배포하고 운영 가능하다.



2

느슨한 구조의 종속성을 구현하라.

클라이언트가 서버에 직접 호출하는것은 종속적이다.

로드 밸런서를 통해 느슨한 구조를 만들어라.

비 동기식의 경우 이벤트 기반 아키텍처를 구현하여 느슨한 구조를 만들어라.







3

상태 비저장 상태로 만들기 = Stateless상태로 만들기


컴퓨팅의 상태를 데이터 저장소로 사용하는 것이다.

예를 들어 ElastiCache 사용을 통해 서버 하나가  죽더라도 상태를 손실하지 않고 가용성 문제를 최소화 가능하다.






4

변경 사항 관리법은 ?



실시간 처리 및 알람

장애가 발생될때 자동 대응 된다는 것이다.


Cloudwatch 메트릭을통해  모니터링을 통해 SNS등으로 알람을 받자.


이벤트 브리지를 통해 특정 이벤트 발생시 람다를 사용하고, 스텝 펑션을 사용해 이벤트에 자동 대응 되도록 하자.

예) AWS Health 서비스를 사용해서 S3에 에러 이벤트가 발생하면, 이벤트 브리지로 보내 람다로 대응하거나 SNS 알람을 보낸다.






5

리소스 자동 확장을 사용하자

오토스케일링을 사용하자.




다음은 오토스케일링 가능한 것들이다!!!


Amazon EC2 오토스케일링

Amazon Aurora read-replicas

Amazon Aurora storage

Amazon DynamoDB throughput

Amazon ECS tasks

AWS Lambda concurrent instances




6

자동화를 통한 변경 배포 하기!!!





<7> 장애 관리


1

멀티 AZ구성하라.



2

DR(재해복구) 전략 4가지 ?


AWS Backup  = 저비용 재해복구

AWS Elastic Disaster Recovery  = 데이터 실시간, 서비스는 idle

AWS Auto Scaling = 항상 동작

Amazon DynamoDB  - 멀티 사이트 Active/Active = 고비용




<8> 비용 최적화 = Cost Optimization


0

비용 최적화 5가지


클라우드 재무 관리(CFM)수행이 필요하다.

지출 및 사용량 인식이 필요하다.

비용 효율적인 리소스 관리

수요 관리 및 리소스 공급을 관리

시간 경과에 따른 최적화 = 새로운 서비스 사용




1

클라우드 재무 관리(CFM)수행이 필요하다.


Finops담당자 필요. = 비즈니스템, 개발팀, 재무팀이 협업 



2

세부 비용 및 사용량 모니터링이 필요하다. ?


Cost & Usage Report 사용하라.

CUR데이터와 AWS 서비스 사용하여  AWS 인텔리젠트 대시보드를 사용할수 있다.

KPI 대시보드 만들어 사용하라.



3

비용 제어 구현은?


AWS 버짓을 정하여 모니터링 하라!


AWS Cost Anomaly Detection을 활용하여 예상치 못한 비용을 줄일수 있다.


AWS Cost Exploer 서비스 활용 = 세분화된 시간 단위 모니터링을 설정할수 있다.

최근 14일 동안의 시간 단위 및 리소스 수준의 비용과 사용량 데이터를 확인가능.



4

비용 모델링 수행 하라.


최적화된 인스턴스 찾기 = 성능 요구사항을 충족하는지 확인 , 다양한 인스턴스 유형과 크기 고려


Cloudwatch metrics 모니터링을 통해 CPU, 메모리, 스토리지 , 네트워크를 모니터링하여 최적의 인스턴스를 찾아라.


AWS Compute Optimizer서비스와 AWS Cost Exploer  서비스를 제공한다. 이를 활용하라.



5

계약으로 비용 최적화 하라.

온디맨드 - 트래픽을 예측하기 어려운 경우

RI = 1년, 3년 약정으로 할인  , 예측 가능한 안정적인 용량 사용시

Savings Plans = 1년, 3년 ,  더 유연한 서버 교체 가능

스팟 인스턴스 = 최대 90% 할인 , 서버 자도  반납 가능 , 반납 2분 전 알람을 받을수 있다.



6

동적 리소스 관리?


Instance Scheduler on AWS 솔루션을 통해 비용 절감

주발에 리소스 중지시켜 35% 비용 절감.

https://aws.amazon.com/ko/solutions/implementations/instance-scheduler-on-aws/





https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html






<9> 실습 - AWS Well-Architected Tool



1

콘솔에서 Well  로 검색



2

아키텍처 모범 사례를 사용하여 학습하고 측정하고 구축


https://aws.amazon.com/ko/well-architected-tool/




다음

https://brunch.co.kr/@topasvga/3614



빌더스 다시 보기

https://brunch.co.kr/@topasvga/3617



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari