Skip to content

Instantly share code, notes, and snippets.

@ninejuan
Last active October 15, 2025 02:15
Show Gist options
  • Select an option

  • Save ninejuan/ffaf1473cae34cf56d9be9838cb123ed to your computer and use it in GitHub Desktop.

Select an option

Save ninejuan/ffaf1473cae34cf56d9be9838cb123ed to your computer and use it in GitHub Desktop.
2023 Local 1 Leaked mark sh
#!/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