이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서 보기
apigee-remote-service-cli
명령줄 인터페이스(CLI)는 Envoy용 Apigee 어댑터를 프로비저닝하고 관리하는 데 도움이 됩니다.
binding 명령어
binding은 Istio 메시에 배포된 서비스를 Apigee API 제품과 연결합니다. CLI를 사용하면 binding을 만들고 삭제하고 나열할 수 있습니다.
참고: Create Product UI에서 1개 이상의 서비스를 제품과 함께 지정할 수 있습니다. 이는 CLI를 사용하여 binding을 만드는 것과 같습니다.binding 추가
원격 대상 binding을 API 제품에 추가합니다.
사용
Apigee Hybrid의 경우:
apigee-remote-service-cli bindings add [service_name] [product_name] -o [organization] -e [environment] -t [token]
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 옵션을 지정하면 대부분의 다른 명령어 매개변수를 생략할 수 있습니다.
--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
|
문자열 | (하이브리드 또는 opdk에 필수) Apigee 런타임 기본 URL입니다. |
-t, --token
|
문자열 | (OAuth 토큰 인증에만 필수) Apigee 계정 정보에서 생성하는 OAuth 또는 SAML 토큰입니다. 토큰 생성에 대한 상세 정보는 OAuth 2.0 액세스 토큰 가져오기 및 SAML 개요를 참조하세요. |
-u, --username
|
문자열 | (기본 인증에만 필수) Apigee 사용자 이름(일반적으로 이메일 주소)입니다.
선택적으로 .netrc 파일에 사용자 이름을 지정할 수 있습니다. 이 경우 명령줄에 사용자 이름을 제공할 필요가 없습니다. 사용자 인증 정보에 .netrc 사용도 참조하세요.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
./apigee-remote-service-cli bindings add httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx product envoy-test is now bound to: httpbin.org
결합 나열
원격 서비스에 binding되는 모든 API 제품을 나열합니다.
사용
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 옵션을 지정하면 대부분의 다른 명령어 매개변수를 생략할 수 있습니다.
--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
|
문자열 | (하이브리드 또는 opdk에 필수) Apigee 런타임 기본 URL입니다. |
-t, --token
|
문자열 | (OAuth 토큰 인증에만 필수) Apigee 계정 정보에서 생성하는 OAuth 또는 SAML 토큰입니다. 토큰 생성에 대한 상세 정보는 OAuth 2.0 액세스 토큰 가져오기 및 SAML 개요를 참조하세요. |
-u, --username
|
문자열 | (기본 인증에만 필수) Apigee 사용자 이름(일반적으로 이메일 주소)입니다.
선택적으로 .netrc 파일에 사용자 이름을 지정할 수 있습니다. 이 경우 명령줄에 사용자 이름을 제공할 필요가 없습니다. 사용자 인증 정보에 .netrc 사용도 참조하세요.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
apigee-remote-service-cli bindings list -o myorg -e test -u user@example.com -c config.yaml -p abc123 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 제품에서 Envoy의 원격 서비스 binding을 삭제합니다.
참고: UI의 제품에서 서비스 이름을 삭제하여 Envoy용 원격 서비스 binding을 삭제할 수도 있습니다.사용
Apigee Hybrid의 경우:
apigee-remote-service-cli bindings remove [service_name] [product_name] -o [organization] -e [environment] -t [token]
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 옵션을 지정하면 대부분의 다른 명령어 매개변수를 생략할 수 있습니다.
--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
|
문자열 | (하이브리드 또는 opdk에 필수) Apigee 런타임 기본 URL입니다. |
-t, --token
|
문자열 | (OAuth 토큰 인증에만 필수) Apigee 계정 정보에서 생성하는 OAuth 또는 SAML 토큰입니다. 토큰 생성에 대한 상세 정보는 OAuth 2.0 액세스 토큰 가져오기 및 SAML 개요를 참조하세요. |
-u, --username
|
문자열 | (기본 인증에만 필수) Apigee 사용자 이름(일반적으로 이메일 주소)입니다.
선택적으로 .netrc 파일에 사용자 이름을 지정할 수 있습니다. 이 경우 명령줄에 사용자 이름을 제공할 필요가 없습니다. 사용자 인증 정보에 .netrc 사용도 참조하세요.
|
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
./apigee-remote-service-cli bindings remove httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx product envoy-test is no longer bound to: httpbin.org
도움말 명령어
모든 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 어댑터를 구성하는 데 필요한 사용자 인증 정보를 생성합니다.
사용
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-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으로 구성을 내보냅니다. |
--opdk
|
문자열 | Apigee OPDK. |
-o, --organization
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-p, --password
|
문자열 | (기본 인증에만 필수) Apigee 비밀번호입니다. 선택적으로 .netrc 파일에 비밀번호를 지정할 수 있습니다. 이 경우 명령줄에 비밀번호를 제공할 필요가 없습니다. 사용자 인증 정보에 .netrc 사용도 참조하세요.
|
--rotate-int
|
정수 | n > 0인 경우 새 비공개 키를 생성하고 n개의 공개 키를 보관합니다(하이브리드만 해당). |
-r, --runtime
|
문자열 | (하이브리드 또는 opdk에 필수) Apigee 런타임 기본 URL입니다. |
-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
토큰 명령어
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 원격 서비스 구성 파일의 경로입니다. 팁: 이 옵션을 지정하면 대부분의 다른 명령어 매개변수를 생략할 수 있습니다.
--config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-r, --runtime
|
문자열 | (하이브리드 또는 opdk에만 필수) Apigee 런타임 기본 URL입니다. |
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
apigee-remote-service-cli token create -o myorg -e test -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 -s icTARgaKHqvUH1dq -c config.yaml
출력
성공하면 다음과 비슷한 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 원격 서비스 구성 파일의 경로입니다. 팁: 이 옵션을 지정하면 대부분의 다른 명령어 매개변수를 생략할 수 있습니다.
--config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-r, --runtime
|
문자열 | (하이브리드 또는 opdk에만 필수) Apigee 런타임 기본 URL입니다. |
-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 값과 함께 보관됩니다.사용
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
-c, --config
|
문자열 | (필수) Apigee 원격 서비스 구성 파일의 경로입니다. 팁: 이 옵션을 지정하면 대부분의 다른 명령어 매개변수를 생략할 수 있습니다.
--config 옵션 사용을 참조하세요.
|
-e, --env
|
문자열 | (필수) 조직의 환경입니다. |
-h, --help
|
명령어 매개변수에 관한 도움말을 표시합니다. | |
--insecure
|
SSL 사용 시 안전하지 않은 서버 연결을 허용합니다. | |
--truncate
|
정수 | jwks에 보관할 인증서의 수(기본값: 2) |
-o, --org
|
문자열 | (필수) Apigee 조직입니다. 사용하려면 조직 관리자여야 합니다. |
-r, --runtime
|
문자열 | (하이브리드 또는 opdk에 필수) Apigee 런타임 기본 URL입니다. |
-v, --verbose
|
(선택사항) 상세 출력을 생성합니다. |
예
apigee-remote-service-cli token rotate-cert -c config.yaml -o myorg -e test -k 2e238ffa15dc5ab6a1e97868e7581f6c60ddb8575478582c256d8b7e5b2677a8 -s 51058077223fa7b683c3bea845c5cca138340d1d5583922b6d465f9f918a4b08
출력
certificate successfully rotated
사용자 인증 정보에 .netrc 사용
Apigee를 사용 중이며 머신api.enterprise.apigee.com
에 항목이 있는 경우 apigee-remote-service-cli
가 홈 디렉터리의 .netrc
파일에서 username
및 password
(기본 인증이 필요한 경우)를 자동으로 선택합니다. Apigee Private Cloud를 사용 중인 경우 머신 값은 management
URL(예: http://192.162.55.100
)과 동일합니다.
버전 명령어
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: 10m 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