본문 바로가기

Infrastructure/Certificate

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

오답노트 2023.12 2주차

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

EC2 Instance

EBS

  • EBS 스냅샷을 몇 분마다 생성해야 하는 경우 CloudWatch Event를 사용하여 자동 EBS 스냅샷을 예약해야 한다.
    • 일정에 따라 CloudWatch 이벤트 규칙을 실행하여, EBS 볼륨의 자동 스냅샷을 생성할 수 있다.
    • 몇 분마다 스냅샷을 생성하도록 고정 속도를 선택하거나 cron 표현식을 사용하여 스냅샷이 특정 시간에 생성되도록 지정할 수 있다.
  • 스냅샷은 증분 백업이다.
    • 즉, 가장 최근 스냅샷 이후에 변경된 장치의 블록만 저장된다.
    • 이를 통해, 스냅샷 생성에 필요한 시간을 최소화하고 데이터를 복제하지 않아 스토리지 비용을 절약할 수 있다.
    • 각 스냅샷에는 데이터를 새 EBS 볼륨으로 복원하는 데 필요한 모든 정보가 포함되어 있다.
  • EBS 볼륨의 스토리지 용량을 늘렸지만 파일 시스템에 반영되지 않는 경우 파일 시스템을 더 큰 크기로 확장해야 한다.
    • 볼륨이 최적화 상태로 전환되자마자 파일 시스템의 크기를 조정할 수 있다.
    • EBS 볼륨에는 파일 시스템과 데이터가 포함된 파티션이 있을 수 있다. 볼륨 크기를 늘려도 파티션 크기는 늘어나지 않는다. 크기가 조정된 볼륨에서 파일 시스템을 확장하기 전에 볼륨에 새 크기의 볼륨으로 확장해야 하는 파티션이 있는지 확인한다.
    • 파일 시스템별 명령을 사용하여 각 파일 시스템의 크기를 새 볼륨 용량으로 조정한다.
  • EBS Volume Types
  • 100 GiB로 요청된 볼륨 크기에 대한 프로비저닝된 IOPS의 최대 비율은 50:1이다.
    • 따라서 100GiB 볼륨 크기의 경우 가능한 최대 IOPS는 100 * 50 = 5000 IOPS다.

상태 확인

  • 인스턴스 상태 모니터링을 사용하면 Amazon EC2가 인스턴스의 애플리케이션 실행을 방해할 수 있는 문제를 감지했는지 여부를 빠르게 확인할 수 있다.
    • EC2는 실행 중인 모든 EC2 인스턴스에 대해 자동 검사를 수행하여 하드웨어 및 소프트웨어 문제를 식별한다.
    • 이러한 상태 확인 결과를 보고 감지 가능한 특정 문제를 식별할 수 있다.
    • 상태 확인은 1분마다 수행되어 통과 또는 실패 상태를 반환한다.
    • 모든 검사가 통과되면 인스턴스의 전반적인 상태는 OK이며, 하나 이상의 검사가 실패하면 전체 상태가 손상된다.
    • 상태 확인은 EC2에 내장되어 있으므로 비활성화하거나 삭제할 수 없다.
    • 상태 확인이 실패하면 상태 확인에 대한 해당 CloudWatch 지표가 증가한다.
    • 이러한 지표를 사용하여 상태 확인 결과에 따라 트리거되는 CloudWatch 경보를 생성할 수 있다.
    • 예를 들어, 특정 인스턴스에서 상태 확인이 실패할 경우 경고하는 경보를 생성할 수 있다.
    • EC2 인스턴스를 모니터링하고 근본적인 문제로 인해 인스턴스가 손상되는 경우 인스턴스를 자동으로 복구하는 CloudWatch 경보를 생성할 수도 있다.

AMI

  • 암호화되지 않은 볼륨과 고객 관리형 CMK로 암호화된 볼륨이 있는 AMI만 공유할 수 있다.
    • 암호화된 볼륨과 AMI를 공유하는 경우 이를 암호화하는 데 사용된 CMK도 공유해야 한다.
  • AMI를 공유하기 위해 AMI가 참조하는 EBS 스냅샷을 공유할 필요가 없다.
    • AMI 자체만 공유하면 시스템은 시작을 위해 참조된 EBS 스냅샷에 대한 액세스를 자동으로 제공한다.
  • Sharing amis explicit
  • AMI는 인스턴스를 시작하는 데 필요한 정보를 제공한다.
    • 인스턴스를 시작할 때 AMI를 지정해야 한다.
    • 동일한 구성의 여러 인스턴스가 필요한 경우 단일 AMI에서 여러 인스턴스를 시작할 수 있다.
    • 다양한 구성의 인스턴스가 필요할 때, 다양한 AMI를 사용하여 인스턴스를 시작할 수 있다.
    • 공유 AMI는 개발자가 생성하여 다른 개발자가 사용할 수 있도록 제공한 AMI다.
  • AMI를 공개하지 않고 특정 AWS 계정과 AMI를 공유할 수 있다.
    • AWS 계정 ID만 있으면 된다.
    • 암호화되지 않은 볼륨과 고객 관리형 CMK로 암호화된 볼륨이 있는 AMI만 공유할 수 있다.
    • 암호화된 볼륨과 AMI를 공유하는 경우 이를 암호화하는 데 사용된 CMK도 공유해야 한다.
    • 특정 사용 사례에 대해 AMI에 대한 이미지 권한을 수정한 다음 AMI를 공유하려는 사용자의 AWS 계정 번호를 지정할 수 있다.
  • AMI 등록을 취소하면 취소된 AMI를 통해 인스턴스를 실행할 수 없다.
    • 공유를 한 계정과 공유를 받은 계정 모두 등록 취소된 AMI를 통해 인스턴스를 실행할 수 없다.
    • 이미 시작된 인스턴스는 AMI가 등록 취소되어도 영향을 받지 않는다.

용량 예약

  • 온디맨드 용량 예약을 사용하면 특정 가용 영역에서 EC2 인스턴스의 용량을 원하는 기간 동안 예약할 수 있다.
    • 이를 통해 Savings Plans 또는 지역 예약 인스턴스에서 제공하는 청구 할인과 별도로 용량 예약을 생성하고 관리할 수 있다.
  • 용량 예약은 청구 할인을 제공하지 않는다.
    • 용량 예약을 Savings Plans 또는 지역 예약 인스턴스와 결합하여 할인을 받을 수 있다.

Spot Instance

  • EC2가 스팟 인스턴스를 중단할 때 아래의 항목 중 하나를 수행하도록 지정할 수 있다.
    • 스팟 인스턴스 중지
    • 스팟 인스턴스를 최대 절전 모드로 전환
    • 스팟 인스턴스 종료
  • 스팟 인스턴스를 재부팅할 수는 없다.

High Availability & Scalability

Auto Scaling

  • Auto Scaling 그룹이 축소 시 특정 인스턴스를 종료할 수 있는지 여부를 제어하려면 "인스턴스 축소 보호"를 사용한다.
    • ASG의 원하는 용량이 줄어들지만 ASG는 인스턴스를 종료할 수 없다.
    • Auto Scaling 그룹 또는 개별 Auto Scaling 인스턴스에서 "인스턴스 축소 보호" 설정을 활성화할 수 있다.
    • Auto Scaling 그룹의 모든 인스턴스가 축소 중에 종료되지 않도록 보호되고 축소 이벤트가 발생하면 원하는 용량이 감소한다.
    • Auto Scaling 그룹은 "인스턴스 축소 보호" 설정이 비활성화될 때까지 필요한 수의 인스턴스를 종료할 수 없다.
  • "인스턴스 축소 보호"는 다음으로부터 Auto Scaling 인스턴스를 보호하지 않는다.
    • EC2 콘솔, terminate-instance 명령 또는 TerminateInstance 작업을 통해 수동으로 종료한다. Auto Scaling 인스턴스를 수동 종료로부터 보호하려면 EC2 종료 보호를 활성화해야 한다.
    • 인스턴스가 상태 확인에 실패하면 상태 확인이 대체된다. EC2 Auto Scaling이 비정상 인스턴스를 종료하는 것을 방지하려면 InstallUnhealthy 프로세스를 일시 중지한다.
    • 스팟 인스턴스 중단. 용량을 더 이상 사용할 수 없거나 스팟 가격이 최대 가격을 초과하면 스팟 인스턴스가 종료된다.
  • Instance Launch Failure Troubleshooting
  • Auto Scaling Group이 암호화된 EBS 볼륨이 있는 인스턴스를 시작하려고 시도하지만 서비스 연결 역할이 이를 암호화하는 데 사용되는 고객 관리형 CMK에 액세스할 수 없는 경우 Client.InternalError: Client error on launch 오류가 발생한다.
    • 해결 방법 1: Auto Scaling 그룹과 동일한 AWS 계정에서 CMK를 사용한다. Auto Scaling 그룹과 동일한 계정에 속하는 다른 CMK를 사용하여 스냅샷을 복사하고 다시 암호화한다. 서비스 연결 역할이 새 CMK를 사용하도록 허용한다.
    • 해결 방법 2: Auto Scaling 그룹과 다른 AWS 계정에서 CMK를 계속 사용한다. 이 Auto Scaling 그룹에 사용할 서비스 연결 역할을 결정한다. Auto Scaling 그룹 계정이 CMK에 액세스하도록 허용한다.
      권한 부여를 생성할 수 있는 Auto Scaling 그룹 계정에서 IAM 사용자 또는 역할을 정의한다. 피부여자 보안 주체로서 서비스 연결 역할을 사용하여 CMK에 대한 권한 부여를 생성한다. 서비스 연결 역할을 사용하도록 Auto Scaling 그룹을 업데이트한다.
  • 종료 프로세스가 일시 중지되면 Auto Scaling 그룹은 발생하는 경보 또는 예약된 작업에 맞게 축소되지 않는다.
    • 종료 프로세스가 일시 중단되고 AZRebalance 프로세스가 여전히 활성 상태인 동안에는 AZRebalance가 제대로 작동하지 않는다.
    • AZRebalance는 이전 인스턴스를 종료하지 않고도 새 인스턴스를 시작할 수 있다.
    • 이로 인해 Auto Scaling 그룹이 최대 크기보다 최대 10% 더 커질 수 있다. 재조정 활동 중에 일시적으로 허용되기 때문이다.
  • 시작 프로세스가 일시 중지되면 Auto Scaling 그룹은 경보 또는 발생하는 예약된 작업에 대해 확장되지 않는다.
  • SpilloverCount는 급증 대기열이 가득 차서 거부된 요청 수를 나타낸다.
    • Classic Load Balancer 지표 SurgeQueueLength는 Classic Load Balancer가 대기 중인 총 요청 수를 측정한다.
    • SurgeQueueLength에 대한 최대 통계 증가는 백엔드 시스템이 요청이 수신되는 속도만큼 빠르게 들어오는 요청을 처리할 수 없음을 나타낸다.
    • SurgeQueueLength 지표가 높은 이유는 다음과 같다.
      • 들어오는 모든 요청을 처리할 수 없는 Classic Load Balancer 뒤에 있는 과부화된 EC2 인스턴스
      • 외부 리소스 성능 문제로 인한 애플리케이션 종속성 문제
      • 인스턴스에 허용되는 최대 연결 한도

Load Balancer

  • Load Balancer Troubleshooting
  • 대상 그룹에 정상 대상이 하나 이상 있는 경우 로드 밸런서는 정상 대상으로만 요청을 라우팅한다.
    • 대상 그룹에 비정상 대상만 포함된 경우 로드 밸런서는 비정상 대상으로 요청을 라우팅한다.
    • 인스턴스가 비즈니스에 중요한 애플리케이션을 호스팅하는 경우 Auto Scaling 그룹을 구성하는 것이 좋다.
  • 로드 밸런서의 대상 그룹에 등록된 대상이 없으면 503 오류가 반환된다.
  • ALB에 대한 요청을 모니터링하도록 AWS WAF 웹 ACL을 구성하고 요청을 차단한 경우 403 오류가 발생한다.
  • ELB는 "사전 준비"(예상 트래픽을 기준으로 적절한 수준의 용량을 갖도록 로드 밸런서를 구성)없이 고객을 위한 대부분의 사용 사례를 처리할 수 있다.
    • 플래시 트래픽이 예상되는 경우나 점진적으로 트래픽을 늘리도록 로드 테스트를 구성할 수 없는 경우와 같은 특정 시나리오에서 AWS는 AWS에 문의하여 로드 밸런서를 "사전 준비"할 것을 권장한다.
    • 그런 다음 AWS는 예상 트래픽을 기반으로 적절한 수준의 용량을 갖도록 로드 밸런서를 구성한다.
    • AWS는 테스트 또는 예상 플래시 트래픽의 시작 및 종료 날짜, 초당 예상 요청 속도, 테스트할 일반적인 요청/응답의 총 크기를 알아야 한다.
  • AWS 계정을 생성하면 AWS는 리전별로 이러한 리소스에 대한 기본 할당량(한도)을 설정한다.
    • 예를 들어, 한 지역에서 시작할 수 있는 최대 인스턴스 수가 있다.
    • 예를 들어, 미국 서부(오레곤) 지역에서 인스턴스를 시작하려는 경우 요청으로 인해 사용량이 해당 지역의 최대 인스턴스 수를 초과해서는 안된다.
    • 새 인스턴스를 시작하거나 중지된 인스턴스를 다시 시작하려고 할 때, InsatnceLimitExceeded 오류가 발생하면 리전에서 시작할 수 있는 인스턴스 수 제한에 도달한 것이다.
    • 지정된 사용 사례에 대해 허용되는 EC2 인스턴스 수의 상한을 20에서 ASG가 사용량 수요를 충족하도록 확장할 수 있는 적절한 수로 늘리는 지원 요청을 생성해야 한다.
  • Elastic Load Balancing은 로드 밸런서와 대상에 대한 지표를 CloudWatch에 게시한다.
    • Elastic Load Balancing은 요청이 로드 밸런서를 통해 흐르는 경우에만 CloudWatch에 지표를 보고한다.
    • 로드 밸런서를 통과하는 요청이 있는 경우 Elastic Load Balancing은 60초 간격으로 지표를 측정하고 전송한다.
    • 로드 밸런서를 통해 전달되는 지표에 대한 데이터가 없으면 지표가 보고되지 않는다.
  • 지정된 사용 사례에 대해 ActiveConnectionCount 측정항목을 사용하여 자동 크기를 조정할 수 있다.
    • 측정 단위는 클라이언트에서 로드 밸런서로, 그리고 로드 밸런서에서 대상으로 활성화된 총 동시 TCP 연결 수를 나타낸다.
  • X-Forwarded Headers
  • X-Forwarded-For 요청 헤더는 HTTP 또는 HTTPS 로드 밸런서를 사용할 때 클라이언트의 IP 주소를 식별하는 데 도움이 된다.
    • 로드 밸런서는 클라이언트와 서버 간의 트래픽을 가로채기 때문에 서버 액세스 로그에는 로드 밸런서의 IP 주소만 포함된다.
    • 클라이언트의 IP 주소를 보려면 X-Forwarded-For 요청 헤더를 확인하면 된다.
    • ELB는 X-Forwarded-For 요청 헤더에 클라이언트의 IP 주소를 저장하고 해당 헤더를 서버에 전달한다.
  • X-Forwarded-Proto 요청 헤더는 클라이언트가 로드 밸런서에 연결하는 데 사용한 프로토콜을 식별하는 데 도움이 된다.

Elastic Beanstalk

Auto Scaling

  • Elastic Beanstalk 환경의 Auto Scaling 그룹은 두 개의 CloudWatch 경보를 사용하여 조정 작업을 트리거 한다.
    • 기본 Auto Scaling 트리거는 각 인스턴스의 평균 아웃바운드 네트워크 트래픽(NetworkOut)이 5분 동안 6MB보다 높거나 2MB보다 낮을 때 확장되도록 구성된다.
    • 보다 효율적인 EC2 Auto Scaling을 위해 애플리케이션, 인스턴스 유형 및 서비스 요구 사항에 적합한 트리거를 구성할 수 있다.
    • 대기 시간, 디스크 I/O, CPU 사용률 및 요청 수를 포함한 여러 통계를 기반으로 확장할 수 있다.

CloudFormation

Stack Policy

  • 스택 정책을 사용하면 의도하지 않은 업데이트로부터 중요한 스택 리소스를 보호할 수 있다.
    • 스택 정책은 리소스가 중단되거나 교체될 수 있는 의도하지 않은 업데이트로부터 중요한 스택 리소스를 보호하는 데 도움이 된다.
    • 스택 정책은 지정된 리소스에서 수행할 수 있는 업데이트 작업을 설명하는 JSON 문서다.
    • 중요한 리소스가 포함된 스택을 생성할 때마다 스택 정책을 지정한다.
    • 스택 업데이트 중에 종료하려는 보호 리소스를 명시적으로 지정해야 하며, 그렇지 않으면 보호된 리소스가 변경되지 않는다.

Change Set

  • using cfn updating stack changeset
  • ChangeSet을 사용하면 스택에 대해 제안된 변경 사항이 기존 리소스에 어떤 영향을 미칠 수 있는지 미리 확인할 수 있다.
    • 예를 들어, 변경 사항으로 인해 중요한 리소스가 삭제되거나 교체되는지 여부, CloudFormation은 변경 세트를 실행하기로 결정한 경우에만 스택을 변경한다.
    • 제안된 변경 사항을 계속 진행할지 아니면 다른 변경 세트를 생성하여 다른 변경 사항을 탐지할지 결정할 수 있다.
    • CloudFormation 콘솔, AWS CLI, CloudFormation API를 사용하여 변경 세트를 생성하고 관리할 수 있다.
    • 변경을 실행한 후 AWS CloudFormation은 업데이트된 스택에 적용할 수 없기 때문에 스택과 연결된 모든 불필요해진 변경 세트를 제거한다.

Template

  • 템플릿에 사용자 지정 명명된 IAM 리소스가 포함되어 있는 경우 동일한 템플릿을 재사용하여 여러 스택을 생성해서는 안된다.
    • IAM 리소스는 계정 내에서 전역적으로 고유해야 한다.
    • 동일한 템플릿을 사용하여 서로 다른 리전에서 여러 스택을 생성하는 경우 스택은 각각 고유한 리소스를 갖는 대신 동일한 IAM 리소스를 공유할 수 있다.
    • 스택 간에 공유된 리소스는 복구할 수 없는 의도하지 않은 결과를 초래할 수 있다.
    • 예를 들어, 한 스택에서 공유 IAM 리소스를 삭제하거나 업데이트하면 의도치 않게 다른 스택의 리소스도 수정된다.

Lambda


Amazon S3

  • The authorization header is malformed; the region '<AWS Region>' is wrong; expecting '<AWS Region>'오류는 구성된 S3 버킷이 한 AWS 리전에서 다른 AWS 리전으로 이동되었음을 나타낸다.
    • 즉, 한 리전에서 삭제되고 다른 AWS 리전에서 동일한 이름으로 생성된다.
    • 이 오류를 해결하려면 버킷의 현재 AWS 리전에서 S3 버킷을 찾을 수 있도록 CloudFront 배포를 업데이트해야 한다.
    • CloudFront가 오리진에서 객체를 요청하고 오리진이 HTTP 4xx 또는 5xx 상태 코드를 반환하는 경우 간의 통신에 문제가 있는 것이다.
    • CloudFront 배포에서는 HTTP 상태 코드 400 Bad Request와 함께 The authorization header is malformed; the region '<AWS Region>' is wrong; expecting '<AWS Region>' 오류 응답과 유사한 메시지를 보낼 수 있다.
    • 이 문제는 다음 시나리오에서 발생할 수 있다.
      • CloudFront 배포의 오리진이 S3 버킷이다.
      • S3 버킷을 한 AWS 리전에서 다른 AWS 리전으로 이동했다.
      • 즉, S3 버킷을 삭제한 후 나중에 버킷 이름은 동일하지만 원래 S3 버킷이 있던 AWS 리전과 다른 새 버킷을 생성했다.
  • Private content restricting access to s3
  • S3 버킷에서 제공하는 콘텐츠에 대한 액세스를 제한하려면 아래의 단계를 따라야 한다.
    • OAI(원본 액세스 ID)라는 특별한 CloudFront 사용자를 생성하고 이를 배포와 연결한다.
    • CloudFront가 OAI를 사용하여 버킷의 파일에 액세스하고 이를 사용자에게 제공할 수 있도록 S3 권한을 구성한다.
  • S3 복제 시간 제어(S3 RTC)는 데이터 복제에 대한 규정 준수 또는 비즈니스 요구 사항을 충족하는 데 도움이 되며 S3 복제 시간에 대한 가시성을 제공한다.
    • S3 RTC는 S3에 업로드하는 대부분의 객체를 몇 초 만에 복제하고 해당 객체의 99.99%를 15분 이내에 복제한다.
    • S3 RTC에는 기본적으로 S3 복제 지표 및 S3 이벤트 알림이 포함되어 있으며, 이를 통해 복제 보류 중인 총 S3 API 작업 수, 복제 보류 중인 객체의 총 크기 및 최대 복제 시간을 모니터링할 수 있다.
    • S3 RTC를 활성화한 후 15분 이내에 복제 이벤트를 사용할 수 있다. S3 이벤트는 Amazon SQS, Amazon SNS, AWS Lambda를 통해 사용할 수 있다.

Access Logging

  • 버킷에 대한 액세스 요청을 추적하려면 서버 액세스 로깅을 활성화할 수 있다.
  • 각 액세스 로그 기록은 요청자, 버킷 이름, 요청 시간, 요청 작업, 응답 상태, 오류 코드 등 단일 액세스 요청에 대한 세부 정보를 제공한다.
  • S3 버킷에서 서버 액세스 로깅을 활성화하는 데에는 추가 비용이 없으며, 로그가 버킷에 PUT되는 경우에는 비용이 청구되지 않는다.
  • 그러나 시스템이 버킷에 전달하는 모든 로그 파일에는 일반적인 스토리지 요금이 발생한다. 언제든지 이러한 로그 파일을 삭제할 수 있다.
  • 이러한 로그 파일에 대한 후속 읽기 및 기타 요청에는 데이터 전송 요금을 포함하여 다른 객체와 마찬가지로 정상적으로 요금이 부과된다.
  • 기본적으로 로깅은 비활성화되어 있으며, 로깅이 활성화되면 로그는 소스 버킷과 동일한 AWS 리전에 있는 버킷에 저장된다.
  • 이는 S3 버킷에 대한 사용자 요청을 추적하는 데 도움이 되면서 추가 비용이 발생하지 않으므로 올바른 선택이다.

S3 Inventory

  • S3 Inventory는 S3가 스토리지 관리를 돕기 위해 제공하는 도구 중 하나다.
    • 이를 사용하여 비즈니스, 규정 준수 및 규제 요구 사항에 맞게 객체의 암호화 상태를 감사하고 보고할 수 있다.
    • S3 동기식 List API 작업에 대한 예약된 대안을 제공하는 S3 인벤토리를 사용하여 비즈니스 워크플로와 빅 데이터 작업을 단순화하고 속도를 높일 수 있다.
    • S3 인벤토리는 S3 버킷 또는 공유 접두사다. 주 단위로 구성된 경우 초기 보고서 이후 매주 일요일(UTC 시간대)에 보고서가 생성된다.

Advanced Storage


CloudFront

  • forward custom headers restrict access
  • private content restricting access to s3
  • 웹 사이트 엔드포인트로 구성된 S3 버킷을 사용하는 경우 CloudFront를 사용하여 사용자 지정 오리진으로 설정해야 한다. 원본 액세스 ID(OAI)를 사용할 수 없다.
  • 그러나 사용자 정의 헤더를 설정하고 이를 요구하도록 오리진을 구성하여 사용자 정의 오리진의 콘텐츠에 대한 액세스를 제한할 수 있다.
  • 사용자가 CloudFront를 통해 콘텐츠에 액세스하도록 요구하려면 CloudFront 배포에서 다음 설정을 변경해야 한다.
    • 오리진 사용자 지정 헤더: 사용자 지정 헤더를 오리진에 전달하도록 CloudFront를 구성한다.
    • 뷰어 프로토콜 정책: 뷰어가 HTTPS를 사용하여 CloudFront에 액세스하도록 요구하도록 배포를 구성한다.
    • 오리진 프로토콜 정책: CloudFront가 최종 사용자와 동일한 프로토콜을 사용하여 오리진에 요청을 전달하도록 배포를 구성한다.
  • IAM 역할을 CloudFront에 연결할 수 없다.
  • 보안 그룹을 CloudFront 또는 S3에 연결할 수 없다.
  • 인터넷을 통해 콘텐츠를 배포하는 많은 회사에서는 문서, 비즈니스 데이터, 미디어 스트림 또는 특정 사용자(예. 요금을 지불한 사용자)를 대상으로 하는 콘텐츠에 대한 액세스를 제한하려고 한다.
    • CloudFront를 사용하여 이 프라이빗 콘텐츠를 안전하게 제공하려면 다음을 수행할 수 있다.
      • 사용자가 특별한 CloudFront 서명 URL 또는 서명 쿠키를 사용하여 Private 콘텐츠에 액세스하도록 요구한다.
      • 서명된 URL에는 만료 날짜 및 시간과 같은 추가 정보가 포함되어 있어 콘텐츠에 대한 액세스를 더 효과적으로 제어할 수 있다.
  • CloudFront 서명 쿠키를 사용하면 현재 URL을 변경하고 싶지 않거나 여러 제한된 파일(예. 웹 사이트의 구독자 영역에 있는 모든 파일)에 대한 액세스를 제공하려는 경우 콘텐츠에 액세스할 수 있는 사람을 제어할 수 있다.
  • IAM 사용자는 CloudFront Key Pairs를 생성할 수 없다.
    • Key Pairs를 생성하려면 루트 자격 증명을 사용하여 로그인해야 한다.

Database

RDS

  • Troubleshooting MySQL ReplicaLag
  • 읽기 전용 복제본의 테이블에 데이터를 쓰기 작업을 하는 경우 복제가 중단될 수 있다.
  • 읽기 전용 복제본의 max_allowed_packet 파라미터 값이 원본 DB 인스턴스의 max_allowed_packet 파라미터 값보다 작으면 복제본 오류가 발생하고 복제가 중지될 수 있다.
    • max_allowed_packet 파라미터는 DB 파라미터 그룹에서 설정할 수 있는 사용자 지정 파라미터다.
    • max_allowed_packet 파라미터는 데이터베이스에서 실행할 수 있는 DML의 최대 크기를 지정하는 데 사용된다.
  • RDS 다중 AZ 배포는 RDS 인스턴스에 향상된 가용성과 내구성을 제공하므로 프로덕션 데이터베이스 워크로드에 적합하다.
    • 다중 AZ DB 인스턴스를 프로비저닝 하면 RDS는 자동으로 기본 DB 인스턴스를 생성하고 다른 가용 영역에 있는 대기 인스턴스에 데이터를 동기식으로 복제한다.
    • 다중 AZ는 단일 지역 내에서 2개 이상의 가용 영역에 걸쳐 있다.
  • RDS 읽기 전용 복제본은 DB 인스턴스에 향상된 성능과 내구성을 제공한다.
    • 읽기가 많은 데이터베이스 워크로드에 대해 단일 DB 인스턴스의 용량 제약을 넘어 탄력적으로 쉽게 확장할 수 있다.
    • MySQL, MariaDB, PostgreSQL, Oracle, SQL Server DB 엔진의 경우 RDS는 원본 DB 인스턴스의 스냅샷을 사용하여 두 번째 DB 인스턴스를 생성한다.
    • 원본 DB 인스턴스가 변경될 때마다 엔진의 기본 비동기식 복제를 사용하여 읽기 전용 복제본을 업데이트한다.

Aurora

  • 전체 AZ에 영향을 미치는 중단으로 인해 클러스터의 기본 인스턴스를 사용할 수 없다고 가정한다.
    • 이 경우 새 기본 인스턴스를 온라인으로 전환하는 방법은 클러스터가 다중 AZ 구성을 사용하는지 여부에 따라 달라진다.
    • 클러스터에 다른 AZ의 리더 인스턴스가 포함되어 있는 경우 Aurora는 장애 조치 메커니즘을 사용하여 해당 리더 인스턴스 중 하나를 새로운 기본 인스턴스로 승격한다.
    • 프로비저닝된 클러스터에 단일 DB 인스턴스만 포함되어 있거나 기본 인스턴스와 모든 리더 인스턴스가 동일한 AZ에 있는 경우 다른 AZ에 하나 이상의 새 DB 인스턴스를 수동으로 생성해야 한다.

Monitoring, Audit, Performance

EventBridge

  • EventBridge에 대한 대상으로 구성된 Lambda 함수의 경우 리소스 기반 정책을 제공해야 한다. IAM 역할은 작동하지 않는다.
    • 규칙에 대한 IAM 역할은 Kinesis Streams와 관련된 이벤트에만 사용된다.
    • Lambda 함수 및 Amazon SNS 토픽의 경우 리소스 기반 권한을 제공해야 한다.
    • EventBridge에서 규칙이 트리거되면 규칙과 연결된 모든 대상이 호출된다.
    • 여기서 호출이란 AWS Lambda 함수를 호출하고, Amazon SNS 토픽에 게시하고, 이벤트를 Kinesis Stream에 전달하는 것을 의미한다.
    • 소유한 리소스에 대해 API 호출을 수행하려면 EventBridge에 적절한 권한이 필요하다.
    • Lambda, Amazon SNS, Amazon SQS, CloudWatch Logs 리소스의 경우 EventBridge는 리소스 기반 정책을 사용한다.

CloudWatch

  • StatsD 및 Collectd 프로토콜을 사용하여 애플리케이션 또는 서비스에서 사용자 지정 지표를 검색할 수 있다.
    • StatsD는 Linux 서버와 Windows 서버를 실행하는 서버 모두에서 지원된다.
    • Collectd는 Linux 서버에서만 지원된다.
  • CloudWatch Synthetics를 사용하여 일정에 따라 실행되는 구성 가능한 스크립트인 카나리아를 생성하고 엔드포인트 및 API를 모니터링할 수 있다.
    • Canary는 고객과 동일한 경로를 따르고 동일한 작업을 수행하므로 애플리케이션에 고객 트래픽이 없는 경우에도 고객 경험을 지속적으로 확인할 수 있다.
    • Canary를 사용하면 고객보다 먼저 문제를 발견할 수 있다.
    • Canary는 Node.js 스크립트다. Node.js를 프레임워크로 사용하는 Lambda 함수를 계정에 생성한다.
    • Canary는 HTTP 및 HTTPS 프로토콜을 통해 작동한다.
    • UI Canary는 Puppeteer를 통해 헤드리스 Google Chrome 브라우저에 대한 프로그래밍 방식의 액세스를 제공한다.
    • Canary는 엔드포인트의 가용성과 대기 시간을 확인하고 UI의 로드 시간 데이터와 스크린샷을 저장할 수 있다.
    • REST API, URL 및 웹 사이트 콘텐츠를 모니터링하고 피싱, 코드 삽입 및 사이트 간 스크립팅으로 인한 무단 변경을 확인할 수 있다.
    • Canary를 한 번 실행하거나 정기적으로 실행할 수 있다. 예약된 Canary는 분당 한 번씩 하루 24시간 실행될 수 있다.
  • CloudWatch Dashboard는 단일 보기에서 리소스를 모니터링하는 데 사용할 수 있는 CloudWatch 콘솔의 사용자 지정 가능한 홈페이지다.
    • 여러 지역에 분산되어 있는 리소스도 마찬가지다.
    • CloudWatch 대시보드를 사용하여 AWS 리소스에 대한 지표 및 경보에 대한 사용자 정의 보기를 생성할 수 있다.
    • 특정 사용 사례를 해결하려면 지역 선택기를 사용하여 지역별 그래프를 생성할 수 있다.
    • "글로벌 지표"와 같은 옵션은 존재하지 않는다.
  • CloudWatch 경보 작업을 사용하면 EC2 인스턴스를 자동으로 중지, 종료, 재부팅 또는 복구하는 경보를 생성할 수 있다.
    • 더 이상 인스턴스를 실행할 필요가 없을 때 중지 또는 종료 작업을 사용하면 비용을 절약할 수 있다.
    • 재부팅 및 복구 작업을 사용하여 해당 인스턴스를 자동으로 재부팅하거나 시스템 손상이 발생한 경우 새 하드웨어로 복구할 수 있다.

CloudTrail

  • S3에서는 CloudTrail 이벤트 로그를 사용하여 요청을 식별할 수 있다.
    • CloudTrail은 기본적으로 지난 90일 동안 이루어진 S3 버킷 수준 API 호출을 기록하지만 객체에 대한 요청은 기록하지 않는다.
    • AWS에서는 S3 버킷에 대한 정보에 액세스하기 위해 CloudTrail을 사용할 것을 제안한다.

Trusted Advisor

Detailed Monitoring

  • 지표는 CloudWatch의 기본 개념으로, CloudWatch에 게시되는 시간순으로 정렬된 데이터 포인트 세트를 나타낸다.
    • 측정항목을 모니터링할 변수로 생각하고, 데이터 포인트를 시간 경과에 따른 해당 변수의 값을 나타내는 것으로 생각한다.
    • 기본적으로 인스턴스는 기본 모니터링이 활성화되어 있다.
    • 선택적으로 세부 모니터링을 활성화할 수 있다. 세부 모니터링을 활성화하면 EC2 콘솔에 인스턴스에 대한 1분 간격의 모니터링 그래프가 표시된다.
  • 1분 내에 인스턴스에 대한 지표 데이터를 CloudWatch로 전송하려면 인스턴스에 대한 세부 모니터링을 활성화할 수 있지만 이 경우 추가 비용이 발생한다.

AWS Personal Health Dashboard

  • Personal Health Dashboard는 AWS에 사용자에게 영향을 줄 수 있는 이벤트가 발생할 때 경고 및 해결 지침을 제공한다.
    • Service Health Dashboard에는 AWS 서비스의 일반적인 상태가 표시되지만 Personal Health Dashboard는 AWS 리소스의 기반이 되는 AWS 서비스의 성능 및 가용성에 대한 맞춤형 보기를 제공한다.
    • 또한 Personal Health Dashboard는 AWS에서 사용자에게 영향을 미칠 수 있는 이벤트가 발생할 때 사전에 알림을 제공하여 진행 중인 이벤트의 영향을 최소화하고 AWS 하드웨어 유지 관리와 같은 예정된 변경 사항을 계획하는 데 도움이 되는 빠른 가시성과 지침을 제공한다.

AWS Service Status Dashboard

  • AWS Service Status Dashboard
  • AWS Service Status Dashboard는 AWS가 있는 모든 지역에 대한 모든 AWS 서비스의 상태 및 가용성에 대한 최신 정보를 표 형식으로 게시한다.

High Resolution Metric

  • High Resolution Metric
  • 애플리케이션은 고해상도 사용자 지정 지표를 사용하여 1초 단위로 지표를 CloudWatch에 게시할 수 있다.
    • 지표가 게시된 후 몇 초후에 화면에서 지표가 스크롤되는 것을 볼 수 있으며 10초마다 평가되는 고해상도 CloudWatch 경보를 설정할 수 있다.
    • 최대 10초 간격으로 고해상도 경보를 통해 경고할 수 있다.
    • 고해상도 알람을 사용하면 더 빠르게 반응하고 조치를 취할 수 있으며 표준 1분 알림으로 현재 사용할 수 있는 것과 동일한 작업을 지원한다.

Account Management

