콘텐츠로 이동

M6. 정리 — cleanup

실습이 끝나면 워크샵에서 만든 리소스를 반드시 정리해 주세요. Bedrock 모델 호출과 CloudWatch 적재는 종료 후에도 잔여 과금이 발생할 수 있고, Runtime·Gateway·Memory 같은 관리형 리소스는 삭제할 때까지 프로비저닝된 상태로 남습니다.

정리 절차는 세 단계입니다.

  1. setup/cleanup.sh로 CLI/API 리소스를 역순 일괄 삭제합니다.
  2. 콘솔에서 리소스가 실제로 사라졌는지 눈으로 확인합니다.
  3. Bedrock API 키를 삭제합니다 (콘솔 또는 CLI — 스크립트는 안내만 합니다).

setup/cleanup.sh는 us-east-1 기준으로 아래 역순 삭제 체크리스트를 그대로 실행합니다. 각 단계는 || true가 붙어 있어 이미 지워진 리소스가 있어도 다음 단계로 넘어갑니다 (재실행 안전).

  1. Memory 삭제 (M3) — MEMORY_ID가 있으면 delete-memory.
  2. Gateway 타겟 삭제 (M2) — TARGET_IDS 각각에 대해 delete-gateway-target.
  3. Gateway 삭제 (M2) — 타겟 삭제 폴링 후 delete-gateway.
  4. Gateway 서비스 롤 삭제aiops-security-gateway-service-role.
  5. Runtime + CLI 프로젝트 정리 안내 (M1) — agentcore remove all && agentcore deploy.
  6. 모의 보안 로그 CFN 스택 삭제aiops-workshop-security.
  7. Bedrock API 키 credential provider 삭제aiops-bedrock-api-key.
  1. 필요한 ID를 환경변수로 준비합니다.

    Terminal window
    export MEMORY_ID="<M3 setup_memory.py 출력>"
    export GATEWAY_ID="<M2 setup_gateway.py 출력>"
    export TARGET_IDS="<M2 타겟 ID들, 공백 구분 — log-query-tools + web-search>"

    확인 명령:

    Terminal window
    aws bedrock-agentcore-control list-gateways --region us-east-1
    aws bedrock-agentcore-control list-gateway-targets \
    --gateway-identifier "${GATEWAY_ID}" --region us-east-1
    aws bedrock-agentcore-control list-memories --region us-east-1
  2. 스크립트를 실행합니다.

    Terminal window
    bash setup/cleanup.sh

    [1/7] ... [7/7] 로그가 순서대로 출력되고, 마지막에 “완료. 남은 수동 정리:” 안내(CloudWatch 로그 그룹 + Bedrock API 키)가 보이면 스크립트 실행은 끝났습니다. 타겟 삭제 단계에서 “타겟 삭제 대기 중…“이 한두 번 보이는 것은 비동기 삭제를 기다리는 정상 동작입니다.

  3. Runtime과 로컬 프로젝트 리소스를 정리합니다.

    스크립트의 [5/7] 단계 안내대로, M1에서 만든 AgentCore CLI 프로젝트 디렉토리 안에서 다음 2단계를 실행합니다. agentcore destroy 명령은 존재하지 않으며, 공식 정리 패턴은 remove all 후 deploy 재실행입니다.

    Terminal window
    cd aiopstriageagent
    agentcore remove all
    agentcore deploy

    agentcore remove all은 프로젝트 설정을 리셋할 뿐이고, 이어지는 agentcore deploy가 빈 구성을 반영하면서 AWS 리소스(Runtime·관련 CloudFormation 스택)를 실제로 tear down합니다. deploy까지 실행하지 않으면 Runtime이 계정에 그대로 남습니다.

  4. CloudWatch 로그 그룹을 삭제합니다.

    Runtime·Lambda의 로그 그룹은 리소스를 지워도 남습니다. 잔여 과금의 주범이므로 워크샵 로그 그룹을 찾아 지워 주세요.

    Terminal window
    aws logs describe-log-groups --region us-east-1 \
    --query "logGroups[?contains(logGroupName, 'fashion') || contains(logGroupName, 'aiops') || contains(logGroupName, 'bedrock-agentcore')].logGroupName"
    # 하나씩 삭제 — 대상 예:
    # /fashion/waf, /fashion/alb, /fashion/app-auth,
    # /fashion/oracle-audit, /fashion/apg-pgaudit (M0 CFN)
    # /aws/lambda/aiops-log-query, /aws/lambda/aiops-seed-logs
    # /aws/bedrock-agentcore/runtimes/<agent-id>-DEFAULT (M1 Runtime)
    aws logs delete-log-group --log-group-name <로그 그룹 이름> --region us-east-1

2. 콘솔에서 수동 확인 (체크리스트)

섹션 제목: “2. 콘솔에서 수동 확인 (체크리스트)”
리소스 콘솔 위치 확인 포인트
AgentCore Runtime Bedrock AgentCore > Agents M1 에이전트가 목록에 없어야 합니다.
AgentCore Gateway Bedrock AgentCore > Gateway M2 Gateway와 타겟 두 개(log-query-tools, web-search)가 없어야 합니다.
AgentCore Memory Bedrock AgentCore > Memory aiops_investigation_memory가 없어야 합니다.
AgentCore Identity Bedrock AgentCore > Identity > Credential providers aiops-bedrock-api-key가 없어야 합니다.
AgentCore Evaluations CloudWatch > GenAI Observability > Bedrock AgentCore > Evaluations 온라인 평가 설정이 있다면 삭제되었는지 확인.
IAM 롤 IAM > Roles aiops-security-gateway-service-role, CLI가 만든 AgentCore-aiops... 실행 롤이 없어야 합니다.
CloudFormation 스택 CloudFormation > Stacks aiops-workshop-security 스택이 DELETE_COMPLETE.
Lambda Lambda > Functions 모의 조회 Lambda(aiops-log-query 등)가 스택 삭제와 함께 사라졌는지 확인.
CloudWatch 로그 그룹 CloudWatch > Log groups fashion / aiops / bedrock-agentcore가 이름에 든 로그 그룹이 남아 있지 않아야 합니다.

cleanup.sh는 마지막 단계에서 credential provider만 지우고, IAM service-specific credential(실제 키)은 안내만 합니다. 실습이 끝나면 M0에서 발급한 long-term API 키를 반드시 삭제해 주세요.

Terminal window
# 본인 키 ID 확인 (ServiceName이 bedrock.amazonaws.com인 항목 중 M0 발급 키)
aws iam list-service-specific-credentials --user-name <본인 사용자 이름>
aws iam delete-service-specific-credential \
--user-name <본인 사용자 이름> \
--service-specific-credential-id <위에서 확인한 ID>

콘솔로 삭제:

  1. Amazon Bedrock 콘솔을 엽니다: https://console.aws.amazon.com/bedrock
  2. 왼쪽 탐색에서 API keys를 선택합니다.
  3. Long-term API keys 탭에서 워크샵용으로 발급한 키를 찾습니다.
  4. 해당 키를 선택하고 Delete를 눌러 삭제합니다.

어느 쪽으로 지웠든, 로컬 셸의 환경변수도 초기화합니다.

Terminal window
unset BEDROCK_API_KEY GATEWAY_URL GATEWAY_ID MEMORY_ID TARGET_IDS

M0의 안내대로, 워크샵 편의 정책은 실습이 끝나면 분리(detach)해 두시길 권장합니다.

Terminal window
aws iam detach-user-policy \
--user-name <본인 사용자 이름> \
--policy-arn arn:aws:iam::<계정 ID>:policy/aiops-workshop-participant
# 정책 자체를 지우려면
aws iam delete-policy \
--policy-arn arn:aws:iam::<계정 ID>:policy/aiops-workshop-participant
  • setup/cleanup.sh를 실행했고 7단계 로그가 모두 출력되었습니다.
  • M1 프로젝트에서 agentcore remove allagentcore deploy까지 실행해 Runtime이 tear down되었습니다.
  • CLI가 만든 Runtime 실행 롤(AgentCore-aiops...)이 IAM에 남지 않았습니다.
  • 워크샵 CloudWatch 로그 그룹(/fashion/*, /aws/lambda/aiops-*, Runtime 로그)이 삭제되었습니다.
  • 콘솔 체크리스트의 모든 리소스가 목록에서 사라졌습니다 (Memory·Gateway·Runtime·Identity credential provider 포함).
  • Bedrock long-term API 키를 콘솔 또는 CLI로 삭제했습니다.
  • aiops-workshop-participant 정책을 사용자/역할에서 분리했습니다 (M0에서 만든 경우).

여기까지 마치시면 워크샵 리소스가 모두 정리된 상태입니다. 수고하셨습니다.