2023年全国技能竞赛 职业名称 云计算 任务名称 竞赛时间 2小时 备注 Trouble-shooting 任务编号 第3题 评审委员 确认 (签名) 1. 要求事项 1-1. 容器镜像构建问题 1-2. S3 对象问题 1-3. IAM 权限控制 1-4. IaC 问题 S/W Stack 因 trouble-shooting 不提供 2. 选手注意事项 1) 使用机械及工具等时请注意安全,必要时请佩戴安全装备及穿着防护服等,以预防事故。 2) 作业中请注意预防烧伤、触电、擦伤等安全事故,使用工具或作业工具时请佩戴安全防护用具,并遵守安全守则。 3) 作业中请注意工具的使用,遵守安全守则,预防事故。 4) 竞赛开始前请通过轻度拉伸等放松紧张情绪,使用作业工具时请注意安全。 5) 选手的账户存在费用限制,若产生高于此的费用,账户可能无法使用。 6) 题目中给出的尖括号 <> 表示变量,选手应适当更改后使用。 7) 将 EC2 实例的 TCP 80/443 出站设为 anyopen,以便可以使用。 8) 任务的 Bastion 服务器上会进行大部分评分,因此如果未创建实例或实例处于已终止状态,则无法评分,请特别留意。 9) 任务结束时,请终止所有正在进行的测试,以免服务器产生负载。 10) 如无另行说明,请在 ap-northeast-2 区域创建资源。 11) 所有资源的名称、标签、变量和变量区分大小写。 云计算 第3题 1 - 3 3. Bastion 服务器 使用 EC2 构建 Bastion 服务器。网络位置不限,但应配置为可从外部访问。Bastion 服务器本身不评分,但为了后续任务解答,必须按如下方式创建。如无另行说明,评分将通过以 root 账户 SSH 访问 Bastion 并执行 awscli 等命令来进行。 - 实例类型:t3.small - AMI:Amazon Linux2 - 安装包:awscli, jq, curl, docker - 标签:Name=wsi-bastion - EC2 IAM Role:创建对所有资源具有 full access 的 role 并附加。 4. 容器镜像构建问题 1) 提供文件介绍 希望创建用于运行 foo 应用程序的容器镜像。将提供的 day3-container-image-build.zip 文件解压到 Bastion 服务器的 /home/ec2-user/container/ 路径。压缩包内包含 Dockerfile 和应用程序代码。 该应用程序提供 GET /v1/foo API。应用程序代码没有问题。因此,执行任务时不得更改应用程序源代码。应用程序使用 8080 端口。 2) 问题 通过提供的 Dockerfile 正常执行构建,并确保执行 ECR Scan 时未发现漏洞。如果构建正常,则应能从 Bastion 通过 localhost:8080 调用 API。评分时使用 docker run –d –p 8080:8080 命令运行容器后,调用 http://localhost:8080/v1/foo 进行部分评分。调用时应返回 {"application":"foo"} body 和 200 响应码。 3) 配置 为保存 Docker 镜像,创建名为 foo 的 ECR Repository 并启用 Scan-on-push 功能。为了构建和上传镜像,在 Bastion 服务器 /home/ec2-user/container/build.sh 路径创建脚本。执行 build.sh 时,构建具有 foo: