2021年度地方技能竞赛评分标准 1. 评分注意事项 职 种 名 云计算 ※ 请注意以下事项进行评分。 1) 评分时,互联网浏览器使用 Chrome 浏览器。 2) AWS 管理员控制台根据版本不同,评分内容与 UI 可能存在差异。 3) ssh 连接在必要时可以使用 ssh -i 选项通过密钥进行连接,亦无不可。 4) AWS 的 Region 使用 Seoul。 5) 没有单独部分分数的题目,必须全部答对才予以计分。 6) 资源名称中 <> 部分可能因选手不同而具有不同的名称。 7) 与删除资源相关的评分项目大多位于后面。若更改评分顺序,可能存在删除服务器的可能性,因此必须按顺序进行评分。 8) 评分时,部分题目可能会延续到下一页。请注意不要误认为是其他题目。 9) AWS Management Console 的语言更改为左下角的韩语。 10) watch 或 jq 命令若机器上没有,评分时可进行安装。 sndo yun install –y watch sndo yun install –y jq 云计算 26 - 1 [第1课题 21 – 1] 2. 评分标准表 1) 主要项目别分值 课题 序号 编号 第1课题 职 种 名 云计算 评分方法 主要项目 分值 独立 合议 评分时机 竞赛 竞赛 进行中 结束后 1 网络 14 ○ ○ 2 S3 4 ○ ○ 3 Bastion 5 ○ ○ 4 负载均衡 23 ○ ○ 5 DNS 5 ○ ○ 6 Web server 19 ○ ○ 计 70 合 云计算 26 - 2 [第1课题 21 – 2] 备注 2) 评分方法及标准 课题 序号 编号 1 2 3 主要项目 网络 5 6 细目(评分方法) 分值 1 VPC 配置 2 2 Subnet CIDR 配置 4 3 High availability 配置 4 4 NAT 配置 2 5 IGW 配置 2 1 S3 Bucket 配置 2 2 访问权限设置 2 1 EC2 配置 2 2 SSH 配置 3 1 ALB 配置 3 2 EC2 forward 配置 4 3 A/B 测试 5 4 Fixed response 配置 4 5 监控配置 5 6 Security Group 配置 2 1 Private zone 配置 3 2 DNS record 配置 2 1 Web server 配置 5 2 EC2 权限配置 5 3 手动 Scale-out 5 4 Auto scaling 4 编号 S3 Bastion 第1课题 4 序号 负载均衡 DNS Web server 总分 云计算 26 - 3 [第1课题 21 – 3] 70 3) 评分内容 序号 评分项目 1) 在网页浏览器中进入 AWS VPC 仪表板后,点击左侧的 VPC。 1.1 2) 在 VPC 列表中选择 vpc-skills-ap 后,如下所示确认 VPC 的 CIDR 是否配置为 10.0.0.0/16。 云计算 26 - 4 [第1课题 21 – 4] 序号 评分项目 1) 在网页浏览器中进入 AWS VPC 仪表板后,点击左侧的子网。 2) 在子网列表中点击 skills-pub-a,在详细信息中确认 CIDR 是否为 10.0.0.0/24。(1分) 1.2 3) 在子网列表中点击 skills-pub-b,在详细信息中确认 CIDR 是否为 10.0.2.0/24。(1分) 4) 在子网列表中点击 skills-priv-a,在详细信息中确认 CIDR 是否为 10.0.1.0/24。(1分) 云计算 26 - 5 [第1课题 21 – 5] 序号 评分项目 5) 在子网列表中点击 skills-priv-b,在详细信息中确认 CIDR 是否为 10.0.3.0/24。(1分) 1.2 1) 在网页浏览器中进入 AWS VPC 仪表板后,点击左侧的子网。 2) 在子网中点击 skills-pub-a,确认可用区是否为 ap-northeast-2a。(1分) 1.3 3) 在子网中点击 skills-pub-b,确认可用区是否为 ap-northeast-2b。(1分) 云计算 26 - 6 [第1课题 21 – 6] 序号 评分项目 4) 在子网中点击 skills-priv-a,确认可用区是否为 ap-northeast-2a。(1分) 1.3 5) 在子网中点击 skills-priv-b,确认可用区是否为 ap-northeast-2b。(1分) 1) 在网页浏览器中进入 AWS VPC 仪表板后,点击左侧的子网。 2) 确认子网中 skills-priv-a 的路由表。 对于 0.0.0.0/0,目标必须是以 “nat-” 开头的资源。(1分) 1.4 云计算 26 - 7 [第1课题 21 – 7] 序号 评分项目 3) 确认子网中 skills-priv-b 的路由表。 对于 0.0.0.0/0,目标必须是以 “nat-” 开头的资源。(1分) 1.4 1) 在网页浏览器中进入 AWS VPC 仪表板后,点击左侧的子网。 2) 确认子网中 skills-pub-a 的路由表。 对于 0.0.0.0/0,目标必须是以 “igw-” 开头的资源。(1分) 1.5 云计算 26 - 8 [第1课题 21 – 8] 序号 评分项目 3) 确认子网中 skills-pub-b 的路由表。 对于 0.0.0.0/0,目标必须是以 “igw-” 开头的资源。(1分) 1.5 1) 在网页浏览器中访问 AWS S3 仪表板后,点击左侧的存储桶。 2.1 2) 搜索 “skills-”,确认是否存在名称以 “skills-” 开头的存储桶。 skills-seoul99 / skills-abcd 等只要包含 skills- 即可。 云计算 26 - 9 [第1课题 21 – 9] 序号 评分项目 1) 通过 putty 或 WSL 以 SSH 方式访问 bastion。必须为 bastion server 而非 Web server。 2) 对选手创建的 skills-<任意值> 存储桶输入 s3 ls 命令。 例) 若存储桶名称为 skills-seoul99,则 aws s3 ls s3://skills-seoul99 2.2 3) 确认是否出现 Access Denied 等访问错误。Bastion 由于没有该存储桶的权限,必须无法访问。不应看到 web 或 vl.tar 等文件列表。 1) 在网页浏览器中访问 AWS EC2 页面后,点击左侧的实例。 2) 搜索 “bastion-skills-ap” 实例。 3.1 3) 确认 bastion 服务器的详细信息。 实例类型 : t3.small / 公有 IPv4 地址 : 分配公网 IP / VPC ID : 包含 vpc-skills-ap 名称 云计算 26 - 10 [第1课题 21 – 10] 序号 评分项目 1) 通过 putty 或 WSL 访问 bastion server。必须为 bastion server 而非 web server。 2) 输入 sudo netstat –lnp | grep sshd 命令。 3.2 确认 sshd 守护进程的端口绑定为 2222。 除 2222 之外,如为 22 号、1022 号等则视为错误。 1) 在网页浏览器中访问 EC2 页面后,点击左侧的负载均衡器进行跳转。 2) 搜索名称为 web-cc2021-ap-int 的 ALB。 4.1 3) 点击 web-cc2021-ap-int 负载均衡器,确认页面下方的说明部分。 如下所示确认类型是否为 “application”,方案是否为 “internal”。 云计算 26 - 11 [第1课题 21 – 11] 序号 评分项目 1) 与上述评分题目相同,点击 web-cc2021-ap-int 并向下移动至页面下方的说明部分。复制用红色标示的 “DNS 名称” 部分中的 “*.amazonaws.com”。 4.2 2) 通过 putty 或 WSL 以 SSH 方式连接 bastion。 3) 输入 curl http:///health 命令,如下所示确认是否出现 “health”: “UP” 消息。 1) 复制上述评分题目中使用的 web-cc2021-ap-int 负载均衡器的 DNS 名称。 2) 通过 putty 或 WSL 以 SSH 方式连接 bastion。 3) 在 Bastion 上安装 jq。 4) 输入 curl http://<负载均衡器 DNS>/product | jq .product[7],确认是否出现 “name”: “egg”。 4.3 5) 输入 curl http://<负载均衡器DNS>/product?test=true | jq .product[7],确认是否出现 “name”: “smartphone”。 云计算 26 - 12 [第1课题 21 – 12] 序号 评分项目 1) 复制上述评分题目中使用的 web-cc2021-ap-int 负载均衡器的 DNS 名称。 2) 通过 putty 或 WSL 以 SSH 方式连接 bastion。 3) 输入 curl –w “\n%{http_code}\n” –silent http://<负载均衡器 DNS>/swagger-ui.html,确认是否出现 Not 4.4 found this WSI page 404。若出现其他语句或 404 以外的响应值,则视为错误。 1) 复制上述评分题目中使用的 web-cc2021-ap-int 负载均衡器的 DNS 名称。 2) 通过 putty 或 WSL 以 SSH 方式连接 bastion。 3) 输入 watch -n 1 "curl http://<负载均衡器DNS>/abc“,使 404 错误每 1 秒发生一次。在评分结束之前,不终止该命令。 4) 在网页浏览器中进入 AWS CloudWatch 页面后,点击左侧的警报。 4.5 5) 观察约 1~10 分钟后,确认 “警报状态” 的 ALB-4xx-high 警报是否触发。条件必须是当与 HTTP 4XXcount 相关的指标在 1 分钟内高于 55 个时触发的条件。 连接的服务器必须观察 HTTP 值,因此像 HTTPCode_ELB_4XX_Count 这样统计 LB 值的条件会被视为错误。 云计算 26 - 13 [第1课题 21 – 13] 序号 评分项 1) 在 Web 浏览器中转到 AWS EC2 的实例页面。 2) 搜索“web-skills-ap-stable”,然后单击一个具有该名称的实例。 3) 单击安全选项卡,然后查看下方的入站规则。 4.6 4) 确认入站规则中 80 端口的源是否以“sg-”开头。如果像 10.0.0.0/8 这样是 IP,则视为错误。 1) 在 Web 浏览器中转到 Route53 页面,然后单击托管区域。 5.1 云计算 26 - 14 [第1课题 21 – 14] 序号 评分项 2) 确认已创建的托管区域。 域名:ws.local 类型:私有 5.1 1) 通过 PuTTY 或 WSL 以 SSH 连接到 bastion。 2) 输入 curl http://web.ws.local/health 命令,确认是否看到“health”: “UP”。 5.2 1) 在 EC2 页面左侧单击实例。 6.1 2) 搜索“web-skills-ap-stable”,然后单击一个具有该名称的实例。 云计算 26 - 15 [第1课题 21 – 15] 序号 评分项 3) 在详细信息中记录该实例的私有 IP 地址。 4) 使用 PuTTY 或 WSL 等以 SSH 连接到 bastion。 5) 通过 ssh ec2-user@<实例私有IP> 连接到实例。 6.1 6) 在已连接的 Web 服务器上输入 curl http://localhost:80/user,确认是否收到“name”: “David”的响应。 1) 像上述 6.1 评分项那样,经由 bastion 以 SSH 访问 web-skills-ap-stable 服务器。 2) 删除 ~/.aws/ 下的所有 aws 环境文件后,使用“aws sts get-caller-identity | grep Arn”命令获取 Arn。确认获取到的 Arn 是否以 arn:aws:sts 开头。如果获取到的不是该值而是其他值,则视为错误。 6.2 3) 复制在 2.1 评分项中确认过的参赛者创建的 S3 存储桶名称。 4) 使用“aws s3 cp s3://<存储桶名称>/web/v1.tar /tmp/test2021.tar”命令下载 tar 文件。然后使用“ls /tmp/test2021.tar”命令确认下载的文件是否已成功下载。 云计算 26 - 16 [第1课题 21 – 16] 序号 评分项 1) 使用 Web 浏览器访问 EC2 页面,单击左侧的 Auto Scaling Group。 2) 搜索并选择 web-skills-ap-stable。 3) 单击组详细信息中的编辑按钮。 6.3 4) 在组大小中将所需容量设置为 0,最小容量设置为 0,然后单击更新按钮。 云计算 26 - 17 [第1课题 21 – 17] 序号 评分项 5) 在该 Auto Scaling 组的实例管理选项卡中,等待实例被删除并消失。终止最多可能需要约 7 分钟。 6) 如果如下所示看不到实例,则表示删除已完成。 6.3 7) 删除完成后,再次在组详细信息中将组大小调整为所需容量:1,最小容量:1。 云计算 26 - 18 [第1课题 21 – 18] 序号 评分项 8) 转到实例管理选项卡,等待新实例的生命周期变为 InService。启动最多可能需要约 7 分钟。 9) 启动完成后,复制新实例的私有 IP 地址。 6.3 10) 经由 bastion 以 SSH 连接到新实例。 11) 连接后,输入 curl http://localhost:80/swagger-ui.html,确认是否如下所示返回“Welcome to swagger page”响应。 由于实例配置必须自动化,因此在 SSH 访问后不应输入其他命令,而应直接输入 curl。 云计算 26 - 19 [第1课题 21 – 19] 序号 评分项 1) 复制上述题目中使用的 web-skills-ap-stable 实例的 IP。 2) 经由 Bastion 以 SSH 连接到该服务器。 3) 通过如下命令安装 stress。 4) 在实例上通过 sudo stress –c 1 命令施加 CPU 负载。 6.4 5) 在 Web 浏览器中转到 AWS EC2 页面的 Auto Scaling 组页面。 6) 搜索并选择 web-skills-ap-stable。 云计算 26 - 20 [第1课题 21 – 20] 序号 评分项 7) 转到活动选项卡,确认是否看到 Launching a new EC2 消息。 6.4 8) 确认活动后,转到实例管理选项卡,确认实例是否从原来的 1 台增加到 3 台以上。 云计算 26 - 21 [第1课题 21 – 21]