Edge Microgateway の設定と構成

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

Edge AppSheet v. 3.1.5 以降

概要

この設定ガイドの手順を完了すると、Edge が完全に構成され、機能するようになります API リクエストを処理できる Apigee インストール。設定をテストするために 安全な API 呼び出しを行う API 呼び出しです。また、スペースに Cloud Shell に追加します。

このガイドは、次のパートに分かれています。

前提条件: Edge Appliance のインストール

Edge のインストールの手順に沿って操作します。 できます。インストールが完了したら、 ご覧ください

パート 1: Edge を構成する Apigee

このパートでは、コマンドライン インターフェース(CLI)コマンドを使用して Edge Appliance を構成します。 宛先<ph type="x-smartling-placeholder"></ph> Apigee Edge と通信します

Apigee Edge Cloud の構成手順

Apigee Edge Cloud で Edge Appliance を使用する手順は次のとおりです。

  1. Edge Appliance を初期化します(この手順は 1 回だけ行います)。
    edgemicro init
    
  2. default.yaml ファイルという構成ファイルが家に配置されました このディレクトリは .edgemicro というサブディレクトリに保存されています。このファイルが作成されていることを確認してください 存在する:
    ls ~/.edgemicro
    default.yaml
    

    注: Edge Scanner のドキュメントでは、ホーム ディレクトリのことを指します。 (チルダ(~)は UNIX のショートカット)に置き換えます。Windows や、Linux または チルダをサポートしていないシェルを実行した場合は、適切な ホーム ディレクトリを参照するコマンドのチルダの環境変数を使用します。対象 例: %USERPROFILE%/.edgemicro

  3. すべての CLI コマンドにはヘルプ関数があります。edgemicro のヘルプを印刷 config コマンド:
    edgemicro configure -h
    
  4. 次のコマンドを実行して、Edge AppSheet を構成します。
    edgemicro configure -o [org] -e [env] -u [username] 
    

    ここで

    • org: Edge 組織名(組織である必要があります) してください。
    • env: 組織内の環境(テスト環境や 本番環境)。
    • username: アカウントに関連付けられているメールアドレス Apigee アカウント。

      注:configure コマンドでは、追加のパラメータを使用できます。完全な Apigee Edge Cloud 用に Edge AppSheet を構成するをご覧ください。

edgemicro configure -o docs -e test -u jdoe@example.com

出力

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Apigee Private Cloud の構成手順

Apigee Private Cloud で Edge Appliance を使用する手順は次のとおりです。

  1. Edge Appliance を初期化します(この手順は 1 回だけ行います)。
    edgemicro init
    
  2. edgemicro private configure コマンドのヘルプ情報を出力します。マイページ この方法では、Edge Dataproc CLI コマンドまたはコマンド オプションのヘルプを出力できます。
    edgemicro private configure -h
    
  3. 次のコマンドを実行します。Apigee Edge に関する標準的な情報が必要です。 Private Cloud アカウント: 組織名、環境名、ユーザー名(メールアドレス)、パスワード、 ルーターの IP アドレスが 含まれますこれを使用するには、Edge 組織管理者である必要があります。 command:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    

    ここで

    • org は Edge 組織名です(組織である必要があります)。 してください。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • runtime_url は、プライベート クラウドのランタイム URL です。 作成します。
    • mgmt_url は、アプリケーションの管理サーバーの URL です。 プライベート クラウド インスタンスです。
    • username は Apigee に関連付けられたメールアドレスです。 あります。
    • virtual_host は、仮想ホストのカンマ区切りのリストです。 できます。デフォルト値は default,secure です。

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

myorg-test.mycompany.com という仮想ホスト エイリアスがある場合は、 使用できます。

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

出力

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

edgemicro configuration complete!
    

インストールを確認する

次のコマンドを実行して、インストールを確認します。エラーが報告されなければ、すべて設定済みである 正しく指定され、Edge Dataproc を正常に起動できるようになります。

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

ここで

  • org は Edge 組織名です(組織である必要があります)。 してください。
  • env は組織内の環境です(テスト環境や 本番環境)。
  • key は、以前に構成によって返されたキーです。 使用できます。
  • secret は、以前に構成によって返されたキーです。 使用できます。

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

構成について

これまでに行ったすべての構成により、Edge AppSheet が Apigee に対してブートストラップできるようになります。 。ブートストラップが成功すると、Edge Appliance は追加のペイロードのペイロードを取得します。 Apigee Edge から構成情報を取得します。

この構成情報の使用目的このシリーズの次のパートで、 チュートリアルでは、Edge Appliance の起動時に、特殊な Edge のリストを受け取る必要があります。 Apigee Edge からの AppSheet 対応の API プロキシ。このチュートリアルの次のパートでは、 作成する必要があります。Edge Dataproc は、クライアントが API のみを呼び出すように制限する この API プロキシが前面に配置され、クライアントは(デフォルトでは) 有効なセキュリティ トークンを提示する。これらのプロキシの詳細については、次をご覧ください: 」というプロンプトを入力します。「Edge の概要 できます。

Edge 組織管理者は、Edge API 対応プロキシを 他のプロキシと同様に Edge プロダクトに追加します。プロダクトやデベロッパーを使用して クライアント固有のセキュリティ トークンを生成して、API へのアクセスを制御する 説明します。ここでも、関係するパターンは任意の API プロキシの操作と同じです。 Apigee Edge 上のプロダクト、デベロッパー アプリについて学びます。プロダクトについてもっと詳しく知りたい場合は、 Edge における API プロダクトとは ご覧ください

次に、Edge AppSheet 対応プロキシを作成する方法を説明した後、 起動して設定をテストします

パート 2: エンティティを作成する Apigee Edge 上

このパートでは、Edge 上に次のエンティティを作成します。

  • <ph type="x-smartling-placeholder"></ph> microgateway 対応プロキシ - Edge Appliance が検出できる特別なプロキシ 表示されます。Dataproc 対応プロキシには、命名規則に従って edgemicro_ と指定する必要があります。たとえば edgemicro_hello または edgemicro_userinfo。Edge AppSheet は、起動すると、サービス アカウントを Edge から、同じ Edge 組織と環境に属する Apigee 対応プロキシのリストを すべてのインスタンスで構成されます。

    Edge Microgatway は、Apigee 対応プロキシごとにプロキシのターゲット URL を取得し、 そのベースパスを指定します。Dataproc 対応プロキシは、 生成されたデータを、Edge プラットフォーム上のプロキシで処理します。Apigee として 処理し、分析データを Edge に非同期的に push します。[アナリティクス]のデータが 他のプロキシ名と同様に、Edge Analytics UI で、Microgateway 対応プロキシ名の下に あります。
  • プロダクト、デベロッパー、デベロッパー アプリ - Edge Dataproc は、プロダクト、 デベロッパー、デベロッパー アプリで、OAuth2 アクセス トークンや API キーのセキュリティを有効にします。エッジが Dataproc が起動して、Apigee Edge からすべてのプロダクト構成がダウンロードされます。 できます。この情報を使用して、API 呼び出しを検証し、API 呼び出しを OAuth2 アクセス トークンを使用できます。

1. 作成 Edge 上の Edge Appliance 対応 API プロキシ

  1. Apigee Edge で組織にログインします。
  2. [Develop >API プロキシ] をクリックします。
  3. [+ Proxy] をクリックします。[Build a Proxy] ウィザードが起動します。
  4. ウィザードの最初のページで、[Reverse proxy (most common)] を選択します。
  5. [次へ] をクリックします。
  6. ウィザードの [Details] ページで、次のように構成します。ウィザードに
    • プロキシ名: edgemicro_hello
    • プロキシ ベースパス: /hello
    • 既存の API: http://mocktarget.apigee.net/
    で確認できます。
  7. [次へ] をクリックします。
  8. ウィザードの [Security] ページで、[Pass through (none)] を選択します。
  9. [次へ] をクリックします。
  10. ウィザードの [Virtual Hosts] ページで、デフォルト値を受け入れます。
  11. [次へ] をクリックします。
  12. ウィザードの [Build] ページでプロキシ設定を確認します。必ず、 test 環境が選択されています。
  13. [Build and Deploy] をクリックします。

