インストールに関する注意事項

Edge for Private Cloud バージョン 4.16.05

一般的な Edge インストールは、複数のノードに分散された Edge コンポーネントで構成されます。ノードに Edge をインストールした後、そのノードに 1 つ以上の Edge コンポーネントをインストールして構成します。

インストール プロセス

ノードへの Edge のインストールは、複数のステップからなるプロセスです。

  • SELinux をノードで無効にするか、permissive モードに設定します。詳細については、Edge apigee-setup ユーティリティのインストールをご覧ください。
  • 推奨トポロジのリストから Edge 構成を選択します。たとえば、テスト用には 1 つのノードに、本番環境用には 13 個のノードに Edge をインストールできます。詳細については、インストール トポロジをご覧ください。
  • 選択したトポロジの各ノードに、Edge apigee-setup ユーティリティをインストールします。
    • Edge の bootstrap_4.16.05.sh ファイルを /tmp/bootstrap_4.16.05.sh にダウンロードします。
    • Edge apigee-service ユーティリティと依存関係をインストールします。
    • Edge apigee-setup ユーティリティと依存関係をインストールします。

      詳細については、Edge apigee-setup ユーティリティのインストールをご覧ください。
  • apigee-setup ユーティリティを使用して、選択したトポロジに基づいて各ノードに 1 つ以上の Edge コンポーネントをインストールします。
    ノード上のノードに Edge コンポーネントをインストールするをご覧ください。
  • Management Server ノードで、apigee-setup ユーティリティを使用して apigee-provision をインストールします。apigee-provision は、Edge 組織の作成と管理に使用するユーティリティです。
    詳細については、組織のオンボーディングをご覧ください。

インストール エラーの処理

Edge コンポーネントのインストール中にエラーが発生した場合は、問題を修正してからインストーラを再度実行することができます。インストーラは、障害が検出された場合や、インストール後にコンポーネントの変更または更新が必要になった場合に、繰り返し実行されるように設計されています。

Postgres のマスター / スタンバイ レプリケーションを構成する

デフォルトでは、すべての Postgres ノードがマスターモードでインストールされます。ただし、複数の Postgres ノードがある本番環境システムでは、マスター / スタンバイ レプリケーションを使用するように構成すると、マスターノードに障害が発生しても、スタンバイ ノードがサーバー トラフィックを継続できます。詳細については、Postgres のマスター / スタンバイ レプリケーションを設定するをご覧ください。

インストールを実行できるユーザー

Apigee Edge 配布ファイルは、RPM と依存関係のセットとしてインストールされます。Edge のインストール、アンインストール、更新を行うには、root ユーザーまたは sudo の完全なアクセス権を持つユーザーが Edge コマンドを実行する必要があります。sudo の完全なアクセス権とは、root と同じ操作を実行できる sudo アクセス権がユーザーにあることを意味します。

次のコマンドまたはスクリプトを実行するユーザーは、root であるか、sudo の完全なアクセス権を持つユーザーである必要があります。

  • apigee-service ユーティリティ:
    • apigee-service コマンド: install、uninstall、update
    • apigee-all コマンド: install、uninstall、update
  • Edge コンポーネントをインストールする setup.sh スクリプト(apigee-service install を使用して必要な RPM をインストールしている場合を除く)。root 権限または sudo フルアクセス権限(不要な場合)。)
  • Edge コンポーネントを更新する update.sh スクリプト

また、Edge インストーラにより、システムに「apigee」という新しいユーザーが作成されます。Edge コマンドの多くは、sudo を呼び出して「apigee」ユーザーとして実行します。

上記以外のコマンドを実行するユーザーは、「apigee」ユーザーに対する sudo フルアクセス権を持つユーザーである必要があります。次のようなコマンドがあります。

  • apigee-service ユーティリティ コマンド(以下を含む):
    • start、stop、reboot、configure などの apigee-service コマンド
    • apigee-all コマンド(start、停止、再起動、構成など)。

「apigee」ユーザーに対する sudo フルアクセス権限を付与するようにユーザーを構成するには、sudoers ファイルを編集して以下を追加します。

installUser        ALL=(apigee)      NOPASSWD: ALL

installUser は Edge の担当者のユーザー名です。

Edge コマンドで使用するファイルまたはリソースは、「apigee」ユーザーからアクセス可能である必要があります。これには、Edge ライセンス ファイルやすべての構成ファイルが含まれます。

構成ファイルを作成するときに、そのファイルのオーナーを「apigee:apigee」に変更して、Edge コマンドからアクセスできるようにします。

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

Edge コンポーネントのサイレント インストール

Edge のインストールに関する情報が含まれている構成ファイルを apigee-setup ユーティリティに渡す必要があります。サイレント インストールの唯一の要件は、構成ファイルが「apigee」ユーザーからアクセス可能で、読み取り可能であることです。たとえば、このファイルをノードの /tmp ディレクトリに配置して、chown を使用して「apigee:apigee」に移動します。

Edge システム管理者のパスワードを除き、構成ファイル内のすべての情報が必要です。パスワードを省略すると、apigee-setup ユーティリティからコマンドラインでパスワードの入力を求められます。

詳細については、ノードに Edge コンポーネントをインストールするをご覧ください。

インターネットまたはインターネット以外の設置

Edge をノードにインストールするには、そのノードが Apigee リポジトリにアクセスできる必要があります。

  • 外部インターネット接続があるノード

    外部インターネット接続があるノードは、Apigee リポジトリにアクセスして Edge RPM と依存関係をインストールします。
  • 外部インターネット接続がないノード

    外部インターネット接続がないノードは、内部で設定した Apigee リポジトリのミラーリングされたバージョンにアクセスできます。このリポジトリにはすべての Edge RPM が含まれていますが、内部ネットワーク上のリポジトリから他のすべての依存関係が利用できることを確認する必要があります。

RPM インストールの依存関係の解決

Apigee Edge 配布ファイルは、RPM ファイルのセットとしてインストールされます。各 RPM ファイルには、独自のインストール依存関係チェーンがあります。こうした依存関係の多くは、Apigee の管理対象外のサードパーティ コンポーネントによって定義されており、随時変更される可能性があります。そのため、このドキュメントには、各依存関係の明示的なバージョン番号は記載されていません。

インターネットにアクセスできるマシンにインストールを実行する場合、ノードで必要な RPM と依存関係をダウンロードできます。ただし、インターネットにアクセスできないノードからインストールする場合は、通常、必要なすべての依存関係を含む内部リポジトリを設定します。すべての依存関係がローカル リポジトリに含まれていることを確認する唯一の方法は、インストールを試行して不足している依存関係を特定し、インストールが正常に完了するまでローカル リポジトリにコピーすることです。

仮想ホストの設定

Edge 上の仮想ホストでは、API プロキシが公開されるドメインと Edge Router ポートが定義されます。さらに、拡張機能により、アプリが API プロキシへのアクセスに使用する URL も定義されます。また、仮想ホストでは、API プロキシへのアクセスに HTTP プロトコルと暗号化された HTTPS プロトコルのどちらを使用するかも定義されます。

Edge オンボーディング プロセスの一環として、組織、環境、仮想ホストを作成する必要があります。Edge では、新規ユーザーがこのプロセスを簡単に行えるように、setup-org コマンドが用意されています。

仮想ホストを作成するときに、次の情報を指定する必要があります。

  • API プロキシで仮想ホストを参照するために使用する仮想ホストの名前
  • 仮想ホストの Router のポート。通常、これらのポートは 9001 から始まり、新しい仮想ホストごとに 1 ずつ増加します。
  • 仮想ホストのホスト エイリアス。通常は仮想ホストの DNS 名です。

Edge Router は、リクエストを処理する API プロキシの決定の一環として、受信リクエストの Host ヘッダーを使用可能なホスト エイリアスのリストと比較します。仮想ホストを介してリクエストを行う場合は、仮想ホストのホスト エイリアスに一致するドメイン名を指定するか、Router の IP アドレスとホスト エイリアスを含む Host ヘッダーを指定します。

たとえば、ポート 9001 に myapis.apigee.net のホスト エイリアスを持つ仮想ホストを作成した場合、その仮想ホストを介した API への cURL リクエストには次のいずれかの形式を使用できます。

  • myapis.apigee.net の DNS エントリがある場合:

    curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
  • myapis.apigee.net の DNS エントリがない場合:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    このフォームでは、Router の IP アドレスを指定し、ホスト エイリアスを Host ヘッダーで渡します。

    : curl コマンド、ほとんどのブラウザ、その他多くのユーティリティでは、ドメインを含む Host ヘッダーがリクエストの一部として自動的に追加されるため、実際には次の形式の curl コマンドを使用できます。


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

仮想ホストの DNS エントリがない場合のオプション

DNS エントリがない場合の選択肢の一つは、<routerIP>:port の形式で、Router の IP アドレスと仮想ホストのポートをホスト エイリアスに設定することです。例:

192.168.1.31:9001

次に、以下の形式で curl コマンドを作成します。

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

このオプションは、Edge UI で適切に機能するため、推奨されます。

複数の Router がある場合は、各 Router の IP アドレスと仮想ホストのポートを指定して、Router ごとにホスト エイリアスを追加します。

ホスト エイリアスを temp.hostalias.com などの値に設定することもできます。この場合、すべてのリクエストで Host ヘッダーを渡す必要があります。

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

または、ホスト エイリアスを /etc/hosts ファイルに追加します。たとえば、/etc/hosts に次の行を追加します。

192.168.1.31   temp.hostalias.com

これにより、DNS エントリがある場合と同じようにリクエストを行うことができます。

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

インストール後の Edge コンポーネントの構成

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

.properties ファイルは /opt/apigee/customer/application ディレクトリにあります。 このディレクトリにはコンポーネントごとに独自の .properties ファイルがあります。例: router.propertiesmanagement-server.properties など。

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

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

