AWS 错题集-Developer
AWS EC2
C. 跨域问题 CORS。
A. 单点故障(x)。
B. 单点故障(x)。
微服务 Microservice
AWS Lambda(Layers, Trigger, Destination), AWS API Gatway(Stages, Auth, Canary Release Deployment, Cache), AWS SAM(Canary Release Deployment)
E. Inside the Lambda function handler vs Outside the lambda fucntion handler
Inside 是每次都会运行一次,Outside 是在初始化阶段运行一次,之后再次运行 Lambda 由于有类似缓存的机制,无需再次运行。
A 和 B 过于复杂。
C. 需要更多设置的工作,适用于更加复杂的测试情况。
A, C, E 跟缓存有关,跟 time out 关系不大。
B, D,当 IntegrationLatency > Latency 的时候,有可能会出现 time out 的问题。
- IntegrationLatency: 从 API Gateway 将请求中继到后端到其从后端收到响应所经过的时间
- Latency: 从 API Gateway 从客户端收到请求到其将响应返回给客户端所经过的时间。延迟包括集成延迟和其他 API Gateway 开销
C, E 都是增加 concurrency, 一个是手动增加,一个是动态增加。
D. 这个是读取当前的 concurrency 的数量。
C. 没有 Lambda proxy integration 这个东西,proxy 的功能可以通过 AWS ApiGateway 去设置。
D. Lambda alias 可以设置 weight。
Lambda 在标记时可以使用 Alias 也可以使用 Version。当指定 API Gateway 到 Lambda 时,我们使用 Alias 而不是 version。
机器学习,使用 S3 和 EFS 需要重新下载,data layer 有 250MB 容量限制,所以应该使用 Lambda container image 的方式部署。
这个题目理解出了问题,并不是说 Hight priority queue 做 10 个然后才做 Low priority queue, 是限制 Hight priority queue 最高为 10 个任务,而总任务执行是 100,所以 Low priority queue 应该是 90。
AWS Step Function
B. 测试 aws lambda functions 不是题目的目标。
A. 错误,SQS visibility timeout max 12h, SQS delay queues time max 15min。
缓存 Cache
AWS ElastiCache, AWS SQS
ELB: Elastic Load Balancer
A. 正确,一次 Batch 操作,获得两个表的数据。
B. LSI 只能拥有 1 个相同的 partitionKey。
C. 两次操作。
D. 也是两次操作。
Redis vs Memcached
A. Redis 支持 cluster resizing, encryption(PCI Dss, HIPAA), data sort, sorting and ranking datasets, more persistence, multiple AWS Availability Zones, geos patial。
B. Memcached 是用于 high-performance, multithreaded performance, offload 缓解流量, 的情况。
B, C, D 都无法保证和保存 order 的创建顺序。
队列
C. 就算你一次运行一个 Lambda 仍然可能出现重复处理的问题,另外这样做会影响性能。
数据负载
数据存储
DynamoDB(TTL)
题目中使用一个 Lambda function 去做数据处理和更新 DynamoDB 数据的事情,所以首先,我们可以分开。
A 和 D 都可以,但是 D 选择中虽然分开了 Lambda function 的功能但并未解决处理大量流量的事情,你的回答里面必须包括一个数据缓冲区 Buffer,所以我们需要一个类似 AWS SQS 的队列存储暂未处理的数据,选择 A。
A, B. Multi-AZ Amazon Rds 会有多个备份数据库但却无法区分或给单独的数据库作为读取用。
D. 复杂且不便操作。
B, C, 需要通过重试的机制,在 SDK 中也是有重试的机制的。
D 和 E, 题目问的是如何解决出现 UnprocessedKeys 的问题,这两个选项只能够缓解出现 UnprocessedKeys 的问题,但无法从根本解决。
D. DynamoDB 有自己的初始加密选项。
S3 Glacier 是一个低成本专门用来存储不经常使用文件的 storage 解决方案。
CDN
题目中不希望用 hardCode, 所以 C, D 被排除。
CloudFront function vs Lambda@Edge, CloudFront function 运行时间极短,且不能够访问网络,所以 CloudFront 并不能够用于 get user credentials from AWS STS 的场景, 排除 B, 最终选择 A。
数据处理
S3 Object Lambda access point 用于动态处理数据,S3 Object Lambda 使用 AWS Lambda 函数来自动处理标准 S3 GET、LIST 或 HEAD 请求的输出。
S3 access point 用于分享大量可扩展的数据集。
E. 增加 timeout 时间只是延长失败时间,并不能够直接解决问题。
通知系统
AWS SNS, AWS SES
用户认证
AWS
A. 用户已经有账户了,所以无需 AWS Cognito user pool 的服务。
E. 我们不希望去限制所有内容的访问,而是限制为认证用户只能够访问示例内容。
B. SAML-based identify federation 是针对企业的认证方案,对于社交媒体登陆的支持不足。
A. Identity provider 是用来做身份认证的,服务于登陆功能,这里不需要登陆功能,不要把它和 AWS Cognito Identity pools 搞混。
D. AWS Cognito 能够通过 Identity pools 为未认证的用户提供有限的访问权。
AWS IAM
注意这里问的是 assumeRole 之后返回的临时凭证是什么。
数据传输、加密与保护
B. KMS 服务是用来管理密匙的,并不能拿来加密 AMI。
C. ACM 是用来加密 ssl/tls 网络数据传输的,并不能加密 AMI。
D. 并不能加密已经上传的未加密的 AMI,只能够加密新的目标区域的资源。
AWS Macie, 发现和分类敏感数据。
B, D 都可以,当考虑到 LEAST development effort 的时候,如果公司已经使用过 AWS Secret Manager 的话,应该选择 D。
A. That's right answer.
B, D 中 ACL control enable you to manage access to buckets and objects -> (x)
C. We aren't talking about AWS SDK.
A. KMS Encrypt API 只提供加密功能,并不能生成 key。
C. KMS GenerateDataKey API 会返回一个明文数据密匙和该数据密匙的加密副本。
D. 能够让所有视频被同一个 key 加密,无法做到每个视频有一个单独的 key。
B. 我们无法 override 初始缓存设置。
C. Failover 是用于故障的情况,我们无法用在此处。
D. 我们能够访问 login 页面,但是无法对登陆和未登陆界面做好区分。
A. 可以,不过太复杂了,不好做 integration。
B 和 C 都可以起到加密保存 license keys 的作用。但是题目需要 Most cost-effictively 并且开头已经说明存储的 licencse key 是 one-time fixed 的情况。综合考虑 C 是能够解决此种情况并足够经济的方法。
D. 是为了避免 key 显示出来,但并未解决保存 license keys 的作用。
B. 更改 call API 方式无法解决吞吐量的问题。
D. Amazon SNS 是一个 messaging 服务,不能代替 Kinesis 做数据处理。
E. 减少用户端的数量,不是可取的办法。
C. 我们使用 KMS Encrypt API 的时候需要选择 symmetric 或 asymmetric。(x)
注意 ⚠️ 问题最后一行的 automate the orchestration of the data flows,必定选 AWS Step Function。
网站前端
题目分析,公司希望将多个网站转移到 AWS 上,并希望无服务器支持网站运行。(注意,一个网站即包含前端也包含后端,并不是简单的 HTML)
A. 用 Amplify 部署前端以处理和支持 GitHub, HTTPs,并使用无服务器的后端,满足题目要求。
B. Beanstalk 能够简化操作,但不符合无服务器运行的要求。(x)
C. S3 是一个可行方案,但是需要管理 GitHub 的触发和环境管理,比较复杂。(x)
D. 不符合无服务器运行的要求。(x)
开发
C. CDK assertions 适用于存储 parameters 或 configuration value。
自动化部署
AWS CodeCommit
AWS CodeBuild
AWS CodePipeline
E 也是对的,但是题目要求 LEAST,所以选 D。
根据 manage and automate the orchestration
-> 选择 B (AWS Step Functions).
A. 这不是自动化部署的解决方法,需要开发者遵照某个规定流程。
C. 题目中的检查时针对 image 的检查,所以需要检查的打包好的 image 而不是源代码,因为打包过程也能够导致生成漏洞。
D. 检查发生在部署之后。
AWS CodeDeploy
AWS CloudFormation
C. 这个选项仅仅解决可用性和容错率,无法解决数据丢失的问题。
A. 用于引入模板内容。
B. User data section 通常用于 EC2 instance 启动时提供其他脚本与数据, 不适用于 Lambda function。
C. Mappings section 一般用于静态的数据而不是运行时数据,也无法提供运行时数据的 data mapping。
网络安全
AWS Secrets Manager, AWS KMS (Key Management Service)
aws:SourceVpc 与 aws:SourceVpce 是不同的,aws:SourceVpc 代表某个虚拟私有网络(Virtual Private Cloud),aws:SourceVpce 代表某个虚拟私有网络的某个端点(Virtual Private Cloud Endpoint)。
C. 非对称加密不支持每年自动轮换。
D. 使用自己管理的 key 也不支持每年自动轮换。
A. System Manager Parameter Store 更多是用来存储敏感信息, 比如一些环境信息等。
C. Secrets Manager 用来存储密匙,密码,token 等信息。
with a key that the company generates, 使用客户自己生成的密匙。
因为题目问的是 MOST operationally efficient way,所以选择 A 而不是 D。
AWS CloudFront
AWS VPC
A NAT gateway is a Network Address Translation (NAT) service. You can use a NAT gateway so that instances in a private subnet can connect to services outside your VPC but external services cannot initiate a connection with those instances.
VPC Flow Logs
will cpature information about IP traffic going to and from network interfaces in a VPC, this includes traffic that traverses a VPN connection, so VPC Flow Logs
can be used to monitor and troubleshoot connectivity issues including verifying whether traffic reaching a particular subnet or not.
C. NAT gateway 是用于在私有子网的服务访问同一个 VPC 中的公有子网服务 或 通过公有子网去访问互联网(IGW, Internet Gateway),不是题目中的情况,题目中是公有子网的 Lambda 访问私有子网的数据库。
AWS ACM(Certificate Manager)
C. ACM 只在 us-east-1 区域中支持 CloudFormation,所以 C 是错误答案,而 D 是正确答案。
监控方案
A. namspace 允许你将多个不同来源不同 domains 的 metrics 放到一起,并且能够区分它们。
B. dimension 是用于 filter 的情况。
C. custome event 用于跟踪应用程序内的事件,而不是 metric 级别的数据。
D. custome alarm 是用来作为提醒的,并不是监控方案的选择。
AWS X-Ray, AWS CloudWatch 监控 AWS ECS(Elastic Container Service) 服务中 通过 AWS Fargate 部署的应用。
A/B test with AWS CloudWatch
题目分析: near real time, 需要在错误率超过 5% 的情况下通知支持团队。
D. 对于用自己定义的服务,我们需要手动增加 X-Ray,对于 AWS 服务,我们只需要设置即可。
@TODO: 需了解 X-ray, https://docs.aws.amazon.com/zh_cn/xray/latest/devguide/aws-xray.html
代码管理
AWS CodeCommit: 处理代码冲突。
粗心大意
A, B 区分 inbound he outbound 是从哪里开始到哪里结束。
B. 没看清里面写什么就回答。
来源
- AWS Certified Developer Associate Exam Questions Dumps 2023 - Part3 (DVA-C02): https://www.youtube.com/watch?v=MoCsE8H_dD4&list=PL7GozF-qZ4KdpXCIcPKeBf5rljY8OM4gU&index=3