Last active
October 12, 2025 07:07
-
-
Save ninejuan/3eef186e077dc6d6dd13464fcbd55d2d to your computer and use it in GitHub Desktop.
2023 Local 1 mark sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| ### --------------------------------------------------------------------------- | |
| ### 본 파일은 23-local-1-mark.pdf의 채점 스크립트를 한번에 실행할 수 있도록 모아둔 파일입니다. | |
| ### 2023년 지방기능경기대회 과제 배포파일에는 mark.sh가 포함되지 않았습니다. | |
| ### --------------------------------------------------------------------------- | |
| echo "========== 1-1 ==========" | |
| aws ec2 describe-vpcs --filter Name=tag:Name,Values=wsi-vpc --query "Vpcs[].CidrBlock" | |
| echo "========== 1-2 ==========" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-public-a --query \ | |
| "Subnets[].CidrBlock" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-public-b --query \ | |
| "Subnets[].CidrBlock" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-private-a --query \ | |
| "Subnets[].CidrBlock" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-private-b --query \ | |
| "Subnets[].CidrBlock" | |
| echo "========== 1-3 ==========" | |
| aws ec2 describe-internet-gateways --filter Name=tag:Name,Values=wsi-igw \ | |
| --query "InternetGateways[].InternetGatewayId" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=wsi-public-rtb \ | |
| --query "RouteTables[].Routes[].GatewayId" | |
| echo "========== 1-4 ==========" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=wsi-private-rtb-a \ | |
| --query "RouteTables[].Routes[].NatGatewayId" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=wsi-private-rtb-b \ | |
| --query "RouteTables[].Routes[].NatGatewayId" | |
| echo "========== 1-5 ==========" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-public-a --query \ | |
| "Subnets[].AvailabilityZone" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-public-b --query \ | |
| "Subnets[].AvailabilityZone" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-private-a --query \ | |
| "Subnets[].AvailabilityZone" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=wsi-private-b --query \ | |
| "Subnets[].AvailabilityZone" | |
| echo "========== 2-1 ==========" | |
| aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-bastion \ | |
| --query "Reservations[].Instances[].InstanceId" | |
| echo "========== 2-2 ==========" | |
| aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-bastion \ | |
| --query "Reservations[].Instances[].PublicIpAddress" | |
| aws ec2 describe-addresses --query "Addresses[].PublicIp" | |
| echo "========== 3-1 ==========" | |
| aws ecr describe-images --repository-name wsi-about --query "imageDetails[].imageTags[]" | |
| aws ecr describe-images --repository-name wsi-projects --query "imageDetails[].imageTags[]" | |
| echo "========== 3-2 ==========" | |
| aws ecr describe-image-scan-findings --repository-name wsi-about \ | |
| --image-id imageTag=latest --query "imageScanFindings.findingSeverityCounts" | |
| aws ecr describe-image-scan-findings --repository-name wsi-projects \ | |
| --image-id imageTag=latest --query "imageScanFindings.findingSeverityCounts" | |
| echo "========== 4-1 ==========" | |
| aws ecs describe-clusters --cluster wsi-ecs --query "clusters[].clusterName" | |
| aws ecs describe-clusters --cluster wsi-ecs --query "clusters[].capacityProviders[]" | |
| echo "========== 4-2 ==========" | |
| aws ecs describe-task-definition --task-definition about-task-def \ | |
| --query "taskDefinition.containerDefinitions[].portMappings[].containerPort" | |
| aws ecs describe-task-definition --task-definition about-task-def \ | |
| --query "taskDefinition.containerDefinitions[].image" | |
| aws ecs describe-task-definition --task-definition projects-task-def \ | |
| --query "taskDefinition.containerDefinitions[].portMappings[].containerPort" | |
| aws ecs describe-task-definition --task-definition projects-task-def \ | |
| --query "taskDefinition.containerDefinitions[].image" | |
| echo "========== 4-3 ==========" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-about-svc \ | |
| --query "services[].networkConfiguration.awsvpcConfiguration.assignPublicIp" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-about-svc \ | |
| --query "services[].launchType" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-about-svc --query "services[].status" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-projects-svc \ | |
| --query "services[].networkConfiguration.awsvpcConfiguration.assignPublicIp" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-projects-svc \ | |
| --query "services[].launchType" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-projects-svc --query "services[].status" | |
| echo "========== 4-4 ==========" | |
| aws ecs describe-clusters --cluster wsi-ecs --query "clusters[].runningTasksCount" | |
| echo "========== 4-5 ==========" | |
| aws ecs describe-clusters --cluster wsi-ecs --query "clusters[].runningTasksCount" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-about-svc \ | |
| --query "services[].networkConfiguration.awsvpcConfiguration[].subnets[]" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-about-svc \ | |
| --query "services[].runningCount" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-projects-svc \ | |
| --query "services[].networkConfiguration.awsvpcConfiguration[].subnets[]" | |
| aws ecs describe-services --cluster wsi-ecs --services wsi-projects-svc \ | |
| --query "services[].runningCount" | |
| echo "========== 4-6 ==========" | |
| aws elbv2 describe-load-balancers --query "LoadBalancers[].SecurityGroups[]" | |
| aws ec2 describe-security-groups \ | |
| --query "SecurityGroups[?GroupName=='wsi-about-sg'].IpPermissions[].UserIdGroupPairs[].GroupId" | |
| aws ec2 describe-security-groups --query \ | |
| "SecurityGroups[?GroupName=='wsi-projects-sg'].IpPermissions[].UserIdGroupPairs[].GroupId" | |
| echo "========== 5-1 ==========" | |
| aws elbv2 describe-load-balancers \ | |
| --query "LoadBalancers[?LoadBalancerName=='wsi-alb'].LoadBalancerName" | |
| aws elbv2 describe-load-balancers \ | |
| --query "LoadBalancers[?LoadBalancerName=='wsi-alb'].Scheme" | |
| aws elbv2 describe-load-balancers \ | |
| --query "LoadBalancers[?LoadBalancerName=='wsi-alb'].Type" | |
| aws elbv2 describe-load-balancers \ | |
| --query "LoadBalancers[?LoadBalancerName=='wsi-alb'].AvailabilityZones[].ZoneName" | |
| echo "========== 5-2 ==========" | |
| alb_arn=`aws elbv2 describe-load-balancers \ | |
| --query "LoadBalancers[?LoadBalancerName=='wsi-alb'].LoadBalancerArn" --output text` | |
| aws elbv2 describe-listeners --load-balancer-arn $alb_arn --query "Listeners[].Protocol" | |
| aws elbv2 describe-listeners --load-balancer-arn $alb_arn --query "Listeners[].Port" | |
| echo "========== 5-3 ==========" | |
| alb_dns=`aws elbv2 describe-load-balancers \ | |
| --query "LoadBalancers[?LoadBalancerName=='wsi-alb'].DNSName" --output text` | |
| curl $alb_dns | |
| echo "========== 6-1 ==========" | |
| aws elbv2 describe-target-groups --names wsi-about-tg \ | |
| --query "TargetGroups[].HealthCheckPath" | |
| aws elbv2 describe-target-groups --names wsi-projects-tg \ | |
| --query "TargetGroups[].HealthCheckPath" | |
| echo "========== 6-2 ==========" | |
| about_tg_arn=`aws elbv2 describe-target-groups --names wsi-about-tg \ | |
| --query "TargetGroups[].TargetGroupArn" --output text` | |
| projects_tg_arn=`aws elbv2 describe-target-groups --names wsi-projects-tg \ | |
| --query "TargetGroups[].TargetGroupArn" --output text` | |
| aws elbv2 describe-target-health --target-group-arn $about_tg_arn \ | |
| --query "TargetHealthDescriptions[].TargetHealth.State" | |
| aws elbv2 describe-target-health --target-group-arn $projects_tg_arn \ | |
| --query "TargetHealthDescriptions[].TargetHealth.State" | |
| echo "========== 6-3 ==========" | |
| about_tg_arn=`aws elbv2 describe-target-groups --names wsi-about-tg \ | |
| --query "TargetGroups[].TargetGroupArn" --output text` | |
| projects_tg_arn=`aws elbv2 describe-target-groups --names wsi-projects-tg \ | |
| --query "TargetGroups[].TargetGroupArn" --output text` | |
| aws elbv2 describe-target-health --target-group-arn $about_tg_arn \ | |
| --query "TargetHealthDescriptions[].Target.AvailabilityZone" | |
| aws elbv2 describe-target-health --target-group-arn $projects_tg_arn \ | |
| --query "TargetHealthDescriptions[].Target.AvailabilityZone" | |
| echo "========== 7-1 ==========" | |
| aws cloudfront list-distributions --query "DistributionList.Items[].Id" | |
| aws cloudfront list-distributions --query "DistributionList.Items[].Origins.Items[].DomainName" | |
| echo "========== 7-2 ==========" | |
| cloudfront_url=`aws cloudfront list-distributions --query "DistributionList.Items[].DomainName" \ | |
| --output text` | |
| curl $cloudfront_url/about | |
| curl $cloudfront_url/projects | |
| echo "========== 7-3 ==========" | |
| curl -I -s $cloudfront_url/about | grep X-Cache | |
| curl -I -s $cloudfront_url/projects | grep X-Cache | |
| echo "========== 7-4 ==========" | |
| cloudfront_id=`aws cloudfront list-distributions --query "DistributionList.Items[].Id" --output text` | |
| aws cloudfront get-distribution-config --id $cloudfront_id --query "DistributionConfig.PriceClass" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment