[AWS SAA 준비] 관리 및 거버넌스

Kogoon·2022년 5월 17일
0

혼자 공부...

관리 및 거버넌스

Management & Governance

Amazon CloudWatch

  Amazon CloudWatch는 AWS 클라우드 리소스와 AWS에서 실행되는 애플리케이션을 위한 모니터링 서비스입니다. Amazon CloudWatch를 사용하여 지표를 수집 및 추적하고 로그 파일을 수집 및 모니터링하고 경보를 설정할 수 있습니다. Amazon CloudWatch는 Amazon EC2 인스턴스, Amazon DynamoDB 테이블, Amazon RDS DB 인스턴스 같은 AWS 리소스뿐만 아니라 애플리케이션과 서비스에서 생성된 사용자 정의 지표 및 애플리케이션에서 생성된 모든 로그 파일을 모니터링할 수 있습니다. Amazon CloudWatch를 사용하여 시스템 전반의 리소스 사용률, 애플리케이션 성능, 운영 상태를 파악할 수 있습니다. 이러한 분석 정보를 사용하여 문제에 적절히 대응하고 애플리케이션 실행을 원활하게 유지할 수 있습니다.

  모니터링을 시작하려면, 내장된 AWS 모범 사례와 함께 자동 대시보드를 사용하여 지표 및 경보에 대한 계정 및 리소스 기반의 보기를 탐색하고, 쉽게 세부 정보를 드릴다운하여 성능 문제의 원인을 파악할 수 있습니다.

  • CloudWatch는 지표 수집 및 추적, 로그 파일 수집 및 모니터링, EC2, ALB, S3, Lambda, DynamoDB, RDS 등과 같은 AWS 리소스의 경보를 설정하는 데 사용됩니다.
  • 기본적으로 CloudWatch는 표준 1분 해상도로 지표를 집계하고 저장합니다. 최대 고해상도를 1초로 설정할 수 있습니다.
  • CloudWatch 대시보드에는 다양한 AWS 계정 및 리전의 그래프가 포함될 수 있습니다.
  • CloudWatch에는 CPU 사용률 %, 네트워크 사용률 및 디스크 읽기/쓰기와 같은 EC2 인스턴스 지표가 있습니다. 메모리 사용률, 디스크 공간 사용률, SwapUtilization 등에 대한 사용자 지정 메트릭을 설정해야 합니다.
  • CloudWatch에서 사용자 지정 지표 및 로그를 수집하려면 EC2에 CloudWatch Logs 에이전트를 설치해야 합니다.
  • CloudWatch Alarm를 기반으로 EC2 인스턴스를 종료하거나 복구할 수 있습니다.
  • CloudWatch Events를 사용하여 크론 작업을 예약할 수 있습니다.
  • 모든 AWS 서비스는, Cloudwatch log의 아래 작업에 액세스 할 수 있어야 합니다. log:CreateLogGroup, log:CreateLogStream, log:PutLogEvents

AWS CloudTrail

 AWS CloudTrail은 사용자 활동 및 API 사용을 추적하여 감사, 보안 모니터링 및 운영 문제 해결을 지원합니다. CloudTrail은 AWS 인프라 전체에서 작업과 관련된 계정 활동을 로그하고 지속적으로 모니터링하고 보존하여 스토리지, 분석 및 해결 작업을 제어할 수 있도록 합니다.

  • CloudTrail은 AWS 인프라 전반에서 모든 사용자, AWS 서비스, CLI 또는 SDK가 수행한 모든 작업에 대한 감사 및 이벤트 기록을 제공합니다.
  • CloudTrail은 기본적으로 모든 리전에 대해 활성화(적용)됩니다.
  • CloudTrail Log를 CloudWatch Logs 또는 S3 버킷으로 보낼 수 있습니다.
  • 사용 사례 : 아무도 모르게 AWS에서 리소스가 삭제된 경우 CloudTrail을 확인하십시오.

CloudTrail 장점?

 CloudTrail은 규정 준수를 입중하고, 보안 태세를 개선하며, 리전 및 계정 전체의 활동 레코드를 통합하는 데 도움이 됩니다. CloudTrail은 사용자 계정에서 이루어진 작업을 기록함으로써 사용자 활동에 대한 가시성을 제공합니다. CloudTrail은 요청한 사람, 사용된 서비스, 수행된 작업, 작업의 파라미터, AWS 서비스에서 반환한 대응 요소를 비롯하여, 각 작업에 대한 중요 정보를 기록합니다. 이러한 정보는 AWS 리소스에 이루어진 변경 사항을 추적하고 운영 관련 문제를 해결하는 데 도움이 됩니다. CloudTrail은 내부 정책 및 규제 표준을 쉽게 준수하도록 해줍니다.

AWS CloudFormation

  AWS CloudFormation은 개발자와 기업이 손쉽게 관련 AWS 및 서드 파티 리소스의 모음을 쉽게 생성하고 순서에 따라 예측 가능한 방식으로 프로비저닝 및 관리할 수 있는 방법을 제공하는 서비스입니다.

  CloudFormation을 통해서 개발자는 특정 리소스 API의 복잡성을 해소하는 단순한 선언적인 스타일로 컴퓨팅, 데이터베이스를 비롯해 그 밖의 많은 리소스를 배포하고 업데이트 할 수 있습니다. AWS CloudFormation은 리소스 수명 주기를 예측 가능한 방식으로 반복해서 안전하게 관리할 수 있게 해 줄 뿐 아니라, 자동 롤백, 자동 상태 관리 그리고 계정 및 리전 전반에 걸친 리소스 관리를 지원합니다. 최근에 향상된 기능 및 추가된 옵션을 통해 다양한 방법으로 리소스를 생성할 수 있게 되었는데, 여기에는 상위 수준 언어 코딩을 위한 AWS CDK 개선, 기존 리소스 가져오기, 구성 편차 감지 그리고 CloudFormation의 많은 핵심적인 이점을 그대로 상속받는 사용자 지정 유형을 더 쉽게 생성할 수 있게 해주는 새로운 Registry가 포함됩니다.

  • 코드형 인프라(IaC), 텍스트(.yaml)파일에서 전체 인프라의 모델링, 프로비저닝 및 버전 관리 활성화.
  • CloudFormation 템플릿을 JSON 또는 YAML 파일로 사용하여 리소스 스택 생성, 업데이트 또는 삭제.
  • CloudFormation 템플릿에는 다음 구성 요소가 있습니다.
    1. 리소스: 템플릿에 선언된 AWS 리소스(필수)
    2. 매개변수: 스택 생성 시 템플릿에 전달할 입력 값
    3. 매핑: 템플릿의 정적 변수
    4. Outputs: 스택 생성 후 보고 싶은 출력, 예를 들어 VPC 연결 후 ElasticIP 주소 반환, 스택 생성 후 ELB의 DNS 반환.
    5. 조건부: 리소스 생성을 수행하기 위한 조건 목록
    6. 메타데이터
    7. 템플릿 도우미: 참조 및 함수
  • DependsON 속성이 특정 리소스의 생성이 다른 리소스의 생성을 따르게 지정하도록 허용합니다.
  • 템플릿의 리소스에 대해 DeletionPolicy 속성을 정의할 수 있습니다.
    1. 스택 삭제 후에도 S3와 같은 리소스를 보존하기 위해 유지
    2. 스택 삭제 후 RDS와 같은 백업 리소스에 대한 스냅샷
  • 템플릿에서 간단히 설명하여 EC2 인스턴스에 패키지, 파일 및 서비스를 설치하는 부트스트랩 스크립트 지원.
  • 오류 시 자동 롤백 기능이 기본적으로 활성화되어 있어 오류가 발생한 지점까지 스택에 대해 CF가 성공적으로 생성한 모든 AWS 리소스가 삭제됩니다.
  • AWS CloudFormation StackSets를 사용하면 단일 작업으로 AWS 조직의 여러 계정, 리전, OU에서 CloudFormation 스택을 생성, 업데이트 또는 삭제할 수 있습니다.

AWS Elastic Beanstalk

  AWS Elastic Beanstalk를 사용하면 개발자가 손쉽게 AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있습니다. 개발자가 애플리케이션을 업로드하기만 하면, Elastic Beanstalk가 자동으로 용량 프로비저닝, 부하 분산, Auto-Scaling, 애플리케이션 상태 모니터링 등의 배포 세부 정보를 처리합니다.

  AWS 클라우드에서 애플리케이션을 몇 분 내에 배포하고 관리하기를 원하는 사람이면, 누구든지 사용할 수 있습니다. 이전에 클라우드 컴퓨팅을 사용해 본 경험이 없어도 괜찮습니다. AWS Elastic Beanstalk는 Java, .NET, PHP, Node.js, Python, Ruby, Go 및 Docker 웹 애플리케이션을 지원합니다.

  • 서비스로서의 플랫폼(PaaS)
  • 개발자가 기본 리소스에 대해 생각하지 않고 애플리케이션을 신속하게 배포 및 관리할 수 있도록 합니다.
  • 용량 프로비저닝, 로드 밸런싱, 자동 크기 조정 및 애플리케이션 상태 모니터링의 배포 세부 정보를 자동으로 처리합니다.
  • 다음과 같은 사전 구성된 플랫폼으로 애플리케이션을 시작할 수 있습니다.
  • 다음 환경 계층으로 환경을 시작할 수도 있습니다.
    • HTTP 요청을 처리하는 응용 프로그램은 웹 서버 환경 계층에서 실행됩니다.
    • Amazon Simple Queue Service(Amazon SQS) 대기열에서 작업을 가져오는 백엔드 환경은 작업자 환경 계층에서 실행됩니다.
  • Elastic Beanstalk를 사용하는 데 비용이 들지 않으며 EC2, ASG, ELB 및 RDS 등과 같이 Elastic Beanstalk에서 프로비저닝하는 리소스만 사용할 수 있습니다.
  • 사용할 사용자 지정 AMI 지원
  • 개발, 스테이징 및 프로덕션 등을 위한 여러 실행 환경을 지원합니다.
  • 버전 관리를 지원하고 시간 경과에 따라 애플리케이션 버전을 저장 및 추적하여 이전 버전으로 쉽게 롤백할 수 있습니다.

AWS Elastic Beanstalk는 기존의 애플리케이션 컨테이너나 PaaS(Platform as a Service) 솔루션과 어떻게 다른가?

  대부분의 기존 애플리케이션 컨테이너나 PaaS는 프로그래밍 부담을 줄여주지만, 개발자가 유연성과 제어력을 활발히 발휘할 수 없습니다. 개발자는 공급업체가 사전 정의한 설정을 그대로 따를 수 밖에 없으며, 애플리케이션 인프라의 여러 요소에 대한 제어권을 가질 기회가 거의 없거나 전혀 없습니다. 하지만 AWS Elastic Beanstalk의 경우, 개발자는 애플리케이션을 실행하는 AWS 리소스를 완벽히 제어할 수 있습니다. 개발자는 Elastic Beanstalk의 관리 기능을 사용해 인프라 구성 요소의 일부(또는 전부)를 완벽하게 관리할 수 있습니다.

CloudFormation은 AWS Elastic Beanstalk와 어떻게 다른가?

  이 두 서비스는 상호 보완할 수 있도록 설계되었습니다. AWS Elastic Beanstalk는 클라우드에서 손쉽게 애플리케이션을 배포하고 실행할 수 있는 환경을 제공합니다. 개발자 도구와 통합되며 애플리케이션의 수명 주기 한 곳에서 관리할 수 있는 환경을 제공합니다. 애플리케이션 워크로드로 관리할 수 있는 환경을 제공합니다. 애플리케이션 워크로드를 Elastic Beanstalk 워크로드로 관리할 수 있는 경우 애플리케이션을 생성하고 업데이트할 때, 좀 더 턴키 스타일에 가까운 환경을 경험할 수 있습니다. Elastic Beanstalk는 내부적으로 CloudFormation을 사용하여 리소스를 생성 및 유지 관리합니다. 애플리케이션에 사용자 지정 수준이 좀 더 높은 제어가 요구되는 경우 CloudFormation의 추가 기능을 통해 더 다양한 옵션으로 워크로드를 제어할 수 있습니다.

  CloudFormation은 광범위한 AWS 및 서드 파티 리소스를 편리하게 배포할 수 있는 메커니즘입니다. 기존의 엔터프라이즈 애플리케이션, 레거시 애플리케이션, 다양한 AWS 리소스 및 컨테이너 기반 솔루션을 사용해 구축된 애플리케이션 (AWS Elastic Beanstalk를 사용해 구축된 애플리케이션의 인프라 요구를 지원합니다.

  AWS CloudFormation은 AWS 리소스 유형 중 하나로 Elastic Beanstalk 애플리케이션 환경을 지원합니다. 따라서 애플리케이션 데이터를 저장하는 RDS 데이터베이스와 함께 AWS Elastic Beanstalk에 호스팅되는 애플리케이션을 생성하고 관리할 수 있습니다. 지원되는 모든 AWS 리소스를 그룹에 추가할 수 있습니다.

AWS OpsWorks

  • AWS에서 애플리케이션을 구성하고 운영하는 데 도움이 되는 Chef 및 Puppet 구성 관리 서비스의 관리형 인스턴스를 제공합니다.
  • 코드로 구성 - OpsWorks를 사용하면 Chef 및 Puppet을 사용하여 Code를 사용하여 EC2 인스턴스에서 서버를 구성, 배포, 관리하는 방법을 자동화할 수 있습니다.
  • OpsWork Stack을 사용하면 로드 밸런싱, 데이터베이스 및 애플리케이션 서버와 같은 다양한 계층을 포함하는 스택으로 애플리케이션을 모델링할 수 있습니다.

AWS OpsWors for Chef Automate란 무엇입니까?

  AWS OpsWorks for Chef Automate는 완전 관리형 Chef 서버와 자동화 도구 세트로 사용자 워크 플로에 지속적 배포 자동화, 규정 준수 및 보안 자동 테스트 및 노드와 상태를 볼 수 있는 사용자 인터페이스를 제공합니다. Chef 서버는 소프트웨어 및 운영 체제 구성, 패키지 설치, 데이터베이스 설정 등의 운영 작업을 저장하고, 노드 몇 개에서 수천 개에 이르기까지 범위에 구애받지 않고 컴퓨팅 환경에 있는 각 노드에 이러한 작업을 제공합니다. OpsWorks for Chef Automate는 Chef 커뮤니티 툴링 및 쿡북과 완벽히 호환되며, Chef 서버에 새로운 노드를 자동 등록합니다.

OpsWorks for Chef Automate와 OpsWorks Stacks의 차이점?

  OpsWorks for Chef Automate는 사용자가 Chef 서버를 즉시 프로비저닝하도록 지원하고 서비스에서 이를 운영(백업 수행, 소프트웨어 업그레이드 등) 하는 구성 관리 서비스 입니다. 이 서비스는 Chef의 Supermarket 쿡북 및 레시피와 완벽히 호환됩니다. 또한, TestKitchen 및 Knife와 같은 기본 Chef 도구도 지원합니다. Opsworks Stacks 서비스는 Amazon EC2 인스턴스에 자동으로 설치되는 내장 Chef 솔로 클라이언트를 사용하여 AWS에 있는 애플리케이션을 모델링, 프로비저닝 및 관리하도록 해줍니다.

OpsWorks for Chef Automate에 적용되는 한도가 있습니까?

  기본 서비스 한도는 다음과 같다.

  • 리전별 구성 관리 서버 수 : 5
  • 구성 관리 서버당 자동 백업 : 30
  • 구성 관리 서버당 수동 백업 : 10

참고

AWS SAA Test Note

profile
SE, Cloud, Devops, Python

0개의 댓글