配備

Vonage Cloud Runtimeでは、デプロイすることでプラットフォーム上に実行中のインスタンスを素早く作成することができます。デプロイはソースコードをコンフィギュレーション・ファイルでバンドルし、パッケージを作成します。パッケージはプラットフォームにアップロードされ、実行インスタンスとなります。ワークスペースを コード・ハブプロジェクトの変更が終わったら、ターミナルを使ってコードをデプロイできる。

設定ファイル

コンフィギュレーション・ファイルは、アプリケーションのデバッグとデプロイ方法に関する情報をプラットフォームに与えます。以下に設定ファイルの例を示す:

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
  • プロジェクト名は、プロジェクトのユニークな名前空間であり、多くのインスタンスを含むことができます。
  • インスタンス名はインスタンスの一意な識別子です。
  • region はインスタンスが実行される場所である。
  • entrypoint は、Vonage Cloud Runtimeプラットフォームにアプリケーションの起動方法に関する情報を提供します。
  • build-script では、プラットフォームがアプリケーションを構築する間に実行するスクリプトを指定できます。

オプションの詳細については、以下をご覧ください。 設定ファイルガイド.

注入された環境変数

プロジェクトをCloud Runtimeにデプロイする(または vcr debug)、プラットフォームはあなたのために環境変数を注入します。 environment オブジェクトを設定ファイルから取得します。

VCR_PORT
VCR_REGION
VCR_DEBUG
VCR_CODE_DIR
VCR_REGION_ID
VCR_PRIVATE_KEY
VCR_API_REGION_ID
VCR_API_ACCOUNT_ID
VCR_API_ACCOUNT_SECRET
VCR_API_APPLICATION_ID
VCR_INSTANCE_PUBLIC_URL
VCR_INSTANCE_SERVICE_NAME

アプリケーションのアドレスとポート

アプリケーションをCloud Runtime上で正しく実行するには、正しいポートでアプリケーションを実行していることを確認する必要があります。このポートは クラウド・ランタイム・デバッガ とデプロイ時あなたは VCR_PORT そして VCR_HOST 環境変数はCloud Runtimeによって注入され、常に正しいポートとホストを使用できるようにします。以下は express.js:

const port = process.env.VCR_PORT;
const host = process.env.VCR_HOST ??0.0.0.0
app.listen(port, host, () => {
 console.log(`App listening on port ${port}`);
});

ウェブサーバーによっては、ホストを 0.0.0.0.通常、コードが自動的に管理するので、手動で設定する必要はない。

ヘルスチェック・ルート

Vonage Cloud Runtimeプラットフォームはルートを期待します、 /_/healthこれは、デプロイされたアプリケーションの健全性をチェックするために使用されます。このルートは、認証の背後にあるものであってはなりません。このルートが200ステータスを返さない場合、アプリケーションは再起動されます。ルートが見つからない場合、デプロイは失敗します。

以下は express.js:

app.get('/_/health', async (req, res) => {
    res.sendStatus(200);
});

30秒以内に200以外のステータスを返すことで、プラットフォームがアプリケーションを自動的に再起動させることができる。

デプロイ方法

Vonage Cloud Runtime CLIを使用してデプロイできます。デプロイするには、以下を実行します:

vcr deploy

資格情報が見つからないエラー」が発生した場合は、以下を実行してください。 vcr app generate-keys を使用して、Vonage Cloud Runtime用のVonageアプリケーションの認証情報を再生成します。

このコマンドは以下のことを行う:

  • Vonageアプリケーションのコールバックを設定ファイルの capabilities オブジェクトがある。
  • カレントディレクトリをパッケージアップする。
  • クラウド・ランタイム・プラットフォームにアップロードする。
  • 設定ファイルで指定されている場合は、ビルドスクリプトを実行します。
  • すべて成功したら entrypoint.

デプロイの一部として大きなファイルや不要なファイルをアップロードしないようにするには .vcrignore ファイルで除外する。

