APIcast セルフマネージドアップグレード
対象者
このチュートリアルは、3scale の Nginx ダウンロード可能ファイルを使用し、ゲートウェイ自体 (ネイティブ、Docker、または OpenShift デプロイメント) を管理しており、最新バージョンに更新する方を対象とします。
ホストされている APIcast を使用している場合には、アップグレードは安全であり、ゲートウェイの動作には影響しません。your_API_name > Integration > Configuration セクションに移動し、Start using the latest APIcast ボタンをクリックします。(この変更は、元に戻すことができ、Public Base URL
の値のみが空になり、残りの設定は残ります)。
利点
サポート範囲内の環境でのゲートウェイの実行は、サポート側とユーザー側の双方にとって理想的です。APIcast ゲートウェイの古いバージョンは 2019 年 3 月末に廃止され、最終的にサポートされなくなります。そのため、できるだけ早く移行することで、サポートデリバリーからの支援が必要になった場合など、長期的な視点で考えると、作業がはるかに簡単になります。
- ゲートウェイを設定する UI が刷新され、ステージング環境と運用環境が分離されて、どの変更がどこに適用されたかを簡単に区別できるようになりました。
- 設定可能な
Public Base URL
でステージングゲートウェイ設定に使用できます。 - ゲートウェイは、設定の変更を自動的にリロードするように設定できます。
- コンテナーベースなので、OpenShift にもデプロイできます。
- UI (管理ポータル) を介して設定可能で、すぐに使用できるポリシーなど、新しい APIcast ポリシーシステムが追加されています。(例: CORS サポート、URL 書き換え、ヘッダー変更などのポリシー)。
仕組み
統合ページは、保存されると JSON
形式で設定ファイルを生成し、加えられた変更を更新します。これは、3scale アカウント内に保存されます。APIcast の最新バージョンは、設定がゲートウェイコードから分離されるように書き直されました。この点についてはドキュメントでは説明しませんが、多くの利点があります。その中でも重要なのは、新しいゲートウェイが起動時に JSON
設定ファイルをプラグインする点です。古いバージョンの APIcast は、統合ページからのみダウンロードできます。そこでは JSON
設定は使用されず、nginx.conf
と nginx.lua
のみが使用されます。最新の APIcast では、ステージング設定と運用設定の両方が個別にバージョン管理される点にも注意することが重要です。
アップグレード方法
次のデプロイメントオプションから選択できます。
- Docker: 最新の APIcast Docker イメージ は、Red Hat Container Catalogue にあります。Docker 上の APIcast のチュートリアルに従って、ゲートウェイをインストールして起動し、関連する 3scale アカウントを参照します。
- OpenShift: 最新の APIcast OpenShift テンプレートは、3scale AMP GitHub リポジトリー にあります。そこから apicast.yaml という名前のテンプレートをダウンロードし、この チュートリアル に従って、関連する 3scale アカウントを参照するゲートウェイをインストールして開始します。
ステージング設定または実稼働設定のいずれかを具体的にテストする場合は、THREESCALE_DEPLOYMENT_ENV=staging
のように、環境変数 THREESCALE_DEPLOYMENT_ENV
を起動コマンドで指定する必要があります。この例では、ステージング設定ファイルを取得するように 3scale プラットフォームの API に明示的に指示しています。アップグレード後、ステージング環境も自己管理され、3scale によってホストされないことに注意してください。
最後に、ゲートウェイにカスタマイズが適用されている場合は、それらを新しい APIcast コードにマージする必要があります。ゲートウェイをカスタマイズする方法の例は、APIcast GitHub リポジトリーの例 にあります。
よくある質問
-
UI で最新の APIcast にアップグレードするとどうなりますか?
新しい APIcast に切り替える場合は、次のような状況になります。
Public Base URL
を設定するように求められ、設定のダウンロードに使用される API は、Public Base URL
が設定され、設定が保存されるまで機能しません。 -
現在のゲートウェイ設定に影響しますか?
UI から最新の APIcast にアップグレードしても、現在のゲートウェイ設定には影響しません。ただし、最新の UI の変更には下位互換性がないため、新しく生成された
JSON
設定を古いバージョンの APIcast で使用することはできません。 -
UI を介してアップグレードする前に、最新の APIcast コードがすでにデプロイされている場合はどうなりますか?
すでに APIcast の最新バージョンを使用している場合、これは古い UI との下位互換性があります。この場合の主な違いは、前述の環境変数
THREESCALE_DEPLOYMENT_ENV
を使用して、ゲートウェイでテストするステージング環境と実稼働環境を区別できないことです。つまり、GUI を何も変更せずに、少なくとも APIcast の最新バージョンを試すことが可能であることになります。最新バージョンの APIcast と古い UI では、受信リクエストをゲートウェイに正しくルーティングするために必要なPublic Base URL
を設定する必要があることに注意してください。
Comments