Edge for Private Cloud v4.18.05
Edge をインストール後に構成するには、.properties
ファイルと Edge ユーティリティを組み合わせて使用します。たとえば、Edge UI で TLS / SSL を構成するには、.properties
ファイルを編集して必要なプロパティを設定します。.properties
ファイルに対する変更を行ったら、その変更の影響を受ける Edge コンポーネントを再起動する必要があります。
Apigee では、.properties
ファイルの編集手法を code with config と呼んでいます。code with config は基本的に、.properties
ファイルの設定に基づく Key-Value 検索の手段です。code with config ではキーはトークンと呼ばれます。そのため、Edge を構成するには .properties
ファイルでトークンを設定します。
code with config を使用すると、Edge コンポーネントは Apigee プロダクトの出荷時のデフォルト値を設定できます。また、インストール チームはインストール トポロジに基づいてその設定をオーバーライドでき、お客様は選択したプロパティをオーバーライドできます。
この状態を階層と考えると、設定の優先順位は次のようになります。お客様の順位が最も高いため、インストール担当者チームや Apigee による設定はお客様の設定によってオーバーライドされます。
- お客様
- インストール担当者
- Apigee
.properties ファイルの使用方法
お客様が変更できるのは、/opt/apigee/customer/application
ディレクトリ内の .properties
ファイルだけです。このディレクトリには、コンポーネントごとに独自の .properties
ファイルがあります。たとえば、router.properties
や management-server.properties
といったファイルです。
.properties
ファイルの作成手順の例を次に示します。
- このファイルを任意のユーザーとしてエディタで作成します。
chown
を使用してファイルのオーナーを「apigee:apigee」に変更するか、Edge サービスを実行するユーザーを「apigee」以外のユーザーに変更している場合は、chown を実行してファイルのオーナーを 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 つの最上位ディレクトリがあります。次の表にそれぞれのデフォルトの場所を示します。
オーナー | トークンのデフォルト ルート ディレクトリ |
---|---|
コンポーネント | /opt/apigee/component_name/conf component_name はコンポーネントを表します。有効な値は次のとおりです。
|
インストール | /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 ファイルでのトークンの設定
トークンの値をオーバーライドする手順は次のとおりです。
- コンポーネントの
.properties
ファイルを編集してトークンの値を設定します。このファイルが存在しない場合は作成してください。 - コンポーネントを再起動します。
- トークンの値を確認します。
例として、Edge Router のリクエスト行の制限を設定する手順を次に示します。
/opt/apigee/customer/application/router.properties
ファイルを編集してconf_http_HTTPRequest.line.limit
トークンを設定します。conf_http_HTTPRequest.line.limit=8k
- Edge Router を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- トークンの値を確認します。
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
複数の値を取得するトークンの設定
一部のトークンには複数の値をコンマ区切りリストで指定できます。たとえば、conf_security_rbac.restricted.resources
トークンに、システム管理者だけが呼び出せるよう制限する 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