또 틀림 (7문제)
⭐6. ELB의 scaling 활동이 예상대로 동작하지 않는 문제 해결 방법
- 정답) EB 환경 내의 ASG는 두 가지 기본 Amazon CloudWatch alarm을 사용하여 scaling 기능을 수행한다. 해당 알람들은 반드시 애플리케이션에 적합한 parameter들에 기반하여 설정되어야 한다.
- 기본 auto scaling은 평균 outbound 네트워크 트래픽이 각 인스턴스에 대해 매 5분마다 6 MB 이상 혹은 2 MB 이하일 때 실행된다.
- 더 효율적인 EC2 auto scaling을 위해선, 요구사항에 적절한 trigger를 설정해야 한다.
- 다른 옵션에 대한 설명
- 기본적으로, EB로 생성된 ASG는
ELB 상태 검사를 사용한다. EB가 EC2 상태 검사를 사용하도록 설정해라 (X) - ASG에 부착된 IAM Role이 on-demand scaling 을 수행하기 충분한 권한을 갖고 있지 않은 것이다. (X)
- 충분한 권한이 없는 EB와 연관된 IAM Role을 사용하면 EC2 scaling은 불가능하다.
- EB 환경 내의 ASG는 로그인 된 사용자 수를 사용하여 auto-scaling 기능을 수행한다 .... (X)
- 로그인한 사용자 수에 기반하여 동작하지 않는다.
- 기본적으로, EB로 생성된 ASG는
7. AWS VPC - 하나의 public subnet과 하나의 private subnet을 구성할 때, 애플리케이션과 RDS DB 간 통신 설정 방법
- 정답) VPC 내의 서브넷은 추가 구성 없이 서로 통신할 수 있다. 따라서 추가 구성이 필요하지 않다.
- AWS VPC 내의 모든 서브넷은 기본적으로 서로 통신할 수 있다. 퍼블릭 서브넷의 EC2 인스턴스와 프라이빗 서브넷의 RDS 데이터베이스 간의 통신을 위해 추가적인 네트워크 구성은 필요하지 않다.
- 서브넷 간의 통신을 제어하는 데 필요한 유일한 구성 요소는 '보안 그룹'과 '네트워크 ACL'이다.
- 다른 옵션에 대한 설명
- VPC 피어링 구성 - VPC 피어링은 서로 다른 VPC 간의 통신을 위한 것이지, 동일한 VPC 내의 서브넷 간 통신에는 필요하지 않다.
- 보안 그룹 설정 - VPC 내 서브넷 간의 기본 통신을 위해서는 추가적인 보안 그룹이 필요하지 않다.
⭐13. 개발 팀이 매일 비즈니스 엔드포인트와 API를 모니터링하기 위해 작성한 스크립트를 Amazon CloudWatch 서비스와 통합하는 방법
- 정답) CloudWatch Synthetics를 사용하여 canaries를 생성하고, 이를 통해 CloudWatch metric을 생성하여 서비스를 추적하고 모니터링한다.
- CloudWatch Synthetics는 canaries라는 스크립트를 사용하여 특정 API, 엔드포인트, 웹사이트 등의 가용성과 성능을 모니터링하는 서비스이다.
- 개발 팀이 작성한 스크립트를 CloudWatch Synthetics로 통합하면, CloudWatch에서 metric을 자동으로 생성하고 이를 추적할 수 있다. 이를 통해 비즈니스 엔드포인트와 API의 가용성을 지속적으로 모니터링할 수 있다.
- Canaries는 설정된 간격에 따라 주기적으로 실행되며, 실행 결과를 CloudWatch metric으로 보고할 수 있다.
- 다른 옵션에 대한 설명
- CloudWatch Dashboard 설정 사용 - 만들어진 선택지다.
- CloudWatch Composite Alarm - 여러 경고를 결합하여 하나의 알람으로 설정하는 기능으로, 스크립트 통합에 적합하진 않다.
⭐14. CloudFront Cache에 저장된 잘못된 파일을 빠르게 제거하여 사용자에게 잘못된 contents를 표시하지 않는 방법
- 정답) CloudFront 배포에서 파일을 무효화(invalidate)하여 즉시 파일을 제거한다.
- CloudFront Invalidation을 사용하면 edge location에 캐시된 특정 파일을 무효화하여, 해당 파일이 더 이상 사용자에게 제공되지 않도록 할 수 있다.
- 파일이 무효화되면, CloudFront는 그 다음 요청부터 원본 서버에서 최신 버전을 가져온다. 따라서 잘못된 페이지를 즉시 제거하고 수정된 버전을 제공할 수 있다.
- 무효화 요청은 빠르게 처리가 되며, 이를 통해 잘못된 파일을 신속하게 제거할 수 있다.
- 다른 옵션에 대한 설명
- CloudFront 정책을 사용하여 contents 제어 - CloudFront 정책은 캐시된 콘텐츠를 제어하는 데 사용되기보다는, 접근 권한과 콘텐츠 제공을 제어하는 데 사용된다. 특정 파일을 제거하는 데 적합하지 않다.
- CloudFront Cache의 기본 만료 시간 - 기본적으로 CloudFront는 edge location에 파일을 24시간 동안 캐시하지만, 무효화를 통해 이 시간을 단축할 수 있다. 파일을 24시간 이전에 제거할 수 없는 것은 사실이 아니다.
16. AWS VPC의 구성 요소 및 기본 설정에 대한 이해
- 정답
- VPC를 생성할 때, 반드시 VPC에 대한 IPv4 주소 범위를 CIDR 블록 형식으로 지정해야 한다.
- VPC 내의 모든 서브넷은 private이든 public이든 항상 private IPv4 주소 범위를 사용한다. 서브넷의 내부 IPv4 주소는 인터넷에 직접 노출되미 않으며, 퍼블릭 액세스를 위해서는 인터넷 게이트웨이나 NAT 게이트웨이 같은 리소스를 사용해야 한다.
- 기본적으로 VPC 내의 모든 서브넷은 public이든 private이든 서로 간에 통신할 수 있다. 이는 VPC 라우팅 테이블에 의해 제어된다. (틀림)
- 다른 옵션에 대한 설명
- private 서브넷은 기본적으로 인터넷으로부터의 inbound traffic을 허용하지 않는다. 그리고 public access를 위해서는 인터넷 게이트웨이에 대한 경로를 서브넷의 라우팅 테이블에 추가할 수도 없다. public 서브넷 만이 인터넷 게이트웨이를 통해 외부와 통신할 수 있다. (틀림)
- VPN 전용 서브넷(VPN-only subnet)은 인터넷 게이트웨이에 대한 경로 없이 Virtual Private Network를 통해서만 외부와 통신하는 서브넷이다. 인터넷 게이트웨이와 가상 프라이빗 게이트웨이가 모두 있는 서브넷은 퍼블릭 서브넷이 된다.
- 서브넷은 특정 가용 영역에 속하며, 여러 가용 영역에 걸쳐 있을 수 없다. VPC는 여러 가용 영역에 서브넷을 가질 수 있지만, 각 서브넷은 단일 가용 영역에만 속할 수 있다.
25. 기존 EC2 인스턴스로부터 애플리케이션 일관성이 있는 AMI를 생성하는 방법
- 정답) `No reboot` 옵션을 비활성화하고 AMI를 생성한다.
- 애플리케이션 일관성 유지
- 애플리케이션 일관성 있는 AMI를 생성하려면, EC2 인스턴스의 상태를 안정화하고 디스크의 데이터가 완전하고 일관성 있는 상태일 때 AMI를 생성해야 한다.
- AMI를 생성할 때 No reboot 옵션을 비활성화하면, EC2 인스턴스가 먼저 종료되어 데이터가 안전하게 디스크에 쓰여지며 애플리케이션 상태가 일관되게 유지된다. 그 후, 인스턴스의 상태를 보존하면서 EB 볼륨의 스냅샷을 생성하여 AMI를 만든다.
- 애플리케이션 일관성 유지
- 다른 옵션에 대한 설명
- No reboot 옵션을 활성화하면, 인스턴스가 재부팅 없이 AMI가 생성되므로 데이터 일관성이 보장되지 않는다.
- 모든 EBS 지원 AMI는 EBS 스냅샷을 기반으로 하지만, 이는 애플리케이션 일관성을 보장하지 않는다
- `Delete on termination` 옵션 활성화 시, 해당 AMI로 생성된 인스턴스가 종료되면 연결된 EBS 볼륨을 삭제하는 옵션이다.
27. Windows OS에서 실행되는 Amazon EC2 인스턴스에서 사용자 정의 메트릭을 수집하기 위해 Unified CloudWatch Agent를 올바로 구성하는 방법
- 정답) StatsD 프로토콜을 설정하여 필요한 시스템 메트릭을 수집한다.
- StatsD 프로토콜과 CloudWatch Agent
- Unified CloudWatch Agent는 Windows 및 Linux 운영 체제 모두에서 사용자 정의 메트릭을 수집하고 Amazon CloudWatch에 전송하는 기능을 제공한다.
- 사용자 정의 메트릭을 수집하기 위해 CloudWatch Agent는 StatsD 프로토콜을 지원한다. StatsD는 애플리케이션과 시스템 메트릭을 수집하여 모니터링할 수 있는 경량의 Daemon이다. 이를 통해 사용자 정의 메트릭을 쉽게 CloudWatch로 전송할 수 있다.
- 다른 옵션에 대한 설명
- collectd 프로토콜은 Linux 시스템에서 사용되는 메트릭 수집 Daemon이다.
처음 틀림 (3 문제)
⭐12. ASG 런칭 시 발생한 Client.InternalError : Client error on launch 오류 해결 방법
- 정답) 해당 에러는 ASG가 암호화된 EBS 볼륨을 가진 인스턴스 런칭을 시도했지만 service-linked 역할이 EBS 볼륨을 암호화한 고객관리형 CMK에 대해 접근할 수 없기 때문에 발생한 것이다.
- 해당 에러가 발생하는 두 가지 시나리오는 다음과 같다.
- 시나리오 1. CMK와 ASG가 동일한 AWS 계정에 존재할 때
- 어떤 service-linked 역할을 사용할지 결정한다.
- CMK에 대한 키 정책을 수정하고 해당 service-linked 역할이 이를 사용하도록 허용한다.
- ASG가 service-linked 역할을 사용하도록 수정한다.
- 시나리오 2. 서로 다른 AWS 계정에 존재할 때,
- ASG 계정에서 새 CMK를 생성할 경우, 이를 사용하여 ASG를 재암호화한다.
- 다른 계정에 있는 CMK를 사용할 경우, ASG 계정의 service-linked role에게 CMK 계정에 대한 접근 원칙을 부여하고 사용을 허락한다.
- 다른 옵션에 대한 설명
- 환경 설정 내 블럭 기기 매핑이 현재 사용 불가능하거나 지원되지 않는 블럭 기기명을 포함하고 있다. (X)
- 'Invalid device name upload. ...' 발생
- cluster placement group이 유효하지 않은 인스턴스 유형을 포함하고 있다. (X)
- 'Placement groups 은 'm1.large' 유형의 인스턴스에서 사용될 수 없습니다. ...' 발생
- 환경 설정에 식별된 보안 그룹이 삭제되지 않았다. (X)
- '보안 그룹 <보안 그룹 명>이 존재하지 않습니다. EC2 instance launching failed' 발생
- 환경 설정 내 블럭 기기 매핑이 현재 사용 불가능하거나 지원되지 않는 블럭 기기명을 포함하고 있다. (X)
22. EBS 볼륨에 대해 몇분 단위로 snapshot 찍는 기능을 활성화하기 위한 방법
- 정답) Amazon CloudWatch events를 사용하여 자동화된 EBS 스냅샷 기능을 예정한다.
- >> CloudWatch console > Events, Create rule > Event Source : Cron expression > Targets, add target : EC2 CreateSnapshot API call >> ...
- 다른 옵션에 대한 설명
- AWS Lambda : AWS Lambda는 자가호출 기능이 없고, 다른 서비스가 호출해야 활성화된다. 같은 Lambda를 사용하여 호출할 경우 무한 호출 문제가 발생할 수 있는 위험한 선택지이다.
- Amazon SNS + Lambda : 직접적이지도 않고, 비싼 방법이다.
- EC2 configuration screen : 해당 EC2 스크린에 그런 옵션이 없다.
⭐62. CloudFront 배포 생성 후 발생한 ..; the region '<AWS Region>' is wrong;.. 해결 방법
- 정답) 해당 오류는 설정된 Amazon S3 버킷이 한 AWS Region에서 다른 곳으로 옮겨졌음을 나타낸다. 즉, 한 AWS Region에서 삭제된 것과 동명의 S3 버킷이 다른 곳에 생성된 것이다. 이를 해결하기 위해선, CloudFront 배포를 현재 버킷이 있는 AWS Region에 있는 S3로 수정해야 한다.
- 다른 옵션에 대한 설명
- 해당 오류는 CloudFront 배포와 S3가 동일 AWS Region에 없어서 발생한 문제로, 그 중 하나의 리소스를 같은 Region으로 옮기면 된다. (X)
- Amazon CloudFront는 edge location과 CD를 위한 regional edge cache로 이루어져 있다.
- 때문에 CloudFront로 하여금 특정 Region의 서버 컨텐츠로 연결되도록 환경설정하면 해결된다.
- 해당 오류는 CloudFront 배포와 S3가 동일 AWS Region에 없어서 발생한 문제로, 그 중 하나의 리소스를 같은 Region으로 옮기면 된다. (X)
맞췄지만 불안함 (9 문제)
⭐2. Amazon Kinesis Data Streams - 스트리밍 데이터 처리 시, 샤드 용량 한계에 도달할 경우 이를 알 수 있는 설정 방법
- 정답) Trusted Advisor와 CloudWatch Events의 통합 사용
- Amazon Trusted Advisor는 AWS 계정의 성능, 보안, 비용 최적화, 서비스 한도 등을 모니터링하는 도구이다. 이 중 서비스 한도 모니터링은 Kinesis Data Streams의 샤드 용량 같은 리소스가 한계에 가까워질 때 경고할 수 있다
- CloudWatch Events는 Trusted Advisor의 서비스 체크 결과를 모니터링할 수 있다. 이를 통해 관리 팀이 샤드 용량 한계에 도달할 때 자동으로 알림을 받을 수 있다.
- 다른 옵션에 대한 해설
- CloudTrail 및 CloudWatch 사용 - CloudTrail은 주로 API 호출에 대한 로깅을 제공한다. CloudTrail을 CloudWatch와 통합하여 맞춤형 서비스 제한 체크를 구현하는 것은 가능하지만, 샤드 용량 모니터링에 적합하지 않다.
- CloudWatch ServiceLens 사용 - ServiceLens는 주로 애플리케이션 성능 모니터링 (APM)을 위해 사용되며, 샤드 용량 제한에 대한 경고 설정에 적합하지 않다.
- CloudWatch Events와 Amazon Inspector 사용 - Amazon Inspector는 주로 애플리케이션 보안 취약성 검사에 사용되며, 샤드 용량 모니터링과는 관련이 없다.
⭐34. ASG - 인스턴스 종료 보호(Termination Protection) 설정 상태에서 scale-in 이벤트가 발생할 때의 결과
- 정답) ASG의 desired capacity는 감소하지만, ASG는 어느 인스턴스도 종료하지 못할 것이다.
- sacle-in 이벤트는 ASG의 '희망 용량(Desired Capacity)'를 감소시키지만, 종료 보호가 활성화된 인스턴스는 종료되지 않는다. 결과적으로, ASG는 희망 용량이 감소하지만 실제로 종료한 인스턴스가 없기 때문에, 인스턴스의 수가 희망 용량보다 많을 수 있다.
- 인스턴스 scale-in 보호가 Auto-Scaling 인스턴스를 보호하지 않는 경우.
- EC2 console에서 수동으로 'terminate instances' 명령어를 사용하는 경우
- instance health check에 실패하여 교체가 발생하는 경우
- Spot instance interruption
⭐ 37. Amazon EC2 인스턴스의 Status Check 비활성화 가능성을 묻는 문제
- 정답) Status check 기능은 Amazon EC2에 내재된 것으로 비활성화 및 삭제가 불가능하다.
- Amazon EC2 상태 검사
- 시스템 상태 검사 : AWS 인프라 수준에서의 네트워크, 전원, 하드웨어 등과 관련된 문제 식별
- 인스턴스 상태 검사 : EC2 인스턴스 내부에서 실행 중인 운영 체제와 관련된 문제 식별
- 다른 옵션에 대한 설명
- 하드웨어 및 소프트웨어 문제 모두에 대한 상태 검사는 비활성화할 수 없다.
- 상태 검사는 CloudWatch metric으로 모니터링될 수 있지만, CloudWatch Console을 통해 비활성화할 수 없다.
- 상태 검사는 삭제할 수 없다.
⭐⭐ 43. ASG에서 암호화된 EBS Volume을 사용하려 할 때 발생하는 문제와 고객 관리형 CMK에 대한 권한 문제 해결 방법
요점
- 시스템 관리자가 여러 AWS 계정에서 ASG를 점검하는 동안, 암호화된 EBS 볼륨을 사용하는 인스턴스를 시작하려고 할 때, `Client.InternalError` 오류 발생
- 이는 Service-linked role이 EBS 볼륨이 암호화되는 데 사용된 고객 관리형 CMK에 접근할 수 없기 때문임.
- 정답) ASG와 동일한 AWS 계정에 CMK를 사용해야 한다. 기존 스냅샷을 복사한 다음, 동일한 계정에 있는 다른 CMK로 재암호화한다. 그리고 새로운 CMK에 대해 서비스 연결 역할이 사용할 수 있도록 권한을 부여한다. (맞추긴 함)
- 다른 옵션에 대한 설명
- ASG를 위해 어느 서비스 연결 역할을 사용할 건지 결정 - CMK와 ASG가 동일 AWS 계정 내에 있어야만 유효함
- ASG에서 암호화된 volume이 부착된 ec2 instance 실행은 어렵다 - 그저 혼동을 주기 위한 선택지다.
- 해당 인스턴스 계정에서 ASG 계정으로 CMK를 export - CMK를 export 하는 건 불가능하다.
⭐ 51. AWS X-Ray를 사용하여 다양한 AWS 서비스의 애플리케이션 workflow를 추적할 때 고려할 사항
- 정답) Application Load Balancer는 X-Ray로 데이터를 전송하지 않는다.
- 대신, HTTP 요청에 대해 헤더 `X-Amzn-Trace-Id`에 트레이스 ID를 추가한다. 따라서 ALB는 X-Ray의 서비스 맵에 노드로 표시되지 않는다.
- ELB는 요청에 대한 정보를 X-Ray로 전송하지 않기 때문에, X-Ray를 통해 ALB 자체의 메트릭이나 로그를 직접 추적할 수 있다.
더보기
- AWS X-Ray는 다음의 Amazon Service와 통합 가능하다.
- Amazon EC2
- AWS Lambda
- Amazon API Gateway
- Amazon ECS
- Amazon EKS
- AWS Fargate
- AWS Elastic Beanstalk
- AWS App Runner
- Amazon SNS
- Amazon SQS
- Amazon DynamoDB
- Amazon RDS
- Amazon S3
- Amazon CloudFront
- AWS Step Functions
@. AZ에 분배하는 ELB의 한쪽 AZ 인스턴스가 전부 unhealthy 상태일 때 결과
- 정답) 로드밸런서는 unhealthy target으로 요청을 보낸다.
- target group 내에 하나라도 healthy target이 존재한다면, 로드밸런서는 healthy target 에만 요청을 전달한다.
- 만약 target group에 unhealthy target만 존재한다면, 로드 밸런서는 unhealthy target에게 요청을 전달한다.
- 따라서, business-critical 애플리케이션을 운용하는 경우, ASG를 설정하는 것이 바람직하다.
⭐⭐@. enhanced networking을 사용하는 대표적인 사례
- 정답) VIF 드라이버 상에서 초당 20,000 pps 이상의 처리량을 지원하기 위해
- Enhanced networking은 지원하는 인스턴스 타입에 대해 단일 root I/O 가상화 (SR-IOV)를 사용하여 최고 성능의 네트워킹 가용성을 제공한다.
- SR-IOV는 기기 가상화 방법으로 I/O 성능을 높이고 CPU 이용률을 낮춘다.
(전통적인 가상화 네트워크 인터페이스에 비해) - Enhanced networking은 더 높은 대역폭과 pps 성능, 그리고 일관적으로 인스턴스 간 지연도를 낮춘다.
- Enhanced networking을 사용하면 추가 비용은 발생하지 않는다.
- 다음의 경우 enhanced networking 사용을 고려할 수 있다.
- packets-per-second 비율이 천장에 도달한 경우
- VIF 드라이버에서 처리 능력이 20,000 pps를 초과할 경우 (가장 최적의 사례!!)
- 현재 모든 세대의 인스턴스 타입은 enhanced networking을 지원한다. (t2 인스턴스 제외!!)
- 다른 옵션에 대한 설명
- 단일 AZ에서 최대 16개 까지 EC2 인스턴스를 부착할 수 있는 EBS volume에 multi-attach를 설정하기 위해
- 이건 EC2 고가용성을 위한 선택지이다.
- EC2 인스턴스 사이에 최대 25 Gbps까지 도달하도록 Direct Connect를 설정하기 위해
- Direct connect는 on-premise resource와 AWS Cloud를 연결하기 위한 서비스이다.
- EC2 인스턴스 사이에 2,500 Gbps 까지 속도를 높이기 위해
- 인스턴스 간 10 Gbps 까지 속도를 높여야 할 경우,ENA와 호환되는 인스턴스와 함께 클러스터 배치 그룹 내에서 인스턴스를 실행해야 한다.
- 인스턴스 사이에 속도를 2,500 Gbps 까지 높이는 것은 불가능하다.
- 단일 AZ에서 최대 16개 까지 EC2 인스턴스를 부착할 수 있는 EBS volume에 multi-attach를 설정하기 위해
@. 모든 EC2 인스턴스에 CloudWatch monitoring을 설치하고 설정하는 방법
- 정답) 모든 인스턴스에 CloudWatch Agent를 설치하고 EC2 인스턴스에 IAM role을 부착하여 CloudWatch agent를 실행해야 한다.
- AWS resource에 접근하기 위해서는 권한이 필요하다.
- 따라서, EC2 인스턴스에서 CloudWatch agent를 사용하기 위해선 IAM role(CloudWatchAgentServerRole IAM)을 생성해야만 한다.
- 다른 옵션에 대한 설명
- CloudWatch에 의해 monitoring 해야 하는 인스턴스에 대해 AWS 콘솔로 CloudWatch를 설정한다. AWS가 이를 자동으로 설치하고 설정한다.
- CloudWatch Agent를 설치하기 위해선 CLI를 사용해야만 한다.
- CloudWatch에 의해 monitoring 해야 하는 인스턴스에 대해 AWS 콘솔로 CloudWatch를 설정한다. AWS가 이를 자동으로 설치하고 설정한다.
@. 손상된 EC2 인스턴스를 자동으로 복구하는 방법
- 정답) 'AWSSupport-ExecuteEC2Rescue' 문서를 사용하여 손상된 인스턴스를 복구한다.
- Systems Manager Automation 문서는 자동화 workflow를 정의한다.
- Automation은 여러 사전에 정의된 Automation 문서를 포함하여 EC2 재시작 및 AMI 생성 등 일반적인 작업을 수행하는 데 사용할 수 있다.
맞춤
1. AWS Directory Services - 보안 그룹에 대한 "Security Groups - Unrestricted Access" 경고 발생 문제
- AWS Directory Services는 디렉터리 서비스가 제대로 작동하기 위해 필요한 특정 보안 그룹을 자동으로 생성한다. 해당 보안 그룹은 서비스가 필요로 하는 트래픽을 허용하도록 구성되어 있으며, 일부 포트가 모든 트래픽 (0.0.0.0/0)을 허용하도록 설정될 수 있다. 이는 보안 위협으로 보일 수 있지만, AWS Directory Services에서 사용되는 경우 안전하다.
- 게다가, 보안 그룹이 부착된 ENI는 EIP를 가질 수도 없기 때문에, 내부 트래픽은 로컬 VPC와 VPC로 route된 트래픽에 한정된다.
- 따라서, AWS Directory Services에서 자동으로 생성된 보안 그룹이 AWS의 보안 권장 사항과 일치한다면, 이러한 경고는 무시하거나 억제해도 된다.
- 다른 옵션인 AWS Trusted Advisor, IAM 권한 점검, 또는 보안 그룹 수정은 이 시나리오에 적합하지 않다. Trusted Advisor가 이 문제를 경고하더라도 AWS가 관리하는 설정이기 때문에 별도의 조치가 필요하지 않다.
8. AWS CloudWatch - Cloud Watch Agent의 구성 파일 처리 방식
- 정답) append 명령어는 첫 번째 구성 파일에 정보를 덧붙이지 않고 덮어쓴다.
- 여러 환경설정 파일을 사용하여 CloudWatch agent를 설정할 수 있다.
- 예를 들어, 인프라 환경 내 모든 서버로부터 수집하기 원하는 로그와 측정 집합을 모아놓은 공통의 환경설정 파일을 만든다.
- 그 후, 특정 상황 및 애플리케이션으로부터 수치를 측정하기 위한 추가 환경설정 파일을 사용할 수 있다.
- 'fetch-config' 옵션을 사용하여 CloudWatch agent를 시작하고 첫번째 환경설정 파일을 특정한다.
- 이후 두번째 환경설정 파일을 append 하기 위해선 동일한 명령어를 사용하되 'append-config' 옵션을 추가한다.
- 환경설정에 추가되는 어느 환경설정 파일이든 반드시 고유한 파일 이름을 가져야 한다.
- 여러 환경설정 파일을 사용하여 CloudWatch agent를 설정할 수 있다.
- 다른 옵션에 대한 설명
- Cloud Agent는 하나의 구성 파일만 사용할 수 있으며 모든 필요한 매개변수가 이 파일에만 정의된다 - 이는 어느 정도 사실이지만, 이 문제의 결과와는 관련이 없다.
- 두 개의 에이전트가 다른 구성으로 시작됨 - CloudWatch Agent는 동일한 인스턴스에서 두 개의 다른 에이전트로 동시에 실행되지 않는다.
- 두 번째 구성 파일 매개변수가 기존 에이전트에 추가됨 - CloudWatch Agent는 두 개의 파일을 합치는 기능이 없다. 새 구성 파일이 기존 파일의 내용을 덮어쓴다.
10. Auto Scaling Group (ASG)에 구성된 여러 Amazon EC2 인스턴스 중 일부에만 CloudWatch 에이전트가 설치된 문제 원인 파악
요점
- 시스템 관리자가 두 개의 별도 개발 팀을 위해 EC2 인스턴스를 Auto Scaling Group (ASG)으로 구성했다.
- 그러나 한 ASG의 인스턴스에만 CloudWatch 에이전트가 설치되었다.
- 관리자는 어느 인스턴스 그룹에도 CloudWatch 에이전트를 수동으로 설치하지 않았다.
- 정답) AMI에 CloudWatch 에이전트가 포함되어 있는 경우, EC2 Auto Scaling Group을 생성할 때 EC2 인스턴스에 자동으로 설치된다. 개발자는 CloudWatch 에이전트가 미리 구성된 AMI를 선택해야 한다.
- AMI (Amazon Maching Image)에 CloudWatch 에이전트가 미리 설치되어 있는 경우, 해당 AMI를 사용하여 생성된 모든 EC2 인스턴스에는 CloudWatch 에이전트가 자동으로 설치된다.
- 두 개의 Auto Scaling Group (ASG)이 서로 다른 AMI를 사용하고 있는 경우, 한 AMI에는 CloudWatch 에이전트가 포함되어 있고 다른 AMI에는 포함되지 않을 수 있다. 따라서 한 ASG의 인스턴스에만 CloudWatch 에이전트가 설치되는 상황이 발생할 수 있다.
- 다른 옵션에 대한 설명
- 인스턴스 아키텍처 호환성 문제 - 아키텍처 호환성 문제는 일부 소프트웨어가 예상대로 작동하지 않게 할 수 있지만, 이는 CloudWatch 에이전트 설치 문제와 직접적인 관련은 없다.
- ASG 설정에서 CloudWatch 에이전트 옵션을 체크했을 가능성 - ASG에서 CloudWatch 에이전트 설치를 선택하는 옵션은 기본적으로 제공되지 않으며, 이를 통해 설정되지는 않는다.
- Instance Type과 이미지 아키텍처 불일치 - Instance Type과 AMI 아키텍처가 불일치할 경우 인스턴스 자체가 실행되지 않거나 오류가 발생할 수 있지만, CloudWatch 에이전트 설치 누락과는 무관하다.
11. Amazon S3 bucket을 웹사이트 엔드포인트로 구성한 상태에서, 해당 버킷의 파일을 CloudFront를 통해서만 접근 가능하도록 설정하는 방법
- 정답) Amazon S3 bucket을 custom origin으로 CloudFront에 설정한다. custom header를 설정하여 content에 대한 접근을 제한한다.
- CloudFront는 Custom Origin 기능을 사용하여 S3 버킷을 origin으로 설정한다. 이때, CloudFront 배포에만 접근 권한이 부여되도록 Custom Headers를 설정한다.
- 다른 옵션에 대한 설명
- OAI Access Identity (OAI) 사용 - OAI는 S3 bucket의 public access를 차단하고, 오직 CloudFront에서만 contents를 제공할 수 있다. OAI를 사용하면 S3 bucket이 public으로 설정되어 있지 않아도 CloudFront를 통해서만 contents를 배포할 수 있다.
- 그러나 웹사이트 엔드포인트로 구성된 S3 bucket에는 OAI가 적용되지 않기 때문에 이 방법은 적합하지 않다.
18. AWS Storage Gateway를 통한 in-transit, at-rest 데이터의 보안
- AWS Storage Gateway의 보안
- 전송 중 in-transit
- SSL/TLS를 사용하여 전송 중 데이터를 암호화한다. 이는 Storage Gateway와 AWS 스토리지 간의 모든 데이터 전송을 보호한다.
- 데이터가 인터넷을 통해 전송되는 동안 암호화되어 중간에 도청이나 위변조로부터 보호된다.
- 저장 중 at-rest
- Storage Gateway는 Amazon S3 관리형 암호화 키(SSE-S3)를 사용하여 서버 측 암호화를 기본적으로 수행하여 모든 데이터를 Amazon S3에 암호화된 형태로 저장한다.
- 이 설정을 통해 모든 데이터는 저장 중에도 안전히 보호된다.
- 또한, 추가적인 보안을 위해 고객 관리형 키(CMKs)를 사용하여 데이터를 암호화할 수 있다. 이를 위해 AWS KMS를 사용하여 관리할 수 있다.
- 전송 중 in-transit
- 다른 옵션에 대한 설명
- AWS Storage Gateway는 IPsec을 사용하지 않는다.
- 모든 Gateway 타입이 S3에 데이터를 암호화하여 저장할 수 있다.
24. 삭제된 AMI를 복구하는 방법
- 정답
- EBS 볼륨의 스냅샷이 있는 경우, 해당 스냅샷을 사용하여 새로운 AMI를 생성할 수 있다. 또한, 백업 스냅샷을 사용하여 루트 볼륨과 필요에 따라 추가 데이터 볼륨을 복구할 수 있다.
- 만약 삭제된 AMI로부터 시작된 기존의 EC2 인스턴스가 여전히 실행 중이거나 중지된 상태라면, 해당 인스턴스를 기반으로 새로운 AMI를 생성할 수 있다.
- 다른 옵션에 대한 설명
- EBS 스냅샷에서 직접 AMI를 복구할 수는 없다. 스냅샷에서는 새로운 AMI만을 생성할 수 있다.
- AMI를 복구한다기 보다, 기존 EC2 인스턴스로부터 새로운 AMI를 생성하는 것이 정확하다.
정리하면, Amazon EBS 스냅샷에서 새로운 AMI를 생성하거나, 삭제된 AMI로부터 시작된 기존 EC2 인스턴스에서 새로운 AMI를 생성하는 것이 효과적이다.
36. EBS Volume으로 백업된 EC2 인스턴스의 인스턴스 유형 변경 시 주의사항
- 정답
- 인스턴스의 root device가 EBS volume일 때만 인스턴스 크기 조정이 가능하다. Instance Store volume의 경우, 리사이즈가 지원되지 않는다.
- ASG 내의 인스턴스를 resize 한다면, auto-scaling은 멈춘 인스턴스를 unhealthy로 표시하고, 이를 종료하여 대체 인스턴스를 시작한다.
- EBS-backed 인스턴스 유형을 변경하려면 인스턴스를 중지해야 한다. 이 과정에서 하드웨어는 변경되지만, 인스턴스 ID는 그대로이다.
42. AWS CloudFormation에서 Change Sets를 사용하여 스택을 업데이트하는 중에 발생한 변경 세트 손실 문제의 원인을 찾고 해결 방법 제안
- 정답) Change set은 성공적으로 반영되었고, 그 결과로 change set이 CloudFormation에 의해 삭제된 것이다.
- AWS CloudFormation에서 변경 세트는 기존 스택에 대한 변경 사항을 미리 검토하고 확인할 수 있는 기능이다. 변경 세트는 특정 스택에 대해 생성된 리소스 변경 사항의 집합이다.
- 변경 세트가 성공적으로 실행되면, 해당 스택에 대한 변경 세트가 적용되고, 나머지 변경 세트는 유효하지 않으므로 CloudFormation이 삭제한다. 이것이 문제의 원인이다. 변경 세트가 실행되면 CloudFormation은 나머지 대기 중인 변경 세트를 삭제하여 중복 변경이나 충돌을 방지한다.
AWS Elastic Beanstalk `blue/green deployment` option
해당 옵션은 Elastic Beanstalk 환경에서 애플리케이션 배포 방법 중 하나로, 애플리케이션의 새로운 버전을 프로덕션 환경에 안전히 배포하고 관리하는 데 사용한다.
구성 요소 - 환경
- Blue Environment (기존 프로덕션 환경, Environment A) : 현재 라이브로 서비스 중인 환경
- Green Environment (새로운 배포 환경, Environment B) : 업데이트된 애플리케이션 버전 배포 및 테스트를 위한 새로운 환경
장점
- 다운타임 최소화 : 새로운 애플리케이션 버전 배포 중에도 기존 환경은 정상 작동하므로 중단 없이 배포 가능함
- 안전한 롤백 : 문제 발생 시 원래 환경으로 즉시 롤백 가능하여 위험을 최소화함
- 테스트 및 검증 : 새로운 버전의 애플리케이션을 프로덕션에 영향을 주지 않고 완전히 테스트, 검증 가능함
고려사항
- 비용 : 두 개의 환경을 동시에 운영하기 때문에 비용이 증가할 수 있다
- 리소스 관리 : 두 환경을 모두 관리해야 하므로, 리소스와 환경 구성을 신중히 관리해야 한다.
⭐ 49. AWS 계정에서 필요한 IAM 역할을 자동으로 생성하고 관리하는 방법
- 정답) AWS Organization과 함께 CloudFormation StackSets를 적용하여 동시에 여러 AWS 계정에 IAM 역할을 배포하고 관리한다.
- AWS CloudFormation StackSets는 AWS Organizations와 통합하여 여러 AWS 계정과 리전에 걸쳐 CloudFormation 스택을 중앙에서 관리하고 배포할 수 있는 기능을 제공한다.
- 이를 통해 중앙 계정에서 한 번의 작업으로 여러 AWS 계정에 IAM 역할을 자동으로 배포하고 관리할 수 있다. 이는 수동 오류를 줄이고, 권한 설정의 일관성을 보장하는 데 매우 효과적이다.
- 다른 옵션에 대한 설명
- AWS Directory Service와 함께 - IAM 역할 생성 및 관리 자동화를 위한 도구가 아니다.
- AWS Resource Access Manager와 함께 - 공유 리소스 관리를 위한 도구이다.
- CloudFormation templates 재사용 - StackSets를 사용하면 한 번의 작업으로 여러 계정에 걸쳐 동시 적용 가능함
56. Amazon EBS 볼륨에 대한 자동화된 스냅샷 생성 방법
- Amazon CloudWatch events를 사용하여 EBS 스냅샷 생성을 자동화한다.
- Amazon CloudWatch Events는 일정에 따라 규칙을 실행할 수 있다.
- CloudWatch Events를 사용하면 고정된 간격으로 스냅샷을 생성하거나 cron 표현식을 사용하여 생성을 설정할 수 있다.
- 다른 옵션에 대한 설명
- Amazon EC2 구성 화면에는 EBS 스냅샷 생성을 자동화하는 옵션이 존재하지 않는다.
- AWS Lambda는 Amazon SNS와 통합하여 스냅샷 생성을 자동화할 수 있지만 직관적이지 않고, 경제적이지도 않다.
57. Amazon EventBridge와 AWS Lambda 통합 시 발생하는 IAM 권한 문제 해결
- 정답) EventBridge의 목적지로 설정된 Lambda function에 대해선, 자원 기반 정책을 제공해야 한다. IAM 역할은 통하지 않는다.
- IAM Role은 Kinesis Streams 같은 서비스 이벤트를 처리할 때 사용된다.
- Lambda 함수 또는 Amazon SNS Notification을 대상으로 사용할 때는 자원 기반 정책을 제공해야 한다.
- 다른 옵션에 대한 설명
- ACLs 는 EventBridge에서 사용되지 않고, 개별 사용자 수준이 아닌 계정 수준에서 사용된다.
58. Amazon EC2 On-Demand Capacity Reservations에 대한 중요한 고려 사항
- 정답
- On-Demand Capacity Reservations는 특정 AZ 내에서 Amazon EC2 인스턴스의 용량을 예약할 수 있게 한다. 이러한 예약은 원하는 기간 동안 유지할 수 있으며, 예약은 생성 및 취소할 수 있다.
- 비용 할인 혜택을 제공하지 않으며, 온디맨드 요금이 적용된다. 비용을 절감하려면 Savings Plans 또는 Regional Reserved Instances와 결합하여 사용해야 한다.
- 다른 옵션에 대한 설명
- On-Demand Capacity Reservations는 고정된 기간의 약정이 필요하지 않다.
- Dedicated Hosts 또는 Placement Groups와 함께 사용될 수 없다.
- AWS 리전 간에 전송할 수 없다. 그러나 다른 계정과는 공유할 수 있다.
'자격증 공부 > AWS SysOps Administrator - Associate' 카테고리의 다른 글
AWS SysOps 2 회차 실전 문제 풀이 (0) | 2024.08.15 |
---|---|
AWS SysOps Administrator - Monitoring and Auditing (1) | 2024.08.08 |
AWS SysOps Administrator - Databases for SysOps (1) | 2024.07.31 |
AWS SOA(02) - CloudFront (1) | 2024.07.30 |
AWS SOA(02) - Advanced Storage (1) | 2024.07.30 |