개요
Apigee Shadow API Discovery는 기존 클라우드 인프라에서 섀도 API(문서화되지 않은 API라고도 함)를 찾습니다. 섀도 API에는 보안, 모니터링, 유지보수가 적용되지 않을 수 있으므로 시스템에 보안 위험을 야기합니다.
Shadow API 검색을 사용해도 런타임 트래픽에 큰 영향을 미치지 않거나 속도가 느려지지 않습니다. 그러나 관찰된 부하 분산기를 통한 트래픽의 꼬리 지연 시간이 현저하게 영향을 받을 수 있습니다.
이 페이지에서 안내하는 API 관찰 결과 설정 및 조회 방법에서는 Cloud 콘솔의 Apigee UI를 사용합니다. Apigee Management(APIM) API를 사용하여 Shadow API Discovery를 관리할 수도 있습니다. Shadow API Discovery 관리 API를 참조하세요.
Shadow API Discovery 사용 설정
Shadow API Discovery는 Apigee 지능화된 API 보안 부가기능의 일부입니다. Shadow API Discovery용 부가기능은 조직별로 적용됩니다. 구독 고객의 경우 Apigee 조직에서 사용할 수 있습니다. 하지만 사용한 만큼만 지불하는 고객은 하나 이상의 환경에서 부가기능을 사용 설정해야 합니다. Apigee 평가 환경에서는 Shadow API Discovery를 사용할 수 없습니다.
이 기능을 사용하려면 부가기능을 사용 설정해야 합니다. 구독 고객인 경우 조직에 부가기능을 사용 설정할 수 있습니다. 자세한 내용은 구독 조직에 대한 지능화된 API 보안 관리를 참조하세요. 사용한 만큼만 지불하는 고객은 적격 환경에서 부가기능을 사용 설정할 수 있습니다. 자세한 내용은 지능화된 API 보안 부가기능 관리를 참조하세요.
Shadow API Discovery에 필요한 역할 및 권한
아래 표에서는 Shadow API Discovery와 관련된 태스크를 수행하는 데 필요한 역할을 보여줍니다.
작업 | 필요한 역할 |
---|---|
지능화된 API 보안 사용 설정 또는 중지 | Apigee 조직 관리자(roles/apigee.admin) |
관찰 소스 및 작업 만들기 | API 관리 관리자(roles/apim.admin) |
관찰 보기 | API 관리 뷰어(roles/apim.viewer) |
Apigee 콘솔에서 Shadow API Discovery 액세스
Apigee 콘솔에서 Shadow API Discovery에 액세스하려면 다음 안내를 따르세요.
- Cloud 콘솔에서 Apigee UI에 로그인합니다.
- API 관찰 > 섀도 API로 이동합니다.
- 기본 페이지에는 이미 생성된 모든 API 관찰이 표시됩니다. API 관찰 및 관찰 작업 탭을 선택하여 결과 보기와 관찰 작업 만들기 간에 전환합니다.
관찰 작업 만들기
관찰 작업은 Shadow API Discovery가 섀도 API를 찾는 데 필요한 안내를 제공합니다. 다음 단계에 따라 관찰 작업을 만듭니다. 관찰 작업 생성에 적용되는 동작 및 제한사항에 유의하세요.
- 관찰 작업 탭을 선택한 후 관찰 작업 만들기를 클릭합니다.
- 관찰 소스를 하나 이상 선택하거나 필요한 경우 관찰 소스 목록 하단에서 관찰 소스 만들기를 클릭하여 새 소스 위치를 만듭니다. 관찰 소스 생성 프로세스에 몇 분 정도 걸릴 수 있습니다.
관찰 소스에는 다음이 포함됩니다.
소스 이름: 소스를 식별하기 위해 지정하는 이름입니다.
위치: 관찰할 위치입니다. 소스 리전을 많이 포함할수록 인프라 전반에서 더 광범위하게 API를 파악할 수 있습니다. 권장사항을 참조하세요. 한 위치에 관찰 소스를 하나만 만들 수 있습니다.
네트워크 및 서브네트워크: VPC 네트워크 및 서브네트워크입니다. 서브네트워크는 관찰 소스 위치와 동일한 리전에 있어야 합니다. - 관찰 작업을 만듭니다. 위치별로 고유해야 하는 관찰 작업 이름을 제공합니다. 데이터 집계 및 처리가 어디에서 수행될지를 지정하는 위치를 선택합니다. 소스 리전에서 수집된 모든 데이터는 Google의 데이터 상주 정책에 따라 이 리전에서 처리되고 액세스됩니다. 새 관찰 작업을 만드는 데 몇 분 정도 걸릴 수 있습니다.
- 관찰 작업을 사용 설정합니다(선택사항). 작업을 만들 때 작업을 사용 설정할 수 있습니다. 그러면 관찰이 즉시 시작됩니다. 작업을 즉시 사용 설정하지 않는 경우 나중에 관찰 작업 목록에서 관찰 작업을 사용 설정할 수 있습니다.
관찰 작업 사용 설정, 사용 중지, 삭제
기존 관찰 작업의 사용 설정(활성) 여부를 변경하려면 관찰 작업 페이지에서 해당 작업 행의 작업 메뉴에서 사용 설정 또는 사용 중지를 선택합니다.
기존 관찰 작업을 삭제하려면 해당 작업의 작업 메뉴에서 삭제를 선택합니다. 작업을 삭제하면 작업에 연결된 관찰 결과도 삭제되므로, 작업을 중지하면서 결과는 보존하려는 경우 삭제하지 말고 사용 중지하세요. 활성 작업은 삭제할 수 없습니다. 활성 작업을 삭제하려면 먼저 사용 중지해야 합니다.
API 관찰 보기
사용 설정된 관찰 작업에 대한 API 관찰을 보려면 API 관찰 탭을 선택한 후 목록에서 관찰 작업을 선택합니다.
관찰 목록에는 다음 값이 표시됩니다.
- 호스트 이름: API 호스트 이름입니다. 호스트 이름을 클릭하여 관찰 세부정보를 확인합니다.
- API 작업: 관찰된 API 작업(예: GET 또는 PUT 요청) 수입니다.
- 서버 IP: 검색된 API를 호스팅하는 서버의 IP입니다.
- 소스 위치: 트래픽이 관찰된 소스 위치입니다.
- 마지막 이벤트 감지(UTC): API에 대한 가장 최근 요청이 감지된 날짜 및 시간입니다.
- 태그: 사용자 또는 다른 사람이 이 관찰에 라벨을 지정하기 위해 만든 태그 목록입니다. 자세한 내용은 태그 사용을 참조하세요.
- 작업: 각 관찰에 사용 가능한 추가 작업입니다.
관찰 세부정보 보기
관찰 목록에서 호스트 이름을 클릭하면 관찰 세부정보 페이지가 표시됩니다.
이 페이지에는 관찰에 대한 다음 정보가 포함되어 있습니다.
- 페이지 상단의 요약 상자에는 다음 항목이 표시됩니다.
- 검색된 이 API에서 감지된 특정 API 작업의 표. 각 요청에 대해 다음 정보가 표시됩니다.
- 경로: 요청 경로입니다.
- 메서드: 요청 메서드(예: GET, PUT 등)입니다.
- 개수: 해당 경로와 해당 메서드의 요청 수입니다.
- 트랜잭션 요청: 트래픽 데이터의 요청 본문입니다. 이 API 작업의 요청 헤더와 해당 트랜잭션 수를 포함합니다.
- 트랜잭션 응답 헤더: 트래픽 데이터의 응답 헤더입니다. 이 API 작업의 응답 헤더와 해당 트랜잭션 수가 포함됩니다.
- 트랜잭션 응답 코드: 이 API 작업의 응답 코드 및 해당 코드를 사용한 응답의 수입니다.
- 최초 발생 시간(UTC): 이 API 작업에 대한 요청이 처음 관찰된 날짜 및 시간입니다.
- 최근 발생 시간 (UTC): 이 API 작업에 대한 요청이 가장 최근에 관찰된 날짜 및 시간입니다.
태그 사용
태그를 사용하면 관찰 결과를 분류할 수 있습니다. 태그는 메타데이터이며 추적 목적으로만 사용됩니다. 태그는 관찰 결과에서 어떤 것도 변경하지 않으며 어떤 작업도 트리거하지 않습니다. 예를 들어 "확인 필요" 태그를 추가해도 알림이 생성되지는 않습니다. 새 관찰 결과에는 태그가 없습니다.
태그는 다음과 같은 특성을 갖습니다.
- 여러 관찰 결과에 동일한 태그를 추가할 수 있습니다.
- 태그 이름에는 대문자와 소문자, 숫자, 공백을 포함한 특수 문자가 포함될 수 있습니다.
- 태그를 만든 후에는 이름을 변경할 수 없습니다. 이름을 바꾸려면 태그를 삭제하고 다시 만들어야 합니다.
- 모든 관찰 결과에서 태그를 삭제하면 시스템에서 삭제됩니다.
관찰 목록 또는 관찰 세부정보 페이지에서 태그를 관리할 수 있습니다.
API 관찰 목록에서 태그를 관리하려면 다음 안내를 따르세요.
- 관찰 목록 태그 열의 기존 태그를 참조하세요.
- 한 결과의 태그를 관리하려면 해당 결과의 행에 있는 작업 메뉴에서 태그 관리를 선택합니다.
- 하나 이상의 결과에 대한 태그를 동시에 관리하려면 목록에서 여러 결과를 선택한 후 목록 맨 위에서 태그 관리를 선택합니다.
API 관찰 세부정보에서 태그를 관리하려면 다음 안내를 따르세요.
- 태그 섹션에서 기존 태그를 참조하세요.
- 태그를 추가하거나 관리하려면 페이지 맨 위에서 태그 관리를 선택합니다.
태그 관리 측면 패널에서 태그를 추가하려면 기존 태그를 선택하거나 새 태그를 추가합니다. 태그를 삭제하려면 태그를 선택 해제합니다. 저장을 클릭하여 새 태그를 저장합니다.
권장사항
Shadow API Discovery를 사용할 때 다음 권장사항을 따르는 것이 좋습니다.
- 조직의 데이터 상주 규칙에 따라 모든 관련 규정과 법률을 준수하는지 확인하세요.
- 최대한 많은 소스 리전에서 집계하여 최상의 리전 간 상관관계를 도출하세요. 관찰 작업에 소스 리전을 많이 포함할수록 인프라 전반에서 더 광범위하게 API를 파악할 수 있습니다.
동작 및 제한사항
이 섹션에서는 Shadow API Discovery에 적용되는 동작과 제한사항을 보여줍니다.
- Shadow API Discovery를 사용해도 100%의 트래픽이 관찰되거나 모든 섀도 API가 검색된다는 보장은 없습니다.
- Shadow API Discovery에서는 Google Cloud 인프라에서만 섀도 API를 찾습니다.
- Shadow API Discovery는 현재 리전 애플리케이션 부하 분산기만 지원합니다.
- Shadow API Discovery는 gRPC가 아닌 HTTP 프로토콜 API를 찾습니다.
- 경고: Shadow API Discovery는 프로젝트당 하나의 네트워크에서 부하 분산기를 지원합니다. 여러 네트워크가 있는 프로젝트에서 Shadow API Discovery를 사용 설정하면 예기치 않은 동작이 나타날 수 있습니다.
- 경고: Shadow API Discovery를 사용 설정하면 프로젝트의 모든 네트워크에서 부하 분산기 호출의 지연 시간이 증가할 수 있습니다.
- 새로 사용 설정된 관찰 작업에서 트래픽이 감지되기까지 최대 60분이 걸릴 수 있습니다.
- 관찰 대상 프로젝트에서 부하 분산기를 통해 트래픽이 전달되어야 섀도 API를 감지할 수 있습니다. Shadow API Discovery에서 트래픽 볼륨에 따라 최소 몇 분에서 몇 시간 동안 트래픽을 감지해야 합니다. 트래픽이 희소하면 더 오래 관찰해야 결과가 제공됩니다.
- 리전별로 관찰 소스는 하나, 관찰 작업은 최대 3개로 제한됩니다. 관찰 작업이 3개를 초과하면 Google Cloud Customer Care에 문의하여 사용 사례를 논의하세요.
- 관찰 작업을 생성, 사용 중지, 삭제할 수는 있지만 수정은 불가능합니다. 관찰 작업을 변경해야 하는 경우 삭제하고 다시 만드세요.
- 현재는 Shadow API Discovery 작업에 일부 리전만 지원됩니다. 이 요청이 지원되는 리전 목록을 참조하세요.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" https://apim.googleapis.com/v1alpha/projects/{PROJECT}/locations