AWS Well-Architected 프레임워크
오늘 동영상에서는 Well-Architected 프레임워크에 대해 간단히 소개하는 시간을 갖도록 하겠습니다.
AWS Well-Architected 프레임워크는 고객 여러분을 돕기 위해 설계되었습니다. 이제 AWS Well-Architected 프레임워크를 통해 고객은 자신의 아키텍처를 평가하고 개선할 뿐 아니라 설계 결정이 어떻게 비즈니스에 영향을 미치는지 더 잘 이해할 수 있습니다.
AWS 전문가는 고객이 아키텍처를 분석하고 비판적으로 생각해 볼 수 있도록 돕기 위해 수 많은 질문을 개발했습니다. AWS Well-Architected 프레임워크는 인프라가 모범 사례를 따르고 있는지 확인하는 데도 도움이 됩니다. AWS Well-Architected 프레임워크를 통해 AWS는 5가지 다양한 관점, 즉 핵심 요소로부터 아키텍처 설계를 지원할 수 있는 지침을 마련했습니다. 이러한 핵심 요소로는 보안, 안정성, 성능 효율성, 비용 최적화, 그리고 운영 우수성이 있습니다.
이 동영상에서 각 핵심 요소에 대해 보다 자세히 살펴보겠습니다. 또한 이러한 핵심 요소 각각에 대한 설계 원칙도 알아보는 시간을 갖겠습니다.
보안의 핵심 요소
그럼 우선, 보안 핵심 요소부터 시작하겠습니다.
보안 핵심 요소는 위험 평가와 완화 전략을 통해 정보 시스템과 자산을 보호하고 비즈니스 가치를 제공할 수 있는 기능입니다.
좀 더 심층적으로 살펴보자면, 클라우드 보안은 5가지 영역으로 구성되어 있습니다. 이들 각각에 대해 간략하게 살펴보겠습니다.
클라우드 보안의 5가지 영역
IAM: AWS 자격 증명 및 액세스 관리
우선 첫 번째는 AWS 자격 증명 및 액세스 관리, 즉 IAM(Identity and Access Management)입니다.
IAM은 승인 및 인증 받은 사용자만 여러분이 의도한 방식에 따라 리소스에 액세스할 수 있도록 보장하는 데 있어 중요합니다.
탐지 제어
두 번째로 살펴볼 것은 탐지 제어입니다. 탐지 제어는 로그 캡처 또는 분석, 감사 제어 통합과 같은 접근 방식을 고려하여 잠재적 보안 사고를 파악하는 데 사용할 수 있습니다.
인프라 보호
그 다음으로 인프라 보호에 대해 살펴보겠습니다. 인프라 보호는 아키텍처 내에서 승인되지 않은 예상치 못한 액세스로부터 시스템과 서비스를 확실히 보호할 수 있도록 도와줍니다.
예를 들어 사용자는 네트워크 경계를 만들 수 있습니다. 하드닝 및 패칭, 사용자, 키, 액세스 수준, 그리고 애플리케이션 방화벽 또는 게이트웨어.
데이터 보호
이외에 데이터 보호가 있습니다. 데이터 보호의 경우, 고려해야 할 접근 방식과 방법이 상당히 많습니다.
예를 들어 데이터 분류, 암호화가 포함되며, 유휴 시와 전송 중 데이터 보호는 물론, 데이터 백업, 그리고 필요한 경우 복제 및 복구 기능을 사용할 수 있습니다.
사고 대응
마지막으로 살펴볼 것은 사고 대응입니다. 예방 및 탐지 조치를 통해 조직은 잠재적 보안 사고에 대응하고 이러한 문제를 완화할 수 있는 사고 대응 프로세스를 꾸준히 구축해야 합니다. 사고 대응은 복구에 대한 시기 적절한 조사가 이루어질 수 있도록 효과적인 아키텍처 업데이트를 보장합니다. 설계 시에는 보안을 강화하기 위해 이러한 설계 원칙을 고려하는 것이 중요합니다.
보안의 설계 원칙
범계층간 보안 적용 원칙
AWS의 첫 번째 설계 원칙은 모든 계층에 보안을 적용하는 것입니다. 장소에 상관없이 모든 계층에서 인프라 보안을 확실히 보장하고 싶으실 겁니다. 물리적 데이터 센터에서, 보안은 일반적으로 경계에서만 고려됩니다. 그러나 AWS와 함께라면 경계에서는 물론, 리소스 내에서와 리소스 간에도 보안 구현이 가능합니다. 뿐만 아니라, 개별 환경 구성 요소도 상호 간에 보안을 확보할 수 있습니다.
추적 가능성도 고려해야 할 중요한 요소입니다. 환경 내 모든 작업과 변경 사항을 로깅 및 감사하면 추적이 가능합니다.
최소 권한의 원칙
또 다른 유용한 설계 원칙으로는 최소 권한의 원칙 구현이 있습니다.
기본적으로, 여러분의 환경에서 적절한 승인을 보장하고 AWS 리소스에 대한 논리적 액세스 제어를 강력하게 구현하고 싶으실 겁니다. 다음으로, 여러분은 시스템 보안에 확실히 집중하고 싶은 마음이 있으실 겁니다. AWS 공동 책임 모델을 사용하면 애플리케이션 데이터와 운영 체제의 보안에 확실히 집중할 수 있을 뿐 아니라 안전한 인프라 및 서비스를 확보할 수 있습니다.
Best Practice 자동화
마지막으로, 명심해야 할 설계 원칙은 보안 모범 사례를 자동화하는 것입니다. 소프트웨어 기반의 보안 방법은 보다 신속하고 비용 효율적으로 안전하게 확장할 수 있는 기능 개선에도 도움이 됩니다.
예를 들어 가상 서버의 이미지를 패칭 및 하드닝하여 저장하면 효과적입니다. 그러한 이미지가 필요한 경우에는 새로운 인스턴스를 자동으로 생성하기 위해 이미 하드닝 및 패칭된 동일한 이미지를 사용할 수 있습니다.
또 다른 모범 사례는 정기적인 보안 이벤트와 비정상적인 보안 이벤트에 대한 응답을 자동화하는 것입니다.
안정성의 핵심 요소
다음은 안정성 핵심 요소에 대해 살펴보겠습니다. 안정성 핵심 요소는 인프라 또는 서비스 장애를 복구하는 시스템의 기능입니다. 또한 수요를 충족하고 가동 중단을 완화하기 위해 컴퓨팅 리소스를 동적으로 확보할 수 있는 기능에 중점을 둡니다. 여기서 요점은 안정성이 장애를 복구하고 수요를 충족하는 데 있어 핵심이라는 점입니다.
클라우드의 안정성은 3개의 영역, 즉 기본 요건, 변경 관리, 그리고 장애 관리로 구성됩니다.
안정성의 3가지 영역
기본 요건
안정성을 달성하려면 아키텍처 및 시스템이 잘 계획된 기본 요건을 제대로 구현하여 변화하는 수요와 요구 사항을 효율적으로 처리하고 문제 발생 시 장애를 감지하여 자동으로 해결할 수 있어야 합니다. 어떤 종류의 인프라를 설계하든 우선 구축에 앞서 기본 요건을 살펴보는 것이 중요합니다. 클라우드와 마찬가지로, 어떤 시스템이든지 설계하기 전에 안정성에 영향을 미치는 기본 요건을 구현해야 합니다.
변경 관리
변경 관리의 경우, 변경 사항이 시스템에 어떻게 영향을 미치는지 확실히 파악하고 인지해야 합니다. 사전 계획을 세우고 시스템을 모니터링한다면 변경 사항을 신속하고 안정적으로 수용하고 변경 사항에 적절히 적응할 수 있습니다.
장애 관리
아키텍처의 안정성을 보장하기 위해서는 장애 발생을 미리 예측 및 인지하고 적절히 대응해 방지하는 것이 핵심입니다. 클라우드 환경에서는 모니터링을 통해 자동화를 활용할 수 있습니다. 가령, 시스템을 교체하고 나중에 저렴한 비용으로 장애 시스템의 문제를 해결하는 동시에 안정성을 확보할 수 있습니다.
안정성의 설계 원칙
이제 안정성 설계 원칙을 알아보겠습니다.
복구 절차 테스트 수행
안정성을 향상시킬 수 있는 설계 원칙으로 복구 절차 테스트 수행을 들 수 있습니다. 클라우드에서 사용자는 어떻게 시스템 장애가 발생하는지 테스트를 수행할 수 있습니다. 복구 절차도 검증할 수 있습니다. 사용자는 실제로 장애가 발생하기 전에 다양한 장애 상황을 시뮬레이션하고 경험한 다음 대응력을 테스트해 볼 수 있습니다.
장애 복구 자동화
다음으로 살펴볼 것은 자동으로 장애를 복구할 수 있는 기능입니다. AWS에서는 임계값 수준을 넘어서면 자동 응답을 트리거할 수 있습니다. 그렇기 때문에 실제 장애가 발생하기 전에 장애를 예측하고 해결하는 것이 가능합니다.
수평 확장 기능
우리가 다음으로 살펴볼 원칙은 통합 시스템 가용성을 늘리기 위한 수평 확장 기능입니다. 하나의 대규모 모놀로식 리소스가 있다면 이러한 대규모 리소스를 다수의 소규모 리소스로 교체하는 것이 효과적입니다. 이렇게 하면 전체 시스템에서 단일 장애 지점에 대한 영향력을 줄일 수 있습니다. 여기에서의 목표는 수평 확장을 수행하고 다수의 소규모 리소스에 대한 요구 사항을 분산시키는 것입니다.
용량에 대한 추측 중단
다음으로 살펴볼 설계 원칙은 용량에 대한 추측을 중단하는 것입니다. 클라우드에서는 수요와 시스템 사용량을 모니터링한 후 리소스의 추가 또는 제거를 자동화할 수 있습니다. 따라서 프로비저닝 과잉이나 부족 없이 언제든지 적정 수준의 수요를 확보하고 충족할 수 있습니다.
변경 사항에 대한 자동화 관리
마지막으로, 변경 사항과 자동화를 관리할 필요가 있습니다. 아키텍처 및 인프라의 변경은 자동화를 통해 이루어져야 합니다. 이렇게 하면 개별 시스템이나 리소스가 아니라 자동화 시스템의 변경 사항만 관리하면 됩니다.
성능 효율성의 핵심 요소
그 다음으로 성능 효율성 핵심 요소를 알아보겠습니다. 성능 효율성을 구성하는 4가지 영역으로는 선택, 검토, 모니터링 및 트레이드오프가 있습니다. 이러한 영역에 대해 자세히 살펴보겠습니다.
성능 효율성의 4가지 영역
선택
선택의 경우, 아키텍처를 최적화할 수 있는 최선의 솔루션을 선택하는 것이 중요합니다. 적합한 작업에는 적합한 도구가 필요합니다. 하지만 이러한 솔루션은 보유한 워크로드의 종류에 따라 달라집니다. AWS를 통해 리소스를 가상화하면 다양한 유형과 구성별로 솔루션을 맞춤화할 수 있습니다.
검토
검토의 경우, 지속적인 솔루션 혁신이 가능합니다. 또한 첨단 기술과 새로운 접근 방식을 활용할 수 있습니다. 새로 출시된 제품은 아키텍처의 성능 효율성 개선에도 효과적입니다.
모니터링
모니터링의 경우, 아키텍처를 구현한 후 고객이 문제를 인지하고 영향을 받기 전에 미리 해결할 수 있도록 성능을 모니터링할 필요가 있습니다. AWS는 Amazon CloudWatch, Amazon Kinesis, Amazon Simple Queue Service(Amazon SQS)와 같은 도구뿐 아니라 Amazon Lambda 및 다양한 서비스를 통해 자동화를 사용하고 아키텍처를 모니터링하도록 도와줍니다.
트레이드오프
마지막으로, 트레이드오프가 있습니다. 최적의 접근 방식을 보장하는 트레이드오프의 예로 원하는 최고의 성능을 보장하기 위해 소요 시간이나 지연 시간 대비 더 효과적인 일관성, 내구성 및 공간을 확보하는 것을 들 수 있습니다.
성능 효율성의 설계 원칙
이제 성능 효율성을 달성하는 데 도움이 되는 설계 원칙에 대해 알아보겠습니다.
먼저, 고급 기술의 대중화입니다. 구현하기 어려운 기술은 관련 지식과 복잡성을 클라우드 벤더에게 맡김으로써 더 손쉽게 이용할 수 있습니다. IT 팀이 새로운 기술에 적응하고 실행하는 방법을 익히느라 고군분투하는 대신 서비스로서 활용할 수 있습니다. 그 다음, AWS는 몇 분 만에 전 세계로 확장할 수 있습니다. AWS는 전 세계 다양한 지역에서 시스템을 구축할 수 있도록 지원하는 동시에 글로벌 고객에게 최소한의 지연 시간과 최고의 만족도를 제공합니다. 게다가 이 모든 것이 최소한의 비용으로 가능합니다.
다음으로 살펴볼 설계 원칙은 성능 효율성을 달성하기 위해 서버리스 아키텍처를 사용하는 것입니다. AWS에서는 컴퓨팅을 위해 기존 서버를 여러 대 보유해서 실행할 필요가 없습니다. 또한 AWS는 운영 부담을 제거하고 트랜잭션 비용을 줄여줍니다. 또 다른 설계 원칙은 더 자주 실험하는 것입니다. 가상화를 통해 테스트를 수행하여 효율성을 높일 수 있습니다.
마지막으로, 기계적 동조라는 원칙이 있습니다. 이 원칙은 달성하고자 하는 목표와 최적으로 부합되는 기술 접근 방식을 사용하도록 도와줍니다.
비용 최적화의 핵심 요소
이제 비용 최적화 핵심 요소에 대해 살펴보겠습니다. 여기에는 전체 라이프사이클 동안 시스템 개선을 위한 지속적인 프로세스가 포함됩니다. 이 핵심 요소는 비용 인식 시스템을 운영하고 투자 대비 수익(ROI)을 극대화하는 것을 목표로 합니다.
비용 최적화의 4가지 영역
비용 최적화 핵심 요소를 구성하는 4가지 영역에는 비용 효율적인 리소스, 수요에 공급 맞추기, 지출 인식, 그리고 시간에 따른 최적화가 있습니다.
효율적인 비용 대비 리소스
완벽하게 비용 최적화된 시스템은 최소한의 비용으로 최고의 성과를 달성하기 위해 모든 리소스를 활용하는 동시에 기능 요구 사항을 충족할 수 있습니다. 여러분의 시스템이 적절한 서비스, 리소스 및 구성을 사용하도록 확실히 보장하는 것은 비용 절감의 중요한 요소 중 하나입니다. 사용자로서 여러분은 요구에 부합하는 최고의 아키텍처를 확보하기 위해 프로비저닝, 크기 조정, 구매 옵션 등 세부 사항에 중점을 두고 싶어합니다.
수요에 맞춘 공급
비용 최적화의 또 다른 구성 요소는 수요에 공급을 맞추는 것입니다. AWS에서는 변하는 수요에 맞춰 클라우드 아키텍처의 탄력성을 활용할 수 있습니다. 자동 확장이 가능할 뿐만 아니라 수요 변화에 따라 공급을 조정하도록 통보를 받습니다.
지출 인식
그 다음으로, 지출 인식이 있습니다. 비즈니스에서 어떤 소비 및 비용 동인이 발생하는지 확실히 파악하고 있는 것이 중요합니다. 현재 비용을 확인, 이해 및 분석하고 이에 따라 향후 비용을 예측할 수 있어야 AWS에서 아키텍처의 비용 최적화를 개선할 수 있습니다.
시간에 따른 최적화
마지막으로, AWS에서는 시간에 따라 최적화할 수 있습니다. 모든 도구와 다양한 접근 방식을 통해 AWS 플랫폼에서 수집한 데이터를 기반으로 아키텍처를 측정, 모니터링 및 개선할 수 있습니다.
비용 최적화의 설계 원칙
이제 비용 최적화 설계 원칙에 대해 살펴보겠습니다.
첫 번째 원칙은 소비 모델을 도입하는 것입니다. 소비 모델을 채택할 경우 사용한 컴퓨팅 리소스에 대해서만 지불하고 비즈니스 요구에 따라 늘리거나 줄여나갈 수 있습니다.
다음으로 살펴볼 원칙은 전반적인 효율성을 측정하는 것입니다. 시스템의 사업 성과 및 성과를 도출하기까지 발생한 비용을 측정하는 것이 중요합니다. 이러한 측정은 성과 증가 및 비용 절감을 통해 어떻게 이익을 얻을 수 있는지 파악하는 데 있어 효과적입니다.
다음으로 살펴볼 설계 원칙은 물리적 데이터 센터 운영에 드는 비용 지출을 막을 수 있도록 도와줍니다. AWS를 사용하면 서버를 랙에 설치하고, 쌓아 올리고, 서버에 전원을 공급하는 등의 업무를 수행할 필요가 없습니다. AWS는 IT 인프라 대신 고객과 비즈니스 프로젝트에 완전히 집중할 수 있도록 이러한 부담을 덜어줍니다.
다음으로 살펴볼 설계 원칙은 지출 분석 및 속성화입니다. 클라우드에서는 시스템 사용과 비용을 정확하게 파악하는 것이 더 간편하고 용이합니다. 고객은 투자 수익을 측정하여 리소스를 최적화하고 비용을 절감할 수 있는 기회를 얻을 수 있습니다.
마지막으로 제안 드리고 싶은 권장사항은 소유 비용을 줄이기 위해 관리형 서비스 사용하는 것입니다. 클라우드는 이메일 전송이나 데이터베이스 관리 등의 작업을 처리하는 데 있어 여러 서버를 운영하는 것에 따른 부담을 완화하기 위해 다양한 관리형 서비스를 제공합니다. 이 모든 것이 클라우드 규모에서 수행되므로 AWS는 트랜잭션 또는 서버 당 더 적은 비용을 제공할 수 있습니다.
운영 우수성 핵심 요소
다음 핵심 요소는 운영 우수성입니다. 운영 우수성은 프로세스 및 절차를 지속적으로 개선하는 데 있어 최고의 비즈니스 가치를 제공하기 위해 시스템 실행 및 모니터링에 중점을 둡니다. 운영 우수성을 지원하는 주요 개념에는 일상적인 운영을 성공적으로 관리하기 위한 변경 관리 및 자동화, 이벤트 대응, 표준 정의가 있습니다. 운영 우수성에 대한 추가 정보는 곧 선보일 백서에서 자세히 다룰 계획입니다.
요약
이제 오늘 논의한 사항에 대해 살펴보겠습니다. AWS Well-Architected 프레임워크는 고객이 아키텍처를 평가하고 개선하도록 돕고 설계 결정이 비즈니스에 어떻게 영향을 미치는지 더 잘 파악할 수 있도록 지원하기 위해 개발되었습니다.
지금까지 AWS Well-Architected 프레임워크를 구성하는 5가지 핵심 요소, 즉 보안, 안정성, 성능 효율성, 비용 최적화, 그리고 운영 우수성에 대해 살펴봤습니다.