본문 바로가기

Infrastructure/Certificate

[SOA] 오답노트 2023.12 - 1주차

오답노트 2023.12 1주차

  • SOA 시험을 준비하며 틀린 문제나 기억해야 하는 부분을 정리한다.

EC2 Instance

  • 스팟 인스턴스에 대한 종료 방지 기능을 활성화할 수 없다.

EBS

  • 관리자가 EC2 Windows 인스턴스에 연결되어 있는 EBS 볼륨의 크기를 늘렸지만 변경사항은 파일 시스템에 반영되지 않았다.
    • 새로운 스토리지 용량을 사용하려면 운영 체제 수준 도구를 사용하여 파일 시스템을 확장해야 한다.
    • Windows 디스크 관리 유틸리티 또는 PowerShell을 사용하여 디스크 크기를 볼륨의 새 크기로 확장한다. 볼륨이 최적화 상태로 전환되자마자 파일 시스템 크기 조정을 시작할 수 있다.
    • Recognize expanded volume windows
  • Raid Configuration
  • Raid 란?
  • 삭제되거나 등록 취소된 AMI는 복원하거나 복구할 수 없다. 유일한 옵션은 동일한 새 AMI를 생성하는 것이다.
    • 백업으로 생성된 EBS 스냅샷: EBS 지원 AMI를 삭제하거나 등록 취소하면 AMI 생성 프로세스 중에 인스턴스 볼륨에 대해 생성된 모든 스냅샷이 유지된다. 실수로 AMI를 삭제한 경우 보관된 스냅샷 중 하나를 사용하여 동일한 AMI를 시작할 수 있다.
    • 삭제된 AMI에서 시작된 EC2 인스턴스: AMI를 삭제하고 시냅샷도 삭제된 경우 삭제된 AMI를 사용하여 시작된 기존 EC2 인스턴스에서 AMI를 복구할 수 있다. 인스턴스에서 No reboot 옵션을 선택하지 않은 경우 이 단계를 수행하면 인스턴스가 재부팅된다.
  • 모범 사례로서 AWS는 운영 체제와 데이터에 대해 별도의 EBS 볼륨을 사용할 것을 권장한다.
    • 이렇게 하면 인스턴스가 종료되거나 운영 체제에 문제가 발생한 후에도 데이터 볼륨이 유지된다.
  • EBS 스냅샷은 EBS 볼륨에 기록된 데이터만 캡처하므로 애플리케이션이나 운영 체제에서 로컬로 캐시한 데이터는 제외될 수 있다.
  • 기본적으로 인스턴스가 중단되거나 종료되더라도 루트가 아닌 EBS 볼륨 데이터는 보존된다.
  • EBS 볼륨을 연결하려고 할 때, 지정한 디바이스 이름이 아직 사용 중이 아닌지 확인해야 한다. 지정된 장치 이름이 EC2 인스턴스의 블록 장치 드라이버에서 이미 사용되고 있는 경우 작업이 실패한다.
  • EBS 볼륨을 EC2 인스턴스에 연결할 때, 볼륨에 대한 디바이스 이름을 지정할 수 있다. EC2 인스턴스의 블록 장치 드라이버는 볼륨을 탑재하고 이름을 할당할 수 있다.
  • EC2에서는 사용하지 않지만 EC2 인스턴스 내의 블록 디바이스 드라이버에서 사용되는 디바이스 이름을 지정하면 EBS 볼륨 연결이 실패한다. 대신 볼륨이 연결 상태에서 멈춘다.
    • 블록 장치 드라이버가 지정된 장치 이름을 다시 매핑하는 경우
      • HVM EC2 인스턴스에서 /dev/sda1/dev/xvda로 다시 매핑된다.
      • 보조 EBS 볼륨을 /dev/xvda에 연결하려고 하면 보조 EBS 볼륨이 인스턴스에 성공적으로 연결할 수 없다.
      • 이로 인해 EBS 볼륨이 연결 상태에서 멈출 수 있다.
    • 블록 장치 드라이버가 장치 이름을 해제하지 않은 경우
      • 사용자가 EBS 볼륨의 강제 분리를 시작한 경우 EC2 인스턴스의 블록 장치 드라이버가 재사용을 위해 장치 이름을 즉시 해제하지 않을 수 있다.
      • 볼륨을 연결할 때 해당 장치 이름을 사용하려고 하면 볼륨이 연결 상태에서 멈추게 된다.
      • 이러한 경우 다른 디바이스 이름을 선택하거나 인스턴스를 재부팅해야 한다.

