Edge for Private Cloud v4.18.01
インストール後に 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
.properties ファイルの使用方法
お客様は、/opt/apigee/customer/application ディレクトリにある .properties ファイルのみを変更できます。このディレクトリにはコンポーネントごとに独自の .properties ファイルがあります。例: router.properties や management-server.properties など。
たとえば、.properties ファイルを作成するには、次のコマンドを実行します。
- このファイルを任意のユーザーとしてエディタで作成します。
- ファイルのオーナーを 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 つの最上位ディレクトリがあります。次の表に、デフォルトのロケーションを示します。
警告: Edge をご利用のお客様は、/opt/apigee/customer にある .properties ファイルのみ変更できます。コンポーネント ディレクトリとインストール ディレクトリにあるファイルは表示できますが、ファイルを変更しないでください。
所有者 |
デフォルト トークンのルート ディレクトリ |
---|---|
コンポーネント |
/opt/apigee/<prefix>-<component>/conf /<prefix>-<component> は、edge-router や apigee-cassandra などのコンポーネントを表します。 |
インストール |
/opt/apigee/token |
お客様 |
/opt/apigee/customer |
トークンの現在の値の特定
コンポーネントの .properties ファイルにトークンを設定する前に、次のコマンドを使用してトークンの現在の値を確認できます。
> /opt/apigee/apigee-service/bin/apigee-service comp configure -search token
comp はコンポーネントの名前、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-routerconfigure -search conf_http_HTTPRequest.line.limit
複数の値を取るトークンの設定
一部のトークンは、値のカンマ区切りのリストを受け取ります。たとえば、conf_security_rbac.restricted.resources トークンは制限された URI のリストを受け取り、sysadmin のみが呼び出すことができます。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