관리 메뉴

피터의 개발이야기

[DOP-C01] AWS DevOps Engineer Professional : Part 17 본문

AWS/DOP

[DOP-C01] AWS DevOps Engineer Professional : Part 17

기록하는 백앤드개발자 2023. 3. 1. 03:09
반응형

 

  1. 계정의 고객별 Amazon S3 버킷에서 처리할 데이터를 가져오는 구성 요소가 있는 대규모 다중 테넌트 SaaS(software-as-a-service) 애플리케이션을 구축하고 있습니다.

    고객 소유 Amazon S3 버킷에서 데이터를 가져올 때 애플리케이션이 보안 모범 사례를 따르고 위험을 제한하는지 어떻게 확인해야 합니까?
    • 사용자가 애플리케이션에 필요한 Amazon S3 버킷에 대한 읽기 전용 액세스 권한을 부여하는 정책으로 IAM 사용자를 생성하고 계정 데이터를 보관하는 암호화된 데이터베이스에 해당 액세스 키를 저장하도록 합니다.
    • 사용자가 프로덕션 Sass 애플리케이션을 실행하는 AWS 계정 ID에 애플리케이션에 필요한 Amazon S3 버킷에 대한 읽기 전용 액세스 권한을 부여하는 정책으로 교차 계정 lAM 역할을 생성하도록 합니다.
    • 사용자가 애플리케이션에 필요한 Amazon S3 버킷에 대한 읽기 전용 액세스 권한을 부여하는 Amazon S3 버킷 정책을 생성하고 계정 데이터를 보유한 데이터베이스에 해당 액세스 키를 안전하게 저장하도록 합니다.
    • 사용자가 애플리케이션에 필요한 Amazon S3 버킷에 대한 읽기 전용 액세스 권한을 부여하고 SaaS 애플리케이션의 퍼블릭 IP 주소에 대한 액세스를 제한하는 Amazon S3 버킷 정책을 생성하도록 합니다.
  2. Auto Scaling 그룹에 Elastic Compute Cloud(EC2) 인스턴스 플릿이 있습니다. 이러한 모든 인스턴스는 Amazon EBS(Elastic Block Store)에서 지원하는 Microsoft Windows Server 2012를 실행하고 있습니다. 이러한 인스턴스는 AWS CloudFormation을 통해 시작되었습니다. 인스턴스가 충분히 활용되지 않았으며 비용을 절약하기 위해 플릿의 인스턴스 유형을 수정하기로 결정했습니다. 다음 중 예약된 유지 관리 기간 동안 원하는 결과를 얻을 수 있는 방법은 무엇입니까? (두 가지를 선택하세요.)
    • 새 인스턴스 유형을 지정하는 새 Auto Scaling 시작 구성을 생성하고 기존 Auto Scaling 그룹에 연결하고 실행 중인 인스턴스를 종료합니다.
    • 사용자 데이터에서 새 인스턴스 유형을 식별하고 실행 중인 인스턴스를 한 번에 하나씩 다시 시작합니다.
    • AWS 명령줄 인터페이스(CLI)를 사용하여 실행 중인 각 인스턴스의 인스턴스 유형을 수정합니다.
    • Amazon EC2 인스턴스를 생성하는 데 사용된 AWS CloudFormation 템플릿에서 인스턴스 유형을 변경한 다음 스택을 업데이트합니다.
    • 실행 중인 인스턴스의 스냅샷을 만들고 해당 스냅샷을 기반으로 새 인스턴스를 시작합니다.
  3. Amazon EC2 인스턴스에서 많은 수의 애플리케이션을 실행합니다. 각 애플리케이션에는 비용 센터, 지원 연락처 및 애플리케이션 ID와 같은 관련 메타데이터가 있습니다. 많은 애플리케이션이 일반적으로 각 Amazon EC2 인스턴스에 공존하므로 인스턴스당 메타데이터 양은 10~200개 항목 범위일 수 있습니다. 고객은 인스턴스에 로그인하지 않고 API를 사용하여 이 메타데이터에 빠르게 액세스할 수 있기를 원합니다. 다음 중 요구 사항을 충족하는 옵션은 무엇입니까? (두 가지를 선택하세요.)
    • 각 메타데이터 항목에 대해 개별 Amazon EC2 태그를 생성하고 Amazon EC2 인스턴스와 연결합니다. ec2-describe-instance API 호출을 사용하여 메타데이터에 액세스합니다.
    • 여러 항목이 개별 태그로 함께 결합되는 메타데이터 항목에 대한 복합 Amazon EC2 태그를 생성하고 이를 Amazon EC2 인스턴스와 연결합니다. ec2-describe-tags API 호출을 사용하여 메타데이터에 액세스합니다.
    • 메타데이터를 보관할 DynamoDB 테이블을 생성하고 애플리케이션을 실행하는 Amazon EC2 인스턴스 ID와 연결합니다. DynamoDB API를 통해 데이터베이스를 쿼리하여 메타데이터에 액세스합니다.
    • Amazon EC2 인스턴스 부트스트래핑 프로세스의 일부로 Amazon EC2 사용자 데이터에 메타데이터를 추가합니다. ec2-describe-instance API 호출을 사용하여 메타데이터에 액세스합니다.
    • Amazon EC2 인스턴스 부트스트래핑 프로세스의 일부로 Amazon EC2 사용자 데이터에 메타데이터를 추가합니다. 동일한 VPC의 관리 인스턴스에서 루프백 주소에 액세스하여 메타데이터에 액세스합니다.
  4. Auto Scaling 그룹 내의 여러 Amazon EC2 인스턴스에서 실행 중인 애플리케이션이 있습니다. Amazon EC2에서 상태 확인이 실패하여 인스턴스가 다시 생성되고 있음을 알 수 있습니다. 그러나 문제를 진단하기 전에 영향을 받는 인스턴스가 Auto Scaling 서비스에 의해 종료됩니다. 상태 확인 실패에 대한 알림을 받고 20분 이내에 조사합니다. 그러나 이것은 문제를 해결하기에 충분한 시간이 아닙니다.

    비용을 최소화하면서 인스턴스가 Auto Scaling 서비스에 의해 종료되기 전에 문제를 해결할 수 있도록 하려면 무엇을 변경해야 합니까?
    • 인스턴스에 Amazon CloudWatch Logs 에이전트를 설치하고 CloudWatch Logs 서비스로 보낼 애플리케이션 및 시스템 로그를 구성합니다.
    • Amazon SNS 주제를 구성하고 Auto Scaling 그룹의 CloudWatch 경보와 연결합니다. Amazon SQS 대기열을 이 주제의 구독자로 구성한 다음 이 대기열을 폴링하고 경보가 트리거될 때 Auto Scaling 그룹에서 인스턴스를 제거하도록 Amazon EC2 Auto Scaling API에 지시하는 Amazon EC2 작업자 플릿을 생성합니다.
    • 문제 해결을 완료할 때까지 인스턴스를 종료:대기 상태로 유지하는 Auto Scaling 그룹 수명 주기 후크를 생성합니다. 문제 해결을 완료하면 종료 상태가 만료될 때까지 기다리거나 수명 주기 후크를 완료하고 인스턴스를 종료하도록 Scaling에 알립니다.
    • 나중에 인스턴스가 삭제되지 않도록 Auto Scaling 그룹 구성에서 "DeleteOnTermination" 플래그를 false로 변경합니다.
  5. AWS에서 확장 가능한 지속적 통합 플랫폼을 설정합니다. 플랫폼은 모두 Amazon EC2에서 실행되는 여러 슬레이브 노드에 프로젝트 빌드 작업을 위임할 수 있는 마스터 노드로 구성됩니다. 빌드 출력은 Amazon S3에 저장됩니다. 항상 5개의 슬레이브 노드가 배포되어 있습니다. 각 슬레이브 노드는 동시에 10개의 빌드 작업을 처리할 수 있습니다. 마스터 노드는 "RunningBuildiobs"라는 이름으로 사용자 지정 Amazon CloudWatch 지표를 게시하여 플랫폼에서 실행 중인 빌드 작업 수를 프로그래밍 방식으로 추적하는 속도를 늦춥니다.

    비용을 최소화하면서 동시에 50개 이상의 빌드 작업을 지원하도록 플랫폼을 유연하게 확장할 수 있는 두 가지 구성 옵션은 무엇입니까? (두 가지를 선택하세요.)
    • Auto Scaling 그룹에 슬레이브 노드 플릿을 배치합니다. "RunningBuildJobs"가 5분 이상 45보다 큰 경우 Amazon EC2 인스턴스를 시작하도록 Auto Scaling 정책을 트리거하는 CloudWatch 경보를 구성합니다.
    • "RunningBuildJobs"가 5분 이상 45보다 크면 경고를 보내는 CloudWatch 경보를 구성합니다. CloudWatch 경보가 트리거될 때 Amazon Simple Queue Service를 사용하여 추가 빌드 작업을 처리하십시오.
    • 구매한 모든 Amazon EC2 Heavy Utilization 예약 인스턴스를 완전히 활용하도록 슬레이브 노드 플릿을 구성하십시오. "RunningBuildJobs"가 5분 이상 40 미만인 경우 새 Amazon EC2 인스턴스를 시작하는 CloudWatch 경보를 구성합니다.
    • Auto Scaling 그룹에서 슬레이브 노드 플릿을 실행합니다. "RunningBuildJobs"가 5분 이상 40 미만인 경우 새 Amazon EC2 전용 인스턴스를 시작하는 Cloudwatch 경보를 구성합니다.
    • Auto Scaling 그룹에 슬레이브 노드 플릿을 배치합니다. "RunningBuildJobs"가 5분 이상 40 미만인 경우 Amazon EC2 인스턴스를 종료하도록 Auto Scaling 정책을 트리거하는 CloudWatch 경보를 구성합니다.
  6. 귀하는 조직의 Amazon EC2 인스턴스에서 사용하는 모든 AWS 네트워크 규칙에 대한 감사 보고서를 제공하라는 지침을 가지고 최고 정보 보안 책임자(CISO) 사무실에서 방금 왔습니다. 하나의 Describe-Security-Groups API 호출이 리전 내 계정의 모든 보안 그룹 및 규칙을 반환한다는 것을 발견했습니다. 다음 의사 코드를 생성하여 필수 보고서를 생성합니다.

    – “aws ec2 describe-security-groups” 출력 구문 분석
    – 각 보안 그룹에 대해
    – 수신 및 송신 규칙 보고서 생성

    CISO의 요구 사항을 충족하기 위해 추가로 포함해야 하는 두 가지 로직은 무엇입니까? (두 가지를 선택하세요.)
    • 각 지역의 보안 그룹을 구문 분석합니다.
    • 각 가용 영역 및 리전에서 보안 그룹을 구문 분석합니다.
    • VPC 네트워크 액세스 제어 목록을 평가합니다.
    • AWS CloudTrail 로그를 평가합니다.
    • Elastic Load Balancing 액세스 제어 목록을 평가합니다.
    • CloudFront 액세스 제어 목록을 구문 분석합니다.
  7. 비디오 트랜스코딩 작업자의 Auto Scaling 그룹과 함께 작동하는 대규모 비디오 트랜스코딩 시스템을 담당하고 있습니다. Auto Scaling 그룹은 최소 750개의 Amazon EC2 인스턴스와 최대 1000개의 Amazon EC2 인스턴스로 구성됩니다. Amazon SQS를 사용하여 Amazon S3에 저장된 비디오의 URI가 포함된 메시지를 트랜스코딩 작업자에게 전달하고 있습니다. Amazon CloudWatch 경보가 대기열 깊이가 매우 커지고 있음을 알려줍니다. 비디오를 코드 변환하는 시간이 늘어나는 위험 없이 알람을 어떻게 해결할 수 있습니까? (두 가지를 선택하세요.)
    • Amazon SQS에서 두 번째 대기열을 생성합니다.
    • 더 높은 대기열 깊이를 위해 Amazon CloudWatch 경보를 조정합니다.
    • 더 큰 Amazon EC2 인스턴스 유형이 있는 시작 구성으로 새 Auto Scaling 그룹을 생성합니다.
    • Auto Scaling 그룹 구성에 추가 가용 영역을 추가합니다.
    • Amazon SQS 대기열 깊이가 아닌 Amazon EC2 인스턴스의 CPU 사용률을 모니터링하도록 Amazon CloudWatch 경보를 변경합니다.
    • Auto Scaling 그룹 구성을 조정하여 최대 Amazon EC2 인스턴스 수를 늘립니다.
  8. 귀하는 마케팅 부서에서 캠페인에 사용할 이미지를 저장할 회사용 솔루션을 배포하는 임무를 맡았습니다. 직원은 웹 인터페이스를 통해 이미지를 업로드할 수 있으며 업로드한 후에는 각 이미지의 크기를 조정하고 회사 로고로 워터마크를 표시해야 합니다. 이미지 크기 조정 및 워터마크는 시간에 민감하지 않으며 필요한 경우 업로드 후 며칠 후에 완료할 수 있습니다. 가장 가용성이 높고 비용 효율적인 방식으로 이 솔루션을 어떻게 설계해야 합니까?
    • Amazon Elastic Transcoder 서비스에 이미지를 업로드하도록 웹 애플리케이션을 구성합니다. Amazon Elastic Transcoder 워터마크 기능을 사용하여 회사 로고를 이미지에 워터마크로 추가한 다음 최종 이미지를 Amazon S3 버킷에 업로드합니다.
    • 이미지를 Amazon S3에 업로드하고 Amazon S3 버킷 URI를 Amazon SQS 대기열로 보내도록 웹 애플리케이션을 구성합니다. Auto Scaling 그룹을 생성하고 스팟 인스턴스를 사용하도록 구성하고 지불할 가격을 지정합니다. 이 Auto Scaling 그룹의 인스턴스를 구성하여 새 이미지에 대한 SQS 대기열을 폴링한 다음 최종 이미지를 Amazon S3에 업로드하기 전에 이미지 크기를 조정하고 워터마크를 표시합니다.
    • 이미지를 Amazon S3에 업로드하고 S3 객체 URI를 Amazon SQS 대기열로 보내도록 웹 애플리케이션을 구성합니다. 지불할 가격을 지정하여 스팟 인스턴스를 사용하는 Auto Scaling 시작 구성을 생성합니다. 이 Auto Scaling 그룹의 인스턴스를 구성하여 Amazon SQS 대기열에서 새 이미지를 폴링한 다음 새 이미지를 Amazon S3에 업로드하고 Amazon SQS 대기열에서 메시지를 삭제하기 전에 이미지의 크기를 조정하고 워터마크를 표시합니다.
    • 웹 서버의 로컬 저장소에 이미지를 업로드하도록 웹 애플리케이션을 구성합니다. 매일 이 디렉터리에서 새 파일을 검색하는 스크립트를 실행하는 cronjob을 생성한 다음 Amazon EC2 서비스 API를 사용하여 10개의 새 Amazon EC2 인스턴스를 시작합니다. 이 인스턴스는 매일 이미지의 크기를 조정하고 워터마크를 표시합니다.
  9. 소규모 온라인 위탁 시장을 운영하고 있습니다. 관심 있는 판매자는 웹사이트에서 제품을 판매할 수 있도록 온라인 신청서를 작성합니다. 승인되면 사용자 지정 인터페이스를 사용하여 제품을 게시할 수 있습니다. 그 바지에서 구매자가 제품 구매를 결정하면 청구를 처리하고 배송을 조정할 수 있도록 장바구니 프로세스를 관리합니다. 이 프로세스의 일부는 서로 다른 단계에서 구매자와 판매자에게 이메일을 보내야 합니다. 귀하의 시스템은 몇 달 동안 AWS에서 실행되었습니다. 경우에 따라 결제가 완료되기 전에 제품이 배송되고 이메일이 주문되지 않은 상태로 전송됩니다. 또한 때때로 신용 카드가 두 번 청구됩니다.

    이러한 문제를 어떻게 해결할 수 있습니까?
    • Amazon Simple Queue Service(SQS)를 사용하고 각 작업에 대해 서로 다른 작업자 집합을 사용합니다.
    • Amazon Simple Workflow Service(SWF)를 사용하고 각 작업에 대해 서로 다른 작업자 집합을 사용합니다.
    • SES(Simple Email Service)를 사용하여 올바른 이메일 전달 순서를 제어합니다.
    • AWS Data Pipeline 서비스를 사용하여 다양한 작업의 프로세스 흐름을 제어합니다.
    • Amazon Simple Queue Service(SQS)를 사용하고 각 작업에 단일 작업자 집합을 사용합니다.
  10. 애플리케이션에는 Amazon SQS 대기열에서 생성된 메시지를 수신하는 애플리케이션을 실행하는 m3.large 인스턴스의 Auto Scaling 그룹이 있습니다. 잠시 후 인스턴스 수가 그룹에 설정된 최대값에 도달하고 대기열의 메시지 수가 계속 증가합니다. 응용 프로그램에서 사용하는 타사 라이브러리에 메모리 누수를 일으키는 버그가 있음을 발견했습니다.

    라이브러리 개발자가 버그를 수정하는 동안 메시지 처리를 계속하기 위해 어떤 비용 효율적인 조치를 취할 수 있습니까?
    • Auto Scaling 그룹에 대해 Elastic Load Balancing 상태 확인을 활성화합니다. Elastic Load Balancing이 실패를 감지하면 Auto Scaling은 실패한 애플리케이션의 인스턴스를 종료하고 새 인스턴스를 시작합니다.
    • Amazon EC2 인스턴스 메모리 사용량 CloudWatch 지표를 사용하여 정의된 수준에 도달하면 경고를 발생시키고 Auto Scaling에 메시지를 보내 인스턴스 상태 확인에 실패합니다.
    • 메모리 사용량이 정의된 수준에 도달하면 인스턴스에서 애플리케이션 모니터링을 사용하여 애플리케이션을 다시 시작하십시오.
    • r3.large 인스턴스 유형을 사용하려면 새 Auto Scaling 시작 구성을 생성합니다. 새로운 시작 구성으로 Auto Scaling 그룹을 업데이트합니다.
  11. 당신은 대규모 고가용성 다중 계층 웹 애플리케이션 인프라를 담당하고 있습니다. 이 아키텍처는 로드 밸런서가 있는 Amazon Route53과 여러 Amazon EC2 인스턴스로 구성됩니다. 귀하는 블루/그린 스타일 배포를 제공하는 프로세스를 마련해야 하는 임무를 받았습니다.

    이 새로운 요구 사항을 전달하기 위해 어떤 기술을 사용해야 합니까?
    • Elastic Beanstalk를 사용하여 애플리케이션을 재배포하고 Elastic Beanstalk 배포 유형을 구성한 다음 Amazon Route53의 별칭 리소스 레코드 세트를 사용하여 Elastic Beanstalk 배포 유형 간에 전환합니다.
    • AWS CloudFormation 템플릿을 사용하여 로드 밸런서 뒤에 애플리케이션을 재배포하고, 배포할 때마다 새 AWS CloudFormation 스택을 시작하고, 새 로드 밸런서를 가리키도록 Amazon Route53 별칭 리소스 레코드 세트를 업데이트하고, 마지막으로 이전 AWS CloudFormation 스택을 종료합니다. .
    • Auto Scaling 그룹을 사용하여 로드 밸런서 뒤에 애플리케이션을 재배포하고 동일한 Auto Scaling 그룹을 새로 생성한 다음 로드 밸런서에 연결합니다. 배포 중에 새 Amazon Route53 호스팅 영역을 생성하고 이 새 로드 밸런서를 별칭 리소스 레코드 세트의 영역에 추가한 다음 이전 Auto Scaling 그룹을 제거합니다.
    • OpsWorks 스택을 사용하여 로드 밸런서 뒤에 애플리케이션을 재배포하고 AWS OpsWorks 스택 버전 관리를 사용합니다. 배포하는 동안 애플리케이션의 새 버전을 생성하고 로드 밸런서 뒤에서 새 버전을 시작하도록 OpsWorks에 알리고 새 버전이 시작되면 새 로드 밸런서를 가리키도록 Amazon Route53 별칭 리소스 레토르트를 업데이트합니다.
  12. 애플리케이션은 Amazon SQS 및 Auto Scaling을 사용하여 백그라운드 작업을 처리합니다. Auto Scaling 정책은 최대 인스턴스 수가 100인 대기열의 메시지 수를 기반으로 합니다. 애플리케이션이 시작된 이후로 그룹이 50 이상으로 확장된 적이 없습니다. 이제 Auto Scaling 그룹이 대기열 크기인 100으로 확장되었습니다. 증가하고 있으며 완료되는 작업은 거의 없습니다. 대기열로 전송되는 메시지 수는 정상 수준입니다.

    대기열 크기가 비정상적으로 큰 이유를 식별하고 줄이려면 어떻게 해야 합니까?
    • Auto Scaling 그룹의 원하는 값을 일시적으로 200으로 늘립니다. Queue 크기가 줄어들면 50으로 줄입니다.
    • 애플리케이션 로그를 분석하여 메시지 처리 실패의 가능한 원인을 식별하고 실패 원인을 해결하십시오.
    • 추가 Auto Scaling 그룹을 생성하여 대기열 처리를 병렬로 수행할 수 있습니다.
    • Amazon SQS에 대한 CloudTrail 로그를 분석하여 인스턴스의 Amazon EC2 역할에 대기열에서 메시지를 수신할 수 있는 권한이 있는지 확인하십시오.
  13. 단일 로드 밸런서 뒤에 있는 단일 AZ의 마이크로 인스턴스 유형 모음에서 현재 실행 중인 웹 애플리케이션이 있습니다. 2개에서 64개 인스턴스로 확장하도록 구성된 Auto Scaling 그룹이 있습니다. CloudWatch 지표를 검토할 때 때때로 Auto Scaling 그룹이 64개의 마이크로 인스턴스를 실행하고 있음을 알 수 있습니다. 웹 애플리케이션은 DynamoDB가 구성한 백엔드를 읽고 쓰고 있으며 쓰기 용량 단위 800개와 읽기 용량 단위 800개로 구성되어 있습니다. 귀하의 고객은 귀하의 웹사이트를 볼 때 로드 시간이 오래 걸린다고 불평하고 있습니다. DynamoDB CloudWatch 지표를 조사했습니다. 프로비저닝된 읽기 및 쓰기 용량 단위 아래에 있고 제한이 없습니다.

    로드 시간을 개선하고 고가용성 원칙을 보장하기 위해 서비스를 어떻게 확장합니까?
    • 여러 AZ를 포함하도록 Auto Scaling 그룹 구성을 변경합니다.
    • 3개의 AZ에서 DynarnoDB를 호출해야 하므로 여러 AZ를 포함하도록 Auto Scaling 그룹 구성을 변경하고 DynamoDB 테이블의 읽기 용량 단위 수를 3배로 늘립니다.
    • 초당 더 많은 인바운드 연결을 지원할 수 있도록 Auto Scaling 그룹에 두 번째 로드 밸런서를 추가합니다.
    • 더 큰 인스턴스를 사용하고 하나가 아닌 여러 AZ를 포함하도록 Auto Scaling 그룹 구성을 변경합니다.
  14. 소셜 미디어 마케팅 애플리케이션에는 AWS Elastic Beanstalk에서 실행되는 Ruby로 작성된 구성 요소가 있습니다. 이 응용 프로그램 구성 요소는 다양한 마케팅 캠페인을 지원하기 위해 소셜 미디어 사이트에 메시지를 게시합니다. 이제 경영진은 이러한 소셜 미디어 메시지에 대한 응답을 기록하여 과거 및 미래의 노력과 비교하여 마케팅 캠페인의 효과를 분석하도록 요구합니다. 응답을 읽기 위해 소셜 미디어 사이트 API와 인터페이스할 새 애플리케이션 구성 요소를 이미 개발했습니다.

    기록 데이터 분석을 위해 언제든지 액세스할 수 있는 내구성 있는 데이터 저장소에 소셜 미디어 응답을 기록하려면 어떤 프로세스를 사용해야 합니까?
    • Amazon Elastic Compute Cloud(EC2) 인스턴스의 Auto Scaling 그룹에 새 애플리케이션 구성 요소를 배포하고, 소셜 미디어 사이트에서 데이터를 읽고, Amazon Elastic Block Store에 저장하고, AWS Data Pipeline을 사용하여 분석을 위해 Amazon Kinesis에 게시합니다.
    • 새 애플리케이션 구성 요소를 Elastic Beanstalk 애플리케이션으로 배포하고, 소셜 미디어 사이트에서 데이터를 읽고, Amazon DynamoDB에 저장하고, 분석을 위해 Amazon Elastic MapReduce와 함께 Apache Hive를 사용합니다.
    • Amazon EC2 인스턴스의 Auto Scaling 그룹에 새 애플리케이션 구성 요소를 배포하고, 소셜 미디어 사이트에서 데이터를 읽고, Amazon Glacier에 저장하고, AWS Data Pipeline을 사용하여 분석을 위해 Amazon Redshift에 게시합니다.
    • 새로운 애플리케이션 구성 요소를 Amazon Elastic Beanstalk 애플리케이션으로 배포하고, 소셜 미디어 사이트에서 데이터를 읽고, Amazon Elastic Block Store에 저장하고, Amazon Kinesis를 사용하여 분석을 위해 데이터를 Amazon CloudWatch로 스트리밍합니다.
  15. 조직 내 여러 개발 팀에서 웹 응용 프로그램을 적극적으로 개발하고 있습니다. AWS CloudFormation 및 AWS API로 구동되는 셀프 서비스 포털을 생성하여 테스터가 테스트하려는 새 기능이 포함된 코드 브랜치를 선택할 수 있습니다. 그런 다음 포털은 환경을 프로비저닝하고 올바른 코드 분기를 배포합니다. 최근에 많은 환경에 손상된 빌드가 포함되어 있음을 알게 되었습니다. 테스터가 환경을 사용할 수 있기 전에 새 환경에서 실행되는 일련의 자동화된 브라우저 테스트를 도입하려고 합니다. 이렇게 하면 테스터가 손상된 환경에서 새로운 기능을 테스트하는 데 시간을 낭비하지 않습니다.

    이러한 기능을 기존 셀프 서비스 포털에 구현하는 데 적합한 방법을 선택하십시오.
    • AWS CloudFormation 템플릿의 "tests" 섹션에서 자동화된 테스트를 지정합니다. 그러면 AWS CloudFormation이 환경 빌드의 일부로 사용자 대신 테스트를 실행합니다.
    • 자동화된 브라우저 테스트 프레임워크를 호스팅하는 중앙 집중식 테스트 서버를 구성합니다. AWS CloudFormation 사용자 지정 리소스를 사용하여 Amazon SNS 주제를 통해 중앙 집중식 테스트 서버에 새 환경이 초기화되었음을 알립니다. 중앙 집중식 테스트 서버는 결과를 다시 AWS CloudFormation 서비스로 보내기 전에 테스트를 실행할 수 있습니다.
    • AWS::CloudFormation::Init 메타데이터의 "tests" 섹션을 통해 cfn-init 서비스에 테스트 스크립트를 전달합니다. 그러면 Cfn-init가 이러한 테스트를 실행하고 결과를 AWS CloudFormation 서비스에 반환합니다.
    • 자동화된 브라우저 테스트 프레임워크를 호스팅하는 중앙 집중식 테스트 서버를 구성합니다. AWS CloudFormation 템플릿의 outputs 섹션 아래에 Amazon SES 이메일 리소스를 포함합니다. 이를 통해 중앙 집중식 테스트 서버에 이메일을 보내 환경이 테스트 준비가 되었음을 알립니다.
  16. 서버 측 Node.Js 애플리케이션과 Angular.js 프레임워크를 사용하는 HTML/JavaScript 프런트 엔드가 있는 웹 애플리케이션을 작성했습니다. 서버 측 애플리케이션은 Amazon Redshift 클러스터에 연결하고 쿼리를 발행한 다음 표시를 위해 프런트 엔드에 결과를 반환합니다. 사용자 기반이 매우 크고 분산되어 있지만 이 애플리케이션을 실행하는 비용을 낮게 유지하는 것이 중요합니다.

    기술적으로 유효하고 가장 비용 효율적인 배포 전략은 무엇입니까?
    • Node.js 애플리케이션용 환경과 웹 프런트 엔드용 환경의 두 가지 환경으로 AWS Elastic Beanstalk 애플리케이션을 배포합니다. Amazon Redshift 클러스터를 시작하고 애플리케이션이 JDBC(Java Database Connectivity) 엔드포인트를 가리키도록 합니다.
    • 프런트 엔드용 정적 웹 서버 계층, 서버 측 애플리케이션용 Node.js 앱 서버 계층, Amazon Redshift duster용 Redshift DB 계층의 세 가지 계층으로 AWS OpsWorks 스택을 배포합니다.
    • 프런트 엔드용 HTML, CSS, 이미지 및 JavaScript를 Amazon Simple Storage Service(S3) 버킷에 업로드합니다. 이 버킷을 오리진으로 사용하여 Amazon CloudFront 배포를 생성합니다. AWS Elastic Beanstalk를 사용하여 Node.js 애플리케이션을 배포합니다. Amazon Redshift 클러스터를 시작하고 애플리케이션이 JDBC 엔드포인트를 가리키도록 합니다.
    • 프런트 엔드용 HTML, CSS, 이미지 및 JavaScript와 서버 측 애플리케이션용 Node.js 코드를 Amazon S3 버킷에 업로드합니다. 이 버킷을 오리진으로 사용하여 CloudFront 배포를 생성합니다. Amazon Redshift 클러스터를 시작하고 애플리케이션이 JDBC 엔드포인트를 가리키도록 합니다.
    • 프런트 엔드용 HTML, CSS, 이미지 및 JavaScript를 Amazon S3 버킷에 업로드합니다. AWS Elastic Beanstalk를 사용하여 Node.js 애플리케이션을 배포합니다. Amazon Redshift 클러스터를 시작하고 애플리케이션이 JDBC 엔드포인트를 가리키도록 합니다.
  17. 다중 계층 웹 애플리케이션을 위한 AWS CloudFormation 템플릿을 구축하고 있습니다. Linux 웹 서버 리소스의 사용자 데이터에는 실행하는 데 시간이 오래 걸릴 수 있는 복잡한 스크립트가 포함되어 있습니다. 이러한 서버를 로드 밸런서에 연결하기 전에 서버가 완전히 구성되고 실행되는지 확인하기 위해 사용할 수 있는 기술은 무엇입니까? (두 가지를 선택하세요.)
    • AWS CloudFormation 템플릿의 로드 밸런서 리소스 내에서 호출되는 중첩 스택에서 Linux 서버를 시작합니다.
    • 웹 서버 리소스에 의존하는 AWS CloudFormation 대기 조건을 추가합니다. UserData 스크립트가 웹 서버에서 완료되면 curl을 사용하여 http://169.254.169.254/waithandle/에서 대기 조건 신호를 보냅니다.
    • 웹 서버 리소스에 의존하는 AWS CloudFormation 대기 조건을 추가합니다. UserData 스크립트가 웹 서버에서 완료되면 curl을 사용하여 대기 조건 미리 서명된 URL에 준비되었음을 알립니다.
    • AWS CloudFormation 템플릿에서 로드 밸런서 리소스 JSON 블록을 Linux 서버 리소스 바로 아래에 배치합니다.
    • 웹 서버 리소스에 의존하는 AWS CloudFormation 대기 조건을 추가합니다. UserData 스크립트가 웹 서버에서 완료되면 "cfn-signal" 명령을 사용하여 준비되었음을 알립니다.
  18. 고객은 최근 귀하의 웹 애플리케이션이 무작위로 응답을 중지했다고 불평했습니다. 로그를 심층 분석하는 동안 팀은 새 Java 웹 애플리케이션에서 주요 버그를 발견했습니다. 이 버그로 인해 메모리 누수가 발생하여 결국 애플리케이션이 충돌합니다. 웹 애플리케이션은 Amazon EC2에서 실행되며 AWS CloudFormation으로 구축되었습니다. 이러한 문제를 더 빨리 감지하고 서버의 무응답을 제거하는 데 도움이 되는 기술은 무엇입니까? (두 가지를 선택하세요.)
    • AWS CloudFormation 구성을 업데이트하고 cfnsignal을 사용하여 메모리 누수를 감지하는 CustomResource를 활성화합니다.
    • 5초 단위를 지원하도록 모든 Amazon EC2 메모리 지표에 대한 CloudWatch 지표 단위 구성을 업데이트합니다. 애플리케이션 메모리가 너무 커지면 팀을 호출하기 위해 Amazon SNS 알림을 트리거하는 CloudWatch 경보를 생성합니다.
    • Auto Scaling 그룹을 활용하려면 AWS CloudFormation 구성을 업데이트하십시오. 사용자 지정 CloudWatch 지표를 트리거하도록 Auto Scaling 그룹 정책을 구성합니다.
    • JVM 메모리 사용량을 푸시하는 사용자 지정 CloudWatch 지표를 생성합니다. 애플리케이션 메모리 사용량이 너무 커지면 팀을 호출하기 위해 Amazon SNS 알림을 트리거하는 Cloudwatch 경보를 생성합니다.
    • CloudWatch 지표 에이전트를 활용하려면 AWS CloudFormation 구성을 업데이트하십시오. 메모리 사용량을 모니터링하고 Amazon SNS 경보를 트리거하도록 CloudWatch Metrics Agent를 구성합니다.
  19. Amazon Elastic Beanstalk에서 실행 중인 ASP.NET 웹 애플리케이션이 있습니다. 애플리케이션의 다음 버전을 사용하려면 처음 부팅할 때와 애플리케이션이 시작되기 전에 인스턴스에 타사 Windows Installer 패키지를 설치해야 합니다.

    어떤 옵션이 가능합니까? (두 가지를 선택하세요.)
    • 응용 프로그램의 Global.asax 파일에서 msiexec.exe를 실행하여 응용 프로그램 시작 이벤트 처리기에서 Process.Start()를 사용하여 패키지를 설치합니다.
    • 소스 번들의 .ebextensions 폴더에서 확장자가 .config인 파일을 생성합니다. 파일에서 "패키지" 섹션 및 "msi" 패키지 관리자 아래에 패키지의 URL을 포함합니다.
    • 환경에서 사용하는 AMI에서 새 Amazon EC2 인스턴스를 시작합니다. 인스턴스에 로그인하고 패키지를 설치한 후 sysprep을 실행합니다. 새 AMI를 생성합니다. 새 AMI를 사용하도록 환경을 구성합니다.
    • 환경 구성에서 인스턴스 구성을 편집하고 패키지의 URL을 "패키지" 섹션에 추가합니다.
    • 소스 번들의 .ebextensions 폴더에서 "Packages" 폴더를 생성합니다. 패키지를 폴더에 넣습니다.
  20. AWS Auto Scaling의 경우 상태 확인 실패 또는 부하 감소로 인해 인스턴스가 축소될 때 안정 상태를 벗어난 후 인스턴스가 들어가는 첫 번째 전환 상태는 무엇입니까?
    • 종료
    • 분리
    • 종료 중:대기
    • 대기 중
    설명:

    Auto Scaling이 축소 이벤트에 응답하면 하나 이상의 인스턴스를 종료합니다. 이러한 인스턴스는 Auto Scaling 그룹에서 분리되고 Terminating 상태가 됩니다.

 

 

 

반응형
Comments