2. 商品を作成

<ph type="x-smartling-placeholder">
  1. サイド ナビゲーション メニューで、[Publish] > [API Products] を選択します。
  2. [+ API Product] をクリックします。[Product Details] ページが表示されます。
  3. [Product Details] ページに、次のように入力します。 <ph type="x-smartling-placeholder">
      </ph>
    • 名前: EdgeMicroTestProduct
    • 表示名: EdgeMicroTestProduct
    • 環境: test と prod
    • Access: Public
    • 鍵承認タイプ: 自動
  4. [Resources] で、[+API Proxy] をクリックします。
  5. [edgemicro-auth] を選択します。
  6. もう一度 [+API Proxy] をクリックします。
  7. edgemicro_hello を選択します。
  8. [+ Custom Resource] を選択します。
  9. /**」と入力します。
  10. もう一度 [+ Custom Resource] を選択します。
  11. /」と入力します。
  12. [保存] をクリックします。

3. (オプション) テスト デベロッパー

このチュートリアルでは、次のステップで既存の任意のデベロッパーを使用できます。 作成する方法を学びます。ただし、必要に応じて、ここでテスト デベロッパーを作成します。

  1. サイド ナビゲーション メニューで [Publish] > [Developers] を選択します。
  2. [+ Developer] をクリックします。
  3. ダイアログに入力して、テスト デベロッパーを作成します。

4. デベロッパー アプリを作成する

このアプリのクライアント認証情報を使用して、 Edge Appliance:

  1. サイド ナビゲーション メニューで、[Publish] > [Apps] を選択します。
  2. [+ App] をクリックします。[Developer App Details] ページが表示されます。
  3. [Developer App] ページに次のように入力します。 <ph type="x-smartling-placeholder">
      </ph>
    1. 名前: EdgeMicroTestApp
    2. 表示名: EdgeMicroTestApp
    3. Developer: テスト デベロッパーを作成した場合は、そのデベロッパーを選択します。または、 既存のすべての開発者がこのチュートリアルの目的となります。
    4. クルデンシャル: <ph type="x-smartling-placeholder">
        </ph>
      1. [Expiration] で [Never] を選択します。
      2. [+ Product] をクリックして、[EdgeMicroTestProduct] を選択します。 (先ほど作成した商品)
  4. [保存] をクリックします。
  5. アプリの一覧ページに戻ります。
  6. 作成したアプリ [EdgeMicroTestApp] を選択します。
  7. Consumer KeyConsumer の横にある 表示 をクリックします。 Secret にあります。

パート 3: Edge Appliance の操作

ここまでで、構成した Edge Appliance と、少なくとも 1 つの Edge Appliance 対応について学びました。 起動したら、Edge Appliance を起動します。Edge Appliance の HTTP サーバーが実行されます。 そのサーバーに対して直接 API 呼び出しを行います。

1. Edge Dataproc の起動

edgemicro start コマンドを使用して Edge を起動します。 接続できます。

  1. 以前に edgemicro の実行時に返されたキーがあることを確認します。 config コマンドを使用します。出力は次のようになります。
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (省略可)edgemicro start コマンドのヘルプ情報を出力します。
    edgemicro start -h
    
  3. Edge Appliance を起動するには、次のコマンドを実行します。
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    ここで

    • org は Edge 組織名です(組織である必要があります)。 してください。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • key は、以前に構成によって返されたキーです。 使用できます。
    • secret は、以前に構成によって返されたキーです。 使用できます。

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

    出力

    start コマンドは、Apigee Edge から多くの構成情報を取得します。 ターミナル ウィンドウにスクロールします)。出力には、マイクロゲートウェイ対応の IP アドレスのリストが 検出したプロキシとプロダクトの数が示されます。出力の最後に 例:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
    
  4. Apigee Edge のステータスを確認します。別のターミナル ウィンドウで、cd コマンドで 次のコマンドを入力します。
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers
    

なぜですか?

Edge のペイロード Dataproc の構成情報は Apigee Edge からダウンロードされ、ローカルのキャッシュに保存されます。これには以下の情報が含まれます。

  • 以前に作成し、暗号化された Key-Value マップ(KVM)に保存していた公開鍵。
  • ネットワーク内に存在するすべての Edge AppSheet 対応プロキシの表現 組織/環境です。これらは、名前に接頭辞が付加されたプロキシです。 edgemicro_ を指定します。
  • プロジェクト内に存在するすべての API プロダクトの表現。 組織/環境です。

この情報により、Edge API は、どのプロキシとプロキシパスが許可されるのかを把握します。 プロセスです(他の API とまったく同じ方法で)プロダクト情報を使用してセキュリティを強化します Apigee Edge では、デベロッパー アプリのキーはプロダクトと関連付けられています。それでは、 簡単に説明します。

2. Edge Appliance をテストする

Edge Appliance が動作している状態で、プロキシを呼び出すことができます。Deployment の構成は、 Edge の起動時に Edge からダウンロードされた edgemicro_hello プロキシ 接続できます。プロキシのベースパスは /hello です。

Edge Appliance をテストするには、ベースパスから開始し、リソースパスを追加します。 /echo.なお、ベースパスの後はすべて(クエリ パラメータを含む) バックエンド ターゲットに渡されます。

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

このエラーは、リクエストで有効な API キーまたはアクセス トークンを送信しなかったために発生します。方法 デフォルトでは、すべての API 呼び出しに API キーまたはアクセス トークンが必要です。イン チュートリアルの次のステップでは、この API を適切に保護し、有効な認証情報を取得する リクエストに含めます。

4. Edge Appliance を停止する

  1. 別のターミナル ウィンドウで、cd を実行して、同じディレクトリに移動します。 開始しました。
  2. 停止コマンドを入力します。
    edgemicro stop
    
で確認できます。

パート 4: セキュアエッジ Apigee

API キーまたはアクセス あります。

OAuth2 アクセス トークンを使用して API 呼び出しを保護する

OAuth2 アクセス トークンを使用して API 呼び出しを認証する場合は、次の操作を行います。

1. 必要な鍵を取得する

  1. Edge UI で、前に作成したデベロッパー アプリに移動します。アプリの名前 EdgeMicroTestApp でした。
  2. [Developer App] ページで、コンシューマ キーとコンシューマ シークレットを表示してコピーします。 これらの値は、次のステップでアクセス トークンを取得するために必要です。

2. アクセス トークンを取得する

アクセス トークンを取得する方法は 2 つあります。両方の方法について説明します。

CLI を使用してアクセス トークンを取得する

1 つ目の方法は便利で、これまでに使用したパターンに従っています。 説明します。クライアント アプリには通常、2 つ目の方法のほうが便利です。 トークンをリクエストする必要がある開発者に 制限できます実際のトークン エンドポイントは、 Edge の構成時にデプロイされた edgemicro-auth プロキシ 接続できます。

  1. (省略可)token get コマンドのヘルプを表示します。
    edgemicro token get -h
    
  2. トークンを生成します。その際、API のコンシューマ キーとコンシューマ シークレットの値を Apigee Edge で作成したデベロッパー アプリ([-i] と [-s]) parameters:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    ここで

    • org は Edge 組織名です(組織である必要があります)。 してください。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • consumer_id は、デベロッパー アプリのコンシューマ ID です。 作成します。
    • consumer_secret は、デベロッパーのコンシューマ シークレットです。 以前に作成したアプリ。

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
    

    出力(サンプル)

    current nodejs version is v12.5.0
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
    

(省略可)API を使用してトークンを取得する

curl や別の HTTP クライアントを使用して Edge プロキシを呼び出すことに慣れている方には、 edgemicro を使用するのではなく、トークン エンドポイントを直接呼び出せるようにします。 token コマンドを使用します。curl の例を次に示します。環境名を実際の名前で置き換えてください。 URL にアクセスし、ベーシック 認証ヘッダー:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"

ここで

  • org は Edge 組織名です(組織である必要があります)。 してください。
  • env は組織内の環境です(テスト環境や 本番環境)。
  • client_id は、作成したデベロッパー アプリのコンシューマ ID です。 使用します。
  • client_secret は、デベロッパー アプリのコンシューマ シークレットです。 作成します。

出力 (サンプル)

このコマンド(edgemicro token CLI コマンドを使用したか、 エンドポイントは、クライアントの呼び出しに使用できる署名付きアクセス トークンを返します。 たとえば、次のようになります。

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. Edge AppSheet で構成を確認する

  1. $HOME/.edgemicro/org-env-config.yaml ファイルを開きます。<ph type="x-smartling-placeholder"></ph>をご覧ください。 このファイルが見つからなかった場合は、Edge AppSheet がインストールされている場所
  2. これらの oauth プラグイン プロパティが false に設定されていることを確認します。これらは誤っているため、 デフォルトですが、次の点を再確認することをおすすめします。
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. また、org-env-config.yaml ファイルで、oauth プラグインが有効になっていることを確認します。 次のように plugins:sequence 要素に追加します。
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. ファイルに変更を加えた場合は、実行中のファイルに変更を再読み込みしてください。 インスタンスです。このコマンドは、エッジをゼロ ダウンタイムで再構成します。
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    ここで

    • org は Edge 組織名です(組織である必要があります)。 してください。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • key は、以前に構成によって返されたキーです。 使用できます。
    • secret は、以前に構成によって返されたキーです。 使用できます。

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

4. API を安全に呼び出す

アクセス トークンが手元にあるので、安全に API 呼び出しを行うことができます。例:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API は、モックサーバーからヘッダーやその他の情報を返します。

API キーによる API の保護

認証に API キーを使用する場合は、次の手順を行います。

1. API キーを取得する

  1. Edge UI で、前に作成したデベロッパー アプリに移動します。アプリの名前 EdgeMicroTestApp でした。
  2. [Developer App] ページで、コンシューマ キーを表示してコピーします。この値は キーです。このキーを使用して、認証された API 呼び出しを行います。

2. Edge AppSheet で構成を確認する

  1. ファイルを開きます。$HOME/.edgemicro/org-env-config.yaml. 参照先 このファイルが見つからない場合は、Edge マネージャーがインストールされていることを確認してください。
  2. これらの oauth プラグイン プロパティが false に設定されていることを確認します。これらは誤っているため、 デフォルトですが、必要に応じて再確認できます。
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. また、org-env-config.yaml ファイルで、oauth プラグインが有効になっていることを確認します。 次のように plugins:sequence 要素に追加します。
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. ファイルに変更を加えた場合は、実行中のファイルに変更を再読み込みしてください。 インスタンスです。このコマンドは、エッジをゼロ ダウンタイムで再構成します。
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    ここで

    • org は Edge 組織名です(組織である必要があります)。 してください。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • key は、以前に構成によって返されたキーです。 使用できます。
    • secret は、以前に構成によって返されたキーです。 使用できます。

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
    

3. API キーを使用して API を安全に呼び出す

次のように、x-api-key ヘッダーを使用して API を呼び出します。このコンシューマ キーの値には、 API キーになります。デフォルトでは、Edge x-api-key というヘッダー内のキーを次のように指定します。

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

ここで

  • apikey は、以下から取得されたコンシューマ キーの値です。 EdgeMicroTestApp をサポートしています。

例:

curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'

これで、Edge Appliance が完全に機能する安全な状態になりました。診断の次の部分では、 チュートリアルでは、Edge Appliance に機能を追加するプラグインについて説明します。

パート 5: Spike Arrest の追加 プラグイン

このパートでは、Spike Arrest と呼ばれるレート制限機能を Edge のインスタンスに追加します。 接続できます。

プラグインとは

プラグインは、Edge Scanner に機能を追加する Node.js モジュールです。プラグイン モジュール 一貫したパターンに従って、そのデータが Edge 自動的に検出して読み込むことができます。プラグインについて詳しくは、 プラグインを使用する

Spike Arrest プラグインの追加

急増 arrest プラグイン: トラフィックの急増から保護します。処理されるリクエスト数をスロットリングする インスタンスによって作成されます。

Edge AppSheet では、Spike Arrest はプラグイン モジュールとして実装されます。有効にするには、以下が必要です。 Apigee 構成ファイルに追加します。

  1. ファイルを開きます。$HOME/.edgemicro/org-env-config.yaml.場所 このファイルが見つからない場合は、Edge マネージャーがインストールされていることを確認してください。
  2. 次の要素を追加します。ファイルの任意の場所に追加できます。
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. 次に示すように、spikearrestedgemicro:sequence 要素に追加します。 ご覧くださいシーケンス構成プロパティは、接続を行う順序を Edge 実行されます。
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - oauth
        - spikearrest
    
  4. 構成ファイルを保存します。
  5. reload コマンドを使用して Edge Appliance を再読み込みします。Google Cloud で このコマンドは、Edge Appliance を起動したディレクトリから移動できます。
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    ここで

    • org は Edge 組織名です( 組織管理者など)を指します。
    • env は組織内の環境です(テスト環境や 本番環境)。
    • key は、以前に構成によって返されたキーです。 使用できます。
    • secret は、以前に 構成します。

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. 連続して数回 API を呼び出してみます。2 回目の呼び出しの後 次のエラーが返されます。
    {"message":"SpikeArrest engaged","status":503}
    

その理由は、Spike Arrest によって、インスタンスに対して実行できる呼び出し数が 指定されています。この場合、1 分間に 10 回、つまり 6 回に 1 回、 秒です。

追加の実習: Quota プラグイン

Spike Arrest の構成に使用したのと同じパターンに従って、次のような他のプラグインを追加できます。 quota プラグイン。 Spike Arrest と同様に、Quota プラグインはすべての Edge Appliance インストールに含まれています。 割り当てでは、100 ミリ秒未満でアプリが API に送信できるリクエスト メッセージの数を指定します。 時間間隔(分または時間)で設定できます。

パート 6: 表示 Apigee Edge での分析

これで、完全に機能する Edge Appliance インスタンスを作成できました。では、状況を確認してみましょう。 デフォルトでは、分析プラグイン モジュールは Edge Micro に追加されます。このモジュールは、 分析データを Edge Micro から Apigee Edge に転送し、Edge Analytics システムによって消費されます。 見てみましょう。

  1. Apigee Edge で組織にログインします。
  2. [アナリティクス] >プロキシ パフォーマンスをご覧ください。
  3. [Proxy Performance] ダッシュボードで、[edgemicro_hello proxy] を選択します。
  4. グラフには、プロキシのトラフィック パターンに関する情報が表示されます。たとえば、合計トラフィック、 平均応答時間、平均ターゲット応答時間などがあります。

Edge Analytics ダッシュボードの詳細については、 Edge のドキュメントを参照してください。プラグインを使用するで、プラグインの詳細を確認する