본문 바로가기

Infrastructure/Certificate

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

오답노트 2023.12 3주차

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

EC2 Instance

  • 인스턴스에서 Public IP 주소를 수동으로 연결하거나 연결 해제할 수 없다.
    • Public IP 주소는 Amazon의 Public IPv4 주소 풀에서 인스턴스에 할당되며 AWS 계정과는 연결되지 않는다.
    • 인스턴스에서 Public IP 주소를 수동으로 연결하거나 연결 해제할 수 없다.
  • 기본적으로 EC2와 VPC는 IPv4 주소 지정 프로토콜을 사용한다. 이 동작은 비활성화할 수 없다.
    • EC2 및 VPC는 IPv4 및 IPv6 주소 지정 프로토콜을 모두 지원한다.
    • 기본적으로 EC2와 VPC는 IPv4 주소 지정 프로토콜을 사용한다. 이 동작은 비활성화할 수 없다.
    • VPC를 생성할 때 IPv4 CIDR 블록(Private IPv4 주소 범위)을 지정해야 한다.
    • 선택적으로 IPv6 CIDR 블록을 VPC와 서브넷에 할당하고 해당 블록의 IPv6 주소를 서브넷의 인스턴스에 할당할 수 있다.
  • VPC에 있는 인스턴스의 Public IP 주소가 해제된 경우 인스턴스에 두 개 이상의 네트워크 인터페이스가 연결되어 있으면 새 주소를 수신하지 않는다.
    • 탄력적 IP 주소와 연결된 보조 Private IP 주소가 있는 인스턴스의 Public IP 주소가 해제되는 경우, 인스턴스는 새로운 Public IP 주소를 수신하지 않는다.

AMI

  • 모든 리전은 하드웨어 가상머신(HVM) AMI를 지원한다.
  • Linux 반가상화(PV) AMI는 모든 AMI 리전에서 지원되지 않으며 지원되지 않는 리전 간에 복사를 하면 오류가 발생한다.
    • AMI는 반가상화(PV) 또는 하드웨어 가상 머신(HVM)이라는 두 가지 가상화 유형 중 하나를 사용한다.
    • PV와 HVM AMI의 주요 차이점은 부팅 방법과 더 나은 성능을 위해 특수 하드웨어 확장(CPU, 네트워크 및 스토리지)을 활용할 수 있는지 여부다.
    • Linux 반가상화(PV) AMI는 일부 AWS 리전에서 지원되지 않는다.
    • 이 메시지를 받으면 새 HVM 인스턴스를 생성한 다음 새 EBS 볼륨을 HVM 인스턴스에 연결할 수 있다.
    • 그런 다음 이전 PV 인스턴스에 연결된 EBS 볼륨의 데이터를 복사한다.

High Availability & Scalability

Auto Scaling Group

  • EC2 Auto Scaling은 다른 AWS 서비스를 호출하는 데 필요한 권한에 서비스 연결 역할(SLR)을 사용한다.
    • SLR에 대한 권한은 AWS에 의해 하드코딩되어 있으며 변경할 수 없다.
    • 기본적으로 EC2 Auto Scaling SLR에 제공되는 권한에는 고객 마스터 키(CMK)에 액세스할 수 있는 권한이 포함되지 않는다.
  • EC2 Auto Scaling 서비스 연결 역할에는 두 가지 유형이 있다.
    • AWSServiceRoleForAutoScaling 이름이 지정된 계정의 기본 서비스 연결 역할이다. 다른 서비스 연결 역할을 지정하지 않는 한 이 역할은 Auto Scaling 그룹에 자동으로 할당된다.
    • 역할을 생성할 때 지정하는 사용자 지정 접미사가 있는 서비스 연결 역할(예: AWSServiceRoleForAutoScaling_mysuffix)다.
  • 사용자 정의 접미사 서비스 연결 역할은 기본 서비스 연결 역할의 권한과 동일하다.
    • 두 경우 모두 역할을 편집할 수 없으며 Auto Scaling 그룹에서 아직 사용 중인 경우 삭제할 수도 없다.
    • 유일한 차이점은 역할 이름 접미사다.
  • EC2 Auto Scaling에서 시작한 인스턴스가 고객 관리형 CMK로 암호화되도록 허용하도록 AWS KMS 키 정책을 편집할 때 두 역할 중 하나를 지정할 수 있다.
    • 그러나 특정 고객 관리형 CMK에 대한 세부적인 액세스 권한을 부여하려는 경우 사용자 지정 접미사 서비스 연결 역할을 사용해야 한다.
    • 사용자 정의 접미사 서비스 연결 역할을 사용하면 아래의 기능이 제공된다.
      • CMK에 대한 더 많은 제어
      • CloudTrail 로그에서 API 호출을 수행한 Auto Scaling 그룹을 추적하는 기능
  • AWS 관리형 CMK 또는 고객 관리형 CMK를 사용하여 EC2 Auto Scaling으로 EBS 볼륨 또는 AMI를 암호화할 수 있다.
    • EC2 Auto Scaling에는 AWS 관리형 CMK를 사용하기 위해 추가 권한이 필요하지 않다.

Elastic Load Balancing Access Log

  • ELB는 로드 밸런서로 전송된 요청에 대한 자세한 정보를 캡처하는 액세스 로그를 제공한다.
    • 각 로그에는 요청이 수신된 시간, 클라이언트의 IP 주소, 대기 시간, 요청 경로 및 서버 응답과 같은 정보가 포함된다.
    • 이러한 액세스 로그를 사용하여 트래픽 패턴을 분석하고 문제를 해결할 수 있다.
  • 액세스 로깅은 기본적으로 비활성화되어 있는 ELB의 선택 기능이다.
    • 로드 밸런서에 대한 액세스 로깅을 활성화하면 ELB는 로그를 캡처하여 압축 파일로 지정한 S3 버킷에 저장한다.
    • 언제든지 액세스 로깅을 비활성화할 수 있다.
  • 액세스 로그에 대한 추가비용은 없다.
    • S3에 대한 스토리지 비용은 청구되지만 ELB가 S3에 로그 파일을 전송하는 데 사용하는 대역폭에 대해서는 청구되지 않는다.

Elastic Load Balancer

  • Elastic Load Balancer에서 사용하는 포트의 범위는 1024 ~ 65535다.
  • Network Load Balancer를 생성한 후에는 해당 가용 영역을 비활성화할 수 없다.
    • 로드 밸런서를 생성할 때 하나 이상의 가용 영역을 활성화한다.
    • 로드 밸런서에 대해 여러 가용 영역을 활성화하면 애플리케이션의 내결함성이 향상된다.
    • Network Load Balancer를 생성한 후에는 해당 가용 영역을 비활성화 할 수 없지만 추가 가용 영역을 활성화할 수는 있다.
  • 인터넷 연결 로드 밸런서를 생성할 때 선택적으로 서브넷당 하나의 탄력적 IP 주소를 지정할 수 있다.
    • 로드 밸런서를 생성한 후에는 이러한 탄력적 IP 주소를 변경할 수 없다.

Elastic Beanstalk


CloudFormation

  • 서비스 관리 권한으로 생성된 스택 세트의 경우 필요한 IAM 역할을 생성할 필요가 없다.
    • 스택 세트는 자체 관리 권한 또는 서비스 관리 권한을 사용하여 생성할 수 있다.
    • 서비스 관리 권한을 사용하면 AWS Organizations에서 관리하는 계정에 스택 인스턴스를 배포할 수 있다.
    • 이 권한 모델을 사용하면 필요한 IAM 역할을 생성할 필요가 없다.
    • StackSets는 사용자를 대신하여 IAM 역할을 생성한다.
    • 이 모델을 사용하면 나중에 조직에 추가되는 계정에 자동 배포를 활성화할 수도 있다.
  • 대상 계정에 스택을 생성하기 전에 관리자와 대상 계정 간의 신뢰 관계를 설정해야 한다.
    • 관리자 계정은 스택 세트를 생성하는 AWS 계정이다.
    • 서비스 관리 권한이 있는 스택 세트의 경우 관리자 계정은 조직의 마스터 계정 또는 위임된 관리자 계정이다.
    • 대상 계정은 스택 세트에서 하나 이상의 스택을 생성, 업데이트 또는 삭제하는 계정이다.
    • 스택 세트를 사용하여 대상 계정에 스택을 생성하려면 먼저 관리자와 대상 계정 간의 신뢰 관계를 설정해야 한다.

네트워크 구성 자동화

  • 온디맨드 개발 및 스테이징 환경을 위한 원활한 네트워크 인프라 복제가 가능하도록 네트워크 구성을 자동화하려면 CloudFormation 템플릿을 사용하면 된다.
    • CloudFormation을 사용하면 인프라를 코드로 처리하여 관련 AWS 및 타사 리소스 모음을 모델링하고, 신속하고 일관되게 프로비저닝하고, 수명 주기 전반에 걸쳐 관리할 수 있는 쉬운 방법을 제공한다.
    • CloudFormation 템플릿은 원하는 리소스와 해당 종속성을 설명하므로 이를 스택으로 함께 시작하고 구성할 수 있다.
    • 템플릿을 사용하면 리소스를 개별적으로 관리하는 대신 필요한 만큼 자주 전체 스택을 단일 단위로 생성, 업데이트 및 삭제할 수 있다.
    • 여러 AWS 계정과 AWS 리전에서 스택을 관리하고 프로비저닝할 수 있다.
  • 모든 AWS 계정 및 리전에서 안전, 규정 준수 및 구성 표준을 충족하기 위해 조직 전체에서 사용할 CloudFormation 템플릿을 공유하여 리소스 확장을 관리할 수 있다.
    • 템플릿과 매개변수를 사용하면 쉽게 확장할 수 있으므로 모범 사례와 회사 정책을 공유할 수 있다.
    • 또한 CloudFormation StackSets를 사용하면 단일 작업으로 여러 AWS 계정 및 리전에 걸쳐 스택을 생성, 업데이트 또는 삭제할 수 있다.
  • 조직 전체에서 리소스 관리를 더욱 자동화하려면 액세스 제어를 위한 AWS IAM, 규정 준수를 위한 AWS Config, 턴키 애플리케이션 배포 및 추가 거버넌스 제어를 위한 Service Catalog를 비롯한 다른 AWS 서비스와 CloudFormation을 통합할 수 있다.
    • CodePipeline 및 기타 빌더 도구와의 통합을 통해 최신 DevOps 모범 사례를 구현하고 자동화, 테스트 및 제어를 개선할 수 있다.

Lambda


