9. マイグレーションガイド

本章では、Cloud Functions サーバの以前のバージョンからの 変更点や移行方法について説明します。

9.1. 最新版へのバージョンアップ方法

必要なファイル(サーババイナリ・設定ファイル等)を差し替えてサービスを再起動してください。

再起動時に実行状態にある Function はキャンセルされます。

注意

Cloud Functions の Java コードについては、そのままでは動作しない場合があります。 この場合は、最新版の SDK で Function を再ビルドしてコードを再登録する必要があります。

9.2. ver 7.5.1 → 7.5.2 での変更点

  • 内蔵する OSS の最新化を行いました。機能面での差異はありません。
  • Node.js v14 対応を追加しました。

9.3. ver 7.5.0 → 7.5.1 での変更点

9.3.1. Docker 利用時の改善

ロジックサーバを動作させるための Docker Image を、Docker Hub から取得するように改善しました。

  • 旧インストール手順にあった「Dockerコンテナの作成」手順は不要となるため、削除しました。
  • サーバマネージャ設定ファイル の 'repoTag' に記述するイメージ名は、'nebula/...' ではなく 'necbaas/...' となります。

9.3.2. 設定ファイル名称変更

設定ファイル名称が以下の通り変更になります。

  • /etc/baas/cloudfn-server-manager-config.yaml ⇒ /etc/baas/cloudfn/server-manager-config.yaml
  • /etc/baas/cloudfn-server-manager-logback.properties ⇒ /etc/baas/cloudfn/server-manager-logback.properties

なお、後方互換性維持のため、旧名称も使用できます。

9.4. ver 7.0.x → 7.5.0 での変更点

  • Node.js 8 対応を追加しました。
  • サーバマネージャ設定ファイル サンプルの spec 記載を改善しました。 バージョン指定しない(最新版を指す) "node", "java" spec を追加しています。

9.5. ver 7.0.0 → 7.0.2 での変更点

9.5.1. 不具合修正

サーバマネージャに以下の不具合修正を行いました。

  • Java Functionを連続呼び出しするとエラーになる場合がある

9.5.2. 機能追加

  • サーバマネジャーのサービス起動設定に Java ヒープサイズ設定の追加
  • 起動時にバージョン番号をログに出力する

9.6. ver 6.5.3 → 6.5.4 での変更点

9.6.1. 不具合修正

サーバマネージャに以下の不具合修正を行いました。

  • Java Functionを連続呼び出しするとエラーになる場合がある

9.6.2. 機能追加

  • サーバマネジャーのサービス起動設定に Java ヒープサイズ設定の追加
  • 起動時にバージョン番号をログに出力する

9.7. ver 6.5.x → 7.0.0 での変更点

内蔵する OSS の最新化を行いました。

機能面での差異はありません。

9.8. ver 6.5.1 → 6.5.3 での変更点

9.8.1. 機能追加

サーバマネージャに以下の機能追加を行いました。

  • Fluentd 使用していないときでも、Function ログを記録できるようにした(Server Manager ログに合わせて記録)

9.8.2. 不具合修正

サーバマネージャ / Java ロジックサーバに以下の不具合修正を行いました。 サーババージョンは v6.5.3 となります。

  • クライアントからカスタムAPI呼び出しを連続して繰り返し実行するとエラーとなる
  • 重いファンクションを実行すると、他のファンクション呼び出しがブロックされる

9.9. ver 6.5.0 → 6.5.1 での変更点

9.9.1. 不具合修正

Java ロジックサーバ / Node ロジックサーバに以下の不具合修正を行いました。 サーババージョンは v6.5.1 となります。

  • Content-Type にパラメータ (;charset=utf-8など)が付与されているとエラーになる

9.10. ver 6.0.0 → 6.5.0 での変更点

9.10.1. Java ロジックサーバ

内蔵する BaaS SDK のバージョンを 6.5.0 に更新しました。 機能的な変更点はありません。

注意

v6以前で作成した Java ユーザコードはそのままでは動作しない場合があります。 この場合、最新版の Java SDK / Cloud Functions SDK を使用して ユーザコードをビルドし直していただく必要があります。

9.11. ver 5.0.x → 6.0.0 での変更点

注意

Cloud Functions v6 サーバは、APIサーバ v5 との接続互換性がありません。 全サーバを一斉にアップデートしていただく必要がありますので、ご注意ください。

9.11.1. Java 対応

Node.js に加え Java コード実行に対応しました。

インストール手順に従って Java ロジックサーバをインストールすることで使用できるようになります。

9.11.2. Docker レス対応

Docker を使用せずにロジックサーバを起動できる機能を追加しました。

設定手順は サーバマネージャ設定ファイル を参照してください。

9.11.3. 名称変更・ファイル名変更

「コンテナマネージャ」は「サーバマネージャ」に名称が変更されました。 これにともない、設定ファイル名が以下のように変更されています。

  • container-manager-config.properties ⇒ cloudfn-server-manager-config.yaml
  • container-manager-logback.properties ⇒ cloudfn-server-manager-logback.properties

また、サーバの実行ファイル名なども変更となっています。 以下のファイルはすべて削除してください。また起動中のサービスがある場合は停止してください。

  • /etc/baas/container-manager*
  • /opt/cloudfn/bin/container-manager.jar
  • /etc/init.d/container-manager (CentOS/RHEL 6 の場合)
  • /usr/lib/systemd/system/container-manager.service (CentOS/RHEL 7 の場合)

9.11.4. fluentd 設定ファイル変更

上記名称変更に伴い、fluentd の設定ファイル(td-agent.conf)の記述が1箇所変更になります。 具体的には <match nebula.customlogic> という記述を <match nebula.cloudfn> という記述に変更する必要があります。

詳細は Fluentd の設定 を参照してください。

9.11.5. 設定ファイル書式変更

サーバマネージャ設定ファイルが Java プロパティファイル形式から YAML 形式に変更となりましたので、 移行が必要です。

詳細は サーバマネージャ設定ファイル を参照してください。

9.11.6. RabbitMQ 関連

以下の改善を実施しました。

  • 起動時の RabbitMQ 接続をリトライするように改善
  • ハートビート間隔を 30秒 ⇒ 10秒に短縮