오답노트 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
합계를 해당 기간의 분 수로 나눈다.
- 파일 시스템에 연결된 EC2 인스턴스 수를 추적하기 위해
InstanceConnections
측정 항목은 존재하지 않는다.- AWS IAM 자격 증명 기반 정책을 생성하여 사용자가 저장 시 암호화되는 EFS 파일 시스템을 생성할 수 있는지 여부를 제어할 수 있다.
- boolean 조건 키
elasticfilesystem:Encrypted
는 정책이 적용되는 암호화되거나 암호화되지 않은 파일 시스템 유형을 지정한다. elasticfilesystem:CreateFileSystem
작업 및 정책 효과(허용 또는 거부)와 함께 조건 키를 사용하여 암호화되거나 암호화되지 않은 파일 시스템을 생성하기 위한 정책을 생성한다.
- boolean 조건 키
- 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 볼륨은 여전히 규정 준수 또는 비준수로 표시된다.
- EC2는
- 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
오류가 발생한다.
- Business 또는 Enterprise Support 플랜이 없는 AWS 계정에서 AWS Health API를 호출하면
- 서비스 상태 대시보드는 각 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 |