1- name : EC2-DIAGNOSTIC
1+ name : EC2-READ-DEPLOY-LOG
22
33on :
44 workflow_dispatch :
55
66jobs :
7- diagnose :
8- name : Diagnose EC2 Instance
7+ read-log :
8+ name : Read CodeDeploy Logs
99 runs-on : ubuntu-latest
1010
1111 steps :
@@ -16,81 +16,38 @@ jobs:
1616 aws-secret-access-key : ${{ secrets.AWS_PROD_SECRET_KEY }}
1717 aws-region : ap-northeast-2
1818
19- - name : Check IAM identity and permissions
19+ - name : Get deployment lifecycle events
2020 run : |
21- echo "=== IAM μ 보 ==="
22- aws sts get-caller-identity 2>&1 || true
23-
24- echo ""
25- echo "=== IAM μ μ±
νμΈ ==="
26- ACCOUNT=$(aws sts get-caller-identity --query Account --output text 2>/dev/null)
27- USER_NAME=$(aws sts get-caller-identity --query Arn --output text 2>/dev/null | awk -F'/' '{print $NF}')
28- echo "Account: $ACCOUNT"
29- echo "User: $USER_NAME"
30-
31- echo ""
32- echo "=== Attached Policies ==="
33- aws iam list-attached-user-policies --user-name "$USER_NAME" 2>&1 || echo "IAM μ μ±
μ‘°ν κΆν μμ"
34-
35- echo ""
36- echo "=== Inline Policies ==="
37- aws iam list-user-policies --user-name "$USER_NAME" 2>&1 || echo "IAM μΈλΌμΈ μ μ±
μ‘°ν κΆν μμ"
38-
39- - name : CodeDeploy deployment group info
40- run : |
41- echo "=== λ°°ν¬ κ·Έλ£Ή μμΈ ==="
42- aws deploy get-deployment-group \
43- --application-name runnect-prod-codedeploy \
44- --deployment-group-name runnect-prod-codedeploy-group \
45- --output json 2>&1 || echo "λ°°ν¬ κ·Έλ£Ή μ‘°ν μ€ν¨"
46-
47- - name : Latest deployment details
48- run : |
49- echo "=== μ΅κ·Ό λ°°ν¬ λͺ©λ‘ ==="
50- LATEST=$(aws deploy list-deployments \
21+ echo "=== μ΅κ·Ό λ°°ν¬ λͺ©λ‘ (μ΅λ 5κ°) ==="
22+ DEPLOYMENTS=$(aws deploy list-deployments \
5123 --application-name runnect-prod-codedeploy \
5224 --deployment-group-name runnect-prod-codedeploy-group \
53- --query "deployments[0 ]" \
25+ --query "deployments[:5 ]" \
5426 --output text 2>/dev/null)
55- echo "Latest deployment : $LATEST "
27+ echo "Deployments : $DEPLOYMENTS "
5628
57- if [ -n "$LATEST" ] && [ "$LATEST" != "None" ]; then
29+ for DEP_ID in $DEPLOYMENTS; do
5830 echo ""
59- echo "=== λ°°ν¬ μμΈ ==="
60- aws deploy get-deployment --deployment-id "$LATEST" --output json 2>&1
31+ echo "================================================"
32+ echo "=== Deployment: $DEP_ID ==="
33+ echo "================================================"
6134
62- echo ""
63- echo "=== λ°°ν¬ μΈμ€ν΄μ€ λͺ©λ‘ ==="
64- aws deploy list-deployment-instances --deployment-id "$LATEST" -- output json 2>&1 || echo "μΈμ€ν΄μ€ λͺ©λ‘ μ‘°ν μ€ν¨"
35+ aws deploy get-deployment --deployment-id "$DEP_ID" \
36+ --query "deploymentInfo.{status:status, createTime:createTime, completeTime:completeTime, error:errorInformation}" \
37+ -- output json 2>&1
6538
6639 echo ""
67- echo "=== λ°°ν¬ νκ² μμΈ ==="
68- INSTANCE_IDS=$(aws deploy list-deployment-instances --deployment-id "$LATEST" --query "instancesList" --output text 2>/dev/null)
69- for INST in $INSTANCE_IDS; do
70- echo "--- Instance: $INST ---"
71- aws deploy get-deployment-instance --deployment-id "$LATEST" --instance-id "$INST" --output json 2>&1 || echo "μ‘°ν μ€ν¨"
40+ echo "--- Instance lifecycle events ---"
41+ INSTANCES=$(aws deploy list-deployment-instances \
42+ --deployment-id "$DEP_ID" \
43+ --query "instancesList" \
44+ --output text 2>/dev/null)
45+
46+ for INST in $INSTANCES; do
47+ echo "Instance: $INST"
48+ aws deploy get-deployment-instance \
49+ --deployment-id "$DEP_ID" \
50+ --instance-id "$INST" \
51+ --output json 2>&1
7252 done
73- fi
74-
75- - name : Check SSM access
76- run : |
77- echo "=== SSM μΈμ€ν΄μ€ λͺ©λ‘ ==="
78- aws ssm describe-instance-information --output json 2>&1 || echo "SSM κΆν μμ"
79-
80- - name : Try EC2 describe (may fail)
81- run : |
82- echo "=== EC2 μΈμ€ν΄μ€ μ‘°ν μλ ==="
83- aws ec2 describe-instances --output json 2>&1 || echo "EC2 κΆν μμ"
84-
85- echo ""
86- echo "=== Elastic IP μ‘°ν μλ ==="
87- aws ec2 describe-addresses --public-ips 3.35.195.11 2>&1 || echo "Elastic IP μ‘°ν μ€ν¨"
88-
89- echo ""
90- echo "=== 보μ κ·Έλ£Ή μ‘°ν μλ ==="
91- aws ec2 describe-security-groups 2>&1 || echo "보μ κ·Έλ£Ή μ‘°ν μ€ν¨"
92-
93- - name : Check S3 bucket
94- run : |
95- echo "=== S3 λ²ν· νμΈ ==="
96- aws s3 ls s3://runnect-prod-bucket/ 2>&1 || echo "S3 μ κ·Ό μ€ν¨"
53+ done
0 commit comments