Amazon S3

  • 계정 A는 다른 AWS 계정이 S3 버킷에 객체를 업로드할 수 있도록 활성화하였다. 버킷 소유자는 지정된 버킷의 모든 객체에 대한 권한을 다른 AWS 계정 B에게 부여하려고 한다.
    • 버킷 소유자는 다른 AWS 계정에서 생성된 객체에 대한 권한이 없다, 다른 AWS 계정에서 생성한 객체의 소유자도 아니다.
    • 객체를 생성한 AWS 계정은 먼저 다른 엔터티에 권한을 위임할 수 있는 버킷 소유자에게 권한을 부여해야 한다.
    • 버킷 소유자는 다른 AWS 계정에서 생성된 객체에 대한 권한이 없다. 따라서 버킷 소유자가 자신이 소유하지 않은 객체에 대한 권한을 부여하려면 객체 소유자, 즉 객체를 생성한 AWS 계정이 먼저 버킷 소유자에게 권한을 부여해야 한다.
    • 그러면 버킷 소유자가 해당 권한을 위임할 수 있다.

S3 Glacier

  • 매월 10GB의 S3 Glacier 데이터를 무료로 검색할 수 있다.
    • S3 Glacier는 10GB 검색 프리티어를 제공한다.
    • 매월 10GB의 S3 Glacier 데이터를 무료로 검색할 수 있다.
    • 무료 등급 허용량은 해당 월 중 언제든지 사용할 수 있으며 표준(Standard) 검색에 적용된다.

Advanced Storage

Amazon EFS

  • "Amazon EFS 액세스 포인트"는 공유 데이터 세트에 대한 애플리케이션 액세스를 더 쉽게 관리할 수 있게 해주는 EFS 파일 시스템에 대한 애플리케이션별 진입점이다.
  • 액세스 포인트는 액세스 포인트를 통해 이루어지는 모든 파일 시스템 요청에 대해 사용자의 POSIX 그룹을 포함하여 사용자 ID를 적용할 수 있다.
  • 액세스 포인트는 파일 시스템에 대해 다른 루트 디렉터리를 적용하여 클라이언트가 지정된 디렉터리 또는 해당 하위 디렉터리의 데이터에만 액세스할 수 있도록 할 수도 있다.
  • IAM 정책을 사용하면 특정 애플리케이션이 특정 액세스 포인트를 사용하도록 강제할 수 있다.
  • IAM 정책을 액세스 포인트와 결합하면 애플리케이션의 특정 데이터 세트에 대한 보안 액세스를 쉽게 제공할 수 있다.
  • 액세스 포인트를 사용하면 액세스 포인트를 통해 이루어진 모든 파일 시스템 요청에 대한 사용자 및 그룹 정보를 적용할 수 있다.
  • 이 기능을 활성화하려면 액세스 포인트를 생성할 때 적용할 운영 체제 ID를 지정해야 한다.
  • EFS 헬퍼를 사용하면 아래의 기능을 사용할 수 있다.
    • AWS IAM 인증을 통해 Linux 인스턴스에 EFS 파일 시스템을 탑재할 수 있다.
    • EC2 인스턴스 재부팅 시 EFS 파일 시스템 디렉터리를 자동으로 다시 탑재하려면 /etc/fstab 파일을 사용한다.
    • /etc/fstab 파일에는 파일 시스템에 대한 정보가 포함되어 있다.
  • EFS 탑재 헬퍼를 사용하면 다음과 같은 EFS 파일 시스템 탑재 옵션이 있다.
    • 지원되는 EC2 인스턴스에 탑재
    • IAM 권한 부여로 탑재
    • EFS 액세스 포인트 탑재
    • 온프레미스 Linux 클라이언트로 탑재
    • EC2 인스턴스 재부팅 시 자동 탑재
    • 새 EC2 인스턴스 시작 시 파일 시스템 탑재
  • How to use metrics
  • ClientConnections 지표의 합계를 계산하여 연결된 인스턴스 수를 확인한다.
    • 파일 시스템에 연결된 EC2 인스턴스 수를 추적하기 위해 ClientConnection에 대한 Sum 지표를 모니터링할 수 있다.
    • 1분보다 긴 기간에 대한 평균을 계산하려면 ClientConnection 합계를 해당 기간의 분 수로 나눈다.
  • InstanceConnections 측정 항목은 존재하지 않는다.
  • AWS IAM 자격 증명 기반 정책을 생성하여 사용자가 저장 시 암호화되는 EFS 파일 시스템을 생성할 수 있는지 여부를 제어할 수 있다.
    • boolean 조건 키 elasticfilesystem:Encrypted는 정책이 적용되는 암호화되거나 암호화되지 않은 파일 시스템 유형을 지정한다.
    • elasticfilesystem:CreateFileSystem 작업 및 정책 효과(허용 또는 거부)와 함께 조건 키를 사용하여 암호화되거나 암호화되지 않은 파일 시스템을 생성하기 위한 정책을 생성한다.
  • SCP는 회원 계정의 루트 사용자를 포함하여 회원 계정의 IAM 사용자 및 역할에 대한 권한을 제한한다.
    • 사용자 또는 역할에 해당 SCP에 의해 허용되지 않거나 명시적으로 거부된 작업에 대한 액세스 권한을 부여하는 IAM 권한 정책이 있는 경우 해당 사용자 또는 역할은 해당 작업을 수행할 수 없다.
    • AWS Organizations 내에서 서비스 제어 정책(SCP)을 정의하여 조직의 모든 AWS 계정에 대해 EFS 암호화를 시행할 수도 있다.

Amazon EBS

  • EBS deleting volume
  • 종료된 EC2 인스턴스는 연결된 각 EBS 볼륨에 대한 DeleteOnTermination 속성을 사용하여 볼륨 삭제 여부를 결정한다.
    • EC2는 DeleteOnTermination 속성이 true로 설정된 EBS 볼륨을 삭제하지만 DeleteVolume API 호출을 게시하지는 않는다.
    • AWS Config가 DeleteVolume API 호출을 규칙이 포함된 트리거로 사용하고 리소스 변경 사항이 EBS 볼륨에 기록되지 않기 때문이다.
    • EBS 볼륨은 여전히 규정 준수 또는 비준수로 표시된다.
  • AWS Config는 6시간마다 기준을 수행하여 ResourceDeleted 상태의 새 구성 항목을 확인한다.
    • AWS Config 규칙은 평가 결과에서 삭제된 EBS 볼륨을 제거한다.
  • DeleteVolume API 호출을 사용하여 삭제된 EBS 볼륨은 볼륨에 대한 DescribeVolumes API를 호출한다.
    • DescribeVolumes API 호출은 InvalidVolume.NotFound 오류 코드를 반환하고 EBS 볼륨은 AWS Config의 리소스 목록에서 제거된다.
    • 업데이트된 볼륨 구성은 상태가 ResourceDeleted인 구성 항목으로 기록된 다음 S3 버킷으로 전달된다.
  • 스냅샷에서 생성된 새 EBS 볼륨의 각 데이터 블록에 처음 액세스할 때 지연 시간이 크게 증가한다.
  • 아래의 옵션 중 하나를 사용하면 이러한 성능 지연을 방지할 수 있다.
    • 볼륨을 프로덕션에 투입하기 전에 각 블록에 액세스한다. 이 프로세스를 초기화(예열)라고 한다.
    • 빠른 스냅샷을 활성화하여 스냅샷에서 생성된 EBS 볼륨이 생성 시 완전히 초기화되고 프로비저닝된 모든 성능을 즉시 제공하도록 보장한다.
  • error 상태는 EBS 볼륨과 관련된 기본 하드웨어에 오류가 발생했음을 나타낸다.
    • 볼륨과 연결된 데이터는 복구할 수 없으며 EBS는 해당 볼륨을 손실된 것으로 처리한다.
    • 볼륨이 오류 상태가 되면 계정의 Personal Health Dashboard에 알림이 표시된다.
  • error 상태에서는 볼륨을 복구할 수 없으며, 백업에서 손실된 데이터를 복원할 수 있다.
    • EBS 볼륨을 포함하여 EC2 리소스의 백업을 유지하는 것이 모범 사례다.
    • Amazon Data Lifecycle Manager, AWS Backup 또는 일반 EBS 스냅샷을 사용하여 중요 볼륨의 정기적인 백업을 유지함으로써 데이터 손실을 방지할 수 있다.
    • 아래의 항목 중 하나를 사용하여 백업에서 손실된 데이터를 복원한다.
      • 볼륨의 EBS 스냅샷이 있는 경우 스냅샷에서 해당 볼륨을 복원할 수 있다.
      • 볼륨의 EBS 스냅샷이 없는 경우 새 EBS 볼륨을 생성한 다음 원하는 수동 백업 솔루션을 사용하여 데이터를 복원한다.

HDD st1

  • ST1은 하드 디스크 드라이브(HDD)로 지원되며 MapReduce, Kafka, 로그 처리, 데이터 웨어하우스 및 ETL 워크로드와 같이 자주 액세스하고 대용량 데이터 세트와 대규모 I/O 크기가 있는 처리량 집약적인 워크로드에 이상적이다.
    • 이러한 볼륨은 MB/s 단위로 측정되는 처리량 측면에서 성능을 제공하며 기본 처리량은 TB당 40MB/s, 최대 처리량은 500MB/s로 TB당 최대 250MB/s의 버스트 기능을 포함한다.

Storage Gateway

  • Storage Gateway의 디스크 용량을 줄이려는 경우, 필요한 캐시 공간을 갖춘 새로운 게이트웨이를 생성해야 한다.
    • 기존 게이트웨이의 캐시 디스크로 할당된 디스크를 제공하면 안된다.
    • 제거하면 게이트웨이 기능이 중단될 수 있다. 기존 게이트웨이에 캐시 디스크를 할당한 후에는 캐시 디스크의 크기를 줄일 수 없다.
    • 대신 필요한 캐시 공간을 갖춘 새 게이트웨이를 생성해야 한다.
    • 그런 다음 데이터를 새 게이트웨이로 마이그레이션할 수 있다.
  • Storage Volume Gateway의 경우 최신 EBS 스냅샷에서 데이터를 복구할 수 있다.
    • 게이트웨이 또는 가상 머신이 오작동하는 경우 AWS에 업로드되고 S3의 볼륨에 저장된 데이터를 복구할 수 있다.
    • 캐시된 볼륨 게이트웨이의 경우 복구 스냅샷에서 데이터를 복구한다.
    • 저장 볼륨 게이트웨이의 경우 볼륨의 최신 EBS 스냅샷에서 데이터를 복구할 수 있다.
    • 테이프 게이트웨이의 경우 복구 지점에서 새 테이프 게이트웨이로 하나 이상의 테이프를 복구한다.
  • 파일 시스템이 손상된 경우 fsck 명령을 사용하여 복구할 수 있다.
    • 파일 시스템이 손상된 경우 fsck 명령을 사용하여 파일 시스템의 오류를 확인하고 복구할 수 있다.
    • 파일 시스템을 복구할 수 있으면 파일 시스템의 볼륨에서 데이터를 복구할 수 있다.

CloudFront


Database

ElastiCache

  • 다중 AZ 및 자동 장애 조치가 비활성화된 경우에만 Redis(클러스터 모드 비활성화됨)에서 읽기 전용 복제본을 기본으로 수동으로 승격할 수 있다.
    • Redis(클러스터 모드 비활성화됨)에서 읽기 전용 복제본을 수동으로 기본으로 승격하는 경우 다중-AZ 및 자동 장애 조치가 비활성화된다.
  • 기본으로 승격할 복제본을 선택할 때 Redis용 ElastiCache는 복제 지연 시간이 가장 적은 복제본을 선택한다.
    • 기본으로 승격할 복제본을 선택할 때, Redis용 ElastiCache는 복제 지연이 가장 적은 복제본을 선택한다.
    • 즉, 가장 최신의 복제본을 선택한다. 이렇게 하면 손실된 데이터의 양을 최소화하는 데 도움이 된다.
    • 복제 지연이 가장 적은 복제본은 장애가 발생한 기본 노드와 동일하거나 다른 가용 영역에 있을 수 있다.
  • 아래와 같은 요구사항이 있을 때, Redis 대신 Memcached를 선택하는 것이 좋다.
    • 가능한 가장 간단한 모델이 필요하다.
    • 여러 코어 또는 스레드가 있는 대규모 노드를 실행해야 한다.
    • 시스템 수요가 증가하거나 감소함에 따라 노드를 추가 및 제거하고 확장 및 축소할 수 있는 기능이 필요하다.
    • 객체를 캐시해야 한다.

DynamoDB

  • 내보내기가 완료된 후 내보낸 모든 객체에 대한 PutObjectAcl 권한을 포함한다.
    • DynamoDB 테이블을 계정 A에서 계정 B의 버킷으로 내보낼 때 객체는 여전히 계정 A의 소유다.
    • 계정 B의 AWS IAM 사용자는 기본적으로 객체를 액세스할 수 없다.
    • 내보내기 기능은 ACL(액세스 제어 목록) bucket-owner-full-control을 사용하여 데이터를 쓰지 않는다.
    • 이 객체 소유권 문제에 대한 해결 방법으로 내보내기가 완료된 후 내보낸 모든 객체에 대한 PutObjectAcl 권한을 포함해야 한다.
    • 이 해결 방법은 계정 B의 버킷 소유자에게 내보낸 모든 객체에 대한 액세스 권한을 부여한다.
  • Hybrid Problems
  • DynamoDB는 DynamoDB Streams 및 AWS Lambda를 활용하여 하나 이상의 기존 관계형 데이터베이스 시스템과 원활하게 통합할 수 있다.
  • 이러한 종류의 통합을 구현하려면 기본적으로 세 가지 종류의 상호 운용이 제공되어야 한다.
    • DynamoDB 캐시를 증분식으로 채우기 - 항목이 쿼리되면 먼저 DynamoDB에서 해당 항목을 찾는다. 없으면 SQL 시스템에서 찾아서 DynamoDB에 로드한다.
    • DynamoDB 캐시를 통해 쓰기 - 고객이 DynamoDB에서 값을 변경하면 Lambda 함수가 트리거되어 새 데이터를 SQL 시스템에 다시 쓴다.
    • SQL 시스템에서 DynamoDB 업데이트 - 재고 관리 또는 가격 책정과 같은 내부 프로세스가 SQL 시스템의 값을 변경하면 변경 사항을 DynamoDB 구체화된 뷰에 전파하기 위해 저장 프로시저가 트리거된다.

Aurora DB

  • Aurora MySQL Metric
  • Aurora DB에는 아래와 같은 메트릭이 있다.
    • InsertLatency: Insert 작업의 평균 시간을 캡처한다.
    • AuroraReplicaLagMaximum: 기본 인스턴스와 DB 클러스터의 각 Aurora DB 인스턴스 간의 최대 지연 시간을 캡처한다.
    • AuroraReplicaLag: 기본 인스턴스에서 업데이트를 복제할 때 Aurora 복제본이 경험하는 지연 시간을 캡처한다.
    • AuroraBinlogReplicaLag: Aurora MySQL 호환 버전에서 실행되는 복제본 DB 클러스터가 원본 DB 클러스터보다 지연되는 시간을 캡처한다.
  • Aurora DB 인스턴스에 대한 연결은 TLS를 사용하여 보호되며 데이터베이스는 공개적으로 액세스할 수 있어야할 때, 아래의 단계를 따라야 한다.
    • 퍼블릭 서브넷에 대한 DB 서브넷 그룹을 구성하고 이 서브넷 그룹에서 Aurora DB 인스턴스를 생성한다.
    • Aurora DB 인스턴스에는 퍼블릭 IP 주소가 있어야 한다.
    • VPC 속성 DNS 호스트 이름 및 DNS 확인을 활성화한다.

Monitoring, Audit, Performance

CloudTrail

  • 구성 변경 및 주기적 트리거를 사용하여 규칙 생성
    • 계정에 규칙을 추가할 때, AWS Config가 규칙을 실행할 시기를 지정할 수 있으며 이것을 트리거라고 한다.
    • AWS Config는 트리거가 발생하면 규칙에 따라 리소스 구성을 평가한다. 트리거에는 두 가지 유형이 있다.
      • 구성 변경: AWS Config는 특정 유형의 리소스가 생성, 변경 또는 삭제될 때 규칙에 대한 평가를 실행한다.
      • 주기적: AWS Config는 사용자가 선택한 빈도(예: 24시간 마다)로 규칙에 대한 평가를 실행한다.
  • CloudTrail 로그 파일 무결성 검증 활성화
    • 검증된 로그 파일은 보안 및 포렌식 조사에 매우 중요하다.
    • 예를 들어, 검증된 로그 파일을 사용하면 로그 파일 자체가 변경되지 않았거나 특정 사용자 자격 증명이 특정 API 활동을 수행했음을 긍적적으로 주장할 수 있다.
    • 또한, CloudTrail 로그 파일 무결성 검증 프로세스를 통해 로그 파일이 삭제 또는 변경되었는지 여부를 알 수 있으며, 특정 기간 동안 로그 파일이 계정에 전달되지 않았음을 확실히 확인할 수 있다.
  • 로그 파일 무결성 검증을 활성화하면 CloudTrail은 전달하는 모든 로그 파일에 대해 해시를 생성한다.
    • 또한 CloudTrail은 매 시간마다 지난 한 시간 동안의 로그 파일을 참조하고 각각의 해시를 포함하는 파일을 생성하고 전달한다.
    • 이 파일을 다이제스트 파일이라고 한다. CloudTrail은 퍼블릭 키와 프라이빗 키 쌍의 프라이빗 키를 사용하여 각 다이제스트 파일에 서명한다.
    • 전달 후 공개 키를 사용하여 다이제스트 파일의 유효성을 검사할 수 있다.
    • CloudTrail은 각 AWS 리전에 대해 서로 다른 키 쌍을 사용한다.
  • 로그 파일 무결성 검증을 활성화하면 CloudTrail은 전달하는 모든 로그 파일에 대한 해시를 생성한다.
    • 또한, CloudTrail은 매 시간마다 지난 한 시간 동안의 로그 파일을 참조하고 각각의 해시를 포함하는 파일을 생성하고 전달한다.
    • 이러한 파일을 다이제스트 파일이라고 한다.
  • 기본적으로 CloudTrail이 버킷에 전달하는 로그 파일은 S3 관리형 암호화 키(SSE-S3)를 사용하는 Amazon 서버 측 암호화로 암호화된다.
    • 직접 관리 가능한 보안 계층을 제공하기 위해 대신 CloudTrail 로그 파일에 대해 AWS KMS 관리형 키(SSE-KMS)를 통한 서버 측 암호화를 사용할 수 있다.
  • 서버 측 암호화를 활성화하면 로그 파일은 암호화되지만 SSE-KMS를 사용하는 다이제스트 파일은 암호화되지 않습니다.
    • 다이제스트 파일은 S3 관리형 암호화 키(SSE-S3)로 암호화된다.

AWS Personal Health Dashboard

  • Personal Health Dashboard는 워크로드와 애플리케이션을 지원하는 특정 서비스의 상태에 대한 맞춤형 보기를 제공한다.
    • Personal Health Dashboard는 AWS에서 사용자에게 영향을 미칠 수 있는 이벤트가 발생할 때 사전에 알림을 제공하여 진행 중인 이벤트의 영향을 최소화하고 AWS 하드웨어 유지 관리와 같은 예정된 변경 사항을 계획하는 데 도움이 되는 빠른 가시성과 지침을 제공한다.
  • AWS Health API는 AWS Personal Health Dashboard에 나타나는 AWS 상태 정보에 대한 프로그래밍 방식의 액세스를 제공한다.
    • API 작업을 사용하여 AWS 서비스 및 리소스에 영향을 미칠 수 있는 이벤트에 대한 정보를 얻을 수 있다.
  • AWS Health API를 사용하려면 AWS Support의 비즈니스 또는 엔터프라이즈 지원 계획이 있어야 한다.
    • Business 또는 Enterprise Support 플랜이 없는 AWS 계정에서 AWS Health API를 호출하면 SubscriptionRequiredException 오류가 발생한다.
  • 서비스 상태 대시보드는 각 AWS 서비스의 전반적인 상태를 볼 수 있는 좋은 방법이지만, 서비스 상태에 대한 구체적인 정보는 제공하지 않는다.
    • 해당 서비스의 상태가 리소스에 영향을 미칠 수 있다.

AWS Config

  • AWS Config는 규정 준수 상태가 변경될 때만 알림을 보낸다.
    • 리소스가 이전에 비준수였으며 여전히 비준수인 경우 Config는 새 알림을 보내지 않는다.
    • 규정 준수 상태가 "규정 준수"로 변경되면 상태 변경에 대한 알림을 받게 된다.

Account Management

IAM

  • ID Group
  • IAM 사용자는 여러 IAM 그룹에 속할 수 있다. 그러나 그룹은 다른 그룹에 속할 수 없다.
    • 그룹에는 많은 사용자가 포함될 수 있으며 사용자는 여러 그룹에 속할 수 있다.
    • 그러나 그룹은 중첩될 수 없다. 여기에는 다른 그룹이 아닌 사용자만 포함될 수 있다.
  • 액세스 제어 정책을 사용하여 그룹에 권한을 부여할 수 있다.
    • 이렇게 하면 각 사용자에 대한 권한을 관리할 필요 없이 사용자 집합에 대한 권한을 더 쉽게 관리할 수 있다.

System Manager

  • AWS 시스템 관리자를 사용하면 여러 AWS 서비스의 운영 데이터를 중앙 집중화하고 AWS 리소스 전체에서 작업을 자동화할 수 있다.
    • 애플리케이션, 애플리케이션 스택의 다양한 계층, 프로덕션 환경과 개발 환경 등의 리소스의 논리적 그룹을 생성할 수 있다.
    • Systems Manager를 사용하면 리소스 그룹을 선택하고 해당 그룹의 최근 API 활동, 리소스 구성 변경 사항, 관련 알림, 운영 경고, 소프트웨어 인벤토리 및 패치 규정 준수 상태를 볼 수 있다.
  • AWS Systems Manager를 사용하면 AWS에서 실행되는 서버, 온프레미스 데이터 센터, Raspberry Pi와 같은 디바이스를 단일 인터페이스를 통해 관리할 수 있다.
    • System Manager는 서버 및 장치에 설치된 경량 에이전트와 안전하게 통신하여 관리 작업을 실행한다.
    • Windows, Linux 및 Raspbian 운영 체제용 리소스를 관리하는 데 도움이 된다.

Disaster Recovery


Security & Compliance

AWS WAF

  • AWS WAF는 Amazon CloudFront 배포, API Gateway REST API, ALB 또는 AWS AppSync GraphQL API로 전달되는 HTTP 및 HTTPS 요청을 모니터링할 수 있는 웹 애플리케이션 방화벽이다.
    • 지정한 요청을 제외한 모든 요청 허용 - 이는 CloudFront, API Gateway, ALB 또는 AppSync가 공개 웹 사이트의 콘텐츠를 제공하도록 하면서도 공격자의 요청도 차단하려는 경우에 유용하다.
    • 지정한 요청을 제외한 모든 요청 차단 - 이는 웹 사이트를 탐색하는 데 사용하는 IP 주소와 같이 웹 요청을 속성으로 사용자를 쉽게 식별할 수 있는 제한된 웹 사이트에 대한 콘텐츠를 제공하려는 경우에 유용하다.
    • 지정한 속성과 일치하는 요청 계산
      • 웹 요청의 새 속성을 기반으로 요청을 허용하거나 차단하려는 경우 먼저 해당 요청을 허용하거나 차단하지 않고 해당 속성과 일치하는 요청을 계산하도록 AWS WAF를 구성할 수 있다.
      • 이를 통해 웹 사이트에 대한 모든 트래픽을 차단하도록 AWS WAF를 실수로 구성하지 않았는지 확인할 수 있다.
      • 올바른 속성을 지정했다고 확신하면 요청을 허용하거나 차단하도록 동작을 변경할 수 있다.

AWS Firewall Manager

  • AWS Organizations의 계정과 애플리케이션 전반에 걸쳐 방화벽 규칙을 중앙에서 구성하고 관리할 수 있는 보안 관리 서비스다.
    • 새로운 애플리케이션이 생성되면 Firewall Manager는 공통 보안 규칙 세트를 적용하여 새로운 애플리케이션과 리소스를 규정 준수 상태로 쉽게 가져올 수 있다.
    • 중앙 관리자 계정을 통해 방화벽 규칙을 구축하고, 보안 정책을 생성하고, 전체 인프라에 걸쳐 일관되고 계층적인 방식으로 이를 시행할 수 있는 단일 서비스가 생성된다.

CloudHSM

  • CloudHSM은 클라우드 기반 하드웨어 보안 모듈을 생성하고 관리하는 서비스다.
    • 하드웨어 보안 모듈(HSM)은 암호화 키를 생성하고 저장하는 특수 보안 장치다.
  • 암호화 키를 생성하고 저장하는 HSM을 관리해야 하는 경우 AWS CloudHSM을 사용해야 한다.
    • AWS CloudHSM에서는 사용자 생성 및 권한 설정을 포함하여 HSM을 생성하고 관리한다.
    • 또한, HSM이 저장하는 대칭 키와 비대칭 키 쌍을 생성한다.

Identity

PassRole

  • ID roles use passrole
  • 사용자가 AWS 서비스에 역할을 전달하도록 허용하려면 사용자의 IAM 사용자, 역할 또는 그룹에 PassRole 권항르 부여해야 한다.

ACM

  • ACM 인증서는 CLB 또는 ALB와 동일한 AWS 리전에서 요청하거나 가져와야 한다.
  • ELB가 아는 CloudFront에서 ACM 인증서를 사용하려면 미국 동부(버즈니아 북부) 지역에서 인증서를 가져오거나 요청해야 한다.
  • 이메일 암호화에 ACM 인증서를 사용할 수 없다.
  • ACM은 SSL/TLS 프로토콜에 대한 인증서만 제공한다.
    • ACL은 AWS 웹 사이트와 애플리케이션을 보호하는 퍼블릭 및 프라이빗 SSL/TLS X.509 인증서와 키를 생성, 저장 및 갱신하는 복잡성을 처리한다.
    • 따라서 ACM은 SSL/TLS 프로토콜 이외의 것에 대한 인증서를 제공하지 않는다.
  • Amazon에서 발급한 인증서는 EC2 인스턴스에 설치할 수 없다.
    • 종단 간 암호화를 활성화하려면 타사 SSL 인증서를 사용해야 한다.
    • Amazon에서 발급한 인증서는 EC2 인스턴스에 설치할 수 없다.
    • 특정 사용 사례에 대해 종단 간 암호화를 활성화하려면 EC2 인스턴스에 설치해야 하는 타사 SSL 인증서를 사용해야 한다.
    • 그런 다음 타사 인증서를 AWS ACM로 가져와서 로드 밸런서와 연결해야 한다.

Route 53


Amazon VPC


Other Services

