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 に変換します。
Funcraft で管理されている関数のディレクトリに移動します。
変換コマンドを実行します:
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 コンポーネントへの移行
Funcraft で管理されている関数のディレクトリに移動します。
変換コマンドを実行します:
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.yamlHTTP 関数:
s local start -t s.yaml
Function Compute へのデプロイ:
s deploy -t s.yaml