이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서 보기
apigee-remote-service-cli
명령줄 인터페이스(CLI)는 Envoy용 Apigee 어댑터를 프로비저닝하고 관리하는 데 도움이 됩니다.
binding 명령어
binding은 Istio 메시에 배포된 서비스를 Apigee API 제품과 연결합니다. CLI를 통해 binding을 생성, 삭제, 나열, 확인할 수 있습니다.
결합 나열
원격 서비스에 binding되는 모든 API 제품을 나열합니다.
사용
Apigee Hybrid의 경우:
apigee-remote-service-cli bindings list -o [organization] -e [environment] -t [token] -r [runtime]
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 플래그를 사용하면 CLI가 구성 파일에서 명령어 매개변수를 직접 가져올 수 있으므로 대부분의 다른 명령어 매개변수를 생략할 수 있습니다. --config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
--legacy
|
Apigee Cloud를 사용하는 경우 이 플래그를 설정합니다. Edge Cloud의 관리 및 런타임 URL을 설정합니다. | |
--opdk
|
프라이빗 클라우드용 Apigee를 사용하는 경우 이 플래그를 설정합니다. | |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-p, --password
|
문자열 | (기본 인증에만 필요 - 하이브리드에서는 사용할 수 없음) Apigee 비밀번호입니다. 선택적으로 .netrc 파일에 비밀번호를 지정할 수 있습니다. 이 경우 명령줄에 비밀번호를 제공할 필요가 없습니다. 사용자 인증 정보에 .netrc 사용도 참조하세요.
|
-r, --runtime
|
문자열 | 하이브리드 구성에서 정의된 가상 호스트의 hostAlias 가 포함된 URL입니다. URL은 https:// 으로 시작해야 합니다.
예를 들면 https://apitest.apigee-hybrid-docs.net 입니다.
|
-t, --token
|
문자열 | (필수)액세스 토큰입니다. |
-u, --username
|
문자열 | (기본 인증에만 필요 - 하이브리드에서는 사용할 수 없음) Apigee 사용자 이름(일반적으로 이메일 주소)입니다.
선택적으로 .netrc 파일에 사용자 이름을 지정할 수 있습니다. 이 경우 명령줄에 사용자 이름을 제공할 필요가 없습니다. 사용자 인증 정보에 .netrc 사용도 참조하세요.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
apigee-remote-service-cli bindings list -o myorg -e test -c config.yaml \ -r $RUNTIME -t $TOKEN PI Products ============ Bound ----- envoy-test: Quota: 5 requests every 1 minute Target bindings: httpbin.org Paths: httpbin: Quota: 5 requests every 1 minute Target bindings: httpbin.org Paths: /httpbin / Unbound ------- product-1: Quota: 100 requests every 1 hour product-2: Quota: 1000 requests every 1 month product-3: product-4:
binding 확인
지정된 결합 API 제품 및 관련 개발자 앱에도 원격 서비스 제품이 연결되어 있는지 확인합니다. API 제품 이름을 지정하지 않으면 명령어는 모든 binding된 제품을 확인합니다.
사용
Apigee Hybrid의 경우:
apigee-remote-service-cli bindings verify [product_name] -o [organization] -e [environment] -r [runtime] -t [token]
여기서 product_name
은 선택사항입니다. 제품 이름을 지정하지 않으면 binding된 모든 제품이 선택됩니다.
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 플래그를 사용하면 CLI가 구성 파일에서 명령어 매개변수를 직접 가져올 수 있으므로 대부분의 다른 명령어 매개변수를 생략할 수 있습니다. --config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
--legacy
|
Apigee Cloud를 사용하는 경우 이 플래그를 설정합니다. Edge Cloud의 관리 및 런타임 URL을 설정합니다. | |
--opdk
|
프라이빗 클라우드용 Apigee를 사용하는 경우 이 플래그를 설정합니다. | |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-r, --runtime
|
문자열 | 하이브리드 구성에서 정의된 가상 호스트의 hostAlias 가 포함된 URL입니다. URL은 https:// 으로 시작해야 합니다.
예를 들면 https://apitest.apigee-hybrid-docs.net 입니다.
|
-t, --token
|
문자열 | (필수)액세스 토큰입니다. |
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
/apigee-remote-service-cli bindings verify my_product -o $ORG -e $ENV \ -c config.yaml -r $RUNTIME -t $TOKEN Verifying apps associated with product my-product: app my-app associated with product my-product is verified
도움말 명령어
모든 apigee-remote-service-cli
명령어에 온라인 도움말이 제공됩니다. 다음을 입력하세요.
apigee-remote-service-cli help
모든 명령어에 대한 도움말을 보려면 다음을 입력합니다.
apigee-remote-service-cli [command] help
예를 들면 다음과 같습니다.
apigee-remote-service-cli provision help
프로비저닝 명령어
apigee-remote-service-cli provision
명령어는 Apigee 조직에 프록시를 설치하고, 인증서를 설정하고, Envoy용 Apigee 어댑터를 구성하는 데 필요한 사용자 인증 정보를 생성합니다.
사용
Apigee Hybrid의 경우:
apigee-remote-service-cli provision -o $ORG -e $ENV -r $RUNTIME -t $TOKEN
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
--analytics-sa
|
문자열 | 이 플래그를 사용하여 서비스 계정에 Apigee Analytics Agent 역할이 있는 Google Cloud 서비스 계정 키 파일에 대한 경로를 지정합니다. 이 SA는 어댑터가 Apigee에 분석 데이터를 직접 업로드하기 위해 사용됩니다. Apigee Hybrid를 사용하는 경우 이 옵션을 통해 한 클러스터에 하이브리드 런타임을 설치하고 다른 클러스터에 어댑터를 설치할 수 있습니다. 이 플래그는 Google Cloud 설치 시 Apigee Hybrid 및 Apigee에서만 사용할 수 있습니다.
|
-c, --config
|
문자열 | Apigee 원격 서비스 구성 파일의 경로입니다. --config 옵션 사용도 참조하세요.
|
-e, --environment
|
문자열 | (필수) 조직의 환경입니다. |
-f, --force-proxy-install
|
(선택사항) 조직에 remote-service 프록시가 이미 설치된 경우 강제로 이를 다시 설치합니다.
|
|
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
-k, --key
|
문자열 | apigee-remote-service-cli provision 명령어에서 반환된 키를 지정합니다. |
--legacy
|
Apigee Edge(관리 및 런타임 URL 설정)입니다. | |
-m, --management
|
문자열 | (Apigee Private Cloud를 사용하는 경우 필수) Apigee 관리 기준 URL입니다.
기본값: https://api.enterprise.apigee.com
|
-n, --namespace
|
문자열 | 지정된 네임스페이스에서 Envoy ConfigMap으로 구성을 내보냅니다. 기본값: apigee |
--opdk
|
문자열 | 프라이빗 클라우드용 Apigee를 사용하는 경우 이 플래그를 설정합니다. |
-o, --organization
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-p, --password
|
문자열 | (기본 인증에만 필요 - 하이브리드에서는 사용할 수 없음) Apigee 비밀번호입니다. 선택적으로 .netrc 파일에 비밀번호를 지정할 수 있습니다. 이 경우 명령줄에 비밀번호를 제공할 필요가 없습니다. 사용자 인증 정보에 .netrc 사용도 참조하세요.
|
--rotate-int
|
정수 | n > 0인 경우 새 비공개 키를 생성하고 n개의 공개 키를 보관합니다(하이브리드만 해당). |
-r, --runtime
|
문자열 | 하이브리드 구성에서 정의된 가상 호스트의 hostAlias 가 포함된 URL입니다. URL은 https:// 으로 시작해야 합니다.
예를 들면 https://apitest.apigee-hybrid-docs.net 입니다.
|
-s, --secret
|
문자열 | apigee-remote-service-cli provision 명령어에서 반환된 보안 비밀을 지정합니다. |
--strength
|
정수 | (선택사항) 어댑터 프로비저닝에 사용된 SSL 인증서의 암호화 강도를 지정합니다. 기본값: 2048. |
-t, --token
|
문자열 | Apigee OAuth 또는 SAML 토큰입니다. |
-u, --username
|
문자열 | (기본 인증에만 필요 - 하이브리드에서는 사용할 수 없음) Apigee 사용자 이름(일반적으로 이메일 주소)입니다.
선택적으로 .netrc 파일에 사용자 이름을 지정할 수 있습니다.
사용자 인증 정보에 .netrc 사용도 참조하세요.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. | |
--virtual-hosts
|
문자열 | 기본 가상 호스트를 재정의합니다. |
--years
|
정수 | (선택사항) 프로비저닝에 사용된 SSL 인증서가 만료되기 전의 연수입니다. 기본값: 1 |
예시
다른 Envoy용 Apigee 어댑터 작업의 입력으로 사용되는 파일의 provision
명령어 출력을 캡처해야 합니다.
다음은 Apigee Hybrid 예시입니다.
apigee-remote-service-cli provision --organization $ORG --environment $ENV --runtime $RUNTIME \ --namespace $NAMESPACE --token $TOKEN > config.yaml
샘플 명령어
샘플 구성 파일 만들기
기본 Envoy 또는 Istio 배포를 위한 샘플 구성 파일을 만듭니다.
사용
apigee-remote-service-cli samples create [flags]
설명
이 명령어를 사용하려면 프로비저닝을 통해 생성되는 유효한 config.yaml
파일이 필요합니다.
기본적으로 샘플 파일은 ./samples
라는 디렉터리에 출력됩니다. 이 디렉터리는 이 명령어로 자동으로 생성됩니다.
기본 Envoy를 사용하는 경우 명령어에 대상 서비스 호스트 및 원하는 클러스터 이름이 사용됩니다. 또한 tls.key
및 tls.crt
가 포함된 폴더가 --tls
를 통해 제공되는 경우 Envoy 프록시에서 원격 서비스 클러스터로의 커스텀 SSL 연결이 설정됩니다.
Envoy 프록시가 사이드카로 작동하는 Istio를 사용하는 경우, 대상을 지정하지 않으면 httpbin
예시가 생성됩니다. 그렇지 않으면 대상 서비스 배포와 관련된 구성 파일을 준비해야 합니다.
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 플래그를 사용하면 CLI가 구성 파일에서 명령어 매개변수를 직접 가져올 수 있으므로 대부분의 다른 명령어 매개변수를 생략할 수 있습니다. --config 옵션 사용을 참조하세요.
|
-f, --force
|
기존 디렉터리를 강제로 덮어씁니다. | |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--host
|
대상 서비스 호스트(기본값 'httpbin.org') | |
-n, --name
|
대상 서비스 이름(기본값 'httpbin') | |
--out
|
샘플 구성 파일을 만들 디렉터리입니다. 기본값: ./samples
|
|
-t, --template
|
템플릿 이름입니다. Istio 배포를 수행하는 경우(하이브리드만 해당) 사용 가능한 Istio 옵션 중 하나를 선택합니다. 기본 Envoy 배포를 위한 기본 옵션을 사용합니다. 사용 가능한 옵션은 다음과 같습니다.
|
|
--tls
|
TLS 키와 crt 파일을 저장할 디렉터리입니다. |
예
apigee-remote-service-cli samples create -c ./config.yaml
사용 가능한 템플릿 옵션 나열
--templates
매개변수와 함께 사용할 수 있는 옵션을 나열합니다.
사용
apigee-remote-service-cli samples templates
매개변수
없음.
예
apigee-remote-service-cli samples templates
Supported templates (native is deprecated): envoy-1.14 envoy-1.15 envoy-1.16 istio-1.5 istio-1.6 istio-1.7 istio-1.8 native
토큰 명령어
API 키를 사용하는 대신 JWT 토큰을 사용하여 인증된 API 프록시 호출을 수행할 수 있습니다. 토큰 명령어를 사용하면 이 목적으로 JWT 토큰을 생성, 검사, 순환할 수 있습니다.
JWT 토큰 만들기
JWT 토큰을 사용하여 원격 서비스 대상에 인증된 API 프록시 호출을 수행할 수 있습니다. JWT 기반 인증 사용도 참조하세요.사용
Apigee Hybrid의 경우:apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 플래그를 사용하면 CLI가 구성 파일에서 명령어 매개변수를 직접 가져올 수 있으므로 대부분의 다른 명령어 매개변수를 생략할 수 있습니다. --config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-r, --runtime
|
문자열 | 하이브리드 구성에서 정의된 가상 호스트의 hostAlias 가 포함된 URL입니다. URL은 https:// 으로 시작해야 합니다.
예를 들면 https://apitest.apigee-hybrid-docs.net 입니다.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
출력
성공하면 다음과 비슷한 JST 토큰 출력이 표시됩니다.eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q
JWT 토큰 검사
이 명령어로 JWT 토큰을 검사할 수 있습니다. 토큰 검사도 참조하세요.사용
Apigee Hybrid의 경우:apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 플래그를 사용하면 CLI가 구성 파일에서 명령어 매개변수를 직접 가져올 수 있으므로 대부분의 다른 명령어 매개변수를 생략할 수 있습니다. --config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-r, --runtime
|
문자열 | 하이브리드 구성에서 정의된 가상 호스트의 hostAlias 가 포함된 URL입니다. URL은 https:// 으로 시작해야 합니다.
예를 들면 https://apitest.apigee-hybrid-docs.net 입니다.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
apigee-remote-service-cli token inspect -c config.yaml <<< $TOKEN
출력
성공하면 다음과 비슷한 출력이 표시됩니다.{ "aud": [ "remote-service-client" ], "exp": 1591741549, "iat": 1591740649, "iss": "https://apigee-docs-test.apigee.net/remote-service/token", "jti": "99325d2e-6440-4278-9f7f-b252a1a79e53", "nbf": 1591740649, "access_token": "VfzpXzBGAQ07po0bPMKY4JgQjus", "api_product_list": [ "httpbin" ], "application_name": "httpbin", "client_id": "GYDGHy5TRpV8AejXCOlreP7dPVepA8H", "developer_email": "user@example.com", "scope": "" } verifying... token ok.
JWT 토큰 순환
JWT를 처음 생성한 후 어느 정도 지나면 Apigee에서 저장된 공개 키/비공개 키 쌍을 암호화된 키-값 맵(KVM)으로 변경해야 할 수 있습니다. 새 키 쌍을 생성하는 이 프로세스를 키 순환이라고 합니다. 키를 순환하면 새 비공개/공개 키 쌍이 생성되고 Apigee 조직/환경의 'istio' KVM에 저장됩니다. 또한 이전 공개 키는 원래 키 ID 값과 함께 보관됩니다.사용
Apigee Hybrid의 경우
apigee-remote-service-cli token rotate-cert -o [organization] -e [environment] -t [token] -r [runtime] -k [provision_key] -s [provision_secret] --kid [new_key_id]
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 플래그를 사용하면 CLI가 구성 파일에서 명령어 매개변수를 직접 가져올 수 있으므로 대부분의 다른 명령어 매개변수를 생략할 수 있습니다. --config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
--truncate
|
정수 | jwks에 보관할 인증서의 수(기본값: 2) |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-r, --runtime
|
문자열 | 하이브리드 구성에서 정의된 가상 호스트의 hostAlias 가 포함된 URL입니다. URL은 https:// 으로 시작해야 합니다.
예를 들면 https://apitest.apigee-hybrid-docs.net 입니다.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
출력
certificate successfully rotated
사용자 인증 정보에 .netrc 사용
Edge Public Cloud를 사용하고 머신api.enterprise.apigee.com
에 항목이 있는 경우 apigee-remote-service-cli
가 홈 디렉터리의 .netrc
파일에서 username
및 password
(기본 인증이 필요한 경우)를 자동으로 선택합니다. Apigee Private Cloud를 사용하는 경우 머신 값은 management
URL과 동일합니다(예: http://192.162.55.100
).
Edge Public Cloud의 예시는 다음과 같습니다.
machine api.enterprise.apigee.com login jdoe@google.com password abc123
machine http://192.162.55.100 login jdoe@google.com password abc123
버전 명령어
CLI 버전을 표시합니다.
apigee-remote-service-cli version
--config
명령어 옵션 사용
--config
옵션은 provision
명령어로 생성된 구성 파일의 위치를 지정합니다. 이 옵션에는 CLI가 구성 파일에서 가져오는 대부분의 다른 명령어 매개변수를 생략할 수 있다는 유용한 이점이 있습니다.
이러한 옵션에는 다음과 같은 항목이 포함됩니다.
- 조직
- 환경
- 런타임
- management
- 안전하지 않음
- 네임스페이스
- legacy
- opdk
예를 들어 다음과 같이 provision
명령어를 실행할 수 있습니다.
apigee-remote-service-cli provision --config='old-config.yaml' > new-config.yaml
구성 파일
이 섹션에서는 사용 가능한 모든 옵션이 포함된 구성 파일의 예시를 보여줍니다.
global: temp_dir: /tmp/apigee-istio keep_alive_max_connection_age: 1m api_address: :5000 metrics_address: :5001 tls: cert_file: tls.crt key_file: tls.key tenant: internal_api: https://istioservices.apigee.net/edgemicro remote_service_api: https://org-test.apigee.net/remote-service org_name: org env_name: env key: mykey secret: mysecret client_timeout: 30s allow_unverified_ssl_cert: false products: refresh_rate: 2m analytics: legacy_endpoint: false file_limit: 1024 send_channel_size: 10 collection_interval: 10s fluentd_endpoint: apigee-udca-myorg-test.apigee.svc.cluster.local:20001 tls: ca_file: /opt/apigee/tls/ca.crt cert_file: /opt/apigee/tls/tls.crt key_file: /opt/apigee/tls/tls.key allow_unverified_ssl_cert: false auth: api_key_claim: claim api_key_cache_duration: 30m api_key_header: x-api-key api_target_header: :authority reject_unauthorized: true jwks_poll_interval: 0s jwt_provider_key: https://org-test.apigee.net/remote-service/token