Created
November 15, 2025 10:22
-
-
Save ninejuan/0b0a91dbcbc7d78e8be1197a41c271e1 to your computer and use it in GitHub Desktop.
2021 National 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 | |
| ### ------------------------------------------------------------------------------------------ | |
| ### 본 파일은 21-national-1-mark.pdf의 채점 스크립트를 한번에 실행할 수 있도록 모아둔 파일입니다. | |
| ### 일부 스크립트는 오류로 인해 수정되었을 수 있으나, 해당 스크립트는 출제자의 의도에서 전혀 변경되지 않았음을 밝힙니다. | |
| ### 2021년 전국기능경기대회 과제 배포파일에는 mark.sh가 포함되지 않았습니다. | |
| ### ------------------------------------------------------------------------------------------ | |
| read -p "" participant_number | |
| read -p "" random_string | |
| echo "==================== 1-1. VPC ====================" | |
| 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-private-a --query "Subnets[].CidrBlock" | |
| echo "==================== 1-3. HA 구성 ====================" | |
| 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-private-b --query "Subnets[].AvailabilityZone" | |
| echo "==================== 1-4. 게이트웨이 ====================" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=wsi-private-a-rt --query "RouteTables[].Routes[].NatGatewayId" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=wsi-private-b-rt --query "RouteTables[].Routes[].NatGatewayId" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=wsi-public-rt --query "RouteTables[].Routes[].GatewayId" | |
| echo "==================== 2-1. hosting 파일 확인 ====================" | |
| echo "manual" | |
| echo "aws s3 ls s3://wsi-${participant_number}-${random_string}-web-static" | |
| echo "==================== 2-2. artifact 확인 ====================" | |
| echo "manual" | |
| echo "aws s3 ls s3://wsi-${participant_number}-${random_string}-artifactory" | |
| echo "==================== 2-3. 다운로드 권한 확인 ====================" | |
| echo "manual" | |
| echo "==================== 3-1. 인스턴스 생성 확인 ====================" | |
| aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-bastion-ec2 --query 'Reservations[].Instances[].InstanceId' | |
| echo "==================== 3-2. Public IP 확인 ====================" | |
| aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-bastion-ec2 --query "Reservations[].Instances[].PublicIpAddress" | |
| aws ec2 describe-addresses --query "Addresses[].PublicIp" | |
| echo "==================== 4-1. Cloud Front 생성 확인 ====================" | |
| aws cloudfront list-distributions --query "DistributionList.Items[].Id" | |
| echo "==================== 4-2. S3 origin ====================" | |
| aws cloudfront list-distributions --query "DistributionList.Items[].Origins.Items[]" | jq ".[].DomainName" | grep s3 | |
| echo "==================== 4-3. LB Origin ====================" | |
| aws cloudfront list-distributions --query "DistributionList.Items[].Origins.Items[]" | jq ".[].DomainName" | grep elb | |
| echo "==================== 4-4. Edge Type 확인 ====================" | |
| echo "manual" | |
| echo "aws cloudfront list-distributions --query \"DistributionList.Items[].Id\"" | |
| echo "aws cloudfront get-distribution-config --id <2nd ID> --query \"DistributionConfig.PriceClass\"" | |
| echo "==================== 5-1. Request 확인 ====================" | |
| aws cloudfront list-distributions --query "DistributionList.Items[].DomainName" | |
| echo "manual" | |
| echo "==================== 5-2. Response 확인 ====================" | |
| echo "manual" | |
| echo "==================== 5-3. Default Response 확인 ====================" | |
| echo "manual" | |
| echo "==================== 6-1. 로드밸런서 생성 확인 ====================" | |
| aws elbv2 describe-load-balancers --names "wsi-web-api-alb" --query "LoadBalancers[].Scheme" | |
| aws elbv2 describe-load-balancers --names "wsi-web-api-alb" --query "LoadBalancers[].Type" | |
| echo "==================== 6-2. Request 확인 ====================" | |
| echo "manual" | |
| echo "aws elbv2 describe-load-balancers --names "wsi-web-api-alb" --query \"LoadBalancers[].DNSName\"" | |
| echo "curl <DNS Name>/health" | |
| echo "==================== 6-3. 보안 설정 확인 ====================" | |
| echo "manual" | |
| echo "aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-web-api-asg --query \"Reservations[].Instances[].PrivateIpAddress\"" | |
| echo "timeout 10 curl http://<ip>:8080/health" | |
| echo "==================== 7-1. 오토스케일링 그룹 생성 확인 ====================" | |
| aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names wsi-web-api-asg --query "AutoScalingGroups[].Instances[].HealthStatus" | |
| echo "==================== 7-2. HA 확인 ====================" | |
| aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names wsi-web-api-asg --query "AutoScalingGroups[].AvailabilityZones" | |
| aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names wsi-web-api-asg --query "AutoScalingGroups[].MinSize" | |
| echo "==================== 7-3. auto scaling 정책 확인 ====================" | |
| aws autoscaling describe-policies --auto-scaling-group-name wsi-web-api-asg --query "ScalingPolicies[].AutoScalingGroupName" | |
| echo "==================== 7-4. scale up 확인 ====================" | |
| echo "manual" | |
| echo "==================== 7-5. 자동화 확인 ====================" | |
| echo "manual" | |
| echo "==================== 8-1. 로그 그룹 생성 확인 ====================" | |
| aws logs describe-log-groups --log-group-name-prefix /aws/ec2/wsi --query "logGroups[].storedBytes" | |
| echo "==================== 8-2. 로그 레코드 확인 ====================" | |
| echo "manual" | |
| echo "==================== 8-3. 로그 스트림 확인 ====================" | |
| aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names wsi-web-api-asg --query "AutoScalingGroups[].Instances[].InstanceId" | |
| aws logs describe-log-streams --log-group-name '/aws/ec2/wsi' --query "logStreams[].logStreamName" | |
| echo "==================== 9-1. Dash Board 생성 확인 ====================" | |
| echo "manual" | |
| echo "==================== 9-2. 서버 에러 메트릭 확인 ====================" | |
| echo "manual" | |
| echo "==================== 9-3. 오토스케일링 그룹 메트릭 확인 ====================" | |
| echo "manual" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment