본문 바로가기

AWS

[AWS] ECS, EKS AI 트러블슈팅 방법 with Amazon Q

Amazon ECS와 Amazon EKS 콘솔에 Amazon Q Developer 기반 트러블슈팅(Inspect with Amazon Q) 기능이 추가되었습니다. 콘솔에서 오류/경고가 보이는 지점에 버튼이 “문맥적으로” 붙고, 클릭하면 오른쪽 패널에서 원인 분석과 완화(가이드) 제안을 받는 방식입니다.

 

동작 방식 요약

  • ECS 콘솔: Task/Task Definition/Deployment 등에서 Status reason(상태 사유) 를 눌렀을 때 뜨는 팝오버에서 Inspect with Amazon Q로 진입합니다. Q가 관련 로그/메트릭을 모아 원인과 해결 옵션을 제시합니다.
  • EKS 콘솔: Observability dashboard 전반(Cluster health, Control plane, Upgrade insights, Node health, Workloads)에 통합되어, 이슈 옆의 Inspect with Amazon Q로 분석을 엽니다. 결과는 콘솔 오른쪽 채팅 패널에 표시됩니다.
  • 공통 제약:
    • 정상(Healthy) 상태에는 버튼이 잘 안 보입니다. 이슈/경고/오류가 있어야 노출되는 형태입니다.
    • Read-only 기반으로, Q 통합 자체가 클러스터/서비스 구성을 “자동으로 바꾸는” 동작은 하지 않습니다.
    • 콘솔에서만 제공되고 CLI/API/IaC에는 동일 형태로 제공되지 않습니다.
    • 분석 과정에서 크로스 리전 처리가 발생할 수 있습니다.

사전 준비

1) 리전 확인

AWS What’s New 기준으로, 이 콘솔 트러블슈팅 경험은 모든 AWS 상용(Commercial) 리전에서 사용 가능합니다.

2) IAM 권한 준비

(A) ECS/EKS 리소스 “조회” 권한

문제 원인을 볼 대상 리소스(클러스터/서비스/태스크/태스크 정의 등) 조회 권한이 필요합니다.
EKS도 동일하게, 콘솔에서 클러스터/대시보드를 볼 수 있어야 버튼을 확인할 수 있습니다.

(B) Amazon Q Developer(콘솔) 사용 권한

콘솔에서 Q와 채팅을 하려면 다음 권한이 필요합니다.

  • q:StartConversation
  • q:SendMessage
  • q:GetConversation (콘솔)
  • q:ListConversations (콘솔)

운영 환경에서는 보통 “콘솔 접속 역할(role)”에 위 권한을 포함시키는 방식이 무난했습니다. 아래는 최소 권한입니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowAmazonQChatInConsole",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations"
      ],
      "Resource": "*"
    }
  ]
}

참고로, Amazon Q는 권한 문서에서 q:PassRequest 같은 권한도 설명하는데, 이는 “Q가 사용자 권한으로 AWS API를 대리 호출”하는 성격이라 범위를 신중하게 제한하는 것이 좋습니다.

(C) (권장) 로그/메트릭 조회 권한

ECS 문서에서 CloudWatch Logs/CloudWatch 조회 권한을 권장합니다.

 

ECS 콘솔에서 설정 및 사용 방법

1) 접근 방법

  • Tasks: Cluster → Tasks → 특정 Task 선택
  • Containers: Cluster → Tasks → Task 선택 → Containers 섹션에서 컨테이너 선택
  • Services/Deployments: Cluster → Services → Service 선택 → Deployments 확인
  • Task definitions: Task definitions → family → revision 선택

2) Inspect with Amazon Q 버튼 노출

리소스 상세 화면에서 status/health reason을 찾아 해당 문구를 클릭하면 팝오버가 뜨고, 여기서 Inspect with Amazon Q Developer 옵션이 보이는 형태입니다.

3) 문제 해결

  • 리소스가 Healthy면 버튼이 안 보일 수 있습니다(오류/경고 상황에서만 노출)
  • 권한이 없으면 채팅 시작 단계에서 IAM 에러가 날 수 있으니, 최소 채팅 액션(위 4개)을 먼저 확인하는 편이 빠릅니다.
  • CloudWatch 권한이 없으면 “원인”는 나오더라도 로그/메트릭 근거가 부족할수 있습니다(문서에서 권장으로 명시).

EKS 콘솔에서 설정 및 사용 방법

1) Observability dashboard

  • Cluster health
  • Control plane
  • Upgrade insights
  • Node health
  • Workloads(파드 이벤트 기반)

2) 사용 방법

  1. EKS 콘솔에서 클러스터를 선택합니다.
  2. 오류/경고/이슈 지표가 보이면, 옆(또는 상세 뷰)에 나타나는 Inspect with Amazon Q를 찾습니다.
  3. 클릭하면 Q가 자동 분석하고, 결과가 오른쪽 채팅 패널에 표시됩니다.
  4. 결과(원인/완화 단계)를 보고, 필요하면 후속 질문으로 범위를 좁힙니다.

3) 크로스 리전 처리 유의사항

EKS 문서에서도 크로스 리전 처리를 “고려사항”으로 언급하고 있고, Q 문서에서는 크로스 리전 inference/calls가 어떤 의미인지 설명합니다.
보안/컴플라이언스가 민감한 조직이라면, 데이터가 어느 지리(geography) 안에서 처리되는지와, 크로스 리전 호출을 막았을 때 기능 제약이 생기는지를 먼저 정책으로 정리하는 편이 안전합니다.

 

비용

  • Amazon Q는 별도의 Amazon Q 가격/구독 체계가 있습니다.
  • 그리고 로그/메트릭을 확인하는 과정에서 CloudWatch 등 기존 리소스 사용량은 환경에 따라 비용이 달라질 수 있으니(특히 로그 보존/수집량), 운영 관점에서는 “Q 버튼이 생겼다”와 별개로 관측 비용을 같이 점검하는 편이 안전합니다.