공부하기싫어
article thumbnail

#AWS Certified Developer Associate

 

49%correct(32/65)

정확히 반 이상 틀렸다오랜만에 보는 서비스들이 많아서 풀때부터 틀렸다 싶은게 많았다하나씩 천천히 살펴보자

 

 

 

 

Question 5: Incorrect

어느 개발자가 CloudFormation 템플릿을 사용해 리소스를 구성하려고 합니다. 리소스는 코드로 정의하고, 특정 조건에 따라 프로비저닝하려고 합니다. 다음 CloudFormation 템플릿 섹션 중 이러한 구성과 관계가 없는 것은?
  • 리소스
    (Incorrect)
  • 매개변수
    (Correct)
  • 조건
  • 출력(Outputs)
특정 조건이라고 나와있었기때문에 출력과 조건은 무조건 들어갈꺼고 리소스와 매개변수중에서 고민했었다.

매개변수가 필요할때는 코드의 재사용이 필요할때 매개변수가 사용된다는 점

 
 
 
 
Question 6: Incorrect
Amazon EC2, Amazon VPC, Amazon S3 리소스와 같은 AWS 인프라 프로비저닝을 위해 AWS CloudFormation 템플릿을 사용하는 어느 IT회사가 있습니다. 개발자가 교차 스택 참조를 사용해 NetworkStack 이라는 스택을 생성하고, 이 스택은 EC2 인스턴스를 다른 스택에 생성할 때 사용되는 서브넷 ID를 내보냅니다. 내보낸 값을 다른 스택에서 사용하려면, 다음 중 어떤 함수를 사용해야 합니까?
  • !GetAtt
  • !Ref
    (Incorrect)
  • !ImportValue
    (Correct)
  • !Sub
내보낸 값을 다른 스택에서 사용하려면 !ImportValue 라는 함수를 사용해야 한다고 한다
!Ref 는 지정된 파라미터 또는 리소스에 대한 정보를 반환한다고 한다
!GetAtt 는 탬플릿의 리소스에서 속성 값을 반환한다고 함

 

 
 

Question 7: Incorrect

어느 전자상거래 회사의 EC2 기반 웹 서버 플릿이 과도한 CPU 사용률 문제를 겪고 있습니다. 이에 관해, 개발자 팀은 HTTPS를 통과하는 보안 트래픽을 주요 원인으로 꼽았습니다. 다음 중 웹 서버의 CPU 부하를 낮추기 위한 적절한 단계는? (두 개 고르세요)
  •  
  • 애플리케이션 로드 밸런서에 SSL 종료를 사용하는 HTTP 리스너 생성
    (Correct)
  • 애플리케이션 로드 밸런서에 SSL 패스스루를 사용하는 HTTP 리스너 생성
  • 애플리케이션 로드 밸런서에 SSL 종료를 사용하는 HTTPS 리스너 생성
  • 애플리케이션 로드 밸런서에 SSL 패스스루를 사용하는 HTTPS 리스너 생성
    (Incorrect)
  • 애플리케이션 로드 밸런서에 AWS Certificate Manager (ACM)를 통해 SSL/TLS 서버 인증서 구성
    (Correct)
 
일단 ALB 는 layer 7 전용 로드밸런서라고 함 - HTTP
ACM 을 통해 ssl/tls 인증 서버를 만들면 SSL 프로토콜 암복호화는 acm 에서 진행하니까 로드벨런서에 SSL 종료(Termaination) 을 사용하는 http 리스너를 생성하면 된다.

솔직히 잘 모르겠음

 

 

 
 
 

Question 8: Incorrect

전자 상거래 회사의 개발팀이 공유 메모리를 사용하는 두 개의 도커 컨테이너에서 서버리스 데이터 저장 서비스를 구현하려고 합니다. 다음 중 어떤 ECS 구성으로 이 사용 사례를 구현할 수 있습니까?2
  • Fargate 시작 유형을 사용해 단일 태스크 정의에 두 개의 컨테이너를 넣기
    (Correct)
  • EC2 시작 유형을 사용해 두 개의 개별 태스크 정의에 두 개의 컨테이너를 넣기
  • EC2 시작 유형을 사용해 단일 태스크 정의에 두 개의 컨테이너를 넣기
    (Incorrect)
  • Fargate 시작 유형을 사용해 두 개의 각 태스크 정의에 컨테이너 두 개 넣기
내가 선택한 지문이나 정답이나 큰 차이가 없어보이지만 문제에서 '서버리스 데이터 저장 서비스' 라고 했으니까  1번이 맞는것 같다
 

 

 

 

Question 10: Incorrect

어느 소매업체가 Elastic Beanstalk를 통해 AWS Cloud에서 IT 인프라를 관리하고 있습니다. 이 회사의 개발팀은 애플리케이션 다운타임을 최소화하고 배포가 잘못될 경우 신속하게 복구할 수 있는 기능을 갖춘 다음 버전을 배포할 계획입니다. 어소시에이트 개발자로서, 다음 중 개발팀에 추천할 수 있는 옵션은?
  • '추가 배치를 사용한 롤링(Rolling with additional batch)' 배포 정책을 사용하여 새 애플리케이션 버전 배포
    (Incorrect)
  • '한 번에 모두(All at once)' 배포 정책을 사용하여 새 애플리케이션 버전 배포
  • '롤링(Rolling)' 배포 정책을 사용하여 새 애플리케이션 버전 배포
  • 블루/그린 배포를 통해 새 버전을 별도의 환경에 배포한 다음 두 환경의 Route 53 레코드를 교환하여 트래픽을 새 버전으로 리디렉션합니다.
    (Correct)
문제를 꼼꼼히 읽어봐야 할 듯 하다
다운타임 최소화니까 올엣 원스는 제외하고 복구할 수 있는 기능을 갖춘 '다음' 버전을 배포 한다고 하였으니까  'manual redeploy' 인 롤백들을 제외해야 할것이다.
 
 
 

Question 12: Incorrect

어느 사진 공유 애플리케이션이, 애플리케이션 로드 밸런서의 백그라운드에서 실행되는 EC2 서버 플릿을 관리하고, 트래픽은 CloudFront 배포를 통해 전달됩니다. 해당 개발자 팀은 애플리케이션 서버가 비즈니스 논리에 집중할 수 있도록 사용자 인증 프로세스를 분리하려고 합니다. 어소시에이트 개발자로서, 이런 사용 사례에서 다음 중 어떤 솔루션을 추천하시겠습니까?
  • 애플리케이션 로드 밸런서에 Cognito 사용자 풀을 통해 Cognito 인증 사용하기
    (Correct)
  • 애플리케이션 로드 밸런서에 Cognito 자격 증명 풀을 통해 Cognito 인증 사용하기
  • CloudFront 분산에 Cognito 사용자 풀을 통해 Cognito 인증 사용하기
    (Incorrect)
  • CloudFront 분산에 Cognito 자격 증명 풀을 통해 Cognito 인증 사용하기
이건 찾아봐도 모르겠어서 chatGPT4 에게 물어봤다
 
chatGPT: AWS Certificate Developer Associate 시험에서는 애플리케이션 로드 밸런서(ALB)와 Cognito 사용자 풀(Cognito user pool)을 함께 사용하여 사용자 인증 프로세스를 분리하는 것이 권장됩니다. CloudFront 분산에 Cognito 사용자 풀을 사용하는 것도 가능하지만, 이 경우에는 추가 구성이 필요하며, 보안성이 낮아질 수 있습니다.
라고 한다.
권장사항이고 cloudfront 에 통합하려면 추가 구성을 해야하고 무엇보다 보안성 문제가 있구
 
 

 

Question 15: Incorrect

여러분이 AWS CodeBuild로 프로젝트를 빌드하기 위해 AWS CLI를 사용해야 하는 프로젝트에 배정되었습니다. 프로젝트 루트 디렉터리에는 빌드 명령을 실행할 buildspec.yml 파일이 포함되어 있으며 빌드 아티팩트가 마지막에 자동으로 암호화되도록 하려고 합니다. 이를 위해 CodeBuild를 구성하는 방법은 무엇인가요?
  • AWS Lambda 후크 사용
  • 전송 중 암호화(SSL) 사용
    (Incorrect)
  • AWS Encryption SDK 사용
  • 사용할 KMS 키 지정
    (Correct)

aws codebuild 의 artifact 로 가보면 암호화쪽에 kms cmk 를 제공한다고 한다

기본값으로는 관리형 키를 사용한다고 한다

 
 
 
Question 18: Incorrect
여러분은 Amazon EC2 인스턴스에 애플리케이션 배포를 자동화하는 배포 서비스를 다루는 개발자입니다. 대부분의 배포는 코드로 구성되지만 웹 및 구성 파일로 구성되기도 합니다. 배포 중 하나가 실패하여 AWS CodeDeploy가 마지막으로 성공한 애플리케이션 버전으로 복구했습니다. 다음의 인스턴스 가운데, 복구 중에 AWS CodeDeploy가 처음으로 배포하는 대상으로 알맞은 것은?
  • 실패한 인스턴스
    (Correct)
  • 새로운 인스턴스
  • CodeDeploy 배포는 복구가 불가능합니다
    (Incorrect)
  • 실패하지 않은 인스턴스

이건 문제의 뜻을 진짜 모르겟네

복구 작업이 실행될때 어디서 맨 처음 작업하냐 이건가??

 

 

롤백 및 재배포 워크플로

자동 롤백이 시작되거나 재배포 또는 수동 롤백을 수동으로 시작할 때 CodeDeploy는 먼저 각 참여 인스턴스에서 마지막으로 성공적으로 설치된 모든 파일을 제거하려고 시도합니다. CodeDeploy는 정리 파일을 확인하여 이 작업을 수행합니다.

 

 

비슷한 문제 나와도 못맞추겠다 이건

 

 

 

 

Question 20: Incorrect

여러분은 항공 우주 회사의 DynamoDB 개발자이며 4.5KB 용량의 객체를 초당 6개씩 작성해야 합니다. 프로젝트에 필요한 쓰기 용량 단위는?
  • 24
    (Incorrect)
  • 46
  • 30
    (Correct)
  • 15
 

DynamoDB - Write Capacity Unit (WCU)

쓰기 용량 유닛(WCU) 는 '최대 1KB 항목에 대해 초당 1개의 쓰기'를 의미함

항목이 1KB 보다 클 경우 더 많은 WCU 를 사용하게 됨

 

예시)

초당 항목 10개를 쓰고 항목의 크기는 평균 2KB 이다. 이때 WCU 의 값은?

- 20 WCUs

초당 6개 항목을 쓰고 항목의 크기는 4.5KB 이다. 이때 WCU 의 값은?

- 30 WCUs

분당 120 개의 항목을 쓰고 항목의 크기는 2KB 이다. 이때 WCU 의 값은?

- 4 WCUs

 

DynamoDB - Read Capacity Units (RCU)

읽기 용량 유닛 - 크기가 최대 4KB 인 항목마다 초당 '강력한 일관된 읽기 1개' 또는 '최종적 읽기 2개' 를 의미함

만약 항목이 4KB 보다 크다면 더 많은 RCU 가 소비됨

 

예시)

초당 강력한 일관된 읽기 10개가 있고 항목 크기가 4KB 이다. 이때 RCU 값은?

- 10 RCUs

초당 최종적 일관된 읽기가 16개 이고, 항목 크기가 12KB 이다. 이때 RCU 값은?

- 24 RCUs

초당 강력한 일관된 읽기가 10개 이고, 항목의 크기가 6KB 이다. 이때 RCU 값은?

- 20 RCUs

 
 
 

Question 21: Incorrect

한 소셜 미디어 회사의 개발팀이 AWS 클라우드상의 서버리스 스택에 AWS Lambda를 사용합니다. 새로운 배포를 위해, 팀장은 트래픽의 특정 부분만 새로운 Lambda 버전으로 전송하려고 합니다. 또한 배포에 문제가 생기면, 애플리케이션에서 최소한의 다운타임으로 이전 버전의 Lambda 함수로 복구할 수 있는 기능도 지원해야 합니다. 어소시에트 개발자로서, 다음 중 이 사용 사례 해결을 위해 권장할 만한 옵션은?
  • 새 Lambda 버전을 직접 배포하도록 애플리케이션을 설정합니다. 배포에 문제가 생기면, ARN 버전 번호를 사용해 애플리케이션을 현재 버전으로 재설정합니다.
  • 현재 버전을 가리키는 별칭을 사용하도록 애플리케이션을 설정합니다. 코드의 새로운 버전을 배포하고 모든 사용자를 이 새 버전으로 보내도록 별칭을 구성합니다. 배포가 잘못되면 현재 버전을 가리키도록 별칭을 재설정합니다.
  • 현재 버전을 가리키는 별칭을 사용하도록 애플리케이션을 설정합니다. 코드의 새로운 버전을 배포하고 사용자의 10%를 이 새 버전으로 보내도록 별칭을 구성합니다. 배포가 잘못되면 별칭을 재설정하여 모든 트래픽을 현재 버전으로 가리키도록 합니다.
    (Correct)
  • 애플리케이션이 Lambda 함수의 여러 별칭을 가지도록 설정합니다. 코드의 새 버전을 배포합니다. 트래픽의 10%를 처리하기 위해 Lambda 함수의 현재 별칭을 가리키는 새 별칭을 구성합니다. 배포가 잘못되면 새 별칭을 재설정하여 모든 트래픽이 Lambda 함수의 최근 정상 작동한 별칭을 가리키도록 합니다.
    (Incorrect)
 

아마 이거 틀린거는

정상 작동한 별칭 이 아니라

특정 버전을 가리키도록 하는게

답이 아닐까

정상 작동한지 아닌지는 별칭에서 알 수 없으니까?

ㅇㅇ

 

 

 

 

 

Question 27: Incorrect

여러분은 웹 및 모바일 애플리케이션을 구축하는 기술 스타트업에 근무하고 있습니다. 최신 애플리케이션 버전에 대한 로컬 테스트를 시작할 수 있도록 ECR 저장소인 demo에서 Docker 이미지를 풀(pull)하려고 합니다. ECR에서 기존 Docker 이미지를 풀(pull)하려면 다음 중 어떤 명령을 실행해야 합니까? (두 개 고르세요)
  • docker pull 1234567890.dkr.ecr.eu-west-1.amazonaws.com/demo:latest
    (Correct)
  • docker login -u $AWS_ACCESS_KEY_ID -p $AWS_SECRET_ACCESS_KEY
  • aws docker push 1234567890.dkr.ecr.eu-west-1.amazonaws.com/demo:latest
  • $(aws ecr get-login --no-include-email)
    (Correct)
  • docker build -t 1234567890.dkr.ecr.eu-west-1.amazonaws.com/demo:latest
    (Incorrect)
$() 명령 레퍼런스를 사용하면 자동으로 명령을 실행할 수 있고 ECR 레제스트리에 로그인 한 후 docker cli 를 사용해서 토큰이 만료될때까지 해당 레지스트리에서 이미지를 푸시하고 가져올 수 있다고 함
대체 2번지문하고 뭐가 다른지 모르겠음
프라이빗 저장소라고하지도않았으면서 ㅅㅂ

 

 
 
 
 
 

Question 29: Incorrect

ECS 인스턴스를 작업하는 주니어 개발자가 팀장의 지시에 따라 Amazon Elastic Container Service(Amazon ECS)의 컨테이너 인스턴스를 종료했습니다. 그러나 컨테이너 인스턴스가 ECS 클러스터에 리소스로 계속 나타납니다. 어소시에이트 개발자로서, 다음 중 이를 고치기 위한 솔루션으로 적절하다고 생각되는 것은?
  • 정지(STOPPED) 상태일 때, 컨테이너 인스턴스를 종료하면 이런 동기화 문제가 발생함
    (Correct)
  • 실행 중(RUNNING) 상태일 때, 컨테이너 인스턴스를 종료하면 이런 동기화 문제가 발생함
  • 컨테이너 인스턴스의 커스텀 소프트웨어에 문제가 생겨서 다시 시작할 때까지 컨테이너가 비정상 상태로 중단됨
  • 컨테이너 인스턴스가 AWS CLI로 종료되었지만, ECS 인스턴스의 경우 동기화 문제가 없어지려면 Amazon ECS CLI로 종료해야 합니다.
    (Incorrect)

이건 그냥

ECS 클러스터에 등록된 인스턴스를 종료할때 인스턴스가 정지 상태일때 컨테이너 인스턴스를 종료하게되면 이런 동기화 문제가 발생한다고 알려주는 문제임 ㅇㅋ

 

 

 

 

Question 30: Incorrect

어느 대기업은 정적 데이터 자산을 Amazon S3 버킷에 저장합니다. 회사의 각 서비스 라인은 개별 AWS 계정을 가지고 있습니다. 사업 목적으로, 재무 부서는 자신들의 S3 버킷의 데이터에 대한 액세스 권한을 인사 부서에도 주려고 합니다. 다음 중 S3 버킷 객체의 계정 간 액세스에 적합하지 않은 옵션은?
  • S3 버킷 객체 프로그래밍 방식 전용 액세스에 리소스 기반 정책 및 AWS IAM(자격 증명 및 액세스 관리) 정책 사용
  • S3 버킷 객체 프로그래밍 및 콘솔 액세스를 위해 교차 계정 IAM 역할 사용
  • IAM 역할 및 리소스 기반 정책 사용-프로그래밍 전용 액세스를 통한 서로 다른 파티션 내 계정 간 액세스 위임
    (Correct)
  • S3 버킷 객체 프로그래밍 전용 액세스에 ACL(액세스 제어 목록) 및 IAM 정책 사용
    (Incorrect)
일단 '않은' 옵션이였구요
내가 고른건 제일 맞는 옵션이였던것 같고
뭐 일단 설명을 읽긴 했는데 이해는 안가지만
서로 다른 계정이 aws s3 리소스 기반 정책을 사용해서 s3 에 액세스 할 수 없나보다
다른 옵션에는 다 객체 프로그래밍 방식이 들어있다

 

 

 

Question 34: Incorrect

어느 소매업체의 개발팀은 AWS 계정 A의 Lambda 함수가 다른 AWS 계정 B의 DynamoDB 테이블에 액세스할 수 있도록 허용하려고 합니다. 어소시에이트 개발자로서, 이런 사용 사례에서 다음 중 어떤 솔루션을 추천하시겠습니까?
  • 계정 B에 DynamoDB 액세스 권한이 있는 IAM 역할을 생성합니다. 계정 A에서 실행 역할의 신뢰 정책을 수정하여 Lambda 실행 역할이 계정 B에서 IAM 역할을 맡도록 합니다. Lambda 함수 코드를 업데이트해서 AssumeRole API 호출을 추가합니다.
    (Incorrect)
  • AWS 계정 B의 DynamoDB 테이블에 리소스 정책을 추가하여 계정 A의 Lambda 함수에 액세스할 수 있도록 합니다.
  • 동일한 계정 내 DynamoDB 테이블에 액세스할 수 있도록 AWS 계정 B에 Lambda 함수 복제본을 생성합니다.
  • 계정 B에 DynamoDB 액세스 권한이 있는 IAM 역할을 생성합니다. 계정 B의 역할 신뢰 정책을 수정하여 Lambda의 실행 역할이 이 역할을 맡을 수 있도록 합니다. Lambda 함수 코드를 업데이트해서 AssumeRole API 호출을 추가합니다
    (Correct)
 

https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html

 

AssumeRole - AWS Security Token Service

AssumeRole Returns a set of temporary security credentials that you can use to access AWS resources. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or fo

docs.aws.amazon.com

assumerole api 를 몰라서 틀렸다

임시 보안 자격 증명 세트를 반환하는 api 이다.

일반적으로 계정 내 또는 교차 계정 액세스에 사용된다.

즉 b 에서 생성해서 a에서 코드로 불러올수 있다는 것

 

 

 

Question 35: Incorrect

여러분은 수백만 개의 연결이 필요한 고성능 애플리케이션을 설계하고 있습니다. 애플리케이션에는 Apache2 웹 서버를 실행하는 EC2 인스턴스가 여러 개 있고, X-Forwarded-For를 사용하지 않고 사용자 소스 IP 주소와 소스 포트를 캡처하고 싶습니다. 다음 중 어떤 옵션으로 위의 애플리케이션을 구현할 수 있을까요?
  • 엘라스틱 로드 밸런서(Elastic Load Balancer)
    (Incorrect)
  • 네트워크 로드 밸런서(Network Load Balancer)
    (Correct)
  • 애플리케이션 로드 밸런서(Application Load Balancer)
  • 클래식 로드 밸런서(Classic Load Balancer)
이건 그냥 ELB 종류 한번 쓱 읽어 보자구 라고 할라했는데 X-Forwarded-For 는
HTTP 헤더니까 layer 7 수준인데 그러지 않고 소스ip 나 소스 포트라고 했으니까
더 낮은 osi 레벨의 로드밸런서고 그러니까 답은 nlb 다
 

 

 
 

 

Question 40: Incorrect

어느 고객이 프로젝트 자문을 위해 여러분을 AWS 어소시에이트 공식 개발자로 고용했습니다. 고객은 Amazon SQS 표준 대기열과 SWF(Amazon Simple Workflow Service) 옵션 중에 하나를 선택하려고 합니다. 다음 중 두 서비스에 대해 올바른 설명은? (두 개 고르세요)
  • SQS는 작업 지향 API를, SWF는 메시지 지향 API를 가지고 있다
  • SWF는 SQS가 메시지를 여러 번 전송하는 동안 태스크가 한 번만 할당되도록 보장합니다
    (Correct)
  • SWF는 작업 지향 API를, SQS는 메시지 지향 API를 가지고 있다
    (Correct)
  • SQS는 SWF가 메시지를 여러 번 전송하는 동안 태스크가 한 번만 할당되도록 보장합니다
  • SWF는 동기식 프로그래밍 옵션을 제공하는 반면 SQS는 비동기식 기능을 제공합니다
    (Incorrect)
 

SWF 가 뭔데?

그냥 한번 슥 읽어봄

https://aws.amazon.com/ko/swf/

 

AWS | Amazon Simple Workflow Service – 클라우드 워크플로 관리

Amazon SWF는 백그라운드 작업의 단계별 로직에 대한 제어 흐름과 고유의 비즈니스 로직이 포함된 실제 작업 단위 간 분리를 촉진합니다. 이렇게 하면 차별화에 사용되는 핵심 비즈니스 로직에서

aws.amazon.com

 

 

 

 

Question 43: Incorrect

어느 회사가 시민들이 지역사회에서 교통수단 탑승을 예약할 수 있는 앱 기반의 서비스를 개발했습니다. 이 플랫폼은 AWS EC2 인스턴스에서 실행되며 전송 데이터를 저장하기 위해 Amazon RDS(관계형 데이터베이스 서비스)를 사용합니다. Amazon Simple Storage Service(S3)에서 검색한 PDF 첨부파일로 고객 이메일로 영수증을 보내는 새로운 기능을 추가하고 싶습니다. 다음 중 EC2 인스턴스에 Amazon S3에 파일을 업로드하고 S3 서명 URL을 생성할 수 있는 올바른 권한을 제공하는 옵션은?
  • EC2 사용자 데이터
  • EC2에 IAM 역할 생성
    (Correct)
  • EC2 인스턴스에 aws configure 실행
    (Incorrect)
  • CloudFormation
뭐 그렇다고 하네

유효한 보안 자격 증명을 가진 사용자는 누구나 미리 서명된 URL을 만들 수 있습니다. 단, 미리 서명된 URL에서 제공하려는 작업을 수행할 권한이 있는 사용자가 생성해야 이 URL을 통해 성공적으로 객체를 업로드할 수 있습니다. 자세한 내용은 미리 서명된 URL을 생성할 수 있는 사용자 섹션을 참조하세요.

중요한 점은 s3 서명 url 을 생성할 수 있는 권한 제공옵션인데 이걸 빠트렸다
 
 

 

Question 44: Incorrect

ALB의 백그라운드에서 실행되는 사이버 포렌식(forensic) 애플리케이션이 클라이언트 IP에 패턴을 분석하려고 합니다. 다음 중 이 요구 사항에 적절한 헤더는?
  • X-Forwarded-For
    (Correct)
  • X-Forwarded-IP
    (Incorrect)
  • X-Forwarded-Port
  • X-Forwarded-Proto
 

XFF 는 HTTP Header 중 하나로 HTTP Server 에 요청한 Client 의 IP 를 식별하기 위한 표준입니다.

ip 라는 명령어는 햇갈리라고 넣어놓은것 같고

port 는 포트번호 proto 는 프로토콜을 식별하기 위한 표준인듯 하다

 

 

 

 

Question 45: Incorrect

OLTP(온라인 트랜잭션 처리) 워크로드를 가진 조직이 기존 데이터베이스 시스템에 많은 문제가 발생한 후 DynamoDB로 성공적으로 전환했습니다. 그러나 프로덕션 몇 달 후 DynamoDB 테이블은 지속적으로 높은 지연 시간을 기록하고 있습니다. 어소시에이트 개발자로서 지연 시간을 줄이기 위해 제안할 것을 고르세요. (두 개 고르세요)
  • 전역적으로 분산된 사용자가 애플리케이션에 액세스하는 경우 글로벌(Global) 테이블 사용
    (Correct)
  • 쓰기 전용 워크로드가 많은 기업에 DAX(DynamoDB Accelerator) 사용
    (Incorrect)
  • 가능한 경우 Strongly Consistent Read 대신 Eventually Consistent Read 사용
    (Correct)
  • 사용자 요청이 없는 경우에도 연결을 유지하여 연결 풀링(pooling) 감소, 결과적으로 서비스 차단
  • 요청 시간 초과 설정을 늘려서, 클라이언트가 요청을 완료할 수 있는 충분한 시간을 확보하고 시스템상의 재시도 횟수를 줄입니다
이건 다 맞는거 아님?
개뿔이 맞고 RCU issue 가 DAX 사용이지 쓰기는 아닌가봄 ㅋㅋ
 
 
 
 
 

 

Question 46: Incorrect

오토 스케일링 그룹의 최대 용량은 3입니다. 현재 용량은 2이며 인스턴스 3개를 추가하는 스케일링 정책이 있습니다. 이 스케일링 정책을 실행할 때 예상되는 결과는?
  • Amazon EC2 오토 스케일링은 그룹에 3개의 인스턴스를 추가하고 그중 2개의 인스턴스를 스케일 다운합니다.
    (Incorrect)
  • Amazon EC2 오토 스케일링은 그룹에 인스턴스를 추가하지 않고, 인스턴스를 추가하는 스케일링 정책의 변화를 제안합니다.
  • Amazon EC2 오토 스케일링이 그룹에 인스턴스를 3개 추가합니다.
  • Amazon EC2 오토 스케일링이 그룹에 인스턴스를 한 개만 추가합니다.
    (Correct)
 

오토스케일링 될때 최대용량을 먼저 고려한 다음 추가가 되나봄 ㅇㅇ

 

 

 

 

 

Question 47: Incorrect

어떤 웹 애플리케이션 프런트 엔드는 애플리케이션 로드 밸런서 뒤에 있는 5개의 EC2 인스턴스로 구성됩니다. 이 웹 애플리케이션은 생성된 요청의 클라이언트의 IP 주소를 캡처하도록 구성됐습니다. 이후 캡처된 데이터를 확인하니, 캡처된 모든 IP 주소가 동일하며 애플리케이션 로드 밸런서의 IP 주소라는 것을 식별했습니다. 클라이언트의 실제 IP 주소를 식별하는 방법은?
  • 백엔드에서 X-Forwarded-For 헤더를 살펴봅니다
    (Correct)
  • 사용자가 요청에서 IP를 보내도록 웹 사이트의 프런트 엔드를 수정합니다
  • 백엔드에서 X-Forwarded-Proto 헤더를 살펴봅니다
  • 클라이언트의 쿠키를 살펴봅니다
    (Incorrect)
  • HTTP/HTTPS 리스너가 있는 Application Load Balancer 및 Classic Load Balancer의 경우 X-Forwarded-For HTTP 헤더에 클라이언트 IP 주소가 캡처됩니다. 이 IP 주소를 기록하도록 웹 서버 액세스 로그를 구성할 수 있습니다.
  • TCP/SSL 리스너가 있는 Classic Load Balancer의 경우 대상 애플리케이션과 Classic Load Balancer에서 프록시 프로토콜 지원을 활성화합니다. 로드 밸런서와 애플리케이션 모두에서 프록시 프로토콜 지원을 구성해야 합니다.
  • Network Load Balancer의 경우 인스턴스 ID별로 대상을 등록하여 웹 서버를 추가로 구성하지 않고 클라이언트 IP 주소를 등록합니다. 지침은 다음 해결 방법 대신 대상 그룹 속성을 참조하세요.
  • IP 주소만 대상으로 등록할 수 있는 Network Load Balancer의 경우 로드 밸런서에서 프록시 프로토콜 버전 2를 활성화합니다. 지침은 다음 해결 방법 대신 프록시 프로토콜 활성화를 참조하세요.
맨위의 경우인것 같다
2번째 방법은 clb 니까 안쓰는것 같고
nlb 같은 경우에는 타겟그룹 안에서 어떻게 해야 하나보다
 

 

 

 

Question 48: Incorrect

어느 다국적 기업이 AWS Organizations를 사용하여 다양한 부서의 사용자를 관리합니다. CloudTrail이 구성원 계정에 대해 활성화되어 있음에도 불구하고, 관리자는 여러 부서와 AWS 리전에서 CloudTrail 로그에 대한 액세스 문제가 발생하고, 트러블 슈팅 안에서 병목 현상이 일어나고 있음을 알게 되었습니다. 관리자는 간단히 해결하기 위해 조직 추적(Organization Trail)을 사용하기로 결정했습니다. 조직 추적을 구성할 때 기억해야 할 중요한 사항은? (두 개 고르세요)
  • 구성원(member) 계정은 조직 추적(Organization Trail)을 볼 수 있지만 수정하거나 삭제할 수 없습니다.
    (Incorrect)
  • 기본값으로 CloudTrail은 버킷 레벨 작업만 추적합니다. 객체 레벨의 작업을 추적하려면, Amazon S3 데이터 이벤트를 활성화해야 합니다.
    (Correct)
  • 구성원 계정은 조직 추적이나 파일을 기록하는 Amazon S3 버킷에 액세스할 수 없습니다.
    (Correct)
  • 조직 추적(Organization Trail)이라는 건 없습니다. 하지만 마스터 계정은 CloudTrail 로깅을 활성화하면, AWS 계정 전체의 모든 활동을 추적할 수 있습니다
  • 기본값으로 CloudTrail 이벤트 로그 파일은 암호화되지 않습니다.
    (Incorrect)
 

이건 cloudtrail 한번 읽어보자

얘는 한번도 안다뤄보고 그냥 개념만 훑었던 애라서

강의를 다시 봐도 괜찮겠다

일단 위 문제에서는 cloudtrail 에 병목현상이 발생해서 조직 추적을 사용한다고 한다

cloudtrail 이 s3 는 버킷레벨 작업만 추적한다고 하고, 관리자가 아닌 계정은 조직 추적이나 s3 버킷에 액세스 할 수 없다고 한다

 

 

 

Question 49: Incorrect

여러분의 팀이 다른 도메인의 클라이언트가 액세스하는 퍼블릭 API Gateway를 유지관리하고 있습니다. 사용량은 지난 몇 달간 일정했지만, 최근 두 배 이상 증가했습니다. 그 결과 비용이 상승했고, 허가되지 않은 도메인들이 해당 API에 접근하는 것을 막고자 합니다. 다음 중 적절한 조치는?
  • API Gateway에 보안 그룹 할당
  • 계정 수준 조절 사용(Account-level throttling)
  • CORS를 사용해 액세스 제한
    (Correct)
  • 매핑 템플릿 사용
    (Incorrect)
고민했었는데 CORS 이라고 한다

chatGPT 에게 물어봤다

 

제시된 시나리오에서는 허가되지 않은 도메인들이 API Gateway에 접근하는 것을 막기 위한 적절한 조치를 선택하는 것이 문제의 핵심입니다.

매핑 템플릿은 요청과 응답을 변환하는 데 사용되는 AWS API Gateway의 기능 중 하나입니다. 매핑 템플릿은 클라이언트와 서비스 간의 데이터 형식을 변환하거나 수정하여 상호 운용성을 보장하는 데 사용될 수 있습니다. 하지만 매핑 템플릿은 클라이언트의 도메인 제한과 같은 보안 문제를 해결하는 데 적합하지 않습니다.

반면에 CORS는 웹 브라우저에서 실행되는 클라이언트 애플리케이션에서 서로 다른 도메인의 리소스에 접근하는 것을 제어하는 데 사용됩니다. 따라서 이 경우, API Gateway에 허가되지 않은 도메인들이 해당 API에 액세스하는 것을 방지하기 위해 CORS를 사용하는 것이 적절합니다. CORS를 사용하면 서로 다른 도메인에서의 API 호출을 제한할 수 있습니다.

따라서, 위의 시나리오에서 적절한 조치는 "CORS를 사용하여 액세스 제한"입니다.

 
설명 읽고 나니 내가 왜 이걸 4번골랏지?
 
 

 

Question 50: Incorrect

하나의 EC2 인스턴스에서 실행되는 비디오 인코딩 애플리케이션은 미가공 영상 파일 하나를 처리하는 데 평균 약 20초가 걸립니다. 해당 애플리케이션은 SQS 대기열에서 새 작업 메시지를 선택합니다. 동영상 인코딩 프로세스가 평소보다 오래 걸리는 경우에 대응해, 여러 소비자에게 동일한 오류가 발생하지 않도록 해야 합니다. 어소시에이트 개발자로서, 이런 사용 사례에서 다음 중 어떤 솔루션을 추천하시겠습니까?
  • WaitTimeSeconds을 사용해서 짧은 폴링 및 메시지 가시성 시간 초과 연장
  • WaitTimeSeconds을 사용해서 긴 폴링 및 메시지 가시성 시간 초과 연장
    (Incorrect)
  • DelaySeconds을 사용해서 메시지 가시성 시간 초과 지연
  • ChangeMessageVisibility을 사용해서 메시지 가시성 시간 초과 연장
    (Correct)
 

Amazon SQS는 가시성 제한 시간을 사용하여 다른 소비자가 동일한 메시지를 수신하고 처리하지 못하도록 합니다. 메시지의 기본 가시성 제한 시간은 30초입니다. 최소값은 0초입니다. 최대값은 12시간입니다.

 

아하

동일한 오류라는게 가시성 시간을 연장해서 같은 메세지가 다른 소비자에게 또 폴링되지 않도록 하라는 뜻이구만

 

 

 

Question 51: Incorrect

어느 신입사원이 EC2 오토 스케일링의 뉘앙스를 이해하고 싶어 합니다. AWS 어소시에이트 공인 개발자로서, 신입 사원의 멘토가 되어 달라는 요청을 받았습니다. 신입사원에게 알려줄 수 있는 오토 스케일링에 대한 올바른 설명은? (두 개 고르세요)
  • ELB(Elastic Load Balancing)를 사용하지 않는 경우 상태 점검(불건전한 인스턴스 대체)에 Amazon EC2 오토 스케일링을 사용할 수 없습니다.
  • EC2 오토 스케일링 그룹은 리전 구성 요소입니다. 그룹은 가용 영역과 AWS 영역에 걸쳐 있습니다
    (Incorrect)
  • 기존 인스턴스에서 오토 스케일링 그룹을 생성할 때마다 새 AMI(Amazon 머신 이미지)가 생성됩니다
  • 기존 볼륨이 용량을 거의 다 채우면, Amazon EC2 오토 스케일링으로 기존 인스턴스에 볼륨을 추가할 수 없습니다.
    (Correct)
  • Amazon EC2 오토 스케일링은 애플리케이션 로드 밸런서 및 네트워크 로드 밸런서와 함께 작동합니다
    (Correct)
Amazon EC2 Auto Scaling은 Application Load Balancer 및 Network Load Balancer와 함께 작동합니다. Amazon EC2 Auto Scaling은 상태 확인 기능을 포함하여 Application Load Balancer 및 Network Load Balancer와 함께 작동합니다.
흠 처음알았고
EC2 Auto Scaling 그룹은 지역 구조입니다. 가용 영역과 AWS 지역에 걸쳐 있습니다. 이는 잘못된 설명입니다. EC2 Auto Scaling 그룹은 지역 구조입니다. 가용 영역에 걸쳐 있을 수 있지만 AWS 리전에는 해당되지 않습니다.
아 이건 ㅋㅋ
aws 영역이라는 말이 리전이라는 말이였냐고 번역 씹 ㅋㅋ
 

 

Question 55: Incorrect

AWS CodeDeploy 에이전트로 로드한 EC2 인스턴스 상에서 실행되고 있는 Java 기반 애플리케이션이 하나 있습니다. 여러분은 다양한 배포 옵션을 고려하고 있고 원하는 기능이 몇 개 있습니다. 첫 번째는 유연성으로 새로운 애플리케이션 버전을 증분 배포하고, EC2 인스턴스의 기존 버전을 대체할 수 있길 원합니다. 두 번째로는 오토 스케일링 그룹을 사용한 배포 수행 전략입니다. 다음 중 이러한 방식의 배포가 가능한 옵션은? (두 개 고르세요)
  • 블루/그린 배포
    (Correct)
  • 인 플레이스(In-place) 배포
    (Correct)
  • 웜 예비 배포
  • Cattle 배포
  • Pilot Light 배포
    (Incorrect)
 

이거 까먹어서 찍었는데

codedeploy 배포는 in-place 배포랑 블루/그린 배포밖에 없는것 같다

 

in-place 배포는 롤링과 같이 half at a time 으로 50%먼저 종료 -> v2 로 실행 -> 나머지 50% 종료 -> 100%의 v2 실행

인데

블루그린은 말그대로 블루그린이다

 

 

 

 

Question 57: Incorrect

여러분의 팀의 개발자가 인스턴스 간 또는 가용 영역 간에 트래픽을 균등하게 라우팅하도록 로드 밸런서를 구성했습니다. 그러나 ELB(엘라스틱 로드 밸런싱)는 다른 인스턴스보다 한 인스턴스 또는 가용 영역에 더 많은 트래픽을 라우팅합니다. 왜 이런 일이 일어나고 있을까요? (두 개 고르세요)
  • 로드 밸런서에 고정 세션이 활성화되었습니다
    (Correct)
  • 애플리케이션 로드 밸런서의 경우 영역 간 로드 밸런싱 비활성화가 기본값입니다
  • 클라이언트와 인스턴스 간에 짧은 TCP 연결이 있을 수 있습니다
    (Incorrect)
  • 가용 영역을 비활성화하고 해당 가용 영역의 대상이 로드 밸런서에 등록된 상태로 유지되어 트래픽의 임의 버스트를 수신합니다
    (Incorrect)
  • 특정 용량 유형의 인스턴스가 가용 영역 간에 균등하게 분산되지 않고 있습니다
    (Correct)
 
고정 세션이 로드 밸런서에 대해 활성화됨 - 이는 로드 밸런서에 의한 트래픽 라우팅이 동일하지 않을 가능성이 있는 이유일 수 있습니다. 고정 세션은 대상 그룹의 동일한 대상으로 요청을 라우팅하는 메커니즘입니다. 이는 클라이언트에게 지속적인 경험을 제공하기 위해 상태 정보를 유지 관리하는 서버에 유용합니다. 고정 세션을 사용하려면 클라이언트가 쿠키를 지원해야 합니다.

로드 밸런서는 클라이언트로부터 요청을 처음 수신하면 요청을 대상으로 라우팅하고 선택한 대상에 대한 정보를 인코딩하는 AWSALB라는 쿠키를 생성하고 쿠키를 암호화하며 클라이언트에 대한 응답에 쿠키를 포함합니다. 클라이언트는 로드 밸런서에 대한 후속 요청에서 수신하는 쿠키를 포함해야 합니다. 로드 밸런서가 쿠키가 포함된 클라이언트로부터 요청을 수신할 때 대상 그룹에 대해 고정 세션이 활성화되고 요청이 동일한 대상 그룹으로 이동하는 경우 로드 밸런서는 쿠키를 감지하고 요청을 동일한 대상으로 라우팅합니다.
 

특정 용량 유형의 인스턴스는 가용 영역 전체에 균등하게 분산되지 않습니다. - HTTP 또는 HTTPS 리스너가 있는 Classic Load Balancer는 더 많은 트래픽을 더 큰 용량의 인스턴스 유형으로 라우팅할 수 있습니다. 이 배포는 저용량 인스턴스 유형이 미해결 요청을 너무 많이 갖는 것을 방지하는 것을 목표로 합니다. 용량 차이 및 트래픽 불균형의 가능성을 줄이기 위해 유사한 인스턴스 유형 및 구성을 사용하는 것이 모범 사례입니다.

서로 다른 Amazon 머신 이미지(AMI)에서 실행 중인 유사한 용량의 인스턴스가 있는 경우에도 트래픽 불균형이 발생할 수 있습니다. 이 시나리오에서는 대용량 인스턴스 유형을 선호하는 트래픽 불균형이 바람직합니다.

 

 

잘못된 옵션:

클라이언트와 인스턴스 간에 일시적인 TCP 연결이 있을 수 있습니다. 

이것은 잘못된 설명입니다. 클라이언트와 인스턴스 간의 수명이 긴 TCP 연결은 잠재적으로 로드 밸런서에 의한 불균등한 트래픽 분배로 이어질 수 있습니다. 클라이언트와 인스턴스 간의 수명이 긴 TCP 연결은 의도적으로 고르지 않은 트래픽 부하 분산을 유발합니다. 결과적으로 새 인스턴스가 연결 균형에 도달하는 데 더 오래 걸립니다. 로드 밸런서에서 라우팅 문제를 일으킬 수 있는 오래 지속되는 TCP 연결에 대한 메트릭을 확인하십시오.

Application Load Balancer의 경우 교차 영역 로드 밸런싱은 기본적으로 비활성화되어 있습니다. 

이것은 잘못된 설명입니다. Application Load Balancer를 사용하면 교차 영역 로드 밸런싱이 항상 활성화됩니다.

가용 영역을 비활성화한 후 해당 가용 영역의 대상은 로드 밸런서에 등록된 상태로 유지되므로 임의의 트래픽 버스트를 수신합니다. 

이것은 잘못된 설명입니다. 가용 영역을 비활성화한 후에도 해당 가용 영역의 대상은 로드 밸런서에 등록된 상태로 유지됩니다. 그러나 등록된 상태로 유지되더라도 로드 밸런서는 트래픽을 이들로 라우팅하지 않습니다.

 

 

 

 

Question 58: Incorrect

여러분은 새 애플리케이션을 로드하기 위해 EBS에 최적화된 EC2 인스턴스를 구축할 계획입니다. 보안 규정 준수 때문에 조직은 애플리케이션에 사용된 모든 비밀 문자열을 암호화하여 일반 텍스트로 값을 노출하면 안됩니다. 또한, 이 솔루션은 암호 해독 이벤트를 감사하고 API 호출이 단순해야 합니다. 다음 중 이를 구현하기 위한 방법으로 적절한 것은? (두 개 고르세요)
  • SSM 매개변수 저장소에 SecureString으로 암호 저장
    (Correct)
  • SSM 매개변수 저장소에 암호를 PlainText로 저장
  • CloudTrail을 사용한 감사
    (Correct)
  • SSM Audit Trail을 사용한 감사
  • KMS로 먼저 암호화한 후 SSM 매개변수 저장소에 저장
    (Incorrect)
 

마지막은 왜 안되는지 모르겟네 감사는 감사인데 흠

 

CloudTrail을 사용하여 감사

AWS CloudTrail은 AWS 계정의 거버넌스, 규정 준수, 운영 감사 및 위험 감사를 지원하는 서비스입니다. CloudTrail을 사용하면 AWS 인프라 전체에서 작업과 관련된 계정 활동을 기록하고 지속적으로 모니터링하고 유지할 수 있습니다. CloudTrail은 AWS Management Console, AWS SDK, 명령줄 도구 및 기타 AWS 서비스를 통해 수행된 작업을 포함하여 AWS 계정 활동의 이벤트 기록을 제공합니다.

CloudTrail을 사용하면 SSM 및 KMS에 대한 모든 API 호출을 볼 수 있습니다.

 

저게 핵심이군

 

먼저 KMS로 암호화한 다음 SSM 매개 변수 저장소에 저장 - 이 방법은 작동할 수 있지만 해독된 값을 가져오려면 하나가 아닌 두 개의 API 호출이 필요합니다. 따라서 이것은 올바른 선택이 아닙니다.

 

가능하지만 간단한 api 호출이 아니여서 틀린거구만

문제 잘읽어야겠다 진짜

 

 

 

Question 59: Incorrect

어느 기업이 Amazon EC2 인스턴스 상에서 기술 연산을 수행합니다. 이 회사는 일상 워크플로우를 지원하기 위해 인스턴스에서 사용할 수 있는 특정 소프트웨어를 원합니다. 개발팀은 해당 소프트웨어에 EC2 인스턴스의 사용자 데이터 기능을 사용하라고 전달받았습니다. 다음 중 사용자 데이터 EC2 구성에 대한 설명으로 옳은 것은? (두 개 고르세요)
  • 기본값으로 EC2 인스턴스가 다시 시작될 때마다 사용자 데이터가 실행됩니다
  • 기본값으로 사용자 데이터는 인스턴스를 처음 시작할 때 부팅 주기 동안에만 실행됩니다
    (Correct)
  • 기본값으로 사용자 데이터로 입력된 스크립트가 루트 사용자 권한으로 실행됩니다
    (Correct)
  • 기본값으로 사용자 데이터로 입력된 스크립트에는 실행을 위한 루트 사용자 권한이 없습니다
    (Incorrect)
  • 인스턴스가 실행 중일 때 루트 사용자 자격 증명을 사용해서 사용자 데이터를 업데이트할 수 있습니다
오호 유저데이터는 루트권한으로 실행되는군요? 몰랏지요?
나 그때 입력할때 sudo 입력한거같은데 이상하다?
일단 그렇다는군요
 

사용자 데이터로 입력된 스크립트는 root 사용자 권한으로 실행되므로 스크립트에 sudo 명령을 사용하지 마세요. 생성하는 모든 파일의 소유권은 root에 있습니다. 루트 이외의 사용자에게 파일 액세스를 허용하려면 스크립트에서 권한을 적절히 수정해야 합니다. 또한 스크립트는 대화형으로 실행되지 않으므로 사용자의 입력이 필요한 명령(예: yum update 플래그 없는 -y)은 포함할 수 없습니다.

 
 

 

 

Question 60: Incorrect

어느 IT 회사에 데이터 보안 요구 사항이 있는 HealthCare 애플리케이션이 있습니다. 보안 요구 사항의 암호화 키는 온프레미스에서 실행되는 사용자 지정 애플리케이션에 저장해야 합니다. 이 회사는 데이터 스토리지와 암호화 프로세스를 Amazon S3로 오프로드하지만 기존 암호화 키 또한 계속 사용하기를 원합니다. 다음 S3 암호화 옵션 중 Amazon S3를 활용하여 주어진 조건에 따라 데이터를 저장할 수 있는 옵션은?
  • Amazon S3 관리 키(SSE-S3)를 사용한 서버 측 암호화
  • Amazon S3로 전송하기 전에 클라이언트 측에서 수행되는 데이터 암호화를 사용한 클라이언트 측 암호화
  • AWS Key Management Service(SSE-KMS)에 저장된 고객 마스터 키(CMK)를 통한 서버 측 암호화
    (Incorrect)
  • 고객 제공 키(SSE-C)를 사용한 서버 측 암호화
    (Correct)
 

고객 제공 키 SSE-C

 

SSE-KMS 는 AWS 에서 관리하는 키인데 나는 여기다가 사용자 키를 등록 할 수 잇는줄 알았다

아 근데 문제 다시 읽어보니까 S3 암호화 옵션 중에서라고 하네 ㅋㅋ

 

S3 다시 봐야겟네 AWS 콘솔 들어가서 봐도 KMS - CMK 사용 인데 ㅋㅋ

 

 

 

Question 61: Incorrect

서비스형 클라우드 통신 플랫폼을 전문으로 하는 어느 회사는 소프트웨어 개발자들이 자신들의 서비스를 프로그래밍 방식으로 이용해 문자 메시지를 주고받을 수 있게 합니다. 초기 플랫폼은 모든 구성 요소가 하나의 서버에서 호스팅되었고 확장할 수 있는 아키텍처가 없습니다. 높은 가용성 및 확장성을 위해 다시 설계하려고 합니다. 다음 중 새로운 아키텍처를 구현하는 데 사용할 수 있는 옵션은? (두 개 고르세요)
  • ALB + ECS
    (Correct)
  • CloudWatch + CloudFront
  • EBS + RDS
  • API Gateway + Lambda
    (Correct)
  • SES + S3
    (Incorrect)
이건 걍 그럴꺼같았는데 아니넹
하긴 SES 는 단순 메일서비스니까

 

 

 

 

Question 62: Incorrect

어느 .NET 개발자 팀이 많은 ASP.NET 웹 애플리케이션을 갖고 있고, 이는 EC2 인스턴스를 사용해서 IIS에 호스팅하고 있습니다. AWS Elastic Beanstalk에서 여러 버전의 애플리케이션을 실행할 수 있도록 배포 프로세스를 구성하고자 합니다. 이때, 한 버전은 개발 및 테스트에 사용되며 다른 버전은 부하 테스트에 사용됩니다. 다음 중 어소시에이트 개발자로서 할 수 있는 조언은?
  • Elastic Beanstalk에서는 여러 개발 환경을 가질 수 없고, 하나의 개발 및 프로덕션 환경만 가질 수 있습니다
  • 개발 Elastic Beanstalk 환경에 매개변수를 전달할 수 있도록 호스트 이름에 따라 라우팅할 애플리케이션 로드 밸런서를 생성하세요. .ebextensions/에 파일을 추가해서 ALB에서 오는 트래픽을 처리하는 방법을 알아봅니다
    (Incorrect)
  • 단일 인스턴스와 프로덕션 환경에 가까운 설정이 있는 'load test' 환경으로 개발 환경 정의하세요.
    (Correct)
  • 하나의 Beanstalk 환경만 사용하고 Ansible 스크립트를 사용하여 구성 변경 수행하세요
 

하긴 생각해보니 Beanstalk 는 환경을 쉽게 생성할 수 있었지

동일한 애플리케이션에 대해 여러 환경울 보유할 수 있었음 맞아맞아 로드밸런서 이딴거 필요없었음

 

 

 

 

Question 64: Incorrect

여러분이 여러 Amazon EC2 인스턴스에서 실행되는 애플리케이션을 책임지고 있습니다. 인스턴스 앞에는 인터넷을 통해 클라이언트의 요청을 받아 EC2 인스턴스로 분산하는 인터넷 연결(Internet-facing) 로드 밸런서가 있습니다. 상태 검사는 루트 디렉터리에 있는 index.html 페이지에 ping을 보내서 상태를 확인하도록 구성됩니다. 그런데 웹 사이트 방문자가 인터넷을 통해 웹 사이트에 액세스하면 시간 초과 오류를 수신한다고 합니다. 문제를 해결하려면 먼저 무엇을 확인해야 합니까?
  • 애플리케이션이 중단되었는지 확인
  • ALB가 워밍업되었는지 확인
  • IAM 역할 확인
    (Incorrect)
  • 보안 그룹 확인
    (Correct)
 

아이거 나중에 바꿨는데 ㅋㅋ

 

보안 그룹

보안 그룹은 수신 및 발신 트래픽을 제어하기 위해 EC2 인스턴스에 대한 가상 방화벽 역할을 합니다. 인바운드 규칙은 인스턴스로 들어오는 트래픽을 제어하고 아웃바운드 규칙은 인스턴스에서 나가는 트래픽을 제어합니다.

EC2 인스턴스의 보안 그룹 규칙을 확인하십시오. 적절한 포트에서 퍼블릭 IPv4 주소의 인바운드 트래픽을 허용하는 보안 그룹 규칙이 필요합니다.

잘못된 옵션:

IAM 역할 - 일반적으로 역할이 있는 API 권한 부여 문제가 발생하지만 시간 초과 문제는 발생하지 않으므로 이 옵션은 주어진 사용 사례에 적합하지 않습니다. - 퍼미션 관련 오류가 나오나봄

애플리케이션이 다운됨 - 애플리케이션 ping 또는 HTTP에 대한 상태 확인을 설정할 수 있지만 일반적으로 방화벽 액세스가 차단되면 시간 초과가 발생합니다. - 500번대 에러가 나오나 봄

ALB가 워밍업 중입니다. - ALB에는 최적의 성능으로 요청에 응답할 수 있기 전에 워밍업 기간을 허용하는 느린 시작 모드가 있습니다. 그래서 이것은 문제가 아닙니다. - 에러가 안나나 봄

 

타임아웃은 보안그룹 관련 문제다~