오늘은 401번 부터 ~ 끝(469번)까지 풀어보고자 한다.
https://dumps.kr/dumps/amazon-dva-c01
위 사이트에서 풀었으며,
해설은
https://www.examtopics.com/discussions/amazon
위 사이트에서 찾아봤다.
401.
- 보안상의 이유로 항상 역할을 사용하여 AWS 리소스에 액세스할 수 있는 권한을 부여하고 나서 다음 작업을 해야한다.
402.
- 개발자가 API 게이트웨이를 업데이트할 필요 없이 코드 푸시를 효율적으로 수행할 수 있도록 하기 위해 C를 사용
403.
- 400 잘못된 요청 응답 상태 코드는 클라이언트 오류로 인식되는 것으로 인해 서버가 요청을 처리할 수 없거나 처리하지 않을 것임을 나타냅니다.
- 300 이 상태 코드는 요청에 가능한 응답이 두 개 이상 있음을 나타냅니다.
- 200 OK 성공 상태 응답 코드는 요청이 성공했음을 나타냅니다.
405.
- Fn::GetAtt 내장 함수는 이 유형의 지정된 속성에 대한 값을 반환합니다. 그리고 DNSName는 로드 밸런서의 DNS 이름입니다.
- JSON { "Fn::GetAtt" : [ "logicalNameOfResource", "attributeName" ] }
406.
- 루트 사용자는 절대 사용해서는 안 됩니다. 따라서 C는 제외
- 인스턴스 프로파일은 인스턴스가 시작될 때 EC2 인스턴스에 역할 정보를 전달하는 데 사용할 수 있는 IAM 역할의 컨테이너를 말함
407.
- 자동 푸시 알림이란 무엇입니까? "Amazon Cognito는 Amazon Simple Notification Service(SNS)를 사용하여 장치에 자동 푸시 알림을 보냅니다. 자동 푸시 알림은 사용자가 볼 수 없는 사용자 장치의 애플리케이션이 수신하는 푸시 메시지입니다." "...푸시 동기화를 사용하면 Amazon Cognito를 사용하여 자격 증명과 연결된 모든 디바이스에 자동 푸시 알림을 보내 새 데이터를 사용할 수 있음을 알릴 수 있습니다."
*옛날 버전 문제임 현재는 AppSync기능으로 가능함(Amazon Cognito Sync를 처음 사용하는 경우 AWS AppSync를 사용하십시오. Amazon Cognito Sync와 마찬가지로 AWS AppSync는 여러 디바이스에서 애플리케이션 데이터를 동기화하기 위한 서비스입니다.)
411.
- 스택의 리소스 중 하나를 성공적으로 생성할 수 없으면 어떻게 됩니까? 기본적으로 "오류 시 자동 롤백" 기능이 활성화되어 있습니다. 이로 인해 오류가 발생한 지점까지 스택에 대해 AWS CloudFormation이 성공적으로 생성한 모든 AWS 리소스가 삭제됩니다. 예를 들어 이는 탄력적 IP 주소의 기본 제한을 실수로 초과하거나 실행하려는 EC2 AMI에 액세스할 수 없는 경우에 유용합니다. 이 기능을 사용하면 스택이 완전히 생성되거나 전혀 생성되지 않는다는 사실에 의존할 수 있으므로 AWS CloudFormation 위에 구축된 계층화된 솔루션과 시스템 관리가 간소화됩니다.
*요약하면 실패할 때 자동 롤백되고, 생성되고 있던 리소스는 삭제함
412.
- SAM(서버리스 애플리케이션 모델)은 Blue/Green 배포와 같은 Lambda 언어 기능을 제공하도록 CF 템플릿을 확장할 수 있다.
413.
- DynamoDB Streams로 이벤트 기반 프로그래밍 지원
* 참고로 이벤트란 명령이 아닌 관찰을 의미하고 이벤트 생성 주체가 어떤 동작을 기대하거나 관심을 가지지 않습니다.
이벤트 드리븐 참고
https://dev.classmethod.jp/articles/summit-online-korea-event-driven/
팬아웃 : Fanout: 같은 메세지를 여러 방향으로 발행 - SNS 등과 같은 곳에서 사용
https://seohyun0120.tistory.com/entry/AWS-SNS-vs-SQS-%EC%B0%A8%EC%9D%B4%EC%A0%90
417.
- Cloud Watch는 알림을 보내지 않고 이벤트만 트리거합니다. Cloud Watch로 모든 것을 할 수 있다면 SNS가 왜 존재할까요? 이것은 여러 구독자에게 주제를 게시할 수 있는 매우 맞춤형 SNS 사용 사례입니다. 도움을 받으세요.
* 참고로 CloudWatch는 로그만 보여준다. 이를 notification 하려면 sqs, sns 등을 사용해야 보낼 수 있다.
* 정답은 A이다.
418.
- 정답은 B : 데드 레터 대기열은 문제가 있는 메시지를 격리하여 처리가 실패하는 이유를 확인할 수 있기 때문에 애플리케이션 또는 메시징 시스템을 디버깅하는 데 유용합니다.
419.
- 예를 들어 API에 요청 페이로드에 대해 정의된 application/json 템플릿과 응답 페이로드에 대해 정의된 application/xml 템플릿이 있다고 가정합니다.
420.
- 네 번째 인스턴스에 탄력적 IP 주소를 할당
422.
- KMS GenerateDataKey API : 이 주제의 예제는 AWS KMS API에서 Encrypt, Decrypt 및 ReEncrypt 작업을 사용합니다. 이러한 작업은 데이터 키를 암호화하고 해독하도록 설계되었습니다. 암호화 작업에서 AWS KMS 키를 사용하며 4KB(4096바이트) 이상의 데이터를 허용할 수 없습니다. 암호나 RSA 키와 같은 소량의 데이터를 암호화하는 데 사용할 수 있지만 애플리케이션 데이터를 암호화하도록 설계되지는 않았습니다.
423.
- TransactWriteItems 작업은 포함된 모든 작업이 성공적으로 완료되어야 하며 그렇지 않으면 변경 사항이 전혀 없다는 점에서 BatchWriteItem 작업과 다릅니다.
- BatchWriteItem 작업을 사용하면 배치의 작업 중 일부만 성공하고 다른 작업은 성공하지 못할 수 있습니다.
424.
- E는 기본적으로 아무 것도 수행하지 않습니다(RCU(읽기 용량 단위)를 늘리는 것이 성능을 높이는 가장 빠른 방법이지만 더 빠른 검색보다는 대량의 결과 집합에 더 적합합니다.)
- D는 강력한 일관성은 경쟁 조건에만 유용합니다. 미션 크리티컬하지 않은 경우 최종 일관성이 필요합니다
- A는 캐시, B는 메모리 내 가속(캐시)이며 동시에 두 가지를 모두 사용하는 경우는 거의 없지만, DB 테이블의 성능을 향상시키는데 도움을 준다.
* AB가 가장 정답에 가깝다고 봄
426.
- 서버리스 애플리케이션용 X-ray를 활성화하여 맵을 보고 각 세그먼트에 대한 추적을 찾습니다.
* 정답은 D
427.
- 기능이 레코드를 처리하는 속도를 높이려면 데이터 스트림에 샤드를 추가하십시오. Lambda는 각 샤드의 레코드를 순서대로 처리합니다. 함수가 오류를 반환하면 샤드에서 추가 레코드 처리를 중지합니다. 샤드가 많을수록 한 번에 더 많은 배치가 처리되므로 오류가 동시성에 미치는 영향이 줄어듭니다.
- Lambda의 처리 속도를 향상시키려면 메모리를 늘려야 한다.
* 정답은 A와 C
431.
- C에 대한 설명 : DynamoDB가 처리되지 않은 항목을 반환하는 경우 해당 항목에 대해 배치 작업을 다시 시도해야 합니다. 그러나 지수 백오프 알고리즘을 사용하는 것이 좋습니다 . 배치 작업을 즉시 재시도하면 개별 테이블의 조절로 인해 기본 읽기 또는 쓰기 요청이 여전히 실패할 수 있습니다. 지수 백오프를 사용하여 배치 작업을 지연하면 배치의 개별 요청이 성공할 가능성이 훨씬 높아집니다.
- D에 대한 설명 : 반적으로 루프에서 호출합니다 . 각 반복은 처리되지 않은 항목을 확인하고 모든 항목이 처리될 때까지 처리되지 않은 항목으로 새 요청을 제출합니다.
* C와 D 중 잘 모르겠음
https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html
432.
- 일반적으로 다른 스택을 포함할 때는 mapping을 쓰며 stack이라고 하고 nestedstack이라고 안쓰고 AWS::CloudFormation::Stack 이라고만 쓴다.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
433.
- 이미 만들어져 있는 기존 애플리케이션에서 재배포하므로 C와 D 명령어로 빌드 후 배포하는 것이 맞다.
* C와 D가 정답. init는 현재 저장소를 삭제하고 초기화해서 처음부터 배포하므로 정답이 아님
435.
- Content-Length 누락인 B는 411에러이므로 오답
- 400 에러는 HTTP 상태 코드: 400 잘못된 요청 SOAP 오류 코드 접두사이므로 C가 정답
*C가 정답
437.
- 5xx 오류 코드가 발생하며 실패한 요청에 재시도 전략을 적용합니다. 모든 AWS SDK에는 지수 백오프를 사용하는 알고리즘이 적용된 재시도 메커니즘이 내장되어 있습니다. 필요에 맞게 재시도 파라미터를 수정할 수 있습니다. 자세한 내용은 오류 재시도 및 지수 백오프를 참조하세요.
- 매우 일관적인 읽기 작업(Strongly consistent reads)은 피하세요. 네트워크 지연이나 중단이 발생할 경우, 매우 일관적인 읽기 작업은 500 오류가 발생하면서 실패할 가능성이 큽니다. 자세한 내용은 읽기 일관성을 참조하세요.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/dynamodb-http-5xx-errors/
438.
- 리소스를 구현하기 전에 스택을 업데이트하는 데 도움이 될 수 있습니다. 변경 세트를 사용하면 스택에 대해 제안된 변경 사항이 실행 중인 리소스에 어떤 영향을 미칠 수 있는지 미리 볼 수 있습니다.
439.
- 주말 동안 트래픽이 갑자기 급증하고 주중에는 가변적 : 이러면 Auto Scaling을 계속 돌려야함.
어차피 사용량 만큼만 쓰면 됨
441.
- B : 메모리 증가 => 실행 시간 감소
* A가 아니라 B가 맞음
443.
- B : 기존 표준 대기열을 FIFO 대기열로 변환할 수 없습니다. 이동하려면 애플리케이션에 대한 새 FIFO 대기열을 만들거나 기존 표준 대기열을 삭제하고 FIFO 대기열로 다시 만들어야 합니다.
C가 아니라 B
444.
- 시퀀스 번호는 각 데이터 레코드의 고유 식별자입니다. 시퀀스 번호는 데이터 생산자가 PutRecord 또는 PutRecords API를 호출하여 Kinesis 데이터 스트림에 데이터를 추가할 때 Kinesis Data Streams에서 할당합니다.를 사용하여 실제로 Kinesis Data 스트림이 정확할 수 있습니다.
* A가 아니라 D가 정답
데이터 스트림은 Kinesis Data Streams 서비스를 이용
445.
- X-Forwarded-For 요청 헤더는 HTTP 또는 HTTPS 로드 밸런서를 사용할 때 클라이언트의 IP 주소를 식별하는 데 도움이 됩니다. 로드 밸런서는 클라이언트와 서버 간의 트래픽을 가로채기 때문에 서버 액세스 로그에는 로드 밸런서의 IP 주소만 포함됩니다.
446.
- 계층을 사용하여 서로 다른 Lambda 함수 간의 공통 종속성을 처리
448.
해설이 없지만, 개발자가 서브넷을 참조하지 않았고, 네트워크 팀이 내보내지 않아서 에러가 났을 것
449.
- TTL에 의해 삭제된 항목은 DynamoDB Streams에서 식별할 수 있습니다. DynamoDB Streams는 항목 수준 수정의 시간순 시퀀스를 캡처하고 최대 24시간 동안 로그에 시퀀스를 저장합니다. 이 데이터는 Lambda 함수에서 사용하고 Amazon S3 버킷에 보관하여 스토리지 비용을 줄일 수 있습니다.
* key는 아카이브를 저장한다는 것이다. 따라서 DynamoDB Streams가 맞다.
450.
- 원격으로 실행하려고 하면 함수가 실패한다고 해서 답변이 까다롭다고 생각합니다. 따라서 우리 컴퓨터에서 실행할 수 있는 권한이 없는 것 --> B 인 리소스 기반 정책과 관련이 없는것
- 람다 함수가 실패했다고 나와 있으므로 시작되었지만 실행 중에 API 호출을 할 수 있는 올바른 권한이 없는 것 --> 권한이 누락된것
*어느 것에 초점을 맞추느냐에 따라서 정답이 다르고 할 수 있는데, 함수가 실패했다고 하니까 권한인 A로 했다.
451.
- D : API 업데이트에는 API의 특정 리소스 속성 또는 구성 설정 수정이 포함됩니다. 리소스 업데이트에는 API 재배포가 필요하지만 구성 업데이트에는 필요하지 않습니다.
https://docs.aws.amazon.com/apigateway/latest/developerguide/updating-api.html
452.
- "운영 오버헤드" = 시스템 관리. EC2나 EKS가 아닌 자체 관리 시스템이 필요합니다. Fargate는 거의 자체적으로 관리합니다(옵션이 아님). Lambda는 다른 곳에서 호스팅되는 html 및 기타 정적 콘텐츠가 필요하므로 "솔루션"이 아닙니다. 여기서는 Elastic Beanstalk가 확실한 선택입니다.
* A가 정답
453.
- 업데이트 필요: 교체 " 레이블이 지정된 속성이 업데이트되면 AWS CloudFormation은 먼저 대체 DB 인스턴스를 생성한 다음 대체 DB 인스턴스를 가리키도록 다른 종속 리소스의 참조를 변경하고 최종적으로 이전 DB 인스턴스를 삭제합니다.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html
454.
- 이것은 B와 D입니다. B : ALB는 정적 DNS 이름을 노출합니다. 필요한 경우 URL 경로 방식을 사용하여 트래픽을 라우팅할 수 있고 애플리케이션은 EC2에서 실행됩니다. D - API 게이트웨이는 쿼리를 실행하는 Lambda로 전달되는 호출을 처리합니다. / 예 그리고 이미 말했듯이 S3 = 정적 콘텐츠이므로 작동하지 않습니다.
요약 : API용이므로 컴퓨팅이 필요 -> ec2 lambda가 컴퓨팅임
455.
- 코드로 인프라를 관리한다(코드형 인프라) = CloudFormation
456.
- 사용자 지정 Amazon CloudWatch 지표를 생성하고 현재 스레드 수로 PutMetricData 호출을 주기적으로 수행
*A와 B가 둘 다 정답인데, CloudWatch가 더 효율적이므로 B로 한다.
A를 쓰는 이유도 모니터링을 그래픽 방식으로 하기 위함이다.
457.
- CloudFormation이 스택에서 블루/그린 배포를 수행하도록 하려면 스택 템플릿에 다음 정보를 포함합니다. AWS::CodeDeployBlueGreen 변환을 호출하는 템플릿의 Transform 섹션 및 AWS::CodeDeploy::BlueGreen을 호출하는 Hook 섹션 훅. 스택 업데이트 중에 교체되는 경우 블루/그린 배포를 트리거할 ECS 리소스 중 하나 이상. 현재 이러한 리소스는 AWS::ECS::TaskDefinition 및 AWS::ECS::TaskSet입니다.
블루그린배포는 중첩 스택 못함 -> D 제외
*정답은 A
458.
A : 각 자체 코드 레포지토리를 구성 -> 코드 공유 기능 X
C : S3에 공통 요소를 게시함 -> 코드 공유 기능 O
460.
- 대용량 메모리 또는 컴퓨팅 집약적인 워크로드에 대해 Lambda 함수를 실행할려면, 오늘 부터 최대 10GB의 메모리에서 Lambda 함수를 실행할 수 있으며, 이는 이전 대비 3배 증가 되었습니다. Lambda는 구성된 메모리 양에 비례하여 CPU 및 기타 리소스를 선형으로 할당합니다.
461.
IAM 권한이란?
- AWS 서비스나 자원에 어떠 작업을 할 수 있는지 명시해두는 규칙
IAM 정책이란?
- 권한들의 모음입니다. 사용자나 그룹들에 권한을 직접 적용할 수는 없고 권한들로 만든 정책을 적용해야 합니다. 정책은 사용자, 그룹 역할에 적용할 수 있습니다. (위의 권한 사진을 보면 정책 이름이라고 써있는 것을 볼 수 있습니다.)
IAM 역할이란?
- 특정 서비스에서 생성한 객체에 권한을 부여하는 데 사용합니다.(ex: EC2, S3, CodeDeploy에 역할을 부여하기)
- 우리가 만들어서 사용하는 EC2 인스턴스가 S3에서 파일을 읽어오려면 S3 파일을 읽을 수 있는 권한으로 정책을 만든 뒤에 해당 정책으로 역할을 만들어 EC2 인스턴스에 지정을 해주어야 합니다.
인스턴스 프로파일 이란?
- 사용자가 사람을 구분하고 그 사람에 권한을 주기 위한 개념이었다면 인스턴스 프로파일은 EC2 인스턴스를 구분하고 그 인스턴스에 권한을 주기 위한 개념입니다. 인스턴스 프로파일은 역할을 위한 컨테이너로서 인스턴스 시작 시 EC2 인스턴스에 역할 정보를 전달하는 데 사용합니다.
- 즉, 인스턴스 프로파일이 지정된 EC2는 시작 시 역할 정보를 받아오고 해당 역할로 필요한 권한들을 얻게 됩니다.
464.
- CORS(교차 원본 리소스 공유) 사용: CORS(교차 원본 리소스 공유)는 다른 도메인의 리소스와 상호 작용하는 하나의 도메인.\
* 도메인을 막는다 : cors 에러 확인해보기
466.
- SQS FIFO 대기열에서 각 메시지는 정확히 한 번만 처리되며 대기열에 추가된 정확한 순서대로 처리됩니다. 그러나 드물게 FIFO 대기열을 사용하는 경우에도 메시지가 두 번 이상 배달될 수 있습니다. 이는 메시지 확인이 지연되거나 메시지가 삭제되기 전에 시간 초과된 경우에 발생할 수 있습니다. 이러한 경우 메시지가 대기열로 반환되고 소비자가 다시 처리할 수 있으므로 동일한 메시지가 중복 처리됩니다.
*SQS FIFO로 하면 2번 이상 전송될 수 있음.
467.
- 애플리케이션은 최소 3,500 PUT/COPY/POST/DELETE 또는 5,500을 달성할 수 있습니다. 버킷의 접두사당 초당 GET/HEAD 요청. 버킷의 접두사 수에는 제한이 없습니다. 병렬화를 사용하여 읽기 또는 쓰기 성능을 향상시킬 수 있습니다. 예를 들어 Amazon S3 버킷에 10개의 접두사를 생성하여 읽기를 병렬화하는 경우 읽기 성능을 초당 55,000개의 읽기 요청으로 확장할 수 있습니다. 마찬가지로 여러 접두사에 기록하여 쓰기 작업을 확장할 수 있습니다. 따라서 병렬화하려면 접두사를 추가해야 하지만 문서 페이지의 끝에서 읽을 수 있기 때문에 무작위로 추가할 필요는 없습니다. (... ) 이전에 Amazon S3 성능 지침에서는 빈번한 데이터 검색을 위해 성능을 최적화하기 위해 해시 문자로 접두사 이름을 무작위로 지정할 것을 권장했습니다. 더 이상 성능을 위해 접두사 이름을 무작위로 지정할 필요가 없으며 접두사에 대해 순차적 날짜 기반 이름 지정을 사용할 수 있습니다.
468.
- 변경 불가능한 환경 업데이트(immutable)는 롤링 업데이트의 대안입니다. 변경 불가능한 환경 업데이트는 인스턴스 교체가 필요한 구성 변경 사항이 효율적이고 안전하게 적용되도록 합니다.
469.
- A: CloudTrail은 네트워크 트래픽 이벤트를 기록하지 않습니다.
- B: 모범 사례를 권장합니다.
- E: C&D에서 규정 준수를 확인하는 데 도움이 됩니다.
* VPC 흐름 로그(VPC FLOW Logs)는 VPC의 네트워크 인터페이스에서 전송되고 수신되는 IP 트래픽에 대한 정보를 수집할 수 있는 기능입니다. 흐름 로그 데이터는 Amazon CloudWatch Logs, Amazon S3 또는 Amazon Kinesis Data Firehose에 게시될 수 있습니다. 흐름 로그를 생성하면 구성한 로그 그룹, 버킷 또는 전송 스트림의 흐름 로그 레코드를 검색하고 볼 수 있습니다.
한바퀴 돌렸으니 내일부터는 빠르게 한번 더 훑어야겠다.
'자격증공부 > AWS Certified Developer - Associate' 카테고리의 다른 글
AWS Certified Developer Associate 시험 합격을 위한 모든 것 - (1) (0) | 2023.03.16 |
---|---|
aws 자격증 후기 (0) | 2023.03.15 |
AWS Certified Developer – Associate 자격증 공부 9일차 (0) | 2023.03.09 |
AWS Certified Developer – Associate 자격증 공부 8일차 (0) | 2023.03.08 |
AWS Certified Developer – Associate 자격증 공부 7일차 (0) | 2023.03.07 |