デフォルトでは、deployコマンドは次のような設定ファイルを探します。 vcr.yml を実行する。別のコンフィギュレーション・ファイルを使用するには、以下を実行する:

vcr deploy --filename <path/to/file>

例えば、現在のコードを次のようなコンフィギュレーション・ファイルでデプロイする。 production.yml あなたは走るだろう:

vcr deploy --filename production.yml

GitHub アクションでデプロイする

GitHub のワークフローにデプロイを組み込みたい場合は、デプロイを代行する GitHub Action を追加しましょう。アクションの主な手順は、コードをチェックアウトして クラウドランタイムCLIそしてdeployコマンドを実行する。ワークフローの例です。 ビルドスクリプト あなたのプロジェクトのカスタム面を処理する:

name: Deploy to Cloud Runtime

on:
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    
    env:
      VONAGE_API_KEY: ''
      VCR_REGION: 'euw1'
    
    steps:
      - name: Checkout code
        uses: actions/checkout@v3.0.2
      - name: Install Cloud Runtime CLI
        uses: Vonage/cloud-runtime-cli@main
      - name: Deploy
        run: |
          vcr deploy --api-key ${{env.VONAGE_API_KEY}} --api-secret ${{ secrets.VONAGE_API_SECRET }} --region aws.${{env.VCR_REGION}} --graphql-endpoint https://graphql.${{env.VCR_REGION}}.runtime.vonage.cloud/v1/graphql

を交換する必要がある。 VONAGE_API_KEY そして VCR_REGION にAPIキーとデプロイしたい地域を入力してください。このワークフローは手動で実行されますが、PR がクローズされたときなどに実行するように編集することもできます。GitHub アクションについての詳細は 行動記録.

配備のトラブルシューティング

Vonage Cloud RuntimeプラットフォームがVonageアプリケーションの認証情報にアクセスできない場合、"credentials not found "エラーが表示されることがあります。CLIを使用して新しい秘密鍵ペアを生成できます:

vcr app generate-keys --app-id <app-id> 

配置を見る

プロジェクトとデプロイメントを詳しく見るには Vonage Cloud Runtimeダッシュボード.

Screenshot of the Vonage Cloud Runtime dashboard home page

デプロイされたインスタンスをクリックすると、ログ、イベント、デプロイ履歴にアクセスできます。たとえば、[history] タブをクリックすると、このインスタンスのデプロイ履歴が表示されます:

Screenshot of an instance's history page

プロジェクトに複数のインスタンスをデプロイした場合、それらはすべてダッシュボードに表示されます:

Screenshot of the cloud runtime dashboard showing multiple instances

というプロジェクトである。 vapiつのコンフィギュレーション・ファイルがある。一方の設定ファイルには dev というインスタンスを持ち、もう一方は prod.これにより、同じコードを異なる環境で実行する複数のインスタンスを持つことができる。

インスタンスの削除

デプロイされたインスタンスを削除したい場合は、Vonage Cloud Runtime CLI の instance remove コマンドを使用できます:

vcr instance remove --project-name <project-name> --instance-name <instance-name> 

そこで dev 上のスクリーンショットの例では、次のように実行する:

vcr instance remove --project-name vapi --instance-name dev

インスタンスIDを使用してインスタンスを削除することもできます:

vcr instance remove --id <instance-id>

警告:これは不可逆的な操作です!付属のステートとスケジューラも永久に削除されます。

IPアドレス許可リスト

システムへのアクセスを制限したい場合、各地域のVonage Cloud Runtime IPアドレスは以下の通りです:

EU西 aws.euw1

  • 52.215.68.46
  • 46.137.9.43
  • 54.72.25.154

米国西部 aws.use1

  • 54.87.47.119
  • 3.224.186.73
  • 35.153.45.51

APAC 東南アジア aws.apse1

  • 13.251.207.33
  • 52.76.50.31
  • 54.169.132.8