例:

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

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

Edge の構成の詳細については、Edge の構成方法をご覧ください。

Edge Router が /etc/rc.d/init.d/functions にアクセスできることを確認する

BaaS ポータルの Edge Router は Nginx ルーターを使用するため、/etc/rc.d/init.d/functions への読み取りアクセス権が必要です。

セキュリティ プロセスで /etc/rc.d/init.d/functions の権限の設定が義務付けられている場合、700 には設定しないでください。そうすると、ルーターは起動できません。権限を 744 に設定して、/etc/rc.d/init.d/functions への読み取りアクセスを許可できます。

Edge コンポーネントでのコマンドの呼び出し

Edge では、Edge のインストールを管理するために使用できる管理ユーティリティが /opt/apigee/apigee-service/bin にインストールされます。たとえば、apigee-all ユーティリティを使用して、ノード上のすべての Edge コンポーネントの起動、停止、再起動、ステータスの確認を行うことができます。

/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version

個々のコンポーネントを制御および構成するには、apigee-service ユーティリティを使用します。apigee-service ユーティリティの形式は次のとおりです。

/opt/apigee/apigee-service/bin/apigee-service component action

たとえば、Edge Router を再起動するには、次のコマンドを実行します。

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

ノードにインストールされているコンポーネントのリストは、/opt/apigee ディレクトリで確認できます。このディレクトリには、ノードにインストールされているすべての Edge コンポーネントのサブディレクトリが含まれています。各サブディレクトリには次のような接頭辞が付加されています。

  • apigee - Edge で使用されるサードパーティ コンポーネント。たとえば、apigee-cassandra です。
  • edge - Apigee の Edge コンポーネント。例: edge-management-server
  • edge-mint - Monetization コンポーネント。例: edge-mint-management-server
  • baas - API BaaS コンポーネント。例: baas-usergrid

各コンポーネントの動作はコンポーネントによって異なりますが、以下のアクションはすべてのコンポーネントでサポートされています。

  • 起動、停止、再起動
  • status、version
  • バックアップ、復元
  • install、uninstall

ログファイルへのアクセス

apigee-setupsetup.sh スクリプトのログファイルは、/tmp/setup-root.log に書き込まれます。

各コンポーネントのログファイルは、/opt/apigee/var/log ディレクトリに格納されています。各コンポーネントには独自のサブディレクトリがあります。たとえば、Management Server のログは以下のディレクトリにあります。

/opt/apigee/var/log/edge-management-server

一般的な Yum コマンド

Linux 用の Edge インストール ツールは、Yum を使用してコンポーネントのインストールと更新を行います。ノード上のインストールを管理するには、複数の Yum コマンドが必要になる場合があります。

  • すべての Yum キャッシュをクリーンアップします。
    sudo yum clean all
  • Edge コンポーネントを更新するには:
    sudo yum update componentName
    例:
    sudo yum update apigee-setup
    sudo yum update edge-management-server

ファイル システムの構造

Edge では、すべてのファイルが /opt/apigee ディレクトリにインストールされます。

このガイドと Edge 運用ガイドでは、ルート インストール ディレクトリは次のように記載されています。

<inst_root>/apigee

このインストールでは、次のファイル システム構造を使用して Apigee Edge for Private Cloud がデプロイされます。

ログファイル

コンポーネント

場所

管理サーバー

<inst_root>/apigee/var/log/edge-management-server

ルーター

<inst_root>/apigee/var/log/edge-router

Message Processor

<inst_root>/apigee/var/log/edge-message-processor

Apigee Qpid Server

<inst_root>/apigee/var/log/edge-qpid-server

Apigee Postgres サーバー

<inst_root>/apigee/var/log/edge-postgres-server

Edge UI

<inst_root>/apigee/var/log/edge-ui

ZooKeeper

<inst_root>/apigee/var/log/apigee-zookeeper

OpenLDAP

<inst_root>/apigee/var/log/apigee-openldap

Cassandra

<inst_root>/apigee/var/log/apigee-cassandra

Qpidd

<inst_root>/apigee/var/log/apigee-qpidd

PostgreSQL データベース

<inst_root>/apigee/var/log/apigee-postgresql

データ

コンポーネント

場所

管理サーバー

<data_root>/apigee/data/edge-management-server

ルーター

<data_root>/apigee/data/edge-router

Message Processor

<data_root>/apigee/data/edge-message-processor

Apigee Qpid エージェント

<data_root>/apigee/data/edge-qpid-server

Apigee Postgres エージェント

<data_root>/apigee/data/edge-postgres-server

ZooKeeper

<data_root>/apigee/data/apigee-zookeeper

OpenLDAP

<data_root>/apigee/data/apigee-openldap

Cassandra

<data_root>/apigee/data/apigee-cassandra/data

Qpidd

<data_root>/apigee/data/apigee-qpid/data

PostgreSQL データベース

<data_root>/apigee/data/apigee-postgres/pgdata