すべてのプロダクト
Search
ドキュメントセンター

:Funcraft から Serverless Devs への移行

最終更新日:Apr 02, 2026

Funcraft は非推奨となり、今後一切の更新が行われません。Function Compute リソースを Funcraft で管理している場合は、Serverless Devs へ移行してください。Serverless Devs では、ストレステストや依存関係のインストールなど、追加の機能もサポートしています。

本トピックでは、Serverless Devs の以下の 2 つのコンポーネントへの移行手順について説明します:FC コンポーネントおよび Resource Orchestration Service (ROS) コンポーネント。

移行パスの選択

現在の環境に応じて、適切な移行パスを選択してください:

対象コンポーネント移行方法使用タイミング
FC コンポーネント変換コマンドの実行(推奨)プロジェクトディレクトリ内に Funcraft の template.yml ファイルがあり、まだリソースをデプロイしていない場合
FC コンポーネントリソースの同期関数をすでに Function Compute にデプロイ済みであり、YAML 変換をスキップしたい場合
ROS コンポーネント変換コマンドの実行インフラストラクチャを ROS で管理しており、ROS 互換の s.yaml

Serverless Devs のコンポーネントの詳細については、「コンポーネント」をご参照ください。

前提条件

開始する前に、以下の条件を満たしていることを確認してください:

  • Serverless Devs がインストールおよび設定済みであること

  • Funcraft プロジェクトに template.yml ファイルが存在すること、または関数がすでに Function Compute にデプロイ済みであること

FC コンポーネントへの移行

方法 1:変換コマンドの実行(推奨)

この方法では、Funcraft の template.yml を Serverless Devs の s.yaml に変換します。

  1. Funcraft で管理されている関数のディレクトリに移動します。

  2. 変換コマンドを実行します:

    s cli fc fun2s --target s.yaml

    このコマンドにより、プロジェクトディレクトリ内に s.yaml ファイルが生成されます。出力例は以下のとおりです:

    fc-transform.zip ファイルの展開が完了しました
    [2021-09-02T10:31:28.870] [INFO ] [FC-TRANSFORM] - 使用中の Funcraft YAML: /test/demo/template.yml
    [2021-09-02T10:31:28.884] [INFO ] [FC-TRANSFORM] - 注意:Serverless Devs YAML のパス: /test/demo/s.yaml
    
    次のステップのヒント
    
    ======================
    * イベント関数の呼び出し: s local invoke -t s.yaml
    * HTTP 関数の呼び出し: s local start -t s.yaml
    * リソースのデプロイ: s deploy -t s.yaml
    
    fun2s メソッドの終了

パラメーター

パラメーター必須説明
--sourceいいえFuncraft 関数のディレクトリへのパス。
--targetいいえ出力 YAML ファイルの名前。デフォルト値は s.yaml または s.yml です。カスタムファイル名を使用する場合は、このパラメーターを指定してください。
--forceいいえ同名の出力ファイルが既に存在する場合、そのファイルを上書きします。
--regionはいリソースをデプロイするリージョン。

方法 2:リソースの同期

関数がすでに Function Compute にデプロイ済みである場合、YAML ファイルの変換ではなく、直接リソースを同期できます。これにより、既存のデプロイメントを Serverless Devs で管理できるようになります。

sync コマンドの詳細については、「sync コマンド」をご参照ください。

ROS コンポーネントへの移行

  1. Funcraft で管理されている関数のディレクトリに移動します。

  2. 変換コマンドを実行します:

    s cli fc-transform fun2ros --target s.yaml

    このコマンドにより、プロジェクトディレクトリ内に s.yaml ファイルが生成されます。出力例は以下のとおりです:

    [2021-09-02T10:34:53.909] [INFO ] [FC-TRANSFORM] - 使用中の Funcraft YAML: /test/demo/template.yml
    [2021-09-02T10:34:53.923] [INFO ] [FC-TRANSFORM] - 注意:Serverless Devs YAML のパス: /test/demo/s.yaml
    
    次のステップのヒント
    
    ======================
    * リソースのデプロイ: s deploy -t s.yaml
    
    fun2ros メソッドの終了

パラメーター

パラメーター必須説明
--sourceいいえFuncraft 関数のディレクトリへのパス。
--targetいいえ出力 YAML ファイルの名前。デフォルト値は s.yaml または s.yml です。カスタムファイル名を使用する場合は、このパラメーターを指定してください。
--forceいいえ同名の出力ファイルが既に存在する場合、そのファイルを上書きします。
--regionはいリソースをデプロイするリージョン。

移行後の操作

s.yaml ファイルが生成された後は、Serverless Devs を使用して関数を管理できます:

  • デプロイ前にローカルでテストする:

    • イベント関数: s local invoke -t s.yaml

    • HTTP 関数: s local start -t s.yaml

  • Function Compute へのデプロイ:s deploy -t s.yaml