예약된 이벤트

  • Monitoring instances status check schedule
  • 예약된 이벤트는 AWS에서 관리하므로 인스턴스에 대해 예약된 이벤트를 구성할 수 없다.
    • AWS는 재부팅, 중지/시작 또는 만료와 같은 인스턴스에 대한 이벤트를 예약할 수 있다.
    • 인스턴스 중 하나가 예약된 이벤트의 영향을 받는 경우 AWS는 예약된 이벤트 전에 AWS 계정과 연결된 이메일 주소로 이메일을 보낸다.
    • 이벤트에 따라 이벤트 시기를 제어하기 위한 조치를 취할 수도 있다.
    • AWS는 Amazon CloudWatch Events를 사용하여 모니터링하고 관리할 수 있는 AWS 상태 이벤트를 보낸다.
    • 예약된 이벤트는 AWS에서 관리하므로 인스턴스에 대한 이벤트를 예약할 수 없다.
    • AWS에서 예약한 이벤트를 보고, 예약된 이벤트 알림을 사용자 지정하여 이메일 알림에 태그를 포함하거나 제거하고, 인스턴스가 재부팅, 폐기 또는 중지되도록 예약된 경우 작업을 수행할 수 있다.

인스턴스 크기 조정

  • 인스턴스의 루트 디바이스가 EBS 볼륨인 경우 인스턴스 유형을 변경하여 간단히 인스턴스의 크기를 변경할 수 있다.
    • 인스턴스의 루트 디바이스가 인스턴스 스토어 볼륨인 경우 필요한 인스턴스 유형을 사용하는 새 인스턴스로 애플리케이션을 마이그레이션해야 한다.
  • 인스턴스 유형을 변경하려면 먼저 EBS 지원 인스턴스를 중지해야 한다.
    • 인스턴스를 중지하고 시작하면 AWS는 인스턴스를 새 하드웨어로 이동한다. 그러나 인스턴스 ID는 변경되지 않는다.
  • 인스턴스가 Auto Scaling 그룹에 있는 경우 EC2 Auto Scaling 서비스는 중지된 인스턴스는 비정상으로 간주되어 인스턴스를 종료하고 대체 인스턴스를 시작할 수 있다.
    • 이를 방지하려면 인스턴스 크기를 조정하는 동안 그룹에 대한 조정 프로세스를 일시 중지할 수 있다.

High Availability & Scalability

Application Load Balancer

  • Elastic Load Balancer Introduction
  • Load Balancer Listener
  • ALB 사용을 시작하기 전에 하나 이상의 리스너를 추가해야 한다.
    • 리스너는 사용자가 구성한 프로토콜과 포트를 사용하여 클라이언트의 연결 요청을 확인한다.
    • 리스너에 대해 정의하는 규칙에 따라 로드 밸런서가 요청을 등록된 대상으로 라우팅하는 방법이 결정된다.
    • 각 규칙은 우선순위, 하나 이상의 작업, 하나 이상의 조건으로 구성된다. 규칙은 조건이 충족되면 해당 작업이 수행된다.
    • 각 리스너에 대해 기본 규칙을 정의해야 하며 선택적으로 추가 규칙을 정의할 수 있다.
  • ALB의 대상 그룹을 리스너에 연결하여 구성한다.
    • 각 대상 그룹은 요청을 하나 이상의 등록된 대상으로 라우팅하는 데 사용된다.
    • 각 리스너 규칙을 생성할 때 대상 그룹과 조건을 지정한다.
    • 규칙 조건이 충족되면 해당 대상 그룹으로 트래픽이 전달된다.
    • 다양한 유형의 요청에 대해 다양한 대상 그룹을 생성할 수 있다.
  • 로드 밸런서는 클라이언트에 대한 단일 Contact 지점 역할을 한다.
    • 로드 밸런서는 수신 애플리케이션 트래픽을 여러 가용 영역에 있는 EC2 인스턴스와 같은 여러 대상에 부산하므로 가용성이 높아진다.
  • 각 대상 그룹은 사용자가 지정하는 프로토콜 및 포트 번호를 사용하여 EC2 인스턴스와 같은 하나 이상의 등록된 대상으로 요청을 라우팅한다.
    • 여러 대상 그룹에 대상을 등록할 수 있다.
  • 리스너를 생성할 때 기본 규칙에 대한 작업을 정의한다. 기본 규칙에는 조건이 있을 수 없다.
    • 리스너의 규칙 중 어떤 조건도 충족되지 않으면 기본 규칙에 대한 작업이 수행된다.
  • ALB는 정적 파일 캐싱을 지원하지 않는다.
  • Auto Scaling 그룹에 속한 인스턴스가 축소 시 종료되는 것을 방지하려면 인스턴스 보호를 사용해야 한다.
  • DisableApiTermination 속성은 인스턴스에서 종료를 시작하여 인스턴스를 종료하는 것을 방지하지 않는다.
  • 기본적으로 EC2 콘솔, CLI 또는 API를 사용하여 인스턴스를 종료할 수 있다.
    • EC2를 사용하여 인스턴스가 실수로 종료되는 것을 방지하려면 인스턴스에 대한 종료 방지 기능을 활성화할 수 있다.
  • DisableApiTermination 속성은 EC2 Auto Scaling이 인스턴스를 종료하는 것을 방지하지 않는다.

