設定ファイル

Vonage Cloud Runtime 設定ファイル (vcr.yml)、アプリケーションのデバッグとデプロイ方法に関する情報をプラットフォームに提供します。これは YAML ファイルで、インスタンスがどこにデプロイされるか、どの Vonage アプリケーションに接続されるかなどを設定するためのオブジェクトがあります。以下に設定ファイルの例を示します:

project:
    name: app
instance:
    name: dev
    runtime: nodejs22
    region: aws.use1
    application-id: 773c2b45-c20a-4d6b-8afe-24ce29ba6f92
    entrypoint: [node, index.js]
    build-script: "./build.sh"
    capabilities:
        - voice
        - messages-v1
    environment:
        - name: VONAGE_NUMBER
          value: "44700000000"
        - name: INTEGRATION_API_KEY
          secret: MY_SECRET_API_KEY
    secrets:
        - MY_SECRET_API_KEY
debug:
    name: debug
    application-id: 884c2b45-c20a-4d6b-8afe-24ce29ba6f93
    environment:
        - name: DEBUG_VONAGE_NUMBER
          value: "4471111111"
    entrypoint: [nodemon, --inspect, index.js]
    preserve-data: false

プロジェクト

プロジェクトは、インスタンスをグループ化するための名前空間である。

名称

name はプロジェクトの一意な文字列識別子です。ひとつのプロジェクト内で複数のインスタンスを持つことができます。たとえば、本番コードを実行するインスタンス、開発コードを実行するインスタンス、ステージング用のインスタンスなどです。

複数のインスタンスを持つには、新しい設定ファイルを作成する。 prod.ymlプロジェクト名が同じであることを確認してください。異なるコンフィギュレーション・ファイルをデプロイするには、それらのファイル・パスを deployコマンド.

インスタンス

インスタンスとは、Vonage Cloud Runtimeプラットフォーム上で実行されるあなたのコードのことです。あなたのコードを実行するために、プラットフォームはそれを実行する場所と方法に関するいくつかの情報を必要とします。

名称

name はインスタンスの一意な文字列識別子です。これにより、プロジェクトに複数のインスタンスがある場合に区別することができます。インスタンスの名前は、インスタンスが実行される環境とは関係ありません。 region.

ランタイム

runtime はソース・コードを構築した言語である:

  • nodejs18
  • nodejs22
  • nodejs24
  • python3
  • python3ai
  • python314
  • go119
  • go126
  • java21
  • ruby3.3
  • php8

地域

region はインスタンスが実行される場所です。現在利用可能なリージョンは以下の通り:

  • EU aws.euw1
  • アメリカ aws.use1
  • APAC (シンガポール) aws.apse1
  • APAC (シドニー) aws.apse2

アプリケーションID

application-id はインスタンスが接続されるVonage Application IDで、これによりVonage Cloud Runtimeがアプリケーションのコールバックを設定し、リンクされたNumbersにアクセスできるようになります。

エントリーポイント

entrypoint は、Vonage Cloud Runtimeにアプリケーションの実行方法を命令するために使用されます。 entrypoint は文字列配列を受け取り、それを実行してアプリケーションを起動する。例えば、私のアプリケーションを実行するには、次のようにする:

node index.js

となるだろう:

entrypoint: [node, index.js]

最初の項目は実行するコマンドで、その後にフラグやパラメータが続く。

ビルドスクリプト

build-script では、アプリケーションのビルド中にVCRが実行するスクリプトを指定できます。ビルドスクリプトは entrypoint コマンドが呼び出される。JavaScriptとNPMプロジェクトのビルドスクリプトの例を以下に示す:

#!/bin/bash npm ci --production

能力

capabilities は Vonage Applications の同名の機能に対応し、利用可能なオプションは次のとおりです:

  • voice
  • messages-v1
  • rtc

これにより、Vonage Cloud Runtimeはこれらの機能のWebhookを管理できるようになります。Webhookを受信するには、Vonage Cloud Runtime SDKの対応する関数を使用できます。のドキュメントを参照してください。 , メッセージ そして 会話(RTC) のプロバイダーが詳しい情報を提供している。

環境

environment を使用すると、オプションで環境変数をアプリケーションに渡すことができます。Vonage Cloud Runtime は、以下を実行するときに環境変数を注入します。 vcr debug またはアプリケーションがVonage Cloud Runtimeにデプロイされたときです。例えば VONAGE_NUMBER として利用できる:

process.env.VONAGE_NUMBER;

Vonage Cloud Runtimeはデフォルトでいくつかの環境変数も注入します。これにはVonage Application IDや秘密鍵などが含まれます。完全なリストについては 配備ガイド.

秘密

CLIで作成したシークレットは、2つの方法でインスタンスに公開できます。

を使用している。 secrets リスト - の場合、秘密は環境変数として直接公開される:

instance:
    secrets:
        - MY_API_KEY
        - DATABASE_PASSWORD

MY_API_KEY として利用できる。 process.env.MY_API_KEY.

を使用している。 environment オブジェクト - 秘密は特定の変数名にマップされる:

instance:
    environment:
        - name: API_KEY
          secret: MY_API_KEY

API_KEY として利用できる。 process.env.API_KEY.

シークレットの作成と管理の詳細については Vonage Cloud Runtimeの秘密ガイド.

ヘルスチェック・パス

health-check-path では、プラットフォームがインスタンスの健全性をチェックするために使用するパスをカスタマイズできます。デフォルトのパスは /_/health.エンドポイントはHTTP 200ステータスを返さなければならない。

instance:
    health-check-path: /_/health

健康診断の要件についての詳細は 配備ガイド.

セキュリティ

security を使うと、アプリケーションのエンドポイントへのアクセスを制御できます。デフォルトでは、すべてのエンドポイントは一般にアクセス可能です。デフォルトのアクセス・レベルを設定し、パス固有のオーバーライドを追加することができます。

instance:
    security:
        access: private
        override:
            - path: "/webhooks/*"
              access: public
            - path: "/api/**"
              access: authenticated
              auth-method: vonage_basic

利用可能なアクセスレベルは以下の通り:

  • public - 認証不要
  • private - ホームの外からはアクセスできない
  • authenticated - による認証が必要です。 auth-method

対応するのは auth-methodvonage_basic.

パスパターンは2つのワイルドカードに対応している:

  • * - は単一のパスセグメント(たとえば /users/*/profile)
  • ** - は複数のパスセグメント(たとえば /api/**)

注: Vonage ウェブフック・コールバックは、次のように設定する必要があります。 public Vonageプラットフォームが彼らに届くように。

スケーリング

scaling では、プラットフォームがインスタンスに対して実行するレプリカの最小数と最大数を制御できます。

instance:
    scaling:
        min-scale: 1
        max-scale: 5

セッティング min-scale への 1 以上であれば、コールドスタートを避けるため、常に少なくとも1つのレプリカが稼動している。デフォルトの最小値は 0 (アイドル時はゼロにスケール)。

ドメイン

domains では、インスタンスに1つ以上のカスタムドメイン名を設定できます。ドメインを追加する前に、以下を指すDNS CNAMEレコードを作成します。 custom.[region].runtime.vonage.cloud.

instance:
    domains:
        - api.myapp.example.com

デバッグ

debugオブジェクトは、Vonage Cloud Runtime CLIにアプリケーションをデバッグモードで実行するための情報を与えます。デバッグの詳細については Vonage Cloud Runtimeデバッグガイド.

名称

name を使用すると、デバッガーに名前を付けることができるので、デバッガーが起動したときに生成されるデバッグ URL はランダムではなく、静的なものになります。

アプリケーションID

これにより、インスタンスとは別のVonageアプリケーションIDを指定できます。

環境

environment と同じ働きをする。 インスタンス環境を実行しているときにのみ適用される。 vcr debug.これにより、デプロイされたインスタンスに影響を与えることなく、ローカルで異なる環境変数を使用することができます。

debug:
    environment:
        - name: LOG_LEVEL
          value: "debug"
        - name: API_KEY
          secret: DEV_API_KEY

エントリーポイント

entrypoint デバッグは インスタンスエントリポイント.これにより、例えば、変更が加えられたときにアプリケーションを再起動するファイル・ウォッチャーを含む、独立したデバッグ・ワークフローを柔軟に持つことができる:

nodemon --inspect index.js

となる:

entrypoint: [nodemon, --inspect, index.js]

データの保存

preserve-data で保存されたデータを保持することができます。 インスタンス状態 デバッガの実行間隔を指定します。デフォルトではfalseである。