<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
apigee-remote-service-cli
コマンドライン インターフェース(CLI)は、Apigee Adapter for Envoy のプロビジョニングと管理に役立ちます。
バインディング コマンド
バインディングは、Istio メッシュにデプロイされたサービスを Apigee API プロダクトに関連付けます。CLI を使用すると、バインディングを一覧表示して検証できます。
バインディングの一覧表示
リモート サービスにバインドされているすべての API プロダクトを一覧表示します。
用途
Edge Public Cloud の場合:
apigee-remote-service-cli bindings list -o [organization] -e [environment] -u [username] -p [password]
Edge Private Cloud の場合:
apigee-remote-service-cli bindings list -o [organization] -e [environment] -u [username] -p [password] -r [runtime]
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
-c, --config
|
String(文字列) | (必須)Apigee リモート サービス構成ファイルのパス。 ヒント: このフラグを使用すると、他のコマンド パラメータを省略できます。これは、CLI で構成ファイルから直接 pull できるためです。<ph type="x-smartling-placeholder"></ph>をご覧ください。 --config オプションを使用する場合..
|
-e, --env
|
String(文字列) | (必須)組織内の環境。 |
-h, --help
|
コマンド パラメータのヘルプを表示します。 | |
--insecure
|
SSL を使用する場合に安全でないサーバー接続を許可する | |
--legacy
|
Apigee Edge クラウドを使用している場合は、このフラグを設定します。Edge クラウドの管理とランタイム URL を設定します。 | |
--mfa
|
Apigee 多要素認証トークン(--legacy でのみ使用)
|
|
--opdk
|
Apigee Edge for Private Cloud を使用している場合は、このフラグを設定します。 | |
-o, --org
|
String(文字列) | (必須)Apigee 組織。組織管理者である必要があります。 |
-p, --password
|
String(文字列) | (基本認証でのみ必要)Apigee のパスワード。必要に応じて、.netrc ファイルでパスワードを指定できます。その場合、コマンドラインでパスワードを指定する必要はありません。認証情報に .netrc を使用するもご覧ください。 |
-r, --runtime
|
String(文字列) | (Private Cloud のみ)Private Cloud インスタンスのランタイム URL を指定します。 |
-t, --token
|
String(文字列) | (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用と SAML を使用して Management API にアクセスするをご覧ください。 |
-u, --username
|
String(文字列) | (Basic 認証の場合のみ必須)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:
バインディングを確認する
このコマンドは非推奨です。バージョン 1.4 では、デベロッパー アプリとリモート サービス ターゲットで使用される API プロダクトを関連付ける必要がなくなりました。
ヘルプコマンド
すべての 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 Edge 組織にプロキシをインストールし、証明書を設定して、Apigee Adapter for Envoy を構成するために必要な認証情報を生成します。
用途
Edge Public Cloud の場合:
apigee-remote-service-cli provision -o $ORG -e $ENV -u $USERNAME -p $PASSWORD
Edge Private Cloud の場合:
apigee-remote-service-cli provision --opdk -o $ORG -e $ENV -u $USERNAME --management $MGMT_SERVER_URL --runtime $RUNTIME_URL -p $PASSWORD
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
--analytics-sa
|
String(文字列) | このフラグは
Apigee ハイブリッドおよび Apigee on Google Cloud のインストールで使用できます。
このフラグを使用して、Google Cloud サービス アカウント キーファイルのパスを指定します。サービス アカウントには |
-c, --config
|
String(文字列) | Apigee リモート サービス構成ファイルのパス。--config オプションの使用もご覧ください。 |
-e, --environment
|
String(文字列) | (必須)組織内の環境。 |
-f, --force-proxy-install
|
(省略可)組織に remote-service プロキシがすでにインストールされている場合は、強制的に再インストールします。
|
|
-h, --help
|
コマンド パラメータのヘルプを表示します。 | |
-k, --key
|
String(文字列) | apigee-remote-service-cli provision コマンドから返されるキーを指定します。 |
--legacy
|
Apigee Edge クラウドを使用している場合は、このフラグを設定します。Edge クラウドの管理とランタイム URL を設定します。 | |
--mfa
|
Apigee 多要素認証トークン(--legacy でのみ使用)
|
|
-m, --management
|
String(文字列) | (Apigee Private Cloud の場合に必須)Apigee 管理ベース URL。デフォルト: https://api.enterprise.apigee.com |
-n, --namespace
|
String(文字列) | 指定された名前空間で構成を Envoy ConfigMap として発行します。デフォルト: apigee |
--opdk
|
String(文字列) | Apigee OPDK |
-o, --organization
|
String(文字列) | (必須)Apigee の組織。組織管理者である必要があります。 |
-p, --password
|
String(文字列) | (基本認証でのみ必要)Apigee のパスワード。必要に応じて、.netrc ファイルでパスワードを指定できます。その場合、コマンドラインでパスワードを指定する必要はありません。認証情報に .netrc を使用するもご覧ください。 |
--rotate-int
|
int | n > 0 の場合、新しい秘密鍵を生成して n 個の公開鍵を保持します(ハイブリッドのみ)。 |
-r, --runtime
|
String(文字列) | (Private Cloud のみ)Private Cloud インスタンスのランタイム URL を指定します。 |
-s, --secret
|
String(文字列) | apigee-remote-service-cli provision コマンドから返されるシークレットを指定します。 |
--strength
|
int | (省略可)アダプタのプロビジョニングに使用される SSL 証明書の暗号化の強度を指定します。デフォルトは 2048 |
-t, --token
|
String(文字列) | (ハイブリッドのみ)Apigee OAuth または SAML トークン。 |
-u, --username
|
String(文字列) | (Basic 認証の場合のみ必須)Apigee ユーザー名(通常はメールアドレス)。必要に応じて、.netrc ファイルでユーザー名を指定できます。認証情報に .netrc を使用するもご覧ください。 |
-v, --verbose
|
(省略可)冗長な出力を生成します。 | |
--virtual-hosts
|
String(文字列) | デフォルトの仮想ホスト default,secure をオーバーライドします。このオプションは、
Edge 組織環境に、これらのデフォルト以外の仮想ホストが指定されている。
詳細については、Edge のドキュメントをご覧ください。
詳しく見てみましょう。
|
--years
|
int | (省略可)プロビジョニングで使用されている SSL 証明書が期限切れになるまでの年数。デフォルト: 1 |
例
必ず provision
コマンドの出力をキャプチャしてください。このコマンドは、他の Apigee Adapter for Envoy オペレーションの入力として使用されます。
Edge Public Cloud の例:
apigee-remote-service-cli provision --legacy --mfa $MFA --username $USER --password $PASSWORD --organization $ORG --environment $ENV > 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
|
String(文字列) | (必須)Apigee リモート サービス構成ファイルのパス。 ヒント: このフラグを使用すると、他のコマンド パラメータを省略できます。これは、CLI で構成ファイルから直接 pull できるためです。 --config オプションを使用するをご覧ください。 |
-f, --force
|
既存のディレクトリを強制的に上書きします。 | |
-h, --help
|
コマンド パラメータのヘルプを表示します。 | |
--host
|
ターゲット サービス ホスト(デフォルトは「httpbin.org」) | |
-n, --name
|
ターゲット サービス名(デフォルトは「httpbin」) | |
--out
|
サンプル構成ファイルを作成するディレクトリ。デフォルト: ./samples |
|
-t, --template
|
テンプレート名。Istio のデプロイ(ハイブリッドのみ)を行う場合は、使用可能な Istio オプションの 1 つを選択します。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 ベースの認証の使用もご覧ください。用途
Edge Public Cloud の場合:apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -o [org] -e [env]
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
-c, --config
|
String(文字列) | (必須)Apigee リモート サービス構成ファイルのパス。 ヒント: このフラグを使用すると、他のコマンド パラメータを省略できます。これは、CLI で構成ファイルから直接 pull できるためです。 --config オプションを使用するをご覧ください。 |
-e, --env
|
String(文字列) | (必須)組織内の環境。 |
-h, --help
|
コマンド パラメータのヘルプを表示します。 | |
--insecure
|
SSL を使用する場合に安全でないサーバー接続を許可します。 | |
-o, --org
|
String(文字列) | (必須)Apigee 組織。組織管理者である必要があります。 |
-r, --runtime
|
String(文字列) | (Private Cloud のみ)Private Cloud インスタンスのランタイム 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 トークンを検査できます。トークンを検査するもご覧ください。用途
Edge Public Cloud の場合:apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file]
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
-c, --config
|
String(文字列) | (必須)Apigee リモート サービス構成ファイルのパス。 ヒント: このフラグを使用すると、他のコマンド パラメータを省略できます。これは、CLI で構成ファイルから直接 pull できるためです。 --config オプションを使用するをご覧ください。 |
-e, --env
|
String(文字列) | (必須)組織内の環境。 |
-h, --help
|
コマンド パラメータのヘルプを表示します。 | |
--insecure
|
SSL を使用する場合に安全でないサーバー接続を許可します。 | |
-o, --org
|
String(文字列) | (必須)Apigee 組織。組織管理者である必要があります。 |
-r, --runtime
|
String(文字列) | (Private Cloud のみ)Private Cloud インスタンスのランタイム 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 Edge が暗号化された Key-Value マップ(KVM)に保存する公開鍵と秘密鍵のペアを変更する必要が生じることがあります。新しい鍵ペアを生成するこのプロセスは、鍵のローテーションと呼ばれます。鍵をローテーションすると、新しい秘密鍵と公開鍵のペアが生成され、Apigee Edge 組織 / 環境の「istio」KVM に保存されます。また、元の公開鍵は元の鍵 ID 値と一緒に保持されます。用途
Edge Public Cloud の場合:apigee-remote-service-cli token rotate-cert -c [config_file] -o [organization] -e [environment] -k [provision_key] -s [provision_secret] --kid [new_key_id]
apigee-remote-service-cli token rotate-cert -o [organization] -e [environment] -u [username] -p [password] -k [provision_key] -s [provision_secret] --kid [new_key_id]
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
-c, --config
|
String(文字列) | (必須)Apigee リモート サービス構成ファイルのパス。 ヒント: このフラグを使用すると、他のコマンド パラメータを省略できます。これは、CLI で構成ファイルから直接 pull できるためです。 --config オプションを使用するをご覧ください。 |
-e, --env
|
String(文字列) | (必須)組織内の環境。 |
-h, --help
|
コマンド パラメータのヘルプを表示します。 | |
--insecure
|
SSL を使用する場合に安全でないサーバー接続を許可する | |
--truncate
|
int | jwks に保持する証明書の数(デフォルトは 2) |
-o, --org
|
String(文字列) | (必須)Apigee 組織。組織管理者である必要があります。 |
-r, --runtime
|
String(文字列) | (Private Cloud のみ)Private Cloud インスタンスのランタイム 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 を使用する
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 によって構成ファイルから pull される他のほとんどのコマンド パラメータをスキップできるという利点があります。たとえば、次のようなオプションがあります。
- organization
- environment
- runtime
- management
- insecure
- namespace
- 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