[고지 사항 (Disclaimer) ]
본 컨텐츠는 고객의 편의를 위하여 AWS 서비스 설명을 위해 제작, 제공된 것입니다. 만약 AWS 사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우 AWS 사이트 (AWS.amazon.com)가 우선합니다. 또한 AWS 사이트 상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다.
본 문서는 Performance Efficiency Pillar AWS Well-Architected Framework 내용에 기반하여 작성 되었습니다.
이 문서는 정보 제공의 목적으로만 제공됩니다. 본 문서의 발행일 당시 AWS의 현재 제품 오퍼링 및 실행방법 등을 설명하며, 예고 없이 변경될 수 있습니다. 고객은 본 문서에 포함된 정보나 AWS 제품 또는 서비스의 사용을 독립적으로 평가할 책임이 있으며, 각 정보 및 제품은 명시적이든 묵시적이든 어떠한 종류의 보증 없이 “있는 그대로” 제공됩니다. 본 문서는 AWS, 그 자회사, 공급업체 또는 라이선스 제공자로부터 어떠한 보증, 표현, 계약 약속, 조건 또는 보장을 구성하지 않습니다. 고객에 대한 AWS의 책임 및 의무는 AWS 계약에 의해 관리되며 본 문서는 AWS와 고객 사이의 어떠한 계약에도 속하지 않으며 계약을 변경하지도 않습니다.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
요약
이 백서에서는 Amazon Web Services (AWS) Well-Architected Framework의 운영 우수성에 중점을 둡니다. AWS 환경의 설계, 제공 및 유지 관리에 모범 사례를 적용하는 데 도움이 되는 지침을 제공합니다.
소개
AWS Well-Architected Framework는 AWS에서 시스템을 구축 할 때 내린 결정의 장단점을 이해하는 데 도움이 됩니다. 프레임 워크를 사용하면 클라우드에서 안정적이고 안전하며 효율적이며 비용 효율적인 시스템을 설계하고 운영하기위한 아키텍처 모범 사례를 배울 수 있습니다. 모범 사례를 기준으로 아키텍처를 일관되게 측정하고 개선 영역을 식별 할 수 있는 방법을 제공합니다. 잘 설계된 시스템을 보유하면 비즈니스 성공 가능성이 크게 높아진다고 생각합니다.
프레임 워크는 5 개를 기반으로 합니다.
- 운영 탁월성
- 보안
- 신뢰성
- 성능 효율성
- 비용 최적화
이 백서는 운영 탁월성 기둥과 이를 잘 설계된 솔루션의 기초로 적용하는 방법에 중점을 둡니다. 운영 탁월성은 운영이 지원하는 비즈니스 및 개발팀과 분리되어 있고 기능으로 인식되는 전통적인 온-프레미스 환경에서 달성하기가 어렵습니다. 이 백서의 사례를 채택하면 상태에 대한 통찰력을 제공하고 효과적이고 효율적인 운영 및 이벤트 응답을 지원하며 비즈니스 목표를 지속적으로 개선하고 지원할 수 있는 아키텍처를 구축 할 수 있습니다.
이 백서는 CTO (Chief Technology Officer), 설계자, 개발자 및 운영팀 구성원과 같은 기술 역할을 담당하는 사람들을 위해 작성 되었습니다. 이 백서를 읽은 후 탁월한 운영을 위해 클라우드 아키텍처를 설계 할 때 사용하는 Amazon Web Services (AWS) 모범 사례와 전략을 이해하게 됩니다. 이 백서에서는 구현 세부 사항 또는 아키텍처 패턴을 제공하지 않습니다. 그러나 이 정보에 대한 적절한 리소스에 대한 참조는 포함되어 있습니다.
운영 탁월성
운영 우수성에는 비즈니스 가치를 제공하고 지원 프로세스 및 절차를 지속적으로 개선하기 위해 시스템을 실행하고 운영에 대한 통찰력을 얻는 기능이 포함됩니다.
설계 원칙
클라우드에서 탁월한 운영을위한 6 가지 설계 원칙이 있습니다.
- 코드로 작업을 수행 : 클라우드에서는 애플리케이션 코드에 사용하는 것과 동일한 엔지니어링 원칙을 전체 환경에 적용 할 수 있습니다. 전체 워크로드 (애플리케이션, 인프라 등)를 코드로 정의하고 코드로 업데이트 할 수 있습니다. 이벤트에 대한 응답으로 작업 프로 시저를 트리거하여 작업 프로 시저를 스크립팅하고 실행을 자동화 할 수 있습니다. 코드로 작업을 수행하면 인적 오류를 제한하고 이벤트에 일관된 응답을 수행 할 수 있습니다.
- 주석이 달린 문서 : 온-프레미스 환경에서 문서는 수동으로 작성되어 사람이 사용하며 변경 속도와 동기화하기가 어렵습니다. 클라우드에서는 모든 빌드 후 주석이 달린 문서 작성을 자동화 할 수 있습니다 (또는 직접 제작 한 문서에 자동으로 주석을 달 수 있습니다). 사람과 시스템은 주석이 달린 문서를 사용할 수 있습니다. 조작 코드의 입력으로 주석을 사용하십시오.
- 자주, 작고 가변적인 변경을 수행 : 구성 요소를 정기적으로 업데이트 할 수 있도록 워크로드를 설계하여 워크로드에 대한 유용한 변경 흐름을 증가시킵니다. 환경에 도입 된 문제를 식별하고 해결하는데 도움이 되지 않으면 가능한 한 고객에게 영향을 미치지 않으면서 되돌릴 수 있는 작은 단위로 변경하십시오.
- 운영 절차를 자주 수정 : 운영 절차를 사용할 때 개선 할 기회를 찾으십시오. 워크로드를 발전시키면서 절차를 적절히 발전 시키십시오. 정기적으로 게임 데이를 설정하여 모든 절차가 효과적이며 팀이 익숙한 지 검토하고 확인하십시오.
- 예상 실패 : “예행 연습”실습을 수행하여 잠재적인 실패 원인을 파악하여 제거하거나 완화 할 수 있습니다.
실패 시나리오를 테스트하고 그 영향에 대한 이해를 검증하십시오. 응답 절차를 테스트하여 효과적이고 팀이 실행에 익숙한지 확인하십시오. 시뮬레이션 된 이벤트에 대한 작업량 및 팀 응답을 테스트하기 위해 정기적인 게임 데이를 설정하십시오.
- 모든 운영 실패에서 학습 : 모든 운영 이벤트 및 장애로부터 얻은 교훈을 통해 개선을 유도하십시오. 팀과 조직 전체에서 배운 내용을 공유하십시오.
정의
클라우드의 운영 탁월성은 다음과 같은 세 가지 영역으로 구성됩니다.
- 준비
- 운영
- 개선
운영 팀은 비즈니스 결과를 효과적으로 지원하기 위해 비즈니스 및 고객 요구를 이해해야 합니다. 운영은 운영 이벤트에 대응하기 위한 절차를 생성하고 사용하며 비즈니스 요구를 지원하기 위해 효율성을 검증합니다. 운영은 원하는 비즈니스 성과 달성을 측정하는 데 사용되는 메트릭을 수집합니다. 비즈니스 상황, 비즈니스 우선 순위, 고객 요구 사항 등 모든 것이 지속적으로 변화하므로 변화를 통해 성과를 통해 얻은 교훈과 변화에 대응하여 시간이 지남에 따라 진화를 지원하도록 운영을 설계하는 것이 중요합니다.
준비
운영 탁월성을 준비하려면 작업량과 예상되는 동작을 이해해야 합니다. 그런 다음 자신의 상태에 대한 통찰력을 제공하고 이를 지원하기 위한 절차를 구축 할 수 있습니다.
운영 탁월성을 높이려면 다음 사항을 고려해야합니다.
- 운영 우선 순위
- 운영을 위한 디자인
- 운영 준비
운영 우선 순위
비즈니스 성공을 위한 우선 순위를 설정하려면 팀 전체의 작업량, 역할 및 비즈니스 목표를 공유해야 합니다. 또한 우선 순위에 영향을 줄 수 있는 외부 규제 및 규정 준수 요구 사항도 고려해야 합니다. 우선 순위를 사용하여 팀 기술 개발, 작업 부하 성능 향상, Runbook 자동화 또는 모니터링 향상과 같이 가장 큰 영향을 줄 수 있는 운영 개선 노력에 집중하십시오. 필요에 따라 우선 순위를 업데이트하십시오.
AWS는 팀과 AWS 및 서비스에 대한 교육을 통해 운영 선택이 워크로드에 미치는 영향에 대한 이해를 높일 수 있습니다.
팀을 교육하려면 AWS Support (AWS Knowledge Center, AWS 토론 양식 및 AWS Support Center) 및 AWS 설명서에서 제공하는 리소스를 사용해야 합니다. AWS 질문에 대한 도움을 받으려면 AWS 지원 센터를 통해 AWS Support에 문의하십시오.
조직에 적용되는 외부 규정 또는 규정 준수 요구 사항이있는 경우 팀을 교육하여 운영 우선 순위에 미치는 영향을 고려할 수 있도록 AWS Cloud Compliance에서 제공하는 리소스를 사용해야합니다.
AWS Trusted Advisor는 우선 순위를 결정하는 데 도움이 되는 환경 최적화를 권장하는 핵심 점검 세트에 대한 액세스를 제공하는 도구입니다. 비즈니스 및 엔터프라이즈 지원 고객은 보안, 안정성, 성능 및 비용 최적화에 중점을 둔 추가 검사를 통해 우선 순위를 더욱 구체화 할 수 있습니다. 엔터프라이즈 지원 고객은 클라우드 운영 방식의 차이를 식별 할 수 있도록 설계된 클라우드 운영 검토를 받을 수 있습니다. 또한 AWS 모범 사례에 대한 아키텍처를 측정하기 위해 미션 크리티컬 워크로드에 대한 아키텍처를 잘 검토 할 수 있습니다. 이러한 검토를 팀 간 참여하면 작업에 대한 일반적인 이해와 팀 역할이 성공에 어떻게 기여하는지 알 수 있습니다. 검토를 통해 식별 된 요구 사항은 우선 순위를 결정하는 데 도움이 될 수 있습니다.
특정 시점에서 운영 우선 순위의 작은 부분 집합을 강조하고자 할 수 있습니다. 필요한 기능을 개발하고 위험을 관리하려면 장기적으로 균형 잡힌 접근 방식을 사용하십시오.
주요 AWS 서비스
운영 우선 순위 정의를 지원하는 주요 AWS 서비스는 AWS Support입니다. AWS에서 목표를 정의하는 데 도움이되는 도구와 전문 지식의 조합을 제공합니다. 다음 서비스 및 기능도 중요합니다.
- AWS 클라우드 규정 준수를 통해 클라우드에서 보안 및 데이터 보호를 유지하기 위한 AWS의 강력한 제어 기능을 이해할 수 있습니다.
- AWS Trusted Advisor는 AWS 모범 사례에 따라 리소스를 프로비저닝 할 수 있도록 실시간 지침을 제공합니다.
- Business Support을 통해 AWS 모범 사례에 따라 리소스를 프로비저닝하기 위한 모든 Trusted Advisor 점검 및 지침에 액세스 할 수 있습니다.
- Enterprise Support은 고객은 지정된 기술 담당자로서 모범 사례를 사용하여 솔루션을 계획 및 구축하고 AWS 환경을 능동적으로 건강하게 유지하는 데 도움이 되는 지침을 제공하는 TAM (Technical Account Manager)의 지원을 받습니다.
Resources
운영 우선 순위에 대한 AWS 모범 사례에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.
Documentation
- AWS Trusted Advisor
- AWS Cloud Compliance
- AWS Well Architected Framework
- AWS Business Support
- AWS Enterprise Support
- AWS Enterprise Support Entitlements
- AWS Support Cloud Operations Reviews
- AWS Cloud Adoption Framework
운영을 위한 디자인
워크로드 디자인에는 워크로드 배포, 업데이트 및 운영 방법이 포함되어야 합니다. 결함 감소 및 빠르고 안전한 수정에 맞는 엔지니어링 사례를 구현하려고 합니다. 아키텍처 내부에서 발생하는 상황을 이해하려면 로깅, 계측 및 통찰력 있는 비즈니스 및 기술 메트릭을 사용하여 관찰을 활성화해야 합니다.
AWS에서는 전체 워크로드 (애플리케이션, 인프라, 정책, 거버넌스 및 운영)를 코드로 볼 수 있습니다. 코드를 사용하여 정의하고 업데이트 할 수 있습니다. 즉, 응용 프로그램 코드에 사용하는 것과 동일한 엔지니어링 원칙을 스택의 모든 요소에 적용 할 수 있습니다.
인프라에 대한 버전 제어 템플릿을 생성하려면 AWS CloudFormation을 사용해야합니다. AWS Developer Tools (예 : AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeploy 및 AWS CodeStar)를 사용하여 CI / CD (Continuous Integration / Continuous Deployment) 파이프 라인을 설정해야 합니다. 결함을 조기에 감지하고 프로덕션 환경에서 결함을 안전하게 수정하거나 해결할 수 있는 방법을 채택하십시오. 운영이 추가 워크로드를 지원함에 따라 AWS CloudFormation 및 AWS Developer Tools의 아티팩트를 사용하여 설계 표준을 공유 할 수 있습니다. 작업 활동 (예 : 자원 소유자, 수명주기 단계 및 환경)에 대한 자원을 식별 할 수 있도록 태그를 사용하여 메타 데이터를 적용해야 합니다.
작업 부하를 운영 할 때는 발생한 상황을 파악하고 시스템의 내부 상태를 이해할 수 있도록 로깅 또는 기타 계측이 필요합니다. Amazon CloudWatch에서 로그를 캡처해야 합니다 (예 : AWS CloudTrail, AWS Lambda, Amazon VPC 흐름 로그). 사용자 정의 CloudWatch Events 및 Amazon CloudWatch Logs API를 사용하여 애플리케이션의 로그를 CloudWatch에 직접 주입해야합니다. 시스템 수준 로그의 경우 CloudWatch Logs 에이전트 및 AWS CLI를 사용하십시오. 이 로그 정보를 사용하여 CloudWatch 대시 보드 또는 타사 도구를 사용하여 시스템 전체에서 운영 상태를 확인할 수 있습니다.
시스템의 내부 상태를 관찰하려면 애플리케이션 코드가 CloudWatch를 사용하여 지표를 게시해야 합니다. 비즈니스 측정 항목과 기술 측정 항목을 게시하면 고객의 행동을 이해하는 데 도움이 됩니다. AWS는 AWS X-Ray를 사용하여 분산 애플리케이션의 실행을 추적 할 수 있으며, 이를 통해 애플리케이션을 통과 할 때 요청을 전체적으로 볼 수 있습니다.
워크로드를 계측 할 때 시간이 지남에 따라 가장 유용한 정보를 선택하도록 필터링 할 수 있다는 사실을 알고 상황 인식 (예 : 상태 변경, 사용자 활동, 권한 액세스, 사용 카운터)을 가능하게 하는 광범위한 정보를 캡처하십시오. 조직, 비용 회계, 액세스 제어 및 자동화 실행을 위한 리소스에 태그를 지정하십시오.
주요 AWS 서비스
운영 설계를 지원하는 주요 AWS 서비스는 Amazon CloudWatch이며, AWS Cloud 리소스 및 AWS에서 실행하는 애플리케이션을 모니터링 할 수 있습니다. 다음 서비스 및 기능도 중요합니다.
- AWS CloudFormation을 사용하면 인프라에 대한 버전 제어 표준 템플릿을 생성 할 수 있습니다.
- AWS Developer Tools는 소프트웨어를 빠르고 안전하게 제공 할 수 있는 일련의 서비스입니다.
- AWS X-Ray는 전체 애플리케이션을 통과하는 사용자 요청을 추적하여 분산 애플리케이션을 분석하고 디버깅 할 수 있습니다.
Resources
운영 설계를 위한 AWS 모범 사례에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.
Videos
- AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormation (DEV313)
- AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools (DEV201)
- AWS CodeStar: The Central Experience to Quickly Start Developing Applications on AWS
Documentation
- Getting Started With Amazon CloudWatch
- Store and Monitor OS & Application Log Files with Amazon CloudWatch
- High-Resolution Custom Metrics and Alarms for Amazon CloudWatch
- Monitoring AWS Health Events with Amazon CloudWatch Events
- AWS CloudFormation Documentation
- AWS Developer Tools
- Set Up a CI/CD Pipeline on AWS
- AWS X-Ray
- AWS Tagging Strategies
운영 준비
일관된 프로세스 (체크리스트 포함)를 사용하여 언제 워크로드를 시작할 준비가 되었는지 알아야합니다. 또한 해결 계획을 세우는 데 필요한 영역을 찾을 수 있습니다. 문제 해결을 위한 프로세스를 안내하는 일상적인 활동과 플레이 북을 설명하는 Runbook이 있습니다. AWS, 워크로드 및 운영 도구에 대한 교육을 통해 운영 활동 (통화 포함)을 처리 할 수 있는 충분한 팀원이 있어야 합니다. 거버넌스 프로세스를 사용하여 워크로드 시작에 대한 정확한 결정을 내려야합니다.
AWS를 사용하면 작업을 코드로 취급하여 Runbook 및 Playbook 활동을 스크립팅하여 인적 오류의 위험을 줄일 수 있습니다. 스크립트와 함께 리소스 태그를 사용하여 정의한 기준 (예 : 환경, 소유자, 역할 또는 버전)에 따라 선택적으로 실행할 수 있습니다. 스크립트 된 프로 시저를 사용하여 이벤트에 대한 응답으로 스크립트를 트리거하여 자동화를 사용할 수 있습니다. 운영 및 워크로드를 모두 코드로 처리하여 환경 평가를 스크립팅하고 자동화 할 수도 있습니다.
해결해야 할 영역을 식별하기 위해 절차, 실패 시나리오 및 응답의 성공 여부 (예 : 게임 일을 개최하고 실시간으로 테스트)를 테스트해야합니다. AWS에서 임시 병렬 환경을 생성하면 위험, 노력 및 실험 및 테스트 비용을 줄일 수 있습니다.
AWS Systems Manager Run Command, Systems Manager Automation을 사용하여 인스턴스에서 절차를 스크립팅하고 AWS Lambda를 사용하여 AWS 서비스 API 및 자체 사용자 정의 인터페이스에서 이벤트에 대한 응답을 스크립팅해야 합니다. CloudWatch Events를 사용하여 이러한 스크립트를 트리거하여 응답을 자동화하십시오. AWS Config를 사용하여 기준을 설정하고 AWS Config 규칙을 사용하여 구성을 확인하여 워크로드 구성 테스트를 자동화해야 합니다. 이러한 서비스는 워크로드가 모범 사례 및 표준과 일치하는지 판단하는데 도움이 됩니다.
팀이 워크로드를 성공적으로 운영하는 데 필요한 기술을 갖추고 있는지 확인하십시오. AWS는 AWS 리소스 센터, AWS 블로그, AWS Online Tech Talks 및 AWS Well-Architected Labs를 포함하여 여러 가지 리소스를 제공합니다. 이 리소스는 모두 팀을 교육하기위한 지침, 예제 및 연습을 제공합니다. 또한 AWS 교육 및 인증은 일부 온라인 교육을 제공합니다. 팀의 AWS 기술 개발을 지원하기 위해 강사 주도형 교육에 등록 할 수도 있습니다.
“예행 연습”을 사용하여 실패를 예상하고 적절한 경우 절차를 만듭니다. 워크로드를 평가하는 데 사용하는 체크리스트를 변경하는 경우 더 이상 준수하지 않는 라이브 시스템으로 수행 할 작업을 계획하십시오.
주요 AWS 서비스
운영 준비를 지원하는 주요 AWS 서비스는 AWS Lambda이며, 운영 절차를 환경 내 이벤트에 의해 트리거 될 수있는 코드로 정의 할 수 있습니다. 다음 서비스 및 기능도 중요합니다.
- AWS Config를 사용하면 배포 된 CloudFormation 스택의 변경 사항을 추적 할 수 있습니다. AWS Config 규칙을 사용하면 AWS 리소스가 모범 사례를 준수하는지 평가할 수 있습니다.
- AWS Systems Manager는 하이브리드 환경의 Amazon EC2 (Amazon Elastic Compute Cloud) 인스턴스 및 시스템에서 관리 작업을 자동화 할 수 있는 기능 모음입니다.
Resources
운영 준비를 위한 AWS 모범 사례에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.
Documentation
- AWS Lambda
- AWS Systems Manager
- AWS Config Rules — Dynamic Compliance Checking for Cloud Resources
- How to track configuration changes to CloudFormation stacks using AWS Config
- Amazon Inspector Update blog post
- AWS Events and Webinars
- AWS Training
- AWS Well-Architected Labs
운영
운영상의 성공은 사용자가 정의한 지표로 측정 한 결과의 달성입니다. 워크로드의 운영 상태를 이해하면 운영 이벤트의 영향을 받는 시기를 식별하고 적절하게 대응할 수 있습니다.
성공적으로 운영하려면 다음을 고려해야합니다.
- 운영 상태 이해
- 이벤트에 응답
운영 상태 이해
팀은 작업 부하의 운영 상태를 쉽게 이해할 수 있어야 합니다. 유용한 통찰력을 얻기 위해 운영 결과를 기반으로 하는 메트릭을 사용하려고 합니다. 이러한 메트릭을 사용하여 팀 구성원이 정보에 입각한 결정을 내리는데 도움이 되는 비즈니스 및 기술 관점이 있는 대시 보드를 구현해야 합니다.
AWS는 작업 상태 및 운영 로그를보다 쉽게 통합하고 분석하여 운영 상태를 파악하고 시간이 지남에 따라 운영에 대한 통찰력을 얻을 수 있도록합니다.
로그 데이터를 CloudWatch Logs로 전송하고 기본 지표를 정의하여 정상적인 작동 패턴을 설정해야 합니다. 지표의 시스템 및 비즈니스 수준 보기를 제공하는 CloudWatch 대시 보드를 생성하십시오.
CloudWatch Logs 로그 데이터를 Amazon Elasticsearch Service (Amazon ES)에 수집 한 다음 Kibana에 대한 기본 지원을 사용하여 운영 상태의 대시 보드 및 시각화 (예 : 주문율, 연결된 사용자 및 거래 시간)를 생성 할 수 있습니다. .
AWS 책임 분담 모델에서 모니터링의 일부는 AWS 서비스 상태 대시 보드 (SHD) 및 개인 상태 대시 보드 (PHD)를 통해 제공됩니다. 이 대시 보드는 AWS에 영향을 줄 수 있는 이벤트가 발생했을 때 경고 및 치료 지침을 제공합니다. Business 및 Enterprise Support 구독 고객은 PHD API에 액세스하여 이벤트 관리 시스템에 통합 할 수 있습니다.
또한 AWS는 AWS 서비스 API 및 SDK (예 : Grafana, Kibana 및 Logstash)를 통해 타사 로그 분석 시스템 및 비즈니스 인텔리전스 도구를 지원합니다.
주요 AWS 서비스
운영 상태를 이해하는 데 도움이되는 주요 AWS 서비스는 지표 및 대시 보드를 포함한 기능 세트를 통한 Amazon CloudWatch입니다. 다음 서비스 및 기능도 중요합니다.
- Amazon CloudWatch Logs를 사용하면 EC2 인스턴스, AWS CloudTrail 및 기타 소스의 로그를 모니터링하고 저장할 수 있습니다.
- Amazon ES를 사용하면 로그 분석 및 애플리케이션 모니터링을 위해 Elasticsearch를 쉽게 배포, 보호, 운영 및 확장 할 수 있습니다.
- Personal Health Dashboard는 AWS에 영향을 줄 수 있는 이벤트가 발생했을 때 경고 및 치료 지침을 제공합니다.
- Service Health Dashboard는 AWS 서비스 가용성에 대한 최신 정보를 제공합니다.
Resources
운영 상태를 이해하기위한 AWS 모범 사례에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.
Videos
- AWS re:Invent 2015: Log, Monitor and Analyze your IT with Amazon CloudWatch (DVO315)
- AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven (DEV301)
Documentation
- Store and Monitor OS & Application Log Files with Amazon CloudWatch
- New — API & CloudFormation Support for Amazon CloudWatch Dashboards
- AWS Answers: Centralized Logging
이벤트에 응답
계획된 (예 : 판매 촉진, 배포 및 실패 테스트), 계획되지 않은 (예 : 사용률 상승 및 구성 요소 실패) 운영 이벤트를 예상해야 합니다. 경고에 응답 할 때 기존 런북과 플레이 북을 사용하여 일관된 결과를 제공해야 합니다. 정의 된 경고는 응답 및 에스컬레이션을 담당하는 역할 또는 팀이 소유해야 합니다. 또한 시스템 구성 요소가 비즈니스에 미치는 영향을 알고 필요할 때이를 목표로 사용하기를 원할 것입니다. 이벤트 후 근본 원인 분석 (RCA)을 수행 한 다음 실패의 재발 또는 문서 해결 방법을 방지해야 합니다.
AWS는 워크로드 및 운영의 모든 측면을 코드로 지원하는 도구를 제공하여 이벤트 응답을 간소화합니다. 이 도구를 사용하면 작업 이벤트에 대한 응답을 스크립팅하고 모니터링 데이터에 대한 응답으로 실행을 트리거 할 수 있습니다. AWS에서는 고장난 구성 요소를 복구하려고 하지 않고 알려진 정상 버전으로 교체하여 복구 시간을 향상시킬 수 있습니다. 그런 다음 실패한 자원을 대역 외에서 분석 할 수 있습니다.
AWS에서 Runbook 및 Playbook 작업의 실행을 자동화하는 여러 가지 방법이 있습니다. AWS 리소스의 상태 변경 또는 자체 사용자 지정 이벤트로 인한 이벤트에 응답하려면 CloudWatch 대상 (예 : Lambda 함수, Amazon Simple Notification Service (Amazon SNS) 주제, Amazon EC2를 통해 응답을 트리거하는 CloudWatch 규칙을 생성해야 합니다. 컨테이너 서비스 (Amazon ECS) 작업 및 AWS Systems Manager Automation). 리소스의 임계 값을 초과하는 지표 (예 : 대기 시간)에 응답하려면 Amazon EC2 작업, Auto Scaling 작업을 사용하여 하나 이상의 작업을 수행하거나 Amazon SNS 주제에 알림을 보내도록 CloudWatch 경보를 생성해야 합니다. 경보에 대한 응답으로 사용자 지정 작업을 수행해야하는 경우 Amazon SNS 알림을 통해 Lambda를 호출하십시오. Amazon SNS를 사용하여 이벤트 알림 및 에스컬레이션 메시지를 게시하여 사람들에게 정보를 제공하십시오.
AWS는 또한 AWS 서비스 API 및 SDK를 통해 타사 시스템을 지원합니다. 파트너, 타사에서 제공하는 모니터링, 알림 및 응답을위한 여러 도구가 있습니다. 이러한 도구 중 일부는 New Relic, Splunk, Loggly, SumoLogic 및 Datadog입니다.
행동을 취하기 전에 언제 인간의 결정이 필요한지 알아야 합니다. 가능하면 조치를 취하기 전에 결정을 내리십시오. 자동화 된 절차가 실패 할 경우 중요한 수동 절차를 사용할 수 있도록 유지해야합니다.
주요 AWS 서비스
이벤트에 대한 응답을 자동화하는 데 도움이 되는 주요 AWS 서비스는 AWS Lambda이며, 운영 절차를 환경 내 이벤트에 의해 트리거 될 수 있는 코드로 정의 할 수 있습니다. 다음 서비스 및 기능도 중요합니다.
다음 서비스 및 기능도 중요합니다.
- Amazon CloudWatch는 로그 및 지표 수집에 사용됩니다. 트리거 된 응답 실행을 활성화합니다.
- Amazon CloudWatch Events는 자동화 된 응답을 트리거하기 위해 정의한 규칙과 일치 할 수있는 거의 실시간 시스템 이벤트 스트림을 제공합니다.
- Amazon SNS는 가입 엔드 포인트 및 클라이언트에 메시지 전달을 조정하기위한 유연하고 완벽하게 관리되는 게시 구독 메시징 및 모바일 알림 서비스입니다. 알람에 대한 응답으로 Lambda 함수를 호출 할 수 있습니다.
- Auto Scaling을 사용하면 애플리케이션 가용성을 유지하고 정의한 조건에 따라 Amazon EC2 용량을 동적으로 자동으로 늘리거나 줄일 수 있습니다.
- AWS Systems Manager는 하이브리드 환경의 EC2 인스턴스 및 시스템에서 관리 작업을 자동화 할 수있는 기능 모음입니다.
Resources
이벤트 대응을위한 AWS 모범 사례에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.
Video
Documentation
- What is Amazon CloudWatch Events?
- How to Automatically Tag Amazon EC2 Resources in Response to API Events
- Amazon EC2 Systems Manager Automation is now an Amazon CloudWatch Events Target
- EC2 Run Command is Now a CloudWatch Events Target
- Automate remediation actions for Amazon EC2 notifications and beyond using EC2 Systems Manager Automation and AWS Health
- New — High-Resolution Custom Metrics and Alarms for Amazon CloudWatch
개선
개선은 시간이 지남에 따라 지속적인 개선주기 입니다. 운영 활동에서 배운 교훈을 바탕으로 빈번한 작은 증분 변경을 구현하십시오.
시간이 지남에 따라 운영을 발전 시키려면 다음을 고려해야합니다.
- 경험을 통한 학습
- 학습 공유
경험으로부터 학습
운영 활동 분석, 실패 분석, 실험 및 개선을 위한 시간을 정기적으로 제공해야 합니다. 문제가 발생하면 팀과 대규모 엔지니어링 커뮤니티가 이러한 실패를 배워야 합니다. 학습 한 교훈을 식별하고 개선을 계획하기 위해 실패를 분석해야 합니다. 다른 팀과 배운 교훈을 정기적으로 검토하여 통찰력을 검증 할 수 있습니다.
AWS에서는 모든 운영 활동, 워크로드 및 인프라의 로그를 집계하여 자세한 활동 기록을 만들 수 있습니다. 그런 다음 AWS 도구를 사용하여 시간 경과에 따른 작업을 분석하여 (예 : 추세를 식별하고, 이벤트와 활동을 결과와 연관 시키며, 환경과 시스템 간 비교 및 대조) 개선 기회를 공개 할 수 있습니다.
AWS에서는 임시 환경 복제본을 생성하여 위험, 노력 및 실험 및 테스트 비용을 낮출 수 있습니다. 이러한 복제 된 환경을 사용하여 분석 결과를 테스트하고 계획된 개선 사항을 개발 및 테스트 할 수 있습니다.
CloudTrail을 사용하여 (AWS Management Console, CLI, SDK 및 API를 통해) API 활동을 추적하여 계정에서 발생하는 상황을 알아야합니다. CloudTrail 및 CloudWatch를 사용하여 AWS 개발자 도구 배포 활동을 추적하십시오. 그러면 배포에 대한 자세한 활동 기록과 결과가 CloudWatch Logs 로그 데이터에 추가됩니다.
또한 CloudWatch Logs 로그 데이터를 Amazon ES로 수집 한 다음 Kibana에 대한 기본 지원 기능을 사용하여 시각화를 생성하고 시간이 지남에 따라 작업에 대한 소급 분석을 수행해야합니다.
또는 CloudWatch 데이터를 Amazon Simple Storage Service (Amazon S3)로 내보내고 Amazon Athena로 분석 한 다음 Amazon QuickSight를 사용하여 분석을 수행하고 시각화를 생성하고 통찰력을 얻을 수 있습니다.
또한 AWS는 AWS 서비스 API 및 SDK (예 : Grafana, Kibana 및 Logstash)를 통해 타사 로그 분석 시스템 및 비즈니스 인텔리전스 도구를 지원합니다.
비즈니스, 개발자 및 기타 운영 팀을 참여시켜 팀 간 검토를 수행하여 통찰력을 논의 및 검증하고 개선 영역을 식별하십시오. 모든 환경 (예 : 개발, 테스트 및 프로덕션)에서 개선 할 수 있는 기회를 찾으십시오.
주요 AWS 서비스
경험을 통해 배우는 데 도움이 되는 주요 AWS 서비스는 Amazon ES이며, 이를 통해 로그 데이터를 분석하여 신속하고 안전하게 실행 가능한 통찰력을 얻을 수 있습니다. 다음 서비스 및 기능도 중요합니다.
- Amazon QuickSight는 시각화를 쉽게 구축하고 임시 분석을 수행하며 데이터를 신속하게 파악할 수있는 비즈니스 분석 서비스입니다.
- Amazon Athena는 서버리스 대화식 쿼리 서비스로 Amazon S3의 데이터를 쉽게 분석 할 수 있습니다.
- Amazon S3는 로그 수집 및 보관 보존에 사용할 수 있습니다.
- Amazon CloudWatch는 로그 및 지표 수집 및 대시 보드 생성에 사용됩니다.
Resources
경험을 통한 학습을 위한 AWS 모범 사례에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.
Video
Documentation
- View AWS CodeDeploy logs in Amazon CloudWatch console
- Analyzing VPC Flow Logs with Amazon Kinesis Firehose, Amazon Athena, and Amazon QuickSight
학습 공유
조직 전체의 혜택을 높이기 위해 팀이 배운 내용을 공유해야 합니다. 피할 수 없는 오류를 방지하고 개발 노력을 쉽게 하기 위해 정보와 리소스를 공유하려고 합니다. 이를 통해 기능 제공에 집중할 수 있습니다.
AWS에서 코드 방법론을 사용하여 애플리케이션, 컴퓨팅, 인프라 및 운영을 정의하고 관리 할 수 있습니다. 이를 통해 손쉬운 릴리스, 공유 및 채택이 가능합니다. 많은 AWS 서비스 및 리소스는 여러 계정에서 공유되도록 설계되어 팀간에 제품 및 학습 내용을 공유 할 수 있습니다.
AWS Identity and Access Management (IAM)를 사용하여 계정 내에서 또는 계정간에 공유하려는 리소스에 대한 액세스를 제어 할 수있는 권한을 정의하십시오. 그런 다음 버전 제어식 AWS CodeCommit 리포지토리를 사용하여 애플리케이션 라이브러리, 스크립팅 된 절차, 절차 설명서 및 기타 시스템 설명서를 공유해야합니다. AMI에 대한 액세스 권한을 공유하고 여러 계정에서 Lambda 함수 사용을 승인함으로써 컴퓨팅 표준을 공유하십시오. 또한 인프라 표준을 CloudFormation 템플릿으로 공유해야합니다. 새 리소스 또는 업데이트를 게시 할 때 Amazon SNS를 사용하여 알림을 게시하십시오. 가입자는 Lambda를 사용하여 새 버전을 얻을 수 있습니다.
AWS API 및 SDK를 통해 외부 및 타사 도구 및 리포지토리 (예 : GitHub, BitBucket 및 SourceForge)를 통합 할 수 있습니다.
학습하고 개발 한 내용을 공유 할 때는 공유 저장소의 무결성을 보장 할 수 있는 권한을 구성해야 합니다.
주요 AWS 서비스
학습 학습을 지원하는 주요 AWS 서비스는 AWS IAM으로, 계정 내 및 계정 간 리소스 공유를 관리 할 수 있습니다. 다음 서비스 및 기능도 중요합니다.
- Amazon SNS를 사용하면 구독자에게 리소스 게시를 이벤트 기반으로 통지 할 수 있습니다.
- AWS CodeCommit은 운영을위한 버전 제어 리포지토리를 IAM을 통해 공유 할 수있는 코드로 제공합니다.
- AWS Lambda를 통해 운영 절차를 여러 계정에서 공유 할 수 있는 코드로 정의 할 수 있습니다.
- AWS CloudFormation을 사용하면 인프라에 대한 버전 제어 표준 템플릿을 생성 할 수 있습니다.
- Amazon 머신 이미지 (AMI)는 EC2 컴퓨팅 환경을 위해 사전 정의 된 운영 체제 템플릿입니다.
Resources
학습 공유를위한 AWS 모범 사례에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.
Video
Documentation
- Share an AWS CodeCommit Repository
- Easy Authorization of AWS Lambda Functions
- Sharing an AMI with Specific AWS Accounts
- Speed Template Sharing with an AWS CloudFormation Designer URL
- Using AWS Lambda with Amazon SNS
결론
운영 탁월성은 지속적인 노력입니다. 모든 운영 이벤트 및 장애는 아키텍처 운영을 개선 할 수 있는 기회로 취급해야 합니다. 작업의 요구 사항을 이해하고, 일상 활동을 위한 Runbook을 미리 정의하고, 문제 해결을 안내하기 위한 플레이 북을 정의하고, AWS의 작업을 AWS의 코드 기능으로 사용하고, 상황 인식을 유지함으로써, 이벤트가 발생할 때 작업이 준비되고 반응합니다. 운영 우선 순위를 기반으로 점진적 개선 및 이벤트 응답 및 소급 분석을 통해 얻은 교훈에 중점을 두어 운영의 효율성과 효과를 높여 비즈니스 성공을 가능하게 합니다.
AWS는 응답 속도와 적응성이 뛰어난 배포를 구축하면서 효율성을 극대화하는 아키텍처를 구축하고 운영 할 수 있도록 노력하고 있습니다. 워크로드가 실제로 운영 탁월성을 높이려면이 백서에서 설명한 모범 사례를 사용해야합니다.
AWS는 IT 인프라 비용을 절감하고 기업의 핵심가치에 더욱 집중할 수 있도록 합니다.
AWS에 대한 자세한 문의사항은 여기를 눌러 주세요.
빌드업웍스는 AWS 컨설팅 파트너로 고객 비즈니스를 최우선으로 하며 고객의 클라우드의 성공적인 시작과 운영을 지원합니다.