그래프 탐색기
그래프 탐색기
그래프 탐색기를 사용해 쿼리를 실행하고 사용자 지정 필터를 적용해서 인프라를 이해할 수 있어요. 그래프 탐색기에 접근하려면 HCP 조직의 왼쪽 탐색 패널에서 Graph explorer를 클릭하세요.
출처: 문서
본문
쿼리 실행
탐색기 보기에서는 다음 방법으로 쿼리를 실행할 수 있어요.
- 쿼리 빌더 UI 사용하기.
- JSON 쿼리 실행하기.
쿼리 빌더 사용
Infragraph는 인벤토리의 리소스 목록에서 쿼리를 빌드하는 UI를 제공해요. UI를 사용해 쿼리를 빌드하려면 다음 단계를 완료하세요.
- Graph explorer로 이동하세요.
- Add resource type을 클릭하세요.
- Resource types 목록에서 탐색(traversal)의 루트로 사용할 노드 유형을 선택하세요.
- 선택적으로 특정 Source type을 선택하세요. 예를 들어 Virtual Machine 리소스 유형을 선택하거나 더 정확하게 AWS EC2 Instance를 선택할 수 있어요.
- Add as resource type을 클릭하세요.
- Add conditional relationship or filter를 클릭해 다른 노드 유형과 그 관계를 선택하거나, 기존 노드 결과를 필터링할 속성을 선택하세요.
JSON 쿼리 실행
Infragraph는 쿼리를 코드로 작성할 수 있는 JSON 기반 쿼리 언어를 제공해요. 그래프 탐색기에서 JSON 쿼리를 실행하려면 다음 단계를 완료하세요.
- Clear query 버튼 옆의
</>버튼을 클릭하세요. - 텍스트 상자에 쿼리를 작성하세요.
- 텍스트 상자 밖을 클릭해 쿼리를 실행하세요.
전체 JSON 쿼리 언어 명세는 Infragraph 쿼리 언어 레퍼런스 문서를 참고하세요.
쿼리 저장
쿼리 빌더로 쿼리를 만든 후 저장해서 쿼리 카탈로그에 추가할 수 있어요. 쿼리를 저장하려면 다음 단계를 완료하세요.
- Graph explorer에서 쿼리 위의 Save를 클릭하세요.
- Name과 선택적인 Description을 입력하세요.
- Save to query catalog를 클릭하세요.
그래프 보기
리소스 그래프는 리소스 간의 관계를 시각화해요. 이 그래프는 관련 리소스 사이에 선을 그려 환경을 이해하는 데 도움을 줘요. 리소스 노드를 클릭해 세부 정보를 검사할 수 있어요.
Infragraph는 리소스 지형을 다음 방식으로 시각화할 수 있어요.
- Force directed: 관계가 가까운 서로 다른 리소스를 자동으로 클러스터링해요.
- Stacked by type: 리소스를 유형에 따라 세로로 쌓아 클러스터링해요.
- Radial: 리소스를 원형으로 배치해 연결 볼륨과 연결이 많은 허브를 강조해요.
Force directed
이 모드를 사용해 리소스가 서로 어떻게 관련되는지 이해할 수 있어요.
이 그래프는 한 리전의 가상 머신과 연결된 EC2 볼륨을 사용 중인 서브넷과 VPC에 따라 매핑해요. 보기 영역에서의 분포는 리소스가 서로 얼마나 밀접하게 관련되는지 대략적으로 보여줘서, 활성화하는 워크로드에 따라 서브넷과 VPC를 이해하는 데 도움을 줘요.
Stacked by type
이 모드를 사용해 쿼리 결과에서 리소스의 상대적 분포를 이해할 수 있어요.
이 그래프는 한 리전의 가상 머신과 연결된 EC2 볼륨을 사용 중인 서브넷과 VPC에 따라 매핑해요. 보기 영역에서의 분포는 VPC와 서브넷 리소스를 다른 리소스와 분리해서 특정하기 쉽게 도와줘요.
Radial 보기
이 모드를 사용해 연결을 나란히 비교하고 연결이 많은 의존성을 즉시 식별할 수 있어요.
이 그래프는 인프라 리소스를 원의 바깥 둘레를 따라 배치하고 중심을 가로지르는 연결선을 그려요. 이 레이아웃은 중요한 리소스를 찾아내고 서로 다른 리소스나 리소스 유형 간의 관계 볼륨과 분포를 비교하는 데 도움을 줘요.
테이블 보기
Table을 클릭해 리소스 이름과 데이터 소스를 나열하는 테이블로 결과를 표시하세요. 리소스의 이름을 클릭해 리소스 세부 정보를 검사하세요.
연결된 리소스의 테이블을 반환해 리소스 간 의존성을 이해할 수도 있어요.
예시 소스 쿼리
이 페이지의 이미지에 있는 예시는 다음 쿼리로 생성했어요.
{
"edge": {
"absent": false,
"edgeTypes": [
"CONTAINS"
],
"nodeQuery": {
"edge": {
"absent": false,
"edgeTypes": [
"CONTAINS"
],
"nodeQuery": {
"edge": {
"absent": false,
"edgeTypes": [
"CONTAINS"
],
"nodeQuery": {
"edge": {
"absent": false,
"edgeTypes": [
"ATTACHES_TO"
],
"direction": "INCOMING",
"nodeQuery": {
"edge": {
"absent": false,
"edgeTypes": [
"CONTAINS"
],
"direction": "INCOMING",
"nodeQuery": {
"node": {
"unifiedTypes": [
"ZONE"
]
}
}
},
"node": {
"unifiedTypes": [
"VOLUME"
]
}
}
},
"node": {
"unifiedTypes": [
"VIRTUAL_MACHINE"
]
}
}
},
"node": {
"unifiedTypes": [
"SUBNET"
]
}
}
},
"node": {
"unifiedTypes": [
"VIRTUAL_NETWORK"
]
}
}
},
"node": {
"unifiedTypes": [
"REGION"
]
}
}
더 알아보기 (Learn more)
- Infragraph 보기 — 인벤토리와 리소스 세부 정보 검사 방법을 알아봐요.
- Infragraph 쿼리 언어 레퍼런스 — JSON 쿼리 언어의 전체 명세를 살펴봐요.
- Infragraph 예시 쿼리 — 실용적인 JSON 쿼리 예시를 확인해 봐요.