IAM

  • 개발 계정을 신뢰할 수 있는 엔터티로 정의하는 프로덕션 계정의 역할을 생성하고 신뢰할 수 있는 사용자가 버킷을 업데이트할 수 있도록 허용하는 권한 정책을 지정한다.
    이후 개발 계정에서 IAM 그룹 정책을 수정하여 테스터가 새로 생성된 역할에 대한 액세스를 거부하도록 한다. 개발자는 새로 생성된 역할을 사용하여 프로덕션 환경의 라이브 S3 버킷에 액세스할 수 있다.
  • AWS Management Console을 사용하여 프로덕션 계정과 개발 계정 간의 신뢰를 구축한다.
    • IAM 역할을 생성하는 것부터 시작이다.
    • 역할을 생성할 때 개발 계정을 신뢰할 수 있는 엔터티로 정의하고 신뢰할 수 있는 사용자가 프로덕션 버킷을 업데이트할 수 있도록 허용하는 권한 정책을 지정한다.
    • 테스터가 생성된 역할에 대한 액세스를 명시적으로 거부하도록 테스터 IAM 그룹에 대한 IAM 그룹 정책을 수정해야 한다.
    • 마지막으로 개발자는 생성된 역할을 사용하여 Production 계정의 버킷을 업데이트한다.

AWS Directory Service

  • AWS Directory Service는 AWS 관리형 도메인 컨트롤러 안팎의 트래픽에 대한 네트워크 규칙을 사용하여 VPC에 AWS 보안 그룹을 자동으로 생성하는 관리형 서비스다.
    • 기본 인바운드 규칙은 모든 소스(0.0.0.0/0)에서 Active Directory에 필요한 포트로의 트래픽을 허용한다.
    • 도메인 컨트롤러에 대한 트래픽은 VPC, 다른 피어링된 VPC 또는 AWS Direct Connect, AWS Transit Gateway 또는 가상 사설망을 사용하여 연결된 네트워크의 트래픽으로 제한되므로 이러한 규칙은 보안 취약성을 유발하지 않는다.
    • 또한 보안 그룹이 연결된 ENI에는 탄력적 IP가 연결되어 있지 않으며 연결할 수도 없으므로 인바운드 트래픽을 로컬 VPC 및 VPC 라우팅 트래픽으로 제한한다.

Cost Allocation Tags

  • Cost Allocation Tags
  • 태그는 사용자 또는 AWS가 AWS 리소스에 할당하는 레이블이다.
    • 각 태그는 키와 값으로 구성된다.
    • 각 리소스에 대해 각 태그 키는 고유해야 하며 각 태그 키는 하나의 값만 가질 수 있다.
    • 태그를 사용하여 리소스를 구성하고, 비용 할당 태그를 사용하여 AWS 비용을 세부적으로 추적할 수 있다.
    • 비용 할당 태그를 활성화하면 AWS는 비용 할당 태그를 사용하여 비용 할당 보고서에서 리소스 비용을 구성하므로 AWS 비용을 더 쉽게 분류하고 추적할 수 있다.
  • EC2 Billing Report(EC2 청구 보고서)와 같은 서비스는 존재하지 않는다.

Cost Explorer

  • 사용자 또는 AWS가 AWS 리소스에 태그를 적용하고 Billing and Cost Management 콘솔에서 태그를 활성화하면 AWS는 쉼표로 구분된 값으로 비용 할당 보고서를 생성한다.
    • 활성 태그별로 사용량과 비용을 그룹화한다.
    • 비즈니스 범주를 나타내는 태그를 적용하여 여러 서비스에 걸쳐 비용을 구성할 수 있다.
    • 특정 사용 사례에 대해 EIP를 사용하여 EC2 인스턴스에 대한 부서별 비용 할당 태그를 정의한 다음 Cost Explorer를 사용하여 보고서를 생성할 수 있다.

Disaster Recovery


Security & Compliance

Amazon Inspector

  • EC2 인스턴스의 네트워크 접근성과 인스턴스에서 실행되는 애플리케이션의 보안 상태를 테스트하는 데 도움이 되는 자동화된 보안 평가 서비스다.
  • 평가 실행이 성공적으로 완료되면 평가 실행에 대한 Inspector 평가 보고서를 생성할 수 있다. 평가 보고서는 평가 실행에서 테스트된 내용과 평가 결과를 자세히 설명하는 문서다.
  • 평가 결과는 수정 조치를 위해 팀 내에서 결과를 공유하고 규정 준수 감사 데이터를 강화하거나 향후 참조를 위해 저장하기 위해 생성될 수 있는 표준 보고서 형식으로 지정된다.
  • 평가에 대한 보고서는 결과 보고서 또는 전체 보고서 중에서 선택할 수 있다.
    • 결과 보고서에는 평가에 대한 요약, 대상 인스턴스, 테스트한 규칙 패키지, 결과를 생성한 규칙, 검사에 실패한 인스턴스 목록과 함께 이러한 각 규칙에 대한 자세한 정보가 포함되어 있다.
    • 전체 보고서에는 조사 결과 보고서의 모든 정보가 포함되어 있으며 평가 대상의 모든 인스턴스에서 확인되고 전달된 규칙 목록을 추가로 제공한다.

AWS GuardDuty

  • 악의적인 활동과 무단 행동을 모니터링하여 AWS 계정을 보호하는 위협 탐지 서비스다.
  • GuardDuty는 AWS CloudTrail(계정의 AWS 사용자 및 API 활동), VPC Flow Logs(네트워크 트래픽 데이터) 및 DNS Logs(쿼리 패턴)에서 AWS 계정 전체에 걸쳐 수십억 개의 이벤트를 분석한다.
  • GuardDuty는 패치되지 않은 알려진 취약점이 없음을 보여주는 보고서를 제공할 수 없다.

AWS Shield

  • AWS Shield는 AWS에서 실행되는 애플리케이션을 보호하는 관리형 DDoS 보호 서비스다.
  • 애플리케이션 가동 중지 시간과 지연 시간을 최소화하는 상시 감지 및 자동 인라인 완화 기능을 제공하므로 DDoS 보호의 이점을 누리기 위해 AWS Support에 참여할 필요가 없다.
  • Shield는 패치되지 않은 알려진 취약점이 없음을 보여주는 보고서를 제공할 수 없다.

AWS SSM (Systems Manager)

  • AWS 인프라에 대한 가시성과 제어 기능을 제공한다.
  • SSM은 통합 사용자 인터페이스를 제공하므로 여러 AWS 서비스의 운영 데이터를 볼 수 있으며 명령 실행, 패치 관리, 온프레미스 인프라는 물론 AWS 클라우드 전반의 서버 구성과 같은 운영 작업을 자동화할 수 있다.
  • EC2 인스턴스, S3 버킷 또는 RDS 인스턴스와 같은 리소스를 애플리케이션별로 그룹화하고, 모니터링 및 문제 해결을 위한 운영 데이터를 보고, 리소스 그룹에 대한 조치를 취할 수 있다.
  • SSM은 패치되지 않은 알려진 취약점이 없음을 보여주는 보고서를 제공할 수 없다.
  • AWS Systems Manager Parameter Store를 사용하면 일반 텍스트 매개변수 이름과 암호화된 매개변수 값이 있는 매개변수인 SecureString 매개변수를 생성할 수 있다.
    • Parameter Store는 AWS KMS를 사용하여 보안 문자열 파라미터의 파라미터 값을 암호화하고 복호화한다.
    • 고객 관리형 CMK를 사용하는 경우 IAM 정책과 키 정책을 사용하여 권한 암호화 및 복호화를 관리할 수 있다.
    • CloudTrail을 사용하여 SSM 및 KMS에 대한 모든 API 호출을 볼 수 있다.

AWS KMS

  • 한 AWS 계정의 IAM 사용자 또는 역할이 다른 AWS 계정의 고객 마스터 키(CMK)를 사용하도록 허용할 수 있다.
    • CMK를 생성하거나 기존 CMK에 대한 권한을 변경할 때 이러한 권한을 추가할 수 있다.
    • 다른 계정의 사용자 및 역할에 CMK 사용을 허용하려면 두 가지 유형의 정책을 사용해야 한다.
      1. CMK의 주요 정책은 외부 계정(또는 외부 계정의 사용자 및 역할)에게 CMK를 사용할 수 있는 권한을 부여해야 한다. 주요 정책은 CMK를 소유한 계정에 있다.
      2. 외부 계정의 IAM 정책은 주요 정책 권한을 해당 사용자 및 역할에 위임해야 한다. 이러한 정책은 외부 계정에 설정되며 해당 계정의 사용자 및 역할에 권한을 부여한다.

Secret Manager

  • Secret을 삭제하면 Secrets Manager는 7일의 복구 기간을 두고 해당 Secret을 더 이상 사용하지 않는다.
    • 즉, 7일이 지나기 전까지는 AWS Management Console을 사용하여 동일한 이름을 사용하여 보안 암호를 다시 생성할 수 없다.
    • AWS CLI를 사용하면 복구 기간 없이 Secret를 영구적으로 삭제할 수 있다.
    • Secret을 영구적으로 삭제하려면 ForceDeleteWithoutRecovery 매개변수와 함께 DeleteSecret API 호출을 실행하면 된다.
    • ForceDeleteWithoutRecovery 매개변수를 사용하여 삭제된 Secret은 복구하거나 복원할 수 없다.

Identity

MFA

  • AWS MFA는 기존 Gemalto 디바이스의 사용을 지원하지 않는다.
    • AWS MFA는 사용을 지원하기 위해 하드웨어 MFA(Gemalto) 디바이스와 연결된 고유 암호를 알고 있어야 한다.
    • 이러한 비밀은 여러 당사자 간에 절대 공유되지 않도록 규정하는 보안 제약으로 인해 AWS MFA는 기존 Gemalto 디바이스의 사용을 지원할 수 없다.
    • Gemalto에서 구입한 호환 가능한 하드웨어 MFA 디바이스만 AWS MFA와 함께 사용할 수 있다.
    • U2F 보안 키는 여러 당사자 간에 비밀을 공유하지 않으므로 AWS MFA에서 기존 U2F 보안 키를 재사용할 수 있다.

IAM

  • Policy Resource-based
  • 정책을 생성하고 이를 IAM 자격 증명 또는 AWS 리소스에 연결하여 AWS에서 액세스를 관리한다.
    • 정책은 자격 증명이나 리소스와 연결될 때 해당 권한을 정의하는 AWS의 객체다.
    • 리소스 기반 정책은 S3 버킷과 같은 리소스에 연결하는 JSON 정책 문서다.
    • 이러한 정책은 해당 리소스에 대해 특정 작업을 수행하고 이것이 적용되는 조건을 정의할 수 있는 지정된 보안 주체 권한을 부여한다.
  • 신뢰 정책(Trust Policy)은 역할을 맡을 수 있는 주체 엔티티(계정, 사용자, 역할 및 연합 사용자)를 정의한다.
    • IAM 역할은 리소스 기반 정책을 지원하는 자격 증명이자 리소스다.
    • 이러한 이유로 신뢰 정책과 자격 증명 기반 정책을 모두 IAM 역할에 연결해야 한다.
    • IAM 서비스는 IAM 역할에 연결된 역할 신뢰 정책이라는 한 가지 유형의 리소스 기반 정책만 지원한다.

Route 53


Amazon VPC

Carrier Gateway

  • Carrier Gateway
  • Carrier Gateway는 두 가지 용도로 사용된다.
    • 특정 위치의 통신 업체 네트워크로부터의 인바운드 트래픽을 허용하고, 통신업체 네트워크 및 인터넷으로의 아웃바운드 트래픽을 허용한다.
    • Carrier Gateway를 통해 인터넷에서 Wavelength Zone으로의 인바운드 연결 구성은 없다.
    • Carrier Gateway는 Wavelength Zone에 서브넷이 포함된 VPC에만 사용할 수 있다.

Subnet

  • 서브넷 유형에 관계없이 서브넷의 내부 IPv4 주소 범위는 항상 비공개다.
    • 서브넷 유형에 관계없이 서브넷의 내부 IPv4 주소 범위는 항상 비공개다.
    • AWS는 이러한 주소 블록을 인터넷에 알리지 않는다.
  • VPC를 생성할 때 CIDR 블록 형식으로 VPC에 대한 IPv4 주소 범위를 지정해야 한다.
    • VPC를 생성할 때, 다음에서 VPC에 대한 IPv4 주소 범위를 지정해야 한다.
    • CIDR 블록의 형태, 예를 들어, 10.0.0.0/16이다. 이는 VPC의 기본 CIDR 블록이다.
  • 기본적으로 모든 서브넷은 프라이빗이든 퍼블릭이든 상관없이 서로 간에 라우팅할 수 있다.
    • VPC에서 생성된 서브넷은 서로 통신할 수 있다.
    • 기본 라우팅 테이블은 이러한 통신을 용이하게 한다.

Network

  • 두 인스턴스가 상주하는 VPC 간에 리전 간 VPC 피어링 연결이 있는 경우 서로 다른 AWS 리전에 있는 EC2 인스턴스 간의 트래픽은 AWS 네트워크 내에 유지된다.
    • 이러한 인스턴스가 상주하는 VPC 간에 리전 간 VPC 피어링 연결이 없는 서로 다른 AWS 리전의 EC2 인스턴스 간 트래픽은 AWS 네트워크 내에 유지된다는 보장이 없다.
  • 동일한 AWS 리전에 있는 두 EC2 인스턴스 간의 트래픽은 Public IP 주소를 통과하더라도 AWS 네트워크 내에 유지된다.

Direct Connect

  • Direct Connect는 물리적 전용 회선을 사용하여 AWS VPC와 회사 데이터를 연결하는 서비스다.
    • 소프트웨어 전용 비공개 연결은 물리적 전용 회선을 사용하지 않으므로 Direct Connect를 사용할 수 없다.
    • Direct Connect는 연결 서비스이므로 온프레미스 애플리케이션에 AWS 클라우드 기반 스토리지 액세스를 제공하는 데 사용할 수 없다.
  • Direct Connect를 사용하면 Private Virtual Interface(VIF)를 통해 S3 버킷에 직접 액세스할 수 없다.
    • VPC 엔드포인트 연결은 VPC 외부로 확장될 수 없기 때문에 S3용 VPC 엔드포인트가 있는 경우에도 마찬가지다.
    • S3에 대한 VPC 엔드포인트를 활성화하더라도 S3는 Public IP 주소를 확인한다.
  • 아래의 단계를 따라 Direct Connect를 사용하여 S3에 대한 액세스를 설정할 수 있다.
    • 트래픽이 VPC를 통과하지 않기 때문에 이 구성에는 S3 용 VPC 엔드포인트가 필요하지 않다.
    1. Connection을 생성한다. 전용 연결 또는 호스팅 연결을 요청할 수 있다.
    2. 네트워크 공급자의 도움을 받아 교차 네트워크 연결을 설정한 다음 연결을 위한 공용 가상 인터페이스를 생성한다.
    3. Public Virtual Interface(퍼블릭 가상 인터페이스)와 함께 사용할 최종 라우터를 구성한다.

VPC Flow logs

  • VPC Flow Logs에서 Access Error는 아래의 이유 중 하나로 인해 발생할 수 있다.
    • Flow Logs에 대한 IAM 역할에는 CloudWatch Logs 그룹에 Flow logs 레코드를 게시할 수 있는 권한이 없다.
    • IAM 역할은 Flow Logs 서비스와 신뢰 관계가 없다.
    • 신뢰 관계는 Flow Logs 서비스를 주체로 지정하지 않았다.
  • Flow Logs를 생성한 후에는 해당 구성이나 Flow Logs 레코드 형식을 변경할 수 없다.
    • 예를 들어, 다른 IAM 역할을 Flow Logs와 연결하거나 Flow Logs 레코드에서 필드를 추가 또는 제거할 수 없다.
    • 대신 Flow Logs를 삭제하고 필요한 구성으로 새 Flow Logs를 생성할 수 있다.

Other Services

AWS System Manager

  • AWS Patch Manager
  • AWS System Manager Patch Manager는 보안 관련 업데이트와 기타 유형의 업데이트를 모두 사용하여 관리형 인스턴스를 패치하는 프로세스를 자동화한다.
    • 패치 관리자를 사용하여 운영 체제와 응용 프로그램 모두에 패치를 적용할 수 있다.
    • Windows 인스턴스에서 서비스 팩을 설치하고 Linux 인스턴스에서 마이너 버전 업그레이드를 수행할 수 있다.
    • 운영 체제 유형별로 EC2 인스턴스 집합이나 온프레미스 서버 및 가상 머신에 패치를 적용할 수 있다.
  • 패치 관리자는 릴리즈 후 며칠 내에 패치를 자동으로 승인하는 규칙과 승인 및 거부된 패치 목록을 포함하는 패치 기준을 사용한다.
    • System Manager 유지 관리 기간 작업으로 실행되도록 패치를 예약하여 정기적으로 패치를 설치할 수 있다.
    • EC2 태그를 사용하여 패치를 개별적으로 설치하거나 대규모 인스턴스 그룹에 설치할 수도 있다.
    • 패치 기준을 생성하거나 업데이트할 때 패치 기준 자체에 태그를 추가할 수 있다.
  • System Manager 자동화 문서는 자동화 워크플로(System Manager가 관리형 인스턴스 및 AWS 리소스에서 수행하는 작업)를 정의한다.
    • 자동화에는 하나 이상의 EC2 인스턴스를 다시 시작하거나 AMI를 생성하는 등의 일반적인 작업을 수행하는 데 사용할 수 있는 사전 정의된 여러 자동화 문서가 포함되어 있다.
    • 손상된 인스턴스를 복구하려면 AWSSupport-ExecuteEC2Rescue 문서를 사용하면 된다.
    • 네트워크 구성 오류, RDP 문제, 방화벽 설정 등 다양한 이유로 인스턴스에 연결할 수 없게 될 수 있다.
    • 이전에는 인스턴스에 대한 문제를 해결하고 액세스 권한을 다시 얻으려면 액세스 권한을 다시 얻기 전에 수십 개의 수동 단계가 필요했다.
    • AWSSupport-ExecuteEC2Rescue 문서를 사용하면 인스턴스 ID를 지정하고 버튼을 클릭하여 액세스 권한을 다시 얻을 수 있다.
  • S3 troubleshoot 403 public read
  • AWSSupport-TrobuleshootS3PublicRead SSM 자동화 문서를 실행하여 퍼블릭 S3 버킷의 객체 액세스 문제를 진단하는 데 도움을 받을 수 있다.
    • 이 문서에서는 버킷 정책, 객체 액세스 제어 목록(ACL) 등 버킷과 객체에 영향을 미치는 일부 권한 설정을 분석한다.
    • AWSSupport-TroubleshootS3PublicRead 문서는 공개적으로 읽을 수 있는 객체의 403 오류를 분석한다. 문서는 개인 객체에 대한 권한 평가를 하지 않는다.

OpsWorks

  • OpsWorks는 Chef 및 Puppet의 관리형 인스턴스를 제공하는 구성 관리 서비스다.
    • Chef와 Puppet은 코드를 사용하여 서버 구성을 자동화할 수 있는 자동화 플랫폼이다.
    • OpsWorks를 사용하면 Chef 및 Puppet을 사용하여 EC2 인스턴스 또는 온프레미스 컴퓨팅 환경에서 서버를 구성, 배포 및 관리하는 방법을 자동화할 수 있다.
  • AWS OpsWorks for Puppet Enterprise는 오케스트레이션을 위한 워크플로 자동화, 자동화된 프로비저닝, 추적성을 위한 시각화를 제공하는 관리형 Puppet Enterprise 서버와 자동화 도구 제품군을 제공한다.
    • Puppet Enterprise 서버는 소프트웨어 및 운영 체제 구성, 패키지 설치, 데이터베이스 설정 등과 같은 운영 작업을 처리하여 전체 스택 자동화를 제공한다.
    • Puppet Master는 구성 작업을 중앙에 저장하고 몇 개의 노드에서 수천 개의 노드까지 규모에 관계없이 컴퓨팅 환경의 각 노드에 이를 제공한다.

Artifact

  • Aftifact는 고객에게 AWS 규정 준수 문서 및 AWS 계약에 대한 온디맨드 액세스를 제공하는 셀프 서비스 감사 아티팩트 검색 포털이다.
    • Artifact를 사용하여 인스턴스에 패치를 배포할 수 없다.
    • Artifact를 사용하여 Puppet 모듈을 사용하는 인스턴스를 관리할 수 없다.

AWS System Manager Inventory

  • EC2 및 온프레미스 컴퓨팅 환경에 대한 가시성을 제공한다.
    • 인벤토리를 사용하여 관리형 인스턴스에서 메타데이터를 수집할 수 있다.
    • 메타데이터를 중앙 S3 버킷에 저장한 다음 내장 도구를 사용하여 데이터를 쿼리하고 소프트웨어 정책에 필요한 소프트웨어 및 구성을 실행 중인 인스턴스와 필요한 인스턴스를 신속하게 결정할 수 있다.
    • 원클릭으로 모든 관리형 인스턴스에서 인벤토리를 구성할 수 있다.
    • 여러 AWS 리전 및 AWS 계정의 인벤토리 데이터를 구성하고 볼 수도 있다.
  • Systems Manager 인벤토리에서 수집한 사전 구성된 메타데이터 유형이 요구 사항을 충족하지 않는 경우 사용자 지정 인벤토리를 생성할 수 있다.
    • 사용자 지정 인벤토리는 특정 디렉터리의 관리형 인스턴스에 제공하고 추가하는 정보가 포함된 JSON 파일이다.
    • Systems Manager 인벤토리는 특정 디렉터리의 관리형 인스턴스에 제공하고 추가하는 정보가 포함된 JSON 파일이다.
    • Systems Manager 인벤토리는 데이터를 수집할 때 이 사용자 지정 인벤토리 데이터를 캡처한다.
  • Systems Manager 인벤토리는 관리형 인스턴스의 메타데이터만 수집한다.

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

[SOA] 시험 후기  (0) 2023.12.18
[SOA] 오답노트 2023.12 - 3주차  (0) 2023.12.16
[SOA] 오답노트 2023.12 - 1주차  (0) 2023.12.03
[SOA] 목차  (0) 2023.11.27
[SOA] Other Services  (0) 2023.11.27