AWS Service Catalog

  • 다른 조직이나 조직의 다른 AWS 계정에 속한 사용자 등 AWS 계정에 없는 사용자가 AWS Service Catalog 제품을 사용할 수 있도록 하려면 해당 사용자와 포트폴리오를 공유한다.
    • 계정 간 공유, 조직 공유, StackSets를 사용한 카탈로그 배포 등 다양한 방법으로 공유할 수 있다.
    • 계정 간 공유 또는 AWS Organizations를 사용하여 포트폴리오를 공유하면 다른 AWS 계정의 AWS Service Catalog 관리자가 사용자의 포트폴리오를 자신의 계정으로 가져오고 해당 계정의 최종 사용자에게 제품을 배포할 수 있다.
    • 가져온 포트폴리오는 독립된 사본이 아니다. 가져온 포트폴리오의 제품 및 제약 조건은 공유한 원본 포트폴리오인 공유 포트폴리오에 대한 변경 사항과 동기화된다.
    • 포트폴리오를 공유하는 관리자인 수신 관리자는 제품이나 제약 조건을 변경할 수 없지만 최종 사용자를 위한 AWS IAM 액세스 권한을 추가할 수 있다.
    • 공유 포트폴리오에 제품 또는 제약 조건을 추가하거나 공유 포트폴리오에서 제품 또는 제약 조건을 제거하면 변경 사항이 가져온 포트폴리오의 모든 인스턴스에 전파된다.
    • 예를 들어, 공유 포트폴리오에서 제품을 제거하면 해당 제품은 가져온 포트폴리오에서도 제거된다. 가져온 제품이 추가된 모든 로컬 포트폴리오에서도 제거된다.
    • 제품을 제거하기 전에 최종 사용자가 제품을 실행한 경우 최종 사용자의 프로비저닝된 제품은 계속 실행되지만 향후 실행에는 해당 제품을 사용할 수 없게 된다.

AWS Artifact

  • AWS Artifact는 조직에 중요한 규정 준수 관련 정보를 제공하는 중앙 리소스다.
    • AWS의 보안 및 규정 준수 보고서와 선별된 온라인 계약에 대한 온디맨드 액세스를 제공한다.
    • 특정 규정이 적용되는 고객의 요구 사항을 해결하기 위해 AWS Artifact 계약에서 다양한 유형의 계약을 사용할 수 있다.
    • 예를 들어, BAA(Business Associate Addendum)는 HIPAA(Health Insurance Portability and Accountability Act)를 준수해야 하는 고객에게 제공된다.
    • 이는 서비스가 아니며, AWS 규정 준수 보고서에 온드맨드 방식으로 액세스할 수 있는 무료 셀프 서비스 포털이다.
  • AWS Artifact 보고서를 사용하여 AWS ISO 인증, PCI(지불 카드 산업), SOC(시스템 및 조직 제어) 보고서와 같은 AWS 보안 및 규정 준수 문서를 다운로드 할 수 있다.

AWS OpsHub

  • AWS OpsHub
  • Snow Family 디바이스는 디바이스 및 로컬 AWS 서비스를 관리하는 데 사용할 수 있는 Snow Family용 AWS OpsHub라는 사용자 친화적인 도구를 제공한다.
    • 클라이언트 컴퓨터에서 AWS OpsHub를 사용하여 단일 또는 클러스터링된 디바이스 잠금 해제 및 구성, 파일 전송, Snow 패밀리 디바이스에서 실행되는 인스턴스 시작 및 관리와 같은 작업을 수행한다.
    • AWS OpsHub를 사용하여 스토리지 최적화 및 컴퓨팅 최적화 디바이스 유형과 Snow 디바이스를 모두 관리할 수 있다.
    • AWS OpsHub 애플리케이션은 추가 비용 없이 사용할 수 있다.
  • AWS OpsHub는 Snowball API에서 사용할 수 있는 모둔 기존 작업을 가져와 GUI로 제공한다.
    • 이 인터페이스는 데이터를 AWS 클라우드로 빠르게 마이그레이션하고 Snow 패밀리 디바이스에 엣지 컴퓨팅 애플리케이션을 배포하는 데 도움이 된다.
  • Snow 디바이스가 사이트에 도착하면 노트북과 같은 클라이언트 시스템에 AWS OpsHub 애플리케이션을 다운로드, 설치 및 실행한다.
    • 설치 후에는 장치를 잠금 해제하고 관리를 시작하며 지원되는 AWS 서비스를 로컬에서 사용할 수 있다.
    • AWS OpsHub는 디바이스의 스토리지 용량 및 활성 인스턴스와 같은 주요 지표를 요약하는 대시보드를 제공한다.
    • 또한 Snow 패밀리 디바이스에서 지원되는 다양한 AWS 서비스도 제공한다. 몇 분 안에 장치로 파일 전송을 시작할 수 있다.

AWS OpsWorks

  • AWS OpsWorks는 Chef 및 Puppet의 관리형 인스턴스를 제공하는 구성 관리 서비스다.
    • Chef와 Puppet은 코드를 사용하여 서버 구성을 자동화할 수 있는 자동화 플랫폼이다.
    • OpsWorks를 사용하면 Chef 및 Puppet을 사용하여 EC2 인스턴스 또는 온프레미스 컴퓨팅 환경에서 서버를 구성, 배포 및 관리하는 방법을 자동화할 수 있다.

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

[SAP] Identity & Federation  (0) 2023.12.28
[SOA] 시험 후기  (0) 2023.12.18
[SOA] 오답노트 2023.12 - 2주차  (0) 2023.12.10
[SOA] 오답노트 2023.12 - 1주차  (0) 2023.12.03
[SOA] 목차  (0) 2023.11.27