AWS 계정 연결하기
AWS 계정을 연결하면 Alpacon이 EC2 인스턴스를 탐색하고, 선택 시 에이전트까지 설치할 수 있습니다. 설정은 AWS CloudFormation으로 계정에 IAM 역할을 생성하는 마법사로 진행됩니다.
시작하기 전에
- IAM 역할과 Lambda 함수를 생성하는 CloudFormation 스택을 만들 권한이 필요합니다(예: 관리자). 스택을 생성하기 전에 Quick Create 페이지에서 CloudFormation이 이름이 지정된 IAM 리소스를 만들 수 있다는 항목에 동의하세요.
- 서버 등록 토큰을 미리 준비하세요(마법사 진행 중에 생성할 수도 있습니다). 토큰은 온보딩된 서버가 배정될 그룹을 결정하며 에이전트 설치에 필요합니다.
연결 단계
클라우드 계정 페이지에서 AWS 연결을 클릭하고 마법사를 따릅니다.
- 계정 이름 지정: 계정의 표시 이름을 입력합니다. AWS SSM을 통한 에이전트 원격 설치 허용 여부를 선택하고, 사용할 서버 등록 토큰을 선택합니다.
- Quick Create URL 생성: AWS Console 열기를 클릭하면 스택이 미리 채워진 상태로 AWS CloudFormation이 열립니다. 스택 이름은 계정마다 달라서
AlpaconConnect-뒤에 Alpacon에서 이 계정의 ID(계정 페이지 주소 끝의 ID) 앞 8자리가 붙습니다. 그래서 같은 AWS 계정과 리전에서 두 번째 계정을 연결해도 첫 번째 스택과 이름이 겹치지 않습니다. 컨트롤 플레인 리전은us-east-1입니다. AWS에서 스택을 생성합니다. - 연결 검증: Alpacon 탭을 열어 둡니다. Alpacon이 CloudFormation 스택 생성 완료를 기다린 뒤 IAM 역할을 정상적으로 수임할 수 있는지 확인합니다. 표시되는 단계는 스택 제출 → 스택 생성 → IAM 역할 수임 → 연결 검증 순입니다. 검증에 실패하면 검증 재시도를 하거나 삭제 후 다시 시작할 수 있습니다.
- 인스턴스 탐색: Alpacon이 EC2 인벤토리 동기화를 시작하고 리전별로 발견된 인스턴스를 실시간으로 보여줍니다. 탐색은 일부 리전을 빠뜨린 채 끝나거나, 오류로 멈추거나, 아무 응답 없이 끝날 수도 있습니다. 어느 쪽인지는 화면에 표시되며 다시 스캔하기로 한 번 더 시도할 수 있습니다.
Alpacon이 받는 권한
CloudFormation 스택은 Alpacon에 AlpaconCrossAccountRole- 뒤에 스택 ID(CloudFormation에 표시되는 스택 ID 끝부분의 UUID)를 붙인 이름의 역할을 부여하므로, 연결마다 고유한 역할이 생성됩니다. 이전 버전의 템플릿으로 연결한 계정은 접미사 없는 AlpaconCrossAccountRole을 그대로 씁니다. 이 역할의 권한은 다음과 같습니다.
- EC2 인벤토리 조회(필수): 모든 리전의 인스턴스, 리전, 태그를 조회합니다.
- AWS SSM을 통한 에이전트 설치(선택): 설치 명령을 전송해 인스턴스를 원클릭으로 온보딩합니다.
AWS 계정에서 CloudFormation 스택을 삭제하면 언제든 권한을 회수할 수 있습니다.
문제 해결
검증 실패: CloudFormation 스택 생성이 완료됐는지, IAM 역할의 신뢰 정책이 유지되는지 확인하세요. 검증 재시도를 사용하거나 스택을 삭제하고 마법사를 다시 실행하세요. 권한 오류는 AWS CloudTrail에서 확인할 수 있습니다.
탐색에 실패했어요: 탐색이 끝까지 가지 못해 미처 훑지 못한 인스턴스가 빠져 있습니다. AWS가 돌려준 원인이 화면에 그대로 표시되며, 대개 IAM 역할에 권한이 빠져 있습니다. 역할을 고친 뒤 다시 스캔하기를 누르세요. 탐색이 끝내 되지 않으면 서버 등록 토큰으로 서버를 직접 등록할 수 있습니다.
일부 리전을 건너뛰었어요: 탐색은 끝났지만 일부 리전을 읽지 못해, 그 리전의 인스턴스가 목록에서 빠져 있습니다. 건너뛴 리전과 이유가 화면에 함께 표시됩니다. 계정에서 활성화하지 않은 리전이거나 IAM 역할이 읽을 수 없는 리전인 경우가 많습니다. 리전을 활성화하거나 권한을 준 뒤 다시 스캔하기를 누르세요.
탐색 응답이 오지 않았어요: 계정은 연결됐지만 탐색이 끝났다는 신호가 오지 않아, 인스턴스가 있는지 아직 알 수 없습니다. 인스턴스가 없는 계정과는 다른 상태입니다. 다시 스캔하기를 누르세요.
계정이 실패로 표시됨: 탐색이 세 번 연속 실패하면 Alpacon이 계정을 실패로 표시하고 더 이상 스캔하지 않습니다. 이 상태에서는 다시 스캔하기가 거부되므로, 계정을 열고 실패 배너의 검증 다시 시도를 눌러 되돌려야 합니다. 되돌리면 실패 횟수가 초기화되고 탐색도 자동으로 다시 시작됩니다. 화면에 나온 원인을 먼저 고치지 않으면 이어지는 탐색도 같은 이유로 실패합니다. 실패했더라도 인스턴스를 찾은 탐색은 횟수를 0으로 되돌리고, 인스턴스가 없는 계정을 오류 없이 훑은 탐색도 마찬가지입니다.