Edge の構成方法

Edge for Private Cloud v4.18.05

インストール後に Edge を構成するには、.properties ファイルと Edge ユーティリティを組み合わせて使用します。たとえば、Edge UI で TLS/SSL を構成するには、.properties ファイルを編集して必要なプロパティを設定します。.properties ファイルを変更すると、影響を受ける Edge コンポーネントを再起動する必要があります。

Apigee では、.properties ファイルを編集する手法を構成付きのコードと呼んでいます。基本的に、構成ファイル内のコードは、.properties ファイルの設定に基づく Key-Value ルックアップ ツールです。構成のコードでは、鍵をトークンと呼んでいます。Edge を構成するには、.properties ファイルでトークンを設定します。

code with config の場合、Edge コンポーネントの出荷時デフォルト値が設定されていますが、インストール チームはインストール トポロジに基づいてその設定をオーバーライドでき、その後、お客様は任意のプロパティをオーバーライドできます。

これを階層と見なすと、インストーラ チームまたは Apigee の設定をオーバーライドする顧客設定が特に優先されるよう設定されます。

  1. お客様
  2. インストーラ
  3. Apigee

.properties ファイルの使用方法

ユーザーは、/opt/apigee/customer/application ディレクトリにある .properties ファイルのみを変更できます。このディレクトリには、コンポーネントごとに固有の .properties ファイルがあります。たとえば、router.propertiesmanagement-server.properties です。

たとえば、.properties ファイルを作成するには、次のコマンドを実行します。

  1. このファイルを任意のユーザーとしてエディタで作成します。
  2. chown を使用して、ファイルの所有者を「apigee:apigee」に変更します。Edge サービスを実行するユーザーを「apigee」ユーザーから変更する場合は、ファイルのオーナーを Edge サービスを実行しているユーザーに変更します。

コンポーネントのプロパティを設定するには、対応する .properties ファイルを編集してトークンを設定し、コンポーネントを再起動します。

/opt/apigee/apigee-service/bin/apigee-service component restart

たとえば、router.properties の編集後、Router を再起動します。

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

Edge をアップグレードすると、/opt/apigee/customer/application ディレクトリにある .properties ファイルが読み取られます。つまり、アップグレードするとコンポーネントに設定したプロパティが保持されます。

.properties ファイルの場所

Edge コンポーネント用の .properties ファイルには、インストール、オーナー、お客様用の 3 つの最上位ディレクトリがあります。次の表にデフォルトのロケーションを示します。

Owner デフォルト トークンのルート ディレクトリ
コンポーネント
/opt/apigee/component_name/conf

ここで component_name はコンポーネントを表します。有効な値は次のとおりです。

  • apigee-cassandra(Cassandra)
  • apigee-openldap(OpenLDAP)
  • apigee-postgresql(PostgreSQL データベース)
  • apigee-qpidd(Qpidd)
  • apigee-sso(Edge SSO)
  • apigee-zookeeper(ZooKeeper)
  • edge-management-server(Management Server)
  • edge-management-ui(新しい Edge UI)
  • edge-message-processor(Message Processor)
  • edge-postgres-server(Postgres Server)
  • edge-qpid-server(Qpid Server)
  • edge-router(Edge Router)
  • edge-ui(Classic UI)
インストール
/opt/apigee/token
お客様
/opt/apigee/customer

トークンの現在の値を確認する

コンポーネントの .properties ファイルでトークンを設定する前に、次のコマンドを使用して現在の値を確認できます。

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

ここで、component_name はコンポーネントの名前、token は検査するトークンです。

このコマンドは、.properties ファイルの階層を検索してトークンの現在の値を判断します。

たとえば、Router の conf_http_HTTPRequest.line.limit トークンの現在の値を確認するには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

出力は次の形式のようになります。

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

.properties ファイルでトークンを設定する

トークンの値をオーバーライドするには:

  1. コンポーネントの .properties ファイルを編集してトークン値を設定します。ファイルが存在しない場合は作成します。
  2. コンポーネントを再起動します。
  3. トークンの値を確認します。

たとえば、Edge Router のリクエスト行の上限を設定するには、次のようにします。

  1. /opt/apigee/customer/application/router.properties ファイルを編集して conf_http_HTTPRequest.line.limit トークンを設定します。
    conf_http_HTTPRequest.line.limit=8k
  2. Edge Router を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. トークンの値を確認します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

複数の値を受け取るトークンの設定

一部のトークンは、値のカンマ区切りリストを受け取ります。たとえば、conf_security_rbac.restricted.resources トークンは、sysadmin のみが URI を呼び出せるように制限された URI のリストを受け取ります。conf_security_rbac.restricted.resources の値を表示するには:

cd /opt/apigee/edge-management-server
grep -ri "conf_security_rbac.restricted.resources" *

出力には次のものが含まれます。

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

値のリストを受け取るトークンを設定するには、.properties ファイルでトークンの現在の値に新しい値を追加します。そのため、URI /myuri/*conf_security_rbac.restricted.resources に追加するには、次のように /opt/apigee/customer/application/management-server.properties ファイルを編集します。

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

トークンを探す

ほとんどの場合、設定する必要のあるトークンはこのガイドに記載されています。ただし、プロパティのオーバーライドに使用するトークンを特定する必要がある場合は、コンポーネントの source フォルダで grep を実行します。

たとえば、Edge の以前のリリースで session.maxAge プロパティを設定し、その設定に使用されたトークン値を確認するには、/opt/apigee/edge-ui/source ディレクトリのプロパティで grep を使用します。

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

結果は次の形式で表示されます。

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

{T}{/T} タグの間の文字列は、.properties ファイルで設定したトークンです。

現在コメントアウトされているトークンを設定する

一部のトークンは Edge 構成ファイルでコメントアウトされています。コメントアウトされたトークンを設定しても、その設定は無視されます。

コメントアウトされたトークンを設定するには、次の形式の特別な構文を使用します。

conf/file.extension+propertyName=propertyValue

たとえば、Message Processor の HTTPClient.proxy.host というプロパティを設定するとします。次に、プロパティに対して grep を実行してトークンを決定します。

cd /opt/apigee/edge-message-processor
grep -ri "HTTPClient.proxy.host" *

grep コマンドは、トークン値を含む形式の結果を返します。プロパティ名の # プレフィックスで示されているように、プロパティ名はコメントアウトされます。

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

プロパティを設定するには、/opt/apigee/customer/application/message-processor.properties を編集してプロパティを次のように設定します。

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

プロパティ名の前には conf/http.properties+ が付き、プロパティを含む構成ファイルの場所と名前には「+」が付加されています。

Message Processor を再起動したら、ファイル /opt/apigee/edge-message-processor/conf/http.properties を調べます。

cat /opt/apigee/edge-message-processor/conf/http.properties

ファイルの最後に、設定されたプロパティが次の形式で表示されます。

conf/http.properties:HTTPClient.proxy.host=myhost.name.com