Last active
October 15, 2025 02:15
-
-
Save ninejuan/ffaf1473cae34cf56d9be9838cb123ed to your computer and use it in GitHub Desktop.
2023 Local 1 Leaked 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-leaked-mark.pdf의 채점 스크립트를 한번에 실행할 수 있도록 모아둔 파일입니다. | |
| ### 2023년 지방기능경기대회 유출과제 배포파일에는 mark.sh가 포함되지 않았습니다. | |
| ### 또한, 오류가 있거나 Deprecate 된 명령어는 현재 버전에 맞게 수정하였습니다. | |
| ### 단, 채점기준표에서 의도하는대로 수정하였으므로 참고해주시기 바랍니다. | |
| ### --------------------------------------------------------------------------- | |
| echo "=============== 1-1. VPC CIDR ===============" | |
| aws ec2 describe-vpcs --filter Name=tag:Name,Values=jnc-vpc --query "Vpcs[].CidrBlock" | |
| echo "=============== 1-2. private a cidr ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=private-a --query \ | |
| "Subnets[].CidrBlock" | |
| echo "=============== 1-3. private b cidr ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=private-b --query \ | |
| "Subnets[].CidrBlock" | |
| echo "=============== 1-4. private c cidr ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=private-c --query \ | |
| "Subnets[].CidrBlock" | |
| echo "=============== 1-5. public a cidr ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=public-a --query \ | |
| "Subnets[].CidrBlock" | |
| echo "=============== 1-6. public b cidr ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=public-b --query \ | |
| "Subnets[].CidrBlock" | |
| echo "=============== 1-7. public c cidr ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=public-c --query \ | |
| "Subnets[].CidrBlock" | |
| echo "=============== 1-8. A zone subnet ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=public-a --query \ | |
| "Subnets[].AvailabilityZone" | |
| echo "=============== 1-9. B zone subnet ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=public-b --query \ | |
| "Subnets[].AvailabilityZone" | |
| echo "=============== 1-10. C zone subnet ===============" | |
| aws ec2 describe-subnets --filter Name=tag:Name,Values=public-c --query \ | |
| "Subnets[].AvailabilityZone" | |
| echo "=============== 1-11. IGW 구성 확인 ===============" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=public-rt \ | |
| --query "RouteTables[].Routes[].GatewayId" | |
| echo "=============== 1-12. NAT GW 구성 확인 ===============" | |
| aws ec2 describe-route-tables --filter Name=tag:Name,Values=private-rt-a \ | |
| --query "RouteTables[].Routes[].NatGatewayId" | |
| echo "=============== 2-1. Bastion EC2 생성 ===============" | |
| aws ec2 describe-instances --filter Name=tag:Name,Values=Bastion \ | |
| --query "Reservations[].Instances[].InstanceId" | |
| echo "=============== 2-2. Bastion EC2 EIP 구성 ===============" | |
| aws ec2 describe-instances --filter Name=tag:Name,Values=Bastion \ | |
| --query "Reservations[].Instances[].PublicIpAddress" | |
| aws ec2 describe-addresses --query "Addresses[].PublicIp" | |
| echo "=============== 3-1. dummy app api 호출 ===============" | |
| echo "manual" | |
| echo "kubectl -n skills get pods | grep dummy | head -n 1" | |
| echo "kubectl exec -n skills -it dummy-xxyyzz11-abc" | |
| echo "curl -I -X GET http://localhost:8080/v1/dummy" | |
| echo "=============== 3-2. dummy app health 호출 ===============" | |
| echo "manual" | |
| echo "curl -I -X GET http://localhost:8080/health" | |
| echo "=============== 3-3. api app api 호출 ===============" | |
| echo "manual" | |
| echo "kubectl -n skills get pods | grep api | head -n 1" | |
| echo "kubectl exec -n skills -it api-xxyyzz11-abc sh" | |
| echo "curl -I -X GET http://localhost:8080/v1/api" | |
| echo "=============== 3-4. api app health 호출 ===============" | |
| echo "manual" | |
| echo "curl -I -X GET http://localhost:8080/health" | |
| echo "=============== 4-1. dummy ECR 확인 ===============" | |
| aws ecr describe-repositories --repository-name dummy --query \ | |
| "repositories[].repositoryName" | |
| echo "=============== 4-2. dummy image tag 확인 ===============" | |
| aws ecr list-images --repository-name dummy --query "imageIds[].imageTag" | |
| echo "=============== 4-3. api ECR 확인 ===============" | |
| aws ecr describe-repositories --repository-name api --query \ | |
| "repositories[].repositoryName" | |
| echo "=============== 4-4. api image tag 확인 ===============" | |
| aws ecr list-images --repository-name api --query "imageIds[].imageTag" | |
| echo "=============== 5-1. dummy service 로드밸런싱 확인 ===============" | |
| echo "manual" | |
| echo "kubectl -n skills get pods | grep dummy | head -n 1" | |
| echo "kubectl exec -n skills -it dummy-xxyyzz11-abc sh" | |
| echo "curl -I -X GET http://api.skills.svc.cluster.local/health" | |
| echo "=============== 5-2. api service 로드밸런싱 확인 ===============" | |
| echo "manual" | |
| echo "kubectl -n skills get pods | grep api | head -n 1" | |
| echo "kubectl exec -n skills -it api-xxyyzz11-abc sh" | |
| echo "curl -I -X GET http://dummy.skills.svc.cluster.local/health" | |
| echo "=============== 5-3. dummy NLB 로드밸런싱 확인 ===============" | |
| echo "manual" | |
| echo "curl http://<dummy nlb>/health" | |
| echo "=============== 5-4. api NLB 로드밸런싱 확인 ===============" | |
| echo "manual" | |
| echo "curl http://<api nlb>/health" | |
| echo "=============== 6-1. dummy kube deployment 생성 확인 ===============" | |
| kubectl get -n skills deployment | |
| echo "=============== 6-2. api kube deployment 생성 확인 ===============" | |
| kubectl get -n skills deployment | |
| echo "=============== 6-3. eks version 확인 ===============" | |
| aws eks describe-cluster --name skills-cluster --query "cluster.version" | |
| echo "=============== 6-4. eks logging 확인 ===============" | |
| aws eks describe-cluster --name skills-cluster --query "cluster.logging.clusterLogging" | |
| echo "=============== 6-5. k8s namespace 확인 ===============" | |
| kubectl get namespace | |
| echo "=============== 6-6. dummy kube service 확인 ===============" | |
| kubectl get -n skills service | |
| echo "=============== 6-7. api kube service 확인 ===============" | |
| kubectl get -n skills service | |
| echo "=============== 6-8. docker user 확인 ===============" | |
| echo "manual" | |
| echo "kubectl -n skills get pods | grep dummy | head -n 1" | |
| echo "kubectl exec -n skills -it dummy-xxyyzz11-abc sh" | |
| echo "whoami" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment