Customer Edge에 접속하기
네 가지 경로가 모두 작동하며, 그중 어떤 경로가 적용되는지는 선호가 아니라 노드의 상태, 접속하는 위치, 그리고 접근해야 하는 대상에 따라 결정됩니다.
| 경로 | 노드 ONLINE 필요 | 네트워크 도달성 필요 | 제한 | 다루는 범위 |
|---|---|---|---|---|
| 디버그 API | 예 | 예 | 새 사이트에서 약 25~30분의 준비 시간 | 34개 명령 |
| Site Console | 아니요 | Azure Bastion을 통해, 점프 호스트 불필요 | Bastion은 터널링을 지원하는 Standard SKU여야 하며, 기본적으로 배포되지 않음 | F5의 노드 트러블슈팅 UI |
| SSH | 아니요 | VNet 내부에서, 내부 주소로만 | 첫 부팅 시점부터 키가 존재해야 함 | 전체 온박스 Site CLI |
| 시리얼 콘솔 | 아니요 | 아니요 | VM당 세션 1개; 2,048자 붙여넣기 제한 | 전체 온박스 Site CLI |
시리얼 콘솔은 최후의 수단이며, 작동하는 네트워크 경로가 전혀 없는 노드에서도 유일하게 살아남는 경로입니다.
보통 Site Console을 먼저 시도하는 것이 좋습니다. 요구 사항이 가장 적습니다 —
배포할 SSH 키도, 점프 호스트도, 노드의 공용 IP도, VM 교체도 필요하지 않습니다.
접근이 자격 증명 배포 문제가 아니라 Azure RBAC 결정의 문제가 되기 때문입니다.
명령 인터페이스가 아니라 F5 자체의 트러블슈팅 UI를 제공하므로, 특정 명령을 실행하거나
무언가를 스크립트화해야 할 때는 이 경로를 넘어서야 합니다. 유일한 전제 조건은 Azure Bastion이며,
Standard SKU 호스트는 누군가 터널을 열든 열지 않든 요금이 부과되기 때문에 이 배포에서는 선택 사항
(enable_bastion, 기본값 false)으로 두었습니다.
디버그 API로 충분하지 않을 때 선택할 경로는 SSH입니다. 어플라이언스는 해당 API가 노출하는 34개보다
훨씬 많은 명령을 제공하기 때문입니다. 여기에는 두 가지 비용이 따릅니다. 키는 cloud-init에 의해
작성되므로 첫 부팅 시점에 존재해야 하며, 이는 실행 중인 노드에서 이를 활성화하면 모든 CE VM이
교체된다는 뜻입니다 — 구성 변경이 아니라 플릿 재구축입니다. 또한 sshd는 노드의 내부 주소에서만
응답하므로 VNet 내부의 호스트가 필요합니다. 여러분이 알고 있는 노드 주소를 프로빙하면 항상 닫혀 있다고
보고됩니다.
이 구분이 선호의 문제가 아닌 이유
섹션 제목: “이 구분이 선호의 문제가 아닌 이유”디버그 API는 F5 Distributed Cloud 컨트롤 플레인에서 제공되며, 등록 과정에서 vpm이 수립한
터널을 통해 노드로 중계됩니다. 등록이 없으면 터널이 없고, 터널이 없으면 API가 중계할 대상이 없습니다.
그리고 이는 명확한 방식이 아니라 도움이 되지 않는 방식으로 실패하므로, 애초에 기동되지 않은 노드가 API 문제처럼 보이게 됩니다.
시리얼 콘솔은 완전히 반대 방향으로 갑니다 — Azure 플랫폼을 통해 노드의 에뮬레이트된 시리얼 포트로 연결됩니다. 노드가 등록되었는지, 네트워크 도달성이 있는지, 데이터 플레인이 작동하는지는 전혀 상관하지 않습니다. 그 독립성이 바로 핵심이며, CE VM에서 부팅 진단을 계속 활성화해 두어야 하는 이유입니다.
자격 증명
섹션 제목: “자격 증명”각 경로는 서로 다른 자격 증명을 사용하며, 그중 어느 것도 명령줄에 올려서는 안 됩니다.
- 디버그 API — F5 Distributed Cloud API 토큰을
XCSH_API_TOKEN으로, 테넌트 URL을XCSH_API_URL로 지정합니다.~/.config/xcsh/contexts/<tenant>.json의xcsh컨텍스트 파일이 둘 다 보관하며, 환경 변수가 제공되지 않을 때scripts/capture-sitecli.sh가 읽는 대상입니다. 이 배포의 테넌트는 **f5-sales-demo**입니다. 다른 테넌트용으로 발급된 토큰은 만료된 자격 증명처럼 보이는 단순한401을 반환합니다. - Site Console — 서로 다른 계층에 있는 두 가지 자격 증명입니다. 대화형 Azure 로그인이 Bastion
터널을 열고, 그 뒤에 있는 콘솔에는 어플라이언스 자체의
admin계정이 HTTP Basic으로 로그인합니다. Azure 측은 VM, 그 NIC, 그리고 Bastion 호스트에 대한 Reader 권한이 필요하다고 Microsoft가 명시하고 있습니다. 다만 이 요구 사항은 여기서 검증되지 않았습니다 — 모든 테스트가 구독 소유자로 실행되었기 때문입니다. - SSH — 배포가 첫 부팅 시
/var/home/admin/.ssh/authorized_keys에 공개 키를 기록한 키페어의 개인 키와, 내부 주소로 접근할 VNet 내부의 호스트입니다.azureuser가 아니라admin으로 접속하십시오. - 시리얼 콘솔 — 대화형 Azure 로그인입니다. 이를 위한 서비스 주체는 없습니다. F5 사내 Entra 테넌트가 서비스 주체 프로비저닝을 허용하지 않으며, 이것이 이 작업의 어떤 부분도 CI에서 실행되지 않는 이유이기도 합니다.