Elastic Beanstalk

  • 골든 AMI 파이프라인
  • 골든 AMI는 구성, 일관된 보안 패치 및 강화를 통해 표준화하는 AMI다.
    • 로깅, 보안, 성능 모니터링 등에 대해 승인한 에이전트도 포함되어 있다.
    • 특정 사용 사례에 대해 골든 AMI를 통해 이미 설정된 복잡한 런타임 및 OS 종속성을 가질 수 있다.
  • Beanstalk deploy existing version
  • Beanstalk CNAME swap
  • Elastic Beanstalk는 여러 배포 정책 및 설정을 제공한다.
    • 애플리케이션 버전을 업데이트할 때, Beanstalk는 내부 업데이트를 수행하므로 사용자가 짧은 기간 동안 애플리케이션을 사용하지 못할 수 있다.
    • 새 버전을 별도의 환경에 배포한 다음 두 환경의 CNAME을 교환하여 트래픽을 새 버전으로 즉시 리디렉션하는 블루/그린 배포를 수행하면 이러한 가동 중지 시간을 방지할 수 있다.
    • 블루/그린 배포는 별도의 환경에서 수행되므로 실제 애플리케이션 업그레이드 시간은 스왑된 CNAME이 작동하는 데 걸리는 시간이다.
  • Elastic Beanstalk instance automation
  • 비정상 EC2 인스턴스 교체를 자동화하려면 Beanstalk 환경의 구성 파일을 사용하여 인스턴스 Auto Scaling 그룹의 상태 확인 유형을 EC2에서 ELB로 변경해야 한다.
    • 기본적으로 Auto Scaling 그룹의 상태 확인 구성은 EC2 인스턴스의 상태 확인을 수행하는 EC2 유형으로 설정된다.
    • 비정상 EC2 인스턴스 교체를 자동화하려면 구성 파일을 사용하여 인스턴스 Auto Scaling 그룹의 상태 확인 유형을 EC2에서 ELB로 변경해야 한다.
      • 상태 확인에는 EC2 인스턴스의 상태만 포함되며 애플리케이션, 서버 또는 인스턴스에서 실행되는 Docker 컨테이너의 상태는 포함되지 않는다.
      • 애플리케이션이 충돌하면 로드 밸런서는 대상에서 비정상 인스턴스를 제거한다. 그러나 Auto Scaling 그룹은 로드 밸런서가 표시한 비정상 인스턴스를 자동으로 교체하지 않는다.
      • Auto Scaling 그룹의 상태 확인 유형을 EC2에서 ELB로 변경하면 상태 확인이 실패할 때 Auto Scaling 그룹이 비정상 인스턴스를 자동으로 교체할 수 있다.
  • Elastic Beanstalk 환경의 Auto Scaling 그룹은 두 개의 CloudWatch 경보를 사용하여 조정 작업을 트리거한다.
    • 기본 Auto Scaling 트리거는 각 인스턴스의 평균 아웃바운드 네트워크 트래픽이 5분 동안 6MB보다 높거나 2MB보다 낮을 때 확장되도록 구성된다.
    • 보다 효율적인 EC2 Auto Scaling을 위해 애플리케이션, 인스턴스 유형 및 서비스 요구 사항에 적합한 트리거를 구성한다.
    • 대기 시간, 디스크 I/O, CPU 사용률 및 요청 수를 포함한 여러 통계를 기반으로 확장할 수 있다.

CloudFormation

MyCustomType

  • 관리자는 여러 AWS 서비스로 구성된 단일 리소스를 생성해야 한다. 리소스는 CloudFormation 콘솔을 통해 생성 및 삭제를 지원해야 한다.
    • Custom::MyCustomType 옵션은 사용자가 정의한 리소스 유형으로, CloudFormation 내에서 원하는대로 기능을 구현할 수 있다. 관리자는 이 리소스 유형을 정의하여 CloudFormation 템플릿에서 리소스를 생성하고 삭제하는 코드를 포함할 수 있으며, 이 코드는 여러 AWS 서비스를 프로비저닝하고 구성할 수 있다.
    • AWS::EC2::Instance with a cfn-init helper script 옵션은 단일 EC2 인스턴스만 만들 수 있으며 여러 AWS 서비스를 포함하는 단일 리소스를 만들 수 없다.
    • AWS::OpsWork::Instance 옵션은 OpsWorks 스택의 일부로 EC2 인스턴스를 생성하며 단일 리소스로 여러 서비스를 관리하는 데 적합하지 않다.
    • AWS::SSM::Document 옵션은 문서이며, 리소스를 만들거나 삭제하는 데 사용할 수 없다.

종료 방지 기능

  • 스택 삭제를 위한 전체 단계
  • 종료 방지 기능이 활성화된 스택을 삭제하려고 하면 삭제가 실패하고 스택(해당 상태 포함)은 변경되지 않은 상태로 유지된다.
    • 스택에서 종료 방지 기능을 비활성화한 다음 삭제 작업을 다시 수행해야 한다.
    • 여기에는 루트 스택에 종료 방지 기능이 활성화된 중첩 스택이 포함된다.
    • 루트 스택에서 종료 방지 기능을 비활성화한 다음 삭제 작업을 다시 수행한다.
    • 중첩 스택을 직접 삭제하지 말고 루트 스택 및 모든 해당 리소스 삭제의 일부로만 삭제하는 것이 좋다.
  • 사용자에게 스택을 삭제할 수 있는 권한이 충분하지 않으면 이를 설명하는 오류가 표시되고 스택은 DELETE_FAILED 상태가 된다.
  • 일부 리소스는 삭제되기 전에 비어 있어야 한다.
    • 예를 들어, 버킷이나 보안 그룹을 삭제하려면 S3 버킷의 모든 객체를 삭제하거나 EC2 보안 그룹의 모든 인스턴스를 제거해야 한다.
    • 그렇지 않으면 스택 삭제가 실패하고 스택은 DELETE_FAILED 상태가 된다.
  • 스택 삭제 중 오류가 발생하면 스택이 DELETE_FAILED 상태가 된다.
  • EC2 인스턴스 작동 방식을 변경하지 않고 24시간 동안 인스턴스를 디버그할 수 있도록 하면서 이러한 로그 파일에 액세스하려는 경우에 아래의 항목을 참고한다.
    • CloudFormation CreateStack 호출의 OnFailure 속성을 사용할 수 있다.
    • OnFailure 속성은 스택 생성이 실패할 경우 수행할 작업을 결정하며, DO_NOTING, ROLLBACK, DELETE 중 하나일 수 있다.
    • OnFailure 속성을 사용하면 CloudFormation 스택에서 생성된 EC2 인스턴스의 종료를 방지할 수 있다.

cfn-signal

  • Private 서브넷에서 실행되는 인스턴스의 경우 cfn-signal을 전송하기 위해 NAT 게이트웨이 또는 인터넷 게이트웨이가 필요하다.
  • Timeout 속성은 CloudFormation이 필요한 수의 성공 신호를 기다리는 시간을 결정한다.
    • 시간 초과는 최소 제한 속성이다. 즉, 시간 초과는 지정한 시간보다 빨리 발생하지 않지만 그 직후에 발생할 수 있다.
    • 지정할 수 있는 최대 시간은 43,200초(12시간)이며, 특정 시나리오에서 Timeout 속성이 낮은 값으로 설정된 경우 CloudFormation이 EC2 인스턴스로부터 신호를 수신하지 못할 수 있으므로 스택 생성이 실패할 수 있다.
  • cfn-signal을 사용하는 데 IAM 역할이 필요하지 않다.
  • 용량이 부족하면 인스턴스가 생성되지 않고 CloudFormation 스택이 완전히 실패하게 된다.
  • cfn-init 스크립트 실패 뒤에는 cfn-signal 스크립트가 계속 나와야 한다.

Stack Policy

  • 스택을 생성하면 모든 리소스에 대한 모든 업데이트 작업이 허용된다.
  • 기본적으로 스택 업데이트 권한이 있는 사람은 누구나 스택의 모든 리소스를 업데이트할 수 있다.
  • 스택 정책을 사용하면 스택 업데이트 중에 스택 리소스가 실수로 업데이트되거나 삭제되는 것을 방지할 수 있다.
  • 스택 정책은 지정된 리소스에서 수행할 수 있는 업데이트 작업을 정의하는 JSON 문서다.
  • 스택 정책은 스택 업데이트 중에만 적용되며, IAM 정책과 같은 액세스 제어를 제공하지 않는다.
    • 특정 리소스에 대한 우발적인 업데이트를 방지하기 위한 오류 방지 메커니즘으로만 스택 정책을 사용해야 한다.
    • AWS 리소스 또는 작업에 대한 액세스를 제어하려면 IAM을 사용해야 한다.

Lambda

S3와 통합

  • S3 버킷에서 매시간 데이터 파일을 수신해야 한다. S3 이벤트 알림은 파일이 도착할 때마다 AWS Lambda함수를 호출한다.
  • 파일을 처리하는 애플리케이션에서 파일이 도착하지 않는 경우가 있음을 확인하였고, 파일이 도착하지 않을 때 알림을 받기를 원하고 있다.
    • Amazon SNS 토픽에 메시지를 게시하여 Lambda 함수의 호출 지표가 한 시간 동안 0일 때, 애플리케이션 팀에 알리는 Amazon CloudWatch 경보를 생성한다.
    • 누락된 데이터를 위반으로 처리하도록 경보를 구성한다.

Amazon S3

Versioning

  • 삭제된 객체에 삭제 마커가 설정되어 있지만 실제 객체는 삭제되지 않는다.
    • S3의 삭제 마커는 간단한 DELETE 요청에서 이름이 지정된 버전 지정 객체에 대한 자리 표시자(또는 마커)다.
    • 객체가 버전 관리가 활성화된 버킷에 있으므로 삭제되지 않지만, 삭제 마커를 사용하면 S3가 삭제된 것처럼 작동한다.
    • 삭제 마커에는 다른 객체와 마찬가지로 키 이름과 버전 ID가 있다. 관련된 데이터는 없다.
  • GET 요청은 삭제 마커 객체를 검색하지 않는다.
    • 삭제 마커를 나열하는 유일한 방법은 GET Bucket 버전 요청에서 버전 하위 리소스를 사용하는 것이다.
    • 단순 GET 은 삭제 마커 개체를 검색하지 않는다.

보존 기간

  • 명시적으로 또는 버킷 기본 설정을 통해 객체 버전에 보관 기간을 지정할 수 있다.
    • 객체 버전에 명시적으로 보존 기간을 적용하는 경우 객체 버전에 대해 Retain Until Date를 지정한다.
    • S3는 객체 버전에 메타데이터에 보존 날짜 설정을 저장하고 보존 기간이 만료될 때까지 객체 버전을 보호한다.
  • 다른 모든 객체 잠금 설정과 마찬가지로 보존 기간은 개별 객체 버전에 적용된다.
    • 단일 객체의 버전에 따라 보존 모드와 기간이 다를 수 있다.
    • 예를 들어, 30일 보존 기간이 15일이 지난 객체가 있고 동일한 이름과 60일 보존 기간을 가진 객체를 S3에 저장한다고 가정하였을 때, PUT이 성공하고 S3 보존 기간이 60일인 객체의 새 버전을 생성한다.
    • 이전 버전은 원래 보존 기간을 유지하며 15일 후에 삭제가 가능하다.

MFA

  • MFA 삭제를 활성화 하기 위해서는 루트 계정이 필요하며 AWS CLI를 사용해야 한다.
  • MFA 삭제는 다음 중 하나에 대해 추가 인증이 필요한 MFA 삭제를 활성화하도록 버킷을 구성할 수 있는 또 다른 보안 계층을 나타낸다.
    • 버킷의 버전 관리 상태 변경
    • 객체 버전을 영구적으로 삭제

Advanced Storage

Amazon EFS

  • 인스턴스는 모두 여러 가용 영역에 걸쳐 동일한 VPC에 존재하고, 각 가용 영역에는 두 개의 인스턴스가 있다.
    • 관리자가 가장 짧은 대기 시간으로 각 인스턴스에 액세스할 수 있는 파일 시스템을 만들기 위해서는 VPC에 각 가용 영역에 탑재 대상(Mount Target)을 생성하고 탑재 대상을 사용하여 해당 가용 영역의 인스턴스에 EFS 파일 시스템을 탑재한다.
    • Creating and managing mount targets

AWS Storage Gateway

  • Storage Gateway
  • Storage Gateway Encryption
  • File Gateway
  • Volume Gateway
  • AWS Storage Gateway는 SSL/TLS를 사용하여 게이트웨이 어플라이언스와 AWS 스토리지 간에 전송되는 데이터를 암호화한다.
    • 기본적으로 Storage Gateway는 S3 관리형 암호화 키(SSE-S3)를 사용하여 S3에 저장하는 모든 데이터를 서버 측에서 암호화한다.
    • Storage Gateway API를 사용하면 AWS Key Management Service(SSE-KMS) 고객 마스터키 (CMK)로 서버측 암호화를 사용하여 클라우드에 저장된 데이터를 암호화하도록 게이트웨이를 구성할 수 있다.
    • 파일, 볼륨 및 테이프 게이트웨이 데이터는 AWS Storage Gateway에 의해 S3 버킷에 저장된다.
    • 테이프 게이트웨이는 표준 스토리지와 별도로 S3 Glacier에 대한 데이터 백업을 지원한다.
    • 파일 공유 암호화: 파일 공유의 경우 SSE-KMS를 사용하여 AWS KMS 관리형 키로 객체를 암호화하도록 게이트웨이를 구성할 수 있다.
    • 볼륨 암호화: 캐시된 볼륨과 저장된 볼륨의 경우 Storage Gateway API를 사용하여 AWS KMS 관리형 키로 클라우드에 저장된 볼륨 데이터를 암호화하도록 게이트웨이를 구성할 수 있다.
    • 테이프 암호화: 가상 테이프의 경우 Storage Gateway API를 사용하여 AWS KMS 관리형 키로 클라우드에 저장된 테이프 데이터를 암호화하도록 게이트웨이를 구성할 수 있다.

CloudFront

User-Agent Header

  • CloudFront 배포를 통해 모든 트래픽을 전송하기 위해 Route 53 CNAME 레코드를 생성하였지만, 모바일 사용자들이 데스크톱 화면을 보는 것과 같이 적절하지 않은 화면을 제공할 수 있다.
    • 이러한 경우 "User-Agent" 헤더를 전달하도록 CloudFront 배포 동작을 구성하여 사용자의 디바이스에 따라 적절한 화면을 제공할 수 있다.
    • Adding custom headers to origin requests

TTL

  • TTL이 86,400초인 CloudFront에서 정적 웹 사이트를 호스팅하고 있다. 최신 버전을 S3에 업로드하였지만 고객은 사이트를 새로고침하여도 이전 콘텐츠가 표시되고 있다.
  • 관리자는 가능한 빨리 사용자가 웹 사이트의 새 버전을 볼 수 있도록 해야 한다.
    • 이전 S3 객체에 대한 CloudFront 배포에 무효화를 생성한다.

Encryption

  • Using HTTPS CloudFront to S3 Origin
  • 최종 사용자가 HTTPS를 사용하여 S3에서 객체를 요청하도록 CloudFront를 구성한다. CloudFront와 S3는 HTTP를 사용하여 서로 통신한다.
    • S3 버킷이 웹 사이트 엔드포인트로 구성된 경우 S3는 해당 구성에서 HTTPS 연결을 지원하지 않기 때문에 HTTPS를 사용하여 오리진과 통신하도록 CloudFront를 구성할 수 없다.

Database

RDS

  • 관리자가 MariaDB DB 인스턴스용 Amazon RDS의 문제를 조사하고 있다. 관리자는 자세한 대기 이벤트별로 분류된 데이터베이스 부하를 표시하려고 한다.
  • Read Replica vs Multi-AZ
  • RDS는 DB 인스턴스가 실행되는 운영 체제(OS)에 대한 지표를 실시간으로 제공한다.
    • 콘솔을 사용하여 DB 인스턴스에 대한 지표를 볼 수 있다. 또한 선택한 모니터링 시스템에서 CloudWatch Logs의 Enhanced Monitoring JSON 출력을 사용할 수 있다.
    • 기본적으로 Enhanced Monitoring 지표는 일반적인 CloudWatch 지표와는 달리 CloudWatch Logs에 30일 동안 저장된다.
    • RDS에 대한 Enhanced Monitoring은 OS 지표를 제공한다. (사용 가능한 메모리, 활성 메모리, 스왑 사용 가능, 실행 중인 프로세스, 사용된 파일 시스템)
    • 이러한 지표를 사용하여 환경의 성능을 이해할 수 있으며 이러한 지표는 CloudWatch Logs에서 로그 항목으로 수집된다.
    • Enhanced Monitoring 지표는 DB 인스턴스의 다양한 프로세스나 스레드가 CPU를 어떻게 사용하는지 확인하려는 경우에 유용하다.

Aurora

  • 특정 시점 복구, 역추적 및 자동 백업이 활성화된 Aurora MySQL DB 클러스터를 사용하고 있다. 관리자는 72시간 이내에 DB 클러스터를 특정 복구 지점으로 롤백할 수 있어야 한다.
  • 복원은 동일한 프로덕션 DB 클러스터에서 완료되어야 한다.

Monitoring, Audit, Performance

CloudTrail

  • AWS 계정에서 CloudTrail이 비활성화된 경우 즉시 다시 활성화하려면 CloudTrail 구성이 변경될 때, 호출되는 AWS Config 규칙을 생성해야 한다.
    • 이후 AWS-ConfigureCloudTrailLogging 자동 수정 작업을 적용한다.

Cost Explorer

  • Cost Explorer를 사용하여 비용 및 사용량 보고서를 생성한다. 관리자는 "태그키 없음"이 월별 비용의 20%를 나타냄을 확인하고 "태그키 없음" 리소스에 태그를 지정하려고 한다.
    • 태그 편집기를 사용하여 태그가 지정되지 않은 모든 리소스를 찾아 태그를 지정한다.

CloudWatch

  • EC2 인스턴스에서 5분간 지속되는 CPU 사용률의 갑작스러운 증가가 있고 관리자는 "최소한의 노력"으로 더 많은 CPU를 소비하는 서비스나 프로세스의 ID를 찾아야 한다.
    • CPU 프로세스 지표를 캡처하도록 Amazon CloudWatch 에이전트 procstat 플러그인을 구성한다.
  • CloudWatch Agent common scenarios
  • 여러 구성 파일을 사용하도록 CloudWatch 에이전트를 설정할 수 있다.
    • 예를 들어, 인프라의 모든 서버에서 항상 수집하려는 측정항목 및 로그 집합을 수집하는 공통 구성 파일을 사용할 수 있다.
    • 그런 다음 특정 애플리케이션이나 특정 상황에서 지표를 수집하는 추가 구성 파일을 사용할 수 있다.
    • 동일한 서버에서 사용되는 구성 파일은 파일의 이름이 달라야 하며, 서버나 Parameter Store에 저장할 수 있다.
    • 구성 파일의 이름이 다른 경우는 아래와 같다.
      • fetch-config 옵션을 사용하여 CloudWatch 에이전트를 시작하고 첫 번째 구성 파일을 지정한다.
      • 실행 중인 에이전트에 두 번째 구성 파일을 추가하려면 동일한 명령을 append-config옵션과 함께 사용한다.
      • 두 구성 파일에 나열된 모든 측정항목과 로그가 수집된다.
    • 구성 파일의 이름이 동일한 경우는 아래와 같다.
      • 에이전트가 이미 사용 중인 구성 파일과 동일한 파일 이름을 가진 구성 파일과 함께 사용하는 경우, 추가 명령은 첫 번째 구성 파일에 추가하는 대신 첫 번째 구성 파일의 정보를 덮어쓴다.
      • 파일 이름이 동일한 두 구성 파일이 서로 다른 파일 경로에 있는 경우도 마찬가지다.
  • AMI에 CloudWatch 에이전트가 포함된 경우 EC2 Auto Scaling 그룹을 생성하면 EC2 인스턴스에 자동으로 설치된다.
    • 기본 Amazon Linux AMI를 사용하며 직접 설치해야 하며, AWS에서는 yum을 사용할 것을 권장한다.

Trusted Advisor

  • Trusted Advisor를 사용하여 보안 및 규정 준수를 구현하고 있다. 팀은 액세스할 수 있는 Trusted Advisor 점검 항목을 검증하고 있다. 사용 가능한 Trusted Advisor 검사 가용성에 영향을 미치는 요인은 무엇인가.
    • Trusted Advisor 검사는 계정의 AWS Support 플랜에 따라 사용 가능한 검사 수가 제한된다.
    • 무료 Basic 플랜은 제한된 수의 검사만 제공하며, Business, Enterprise, On-Ramp 또는 Enterprise 플랜은 더 많은 검사에 대한 액세스 권한을 제공한다.

Account Management

AWS Organizations

  • AWS Organizations의 조직 구성원이 AWS 계정을 관리하고 있다. 조직에 통합 결제 기능이 활성화되어 애플리케이션을 호스팅하고 있다.
  • 관리자는 환경을 반영하기 위해 계정 내의 리소스에 태그를 적용하였고, 팀에는 환경별 요금 분석 보고서가 필요하다.
    • 조직의 마스터 계정에서 비용 할당을 위한 태그키를 활성화한다.
    • AWS Organizations에서 통합 결제를 활성화한 경우, 조직의 마스터 계정에서 태그 키를 활성화하여 리소스에 태그를 적용하고 이를 통해 비용을 할당하고 분석할 수 있다.

Disaster Recovery

AWS Backup

  • AWS Backup
  • AWS Backup은 EBS, EC2, RDS, Aurora, DynamoDB, EFS 및 Storage Gateway를 포함한 AWS 서비스 전반에서 데이터 백업을 단순화하고 자동화하는 비용 효율적인 완전 관리형 백업 서비스다.
  • 또한, AWS Backup은 AWS Organizations를 활용하여 다중 계정 AWS 환경의 리소스 전체에 대한 백업 정책에 대한 중앙 보기를 구현하고 유지 관리한다.
  • 사용자는 교차 지역 데이터 복제를 위해 AWS Backup에서 관리하는 백업 정책과 AWS 리소스에 태그를 지정하고 연결하기만 하면 된다.

Security & Compliance


Identity

Amazon Cognito

  • Cognito integrating user pools & identity pool
  • Cognito Details
  • Cognito User Pool vs Identity Pool
  • Amazon Cognito를 사용하면 웹 및 모바일 앱에 사용자 가입, 로그인 및 액세스 제어를 빠르고 쉽게 추가할 수 있다.
  • Cognito는 수백만 명의 사용자로 확장되며 Facebook, Google, Amazon과 같은 소셜 자격증명 공급자 및 SAML 2.0을 통한 엔터프라이즈 자격 증명 공급자와의 로그인을 지원한다.
  • 애플리케이션별 사용자 인증은 Cognito 사용자 풀을 통해 제공될 수 있으며, 사용자는 Cognito 자격 증명 풀을 사용하여 S3와 같은 AWS 서비스에 액세스할 수 있다.
  • Identity Based Policy vs Resource Based Policy
  • 자격 증명 기반 정책은 IAM 사용자, 그룹 또는 역할에 연결된다. 이러한 정책을 사용하면 해당 ID가 수행할 수 있는 작업(권한)을 지정할 수 있다.
  • 리소스 기반 정책은 리소스에 연결된다. 예를 들어, S3 버킷, SQS 대기열, KMS 암호화 키에 리소스 기반 정책을 연결할 수 있다.
  • 자격 증명 기반 정책과 리소스 기반 정책은 모두 권한 정책이며 함께 평가된다.
    • 권한 정책만 적용되는 요청의 경우 AWS는 먼저 모든 정책에 거부가 있는지 확인하고, 존재하는 경우 요청이 거부된다. 그런 다음 AWS는 각 허용을 확인한다.
    • 하나 이상의 정책 설명이 요청의 작업을 허용하는 경우 요청이 허용된다. 허용이 자격 증명 기반 정책에 있는지 아니면 리소스 기반 정책에 있는지는 중요하지 않다.
  • 한 계정에서 다른 계정으로 요청하는 경우 계정 A의 요청자는 계정 B의 리소스에 대한 요청을 허용하는 자격 증명 기반 정책을 가지고 있어야 한다.
    • 또한 계정 B의 리소스 기반 정책은 요청자가 다음 작업을 수행하도록 허용해야 한다.
    • 리소스에 액세스하기 위한 계정 A. 두 계정 모두에 작업을 허용하는 정책이 있어야 한다.

Route 53


Amazon VPC


Other Services

X-Ray

  • X-Ray services elb
  • Application Load Balancer는 X-Ray로 데이터를 보내지 않는다.
    • Elastic Load Balancing 애플리케이션 로드 밸런서는 X-Amzn-Trace-Id라는 헤더의 수신 HTTP 요청에 추적 ID를 추가한다.
    • 로드 밸런서는 X-Ray로 데이터를 전송하지 않으며 서비스 맵에 노드로 표시되지 않는다.
  • X-Ray는 S3와 통합되어 업스트림 요청을 추적하여 애플리케이션의 S3 버킷을 업데이트한다.
  • X-Ray를 사용하여 AWS Lambda 함수를 추적할 수 있다. Lambda는 X-Ray 데몬을 실행하고 함수 호출 및 실행에 대한 세부 정보가 포함된 세그먼트를 기록한다.
  • X-Ray를 사용하여 API Gateway API를 통해 기본 서비스로 이동하는 사용자 요청을 추적하고 분석할 수 있다.
    • API Gateway는 리전, 엣지 최적화, 프라이빗 등 모든 API 게이트웨이 엔드포인트 유형에 대해 X-Ray 추적을 지원한다.
    • X-Ray를 사용할 수 있는 모든 AWS 리전에서 API Gateway와 함께 X-Ray를 사용할 수 있다.

'Infrastructure > Certificate' 카테고리의 다른 글

[SOA] 오답노트 2023.12 - 3주차  (0) 2023.12.16
[SOA] 오답노트 2023.12 - 2주차  (0) 2023.12.10
[SOA] 목차  (0) 2023.11.27
[SOA] Other Services  (0) 2023.11.27
[SOA] Amazon VPC  (0) 2023.11.27