클라우드 계정 관리

클라우드 계정 페이지에는 연결된 모든 AWS 계정이 나열됩니다. 계정을 열어 상태를 확인하고, 설정을 조정하고, 연결을 관리하세요.

계정 목록

각 계정에는 이름과 AWS 계정 ID, 공급자(AWS), 원격 명령(SSM) 활성화 여부, 연결 상태, 소유자, 최근 동기화 시각이 표시됩니다.

계정 상태는 다음 중 하나입니다.

  • 활성: 연결되어 동기화 중.
  • 대기 중 / 검증 중: 연결을 설정하거나 검증하는 중.
  • 실패: AWS가 역할 수임을 거부하면 계정이 실패로 바뀝니다. 거부는 연결 직후 첫 검증이나 이후 검증 다시 시도를 사용한 검증에서 일어날 수도 있고, 탐색에서 역할 수임 자체가 거부되거나 모든 리전이 거부되거나 리전 목록 조회가 거부된 상태가 3회 연속 이어질 때 일어날 수도 있습니다. 인스턴스를 여전히 찾은 탐색은 거부 횟수를 초기화합니다. 일시적인 문제(AWS 쓰로틀링, AWS 장애, 타임아웃, Alpacon 쪽 자격 증명 문제)는 계정을 실패로 만들지 않습니다. Alpacon은 오류만 기록하고 계속 진행하며, 연결 직후의 첫 검증만 문제가 계속될 때 몇 차례 자동으로 다시 시도한 뒤 실패로 바뀝니다. 이 상태에서는 Alpacon이 계정을 더 이상 스캔하지 않으므로, 연결 화면에 나온 원인을 고친 뒤 실패한 계정 복구에 따라 계정을 되돌리세요. AWS 계정 연결하기도 참고하세요.
  • 비활성: 연결이 꺼진 상태.

계정 설정

계정을 열어 구성을 확인합니다.

  • 에이전트 자동 프로비저닝: 새로 탐색된 인스턴스에 에이전트를 자동으로 설치합니다.
  • 에이전트 원격 설치: AWS SSM을 통한 에이전트 설치를 허용합니다. Alpacon에서 기능을 켜는 설정일 뿐이며, AWS 쪽 권한은 별개입니다. 자세한 내용은 원격 명령 권한을 참고하세요.
  • 동기화 주기: Alpacon이 인벤토리를 새로고침하는 주기입니다(기본 5분).
  • 등록 토큰: 인스턴스 온보딩에 사용되는 서버 등록 토큰입니다.

편집을 클릭하면 이 설정들을 변경하거나 백그라운드 탐색(동기화 활성화)을 일시 중지할 수 있습니다.

계정 상세 페이지에는 인스턴스 현황 요약(전체 인스턴스 수, 에이전트 설치 수, 대기 수)과 부여된 IAM 역할도 표시됩니다. 역할 이름은 AlpaconCrossAccountRole- 뒤에 스택 ID를 붙인 형태이며, 연결마다 고유합니다. 이전 버전의 템플릿으로 연결한 계정은 접미사 없는 AlpaconCrossAccountRole을 그대로 씁니다.

원격 명령 권한

AWS SSM으로 에이전트를 설치하려면 계정의 IAM 역할에 권한이 있어야 합니다. 이 권한은 계정의 CloudFormation 스택 매개변수 EnableRemoteCommand로 정해지며, 스택을 만들 때 고정됩니다. 나중에 Alpacon에서 에이전트 원격 설치를 켜도 AWS에서 권한이 부여되지는 않습니다.

계정 상세 페이지의 AWS 스택 권한 항목에 권한 상태와 마지막으로 확인한 시각이 표시됩니다. 상태는 다음 중 하나입니다.

  • 아직 확인 전: 설치 시도로 권한 유무가 확인된 적이 없습니다.
  • 허용됨: 역할이 원격 명령을 실행할 수 있습니다.
  • 거부됨: IAM 역할 자체에 권한이 없어 AWS가 설치를 거부한 상태입니다.

Alpacon은 이 권한을 스스로 시험하지 않으므로 AWS CloudTrail에 거부된 호출이 쌓이지 않습니다. 실제 설치 시도를 통해 상태를 파악합니다.

원격 명령이 켜져 있고 상태가 거부됨이면 AWS SSM을 통한 설치가 개별 인스턴스, 일괄 설치, 자동 프로비저닝 모두에서 차단되며 해결 방법이 표시됩니다. API는 오류 코드 cloud_remote_command_permission_missing을 반환합니다. SSH 수동 설치는 IAM 역할을 사용하지 않으므로 계속 사용할 수 있습니다.

서비스 제어 정책(SCP), 권한 경계, 명시적 거부 등 IAM 역할 외부의 제한 때문에 AWS가 설치를 거부할 수도 있습니다. 이때도 설치는 같은 오류 코드로 실패하지만 권한 상태는 바뀌지 않습니다. 설치 진행 창에는 스택 대신 해당 인스턴스와 리전에 적용되는 정책을 확인하라는 안내가 표시됩니다. 권한 상태가 거부됨이면 스택이 원인이고, 다른 상태라면 대상 인스턴스에 적용되는 정책이 원인입니다.

나중에 활성화하려면 다음 순서로 진행합니다.

  1. AWS에서 계정의 CloudFormation 스택을 업데이트해 EnableRemoteCommand를 true로 바꿉니다.
  2. 상태가 거부됨일 때 계정 소유자나 관리자는 다시 확인을 클릭할 수 있습니다. 이 버튼은 다시 확인할 권한이 있는 멤버에게만 해당 상태에서 표시됩니다. 에이전트 원격 설치를 껐다가 다시 켜도 됩니다. 상태가 아직 확인 전으로 돌아가고, 다음 설치 때 권한을 다시 확인합니다.

다시 확인하는 기능은 API POST /api/cloud/accounts/{id}/recheck-remote-command/로도 제공되며, API 토큰으로 호출하려면 cloud_account:recheck_remote_command 스코프가 필요합니다.

동기화와 검증

  • 지금 동기화: 다음 예약 동기화를 기다리지 않고 즉시 인벤토리를 새로고침합니다.
  • 자격 증명 검증: Alpacon이 계정의 IAM 역할을 수임할 수 있는지 다시 확인합니다. 실패한 계정에서는 이 버튼 대신 실패 배너에서 같은 확인을 합니다(아래 참고). CloudFormation 콜백을 아직 받지 못한 대기 중 계정에서는 사용할 수 없으니, 콜백을 기다리거나 연결 마법사를 이어서 진행하세요.

이 계정의 스택 찾기

계정마다 AWS에 CloudFormation 스택이 하나씩 있고, 이름은 AlpaconConnect- 뒤에 계정 상세 페이지 주소 끝에 있는 ID의 앞 8자리를 붙인 것입니다. 같은 AWS 계정과 리전에서 연결한 다른 계정의 스택은 접미사가 다르므로, 삭제하기 전에 접미사가 맞는지 확인하세요. 계정마다 스택 이름을 따로 붙이기 전에 연결한 계정은 접미사 없는 AlpaconConnect를 씁니다.

실패한 계정 복구

계정이 실패하면 계정 페이지에 배너가 뜨고, 마지막 오류가 있으면 그 내용과 함께 복구 방법 두 가지가 표시됩니다. AWS에 무엇이 남아 있는지 보고 고르세요.

  • 검증 다시 시도: AWS에 IAM 역할이 아직 남아 있을 때 씁니다. Alpacon이 같은 역할을 다시 확인하고, 확인에 성공하면 계정이 다시 활성 상태가 되며 탐색도 자동으로 시작됩니다.
  • 다시 연결: CloudFormation 스택이나 IAM 역할이 없어졌을 때 씁니다. 먼저 AWS에서 이 계정의 스택을 삭제하세요. 새 스택도 같은 스택 이름과 IAM 역할 이름을 쓰므로, 이전 스택이 남아 있으면 AWS가 새 스택을 만들지 않습니다. 확인하면 계정은 대기 중 상태로 돌아가고 현재 자격 증명은 지워지며, 연결 마법사가 Quick Create 단계에서 열립니다. 새 스택은 같은 AWS 계정에서 만들어야 하고, 다른 AWS 계정으로는 다시 연결할 수 없습니다.

계정 연결 해제

계정 연결 해제를 클릭하고 확인합니다. 계정 동기화가 멈추고, 이 계정의 인스턴스는 인스턴스 인벤토리에서 사라집니다. AWS의 EC2 인스턴스는 그대로이고, 이미 온보딩한 서버도 Alpacon에서 계속 동작합니다. Alpacon의 접근을 완전히 회수하려면 AWS 계정에서 이 계정의 CloudFormation 스택을 삭제하세요.

관련 문서

최종 수정: