본문 바로가기

* DevSecOps/Cloud

AWS SysOps Administrator(SOA) – Associate 자격증 시험 준비 - Part1

AWS Certified SysOps Administrator – Associate 자격증 시험 준비를 위해 필수적으로 숙지해야 할 개념들을 체계적으로 통합 및 정리하였습니다. 이 가이드는 모니터링 및 로깅, 배포 및 자동화, 고가용성 및 복구 전략, 보안 및 컴플라이언스, 데이터베이스 관리, 비용 관리 및 최적화, 네트워킹 및 콘텐츠 전송, 애플리케이션 관리, 문제 해결 및 최적화, 고급 AWS 서비스 및 통합, 시스템 구조 및 아키텍처 설계, 알고리즘 및 자동화 전략 등 주요 영역을 포함하여 실습과 서비스 내용을 함께 제공합니다.

목차

  1. 모니터링 및 로깅 심화
  2. 배포 및 자동화 심화
  3. 고가용성 및 복구 전략
  4. 보안 및 컴플라이언스 심화
  5. 데이터베이스 관리 심화
  6. 비용 관리 및 최적화 심화
  7. 네트워킹 및 콘텐츠 전송 심화 (SOA - Part2)
  8. 애플리케이션 관리 심화
  9. 문제 해결 및 최적화 심화
  10. 고급 AWS 서비스 및 통합
  11. 시스템 구조 및 아키텍처 설계
  12. 알고리즘 및 자동화 전략
  13. 실전 연습 및 모의 시험
  14. 추가 학습 자료 및 학습 전략
  15. 마무리 팁

1. 모니터링 및 로깅 심화

https://11st-tech.github.io/2021/10/01/aws-security1/

  • CloudWatch 커스텀 지표(Custom Metrics): CloudWatch는 기본 지표 외에 사용자 정의 지표를 수집, 모니터링, 시각화할 수 있고, 애플리케이션에서 특정 이벤트 발생 시 CloudWatch에 커스텀 지표 전송 스크립트 작성
  • CloudWatch Logs Insights: 대량의 로그 데이터를 효율적으로 검색하고 분석할 수 있는 강력한 쿼리 언어 제공하고, 다양한 로그 데이터를 CloudWatch Logs Insights로 실시간 쿼리 및 분석이 가능
  • Events 및 Alarms 설정: 특정 지표 임계값 초과 시 Lambda 함수를 트리거하는 알람 설정하고, 특정 이벤트에 대한 자동화된 응답을 설정할 수 있음.
  • CloudTrail 멀티 리전 설정: 여러 리전에 걸쳐 CloudTrail을 설정하고 통합 관리 콘솔에서 로그 확인함. AWS 계정 내의 API 호출을 추적하며, 여러 리전에서의 활동을 통합 관리 가능함.
  • 로그 파일 무결성 검증: CloudTrail 로그 파일의 무결성 검증 절차 수행함. 로그 파일의 변경 여부를 확인하여 보안과 컴플라이언스 강화함.
  • CloudTrail Insights: 비정상적인 API 활동 탐지 및 경고 설정하고, 비정상적인 API 호출 패턴을 자동으로 감지하여 보안 위협 조기 발견.
  • AWS Config 규정 준수 규칙(Custom Rules): 특정 규정 준수 요구 사항을 충족하기 위한 커스텀 규칙 작성 및 적용하고, 리소스의 설정 변경을 추적하고 규정 준수를 자동으로 확인.
  • Config Conformance Packs: 규정 준수를 위한 여러 AWS Config 규칙을 하나의 패키지로 관리하고, 여러 규칙을 패키지화하여 일괄적으로 관리 및 적용

2. 배포 및 자동화 심화 Infrastructure as Code (IaC)

https://medium.com/swlh/putting-security-into-the-iac-pipeline-4de98f88ad24

  • AWS CloudFormation Advanced Features Stack Sets: 여러 AWS 계정과 리전에 걸쳐 CloudFormation 스택 배포하고, 대규모 환경에서 일관된 인프라 배포 지원함.
  • Change Sets: 템플릿 변경 사항 사전 검토 및 승인하고, 인프라 변경 사항을 사전에 검토하여 예기치 않은 변경 방지.
  • Nested Stacks: 복잡한 템플릿을 여러 중첩된 스택으로 분할하여 관리 용이성 향상하고, 복잡한 인프라를 모듈화하여 관리하기 위해 Nested Stacks 사용
  • AWS CDK (Cloud Development Kit): 프로그래밍 언어로 인프라를 코드로 정의, 복잡한 로직 쉽게 구현. TypeScript 또는 Python을 사용해 인프라 정의 및 배포 애플리케이션 작성
  • 자동화 스크립팅 AWS Systems Manager: 인스턴스 관리, 패치 관리, 명령 실행 등의 기능을 통해 운영 작업 자동화하고, Patch Manager를 사용해 EC2 인스턴스의 패치 관리 자동화
  • AWS Lambda를 활용한 자동화: 특정 이벤트 발생 시 자동으로 실행되는 Lambda 함수 작성 및 배포하고, 이벤트 기반으로 코드를 실행하여 다양한 자동화 워크플로우 구현.
  • 배포 전략 블루/그린 배포: 새로운 버전을 기존 환경과 병행 배포하여 배포 중단 시간 최소화히고, 두 개의 독립된 환경(블루와 그린) 설정 및 무중단 배포 시나리오 구현
  • 카나리 배포: 새로운 애플리케이션 버전을 소규모 트래픽에 먼저 배포하여 문제 발생 시 신속하게 롤백 가능. 전체 트래픽의 일부만 새로운 버전으로 전환하여 점진적 배포 진행하고, AWS CodeDeploy 사용하여 설정 및 단계별 트래픽 전환
  • 롤링 업데이트(Rolling Update): 인스턴스를 하나씩 교체하면서 업데이트를 진행하여 서비스 중단 없이 배포 완료. Auto Scaling 그룹을 이용해 인스턴스를 단계적으로 업데이트하여 가용성 유지

3. 고가용성 및 복구 전략

https://aws.amazon.com/ko/blogs/tech/disaster-recovery-dr-architecture-on-aws-part-i-strategies-for-recovery-in-the-cloud-1/

  • 재해 복구(Disaster Recovery) 전략 RTO (Recovery Time Objective)와 RPO (Recovery Point Objective): 서비스 중단 시 복구 시간과 데이터 손실 허용 범위 설정하여 적절한 복구 전략 선택하고, 애플리케이션의 RTO와 RPO 정의 및 이에 맞는 재해 복구 계획 수립
  • 다중 리전 아키텍처: 리전 간 데이터 복제를 통해 리전 장애 시 자동 전환 가능하고, 두 개 이상의 리전에 걸쳐 데이터 복제 및 자동 전환 설정
  • 백업 및 복구 AWS Backup: 다양한 AWS 서비스의 데이터를 중앙에서 백업하고 복원할 수 있는 관리형 백업 서비스로, 중앙집중식 백업 계획 설정 및 다양한 AWS 리소스의 백업 및 복원 테스트
  • EBS 스냅샷과 S3 버전 관리: EBS 스냅샷은 블록 스토리지의 백업을 제공하며, S3 버전 관리는 객체의 이전 버전을 유지하여 복구 용이하고, EBS 볼륨의 스냅샷 생성 및 S3 버전 관리 활성화하여 데이터 복원 시나리오 실행
  • 고가용성 아키텍처 설계 멀티 AZ 및 멀티 리전 배포: AZ 간 분산 배포를 통해 단일 AZ 장애 시에도 서비스 가용성 유지하고, 애플리케이션을 여러 가용 영역(AZ)에 배포하고 장애 발생 시 자동 전환 설정
  • 로드 밸런서 설정 고도화: 각 로드 밸런서는 다양한 트래픽 관리 기능을 제공하며, 사용 사례에 따라 적절히 선택 필요하고, Application Load Balancer(ALB), Network Load Balancer(NLB), Classic Load Balancer(CLB)의 설정을 비교하고 최적의 로드 밸런서 선택 및 배포

4. 보안 및 컴플라이언스 심화

https://aws.amazon.com/ko/blogs/tech/strengthen-the-devops-pipeline-and-protect-data/

  • 고급 IAM 관리 - IAM 역할(Role)과 신뢰 정책(Trust Policies): 역할을 통해 다른 AWS 계정이나 서비스에 안전하게 접근 권한 위임 가능하고, 크로스 계정 접근을 위한 IAM 역할과 신뢰 정책 설정
  • 권한 경계(Permissions Boundaries): IAM 엔티티에 적용 가능한 최대 권한 설정하여 권한 남용 방지하고, IAM 사용자나 역할에 권한 경계 설정하여 최대 권한 제한
  • 조건부 접근 제어: 조건부 접근을 통해 보안성을 강화하고 세부적인 접근 제어 구현. 특정 조건(예: IP 주소, MFA 인증)을 기반으로 한 IAM 정책 작성
  • 데이터 보호 및 암호화 AWS KMS (Key Management Service): 데이터 암호화를 위한 키 관리 및 보안 정책 설정 및 관리하고, KMS 키 생성, 관리 및 특정 AWS 서비스와 통합하여 암호화 적용
  • S3 Object Lock: S3 Object Lock을 통해 데이터의 불변성 보장 및 무결성 유지히고, S3 버킷에 Object Lock 설정하여 객체의 변경 방지
  • 전송 중 및 저장 시 암호화: 데이터 전송 중 및 저장 시 암호화를 통해 데이터 보안 강화하고, S3, EBS, RDS 등 다양한 서비스에서 TLS/SSL 설정 및 데이터 암호화 적용
  • 네트워크 보안 고도화 AWS WAF (Web Application Firewall): 웹 애플리케이션을 다양한 공격으로부터 보호하기 위한 필터링 규칙 설정 가능하고, WAF 규칙 설정하여 웹 애플리케이션 트래픽 필터링 및 보호
  • AWS Shield: DDoS 공격으로부터 애플리케이션 보호하는 관리형 보안 서비스로, AWS Shield Advanced 설정을 통해 DDoS 공격 방어
  • PrivateLink: VPC 간에 프라이빗 네트워크 연결 설정하여 보안성 높이고, VPC 간 프라이빗 연결 설정하여 서비스 노출 최소화
  • 컴플라이언스 관리 AWS Artifact: 규정 준수를 위한 문서와 보고서 제공하여 컴플라이언스 요구 사항 충족하고, AWS Artifact에서 규정 준수 관련 문서 다운로드 및 검토
  • 서비스별 컴플라이언스: AWS 서비스는 다양한 산업 표준 및 규정을 준수하여 보안과 컴플라이언스 강화하고, 특정 AWS 서비스가 준수하는 규정 이해하고, 해당 규정에 맞게 서비스 설정

5. 데이터베이스 관리 심화

https://aws.amazon.com/ko/blogs/architecture/disaster-recovery-solutions-with-aws-managed-services-part-3-multi-site-active-passive/

  • 고가용성과 확장성 RDS Multi-AZ 및 Read Replica: RDS 인스턴스를 Multi-AZ로 설정하고 Read Replica 생성하여 읽기 성능 향상
  • Aurora 클러스터: Amazon Aurora는 고성능과 고가용성을 제공하는 관계형 데이터베이스 서비스로 Aurora 클러스터 생성 및 고가용성 및 성능 최적화 설정
  • 백업 및 복구 - 자동 백업과 수동 스냅샷: 자동 백업은 정기적인 데이터 백업 제공, 수동 스냅샷은 특정 시점 데이터 저장으로, RDS의 자동 백업 설정과 수동 스냅샷 생성 및 복원 시나리오 실행
  • 포인트 인 타임 복구(PITR): PITR을 통해 데이터 손실 시 특정 시점으로 데이터베이스 복구 가능하고, RDS 인스턴스에서 특정 시점으로 데이터베이스 복원.
  • 보안 데이터베이스 암호화: 데이터베이스 데이터를 암호화하여 데이터 보안 강화하고, RDS와 DynamoDB의 암호화 설정 및 관리.
  • 네트워크 격리: VPC 내에서 데이터베이스 인스턴스를 격리하여 네트워크 보안 강화하고, RDS 인스턴스를 VPC 내에 안전하게 배치하고 네트워크 접근 제어 설정.
  • 성능 최적화 인덱스 관리: 인덱스는 데이터베이스 쿼리 성능 향상에 중요한 요소이고, 효율적인 쿼리 성능을 위해 적절한 인덱스 설계 및 적용.
  • 쿼리 최적화: 비효율적인 쿼리를 최적화하여 데이터베이스 성능 향상하고, Slow Query 로그 분석 및 쿼리 튜닝을 통해 성능 개선.
  • 캐싱 전략: 캐싱을 통해 데이터베이스 부하 줄이고 응답 속도 향상하고, ElastiCache를 사용하여 데이터베이스 캐싱 구현 및 성능 테스트.

6. 비용 관리 및 최적화 심화

https://tech.inflab.com/20240227-finops-for-startup/

  • 비용 추적 및 분석 AWS Cost Explorer 고급 기능: Cost Explorer는 비용과 사용량 시각화 및 분석 도구 제공하고, 사용자 지정 보고서 작성 및 비용 할당 태그 활용하여 비용 분석.
  • AWS Budgets: 예산 설정하고 초과 시 알림 받아 비용 효율적으로 관리하고, 비용, 사용량, 예약 인스턴스 활용률에 대한 예산 설정 및 알림 구성.
  • 비용 절감 전략 Reserved Instances vs. Savings Plans: 장기 사용 전제로 할인 옵션 제공하여 비용 절감 가능하고, 다양한 시나리오에 맞게 Reserved Instances와 Savings Plans 비교 및 최적 옵션 선택.
  • 스팟 인스턴스 활용: 스팟 인스턴스는 저렴하게 여유 자원 사용 가능하지만, 중단 리스크 존재하고, 스팟 인스턴스를 사용하여 비용 절감 워크로드 실행 및 관련 리스크 관리.
  • 리소스 최적화 도구: AWS 도구 통해 리소스 사용 모니터링 및 최적화하고, Trusted Advisor와 Compute Optimizer 활용하여 리소스 효율성 분석 및 최적화 방안 적용.
  • 태깅 전략 - 리소스 태깅: 태그 통해 리소스 조직화 및 비용 특정 프로젝트나 부서로 할당 가능하고, 일관된 태깅 정책 수립 및 리소스에 태그 적용하여 비용 할당 및 추적.
  • 태그 기반 자동화: 태그 기반으로 리소스 자동 관리 및 운영 효율성 높이고, 태그 이용한 리소스 관리 스크립트 작성 및 자동화 구현

이어서 AWS SOA - Part 2