すべてのガイド
NODE.JS APIの特長

VPS お問い合わせ Node.js API: 展開とサイジングチェックリスト

Node.js APIはランタイムサポート、プロセス管理、実際のメモリ使用、プロキシ動作、秘密、データベースアクセス、テストされた回復によってVPSを選択します。

アプリケーションのランタイムと依存関係から始める

Node.js API 用の VPS は、互換性のある環境と管理者の所有者を必要とします。 実行時間要件、パッケージロックファイル、ネイティブ依存関係、データベース、およびワーカーを記録します。 サポートされているActive LTS または Maintenance LTS リリースをプロジェクトと互換性のある状態で選択し、デプロイされたプロセスで使用される実行可能を確認します。

API が Linux やコンテナで直接実行されているかどうかを決定します。 Node.jsアプリケーションやデータベースをインストールしない配布オプションです。 Docker の準備は初期環境の選択です; アプリケーション・コード、ランタイムの両立性および働く API はまだ配達の後で導入され、確認する必要があります。

Linux の比較 VPS あなたの環境のための API

プロセスの監督、起動および操業停止を定義して下さい

スタート API インタラクティブ SSH ターミナルは完全な生産のライフサイクルではないです。 1つのスーパーバイザーを選択します。例えば、直接展開やコンテナのランタイムをシステム化します。 実行可能、作業ディレクトリ、サービスアカウント、構成ソースを記録します。 インタラクティブなシェル環境なしで起動を確認します。

制御されたプロセスの失敗および計画された再起動をテストして下さい。 再起動ルールと診断を見直し、永続エラーが明らかな再起動ループになりません。 データベースが接続されているか、API が準備されているかを再度実行するプロセスは証明しません。 優雅な終了をテストして下さい:新しい仕事の受け入れを止めて下さい、スーパーバイザーのタイムアウトの前に適用の関係を適切に処理し、閉めて下さい。

必要に応じてテーブルを水平にスクロールします。

APIの展開と受諾チェックを記録
パーツ記録への決定収集する証拠
ランタイム対応するNode.jsリリースとアプリケーション要件指示されたプロセスは意図された実行可能を使用します
プロセスライフサイクルスーパーバイザー、アカウント、再起動ポリシー起動、故障回復および操業停止はテストされました
パブリックエントリーポイントドメイン、プロキシおよびプライベートアプリケーションエンドポイントHTTPS と実際の API リクエストは、意図したパスを使用する
データベースおよび労働者所在地、資格情報、通貨、データ所有権接続、書き込み、ジョブは、代表的な負荷で動作します
バックアップリリース、構成、データコピー、ロールバックスコープ別の復元は、作業APIを再構築します

コンテナ展開のためのDocker VPS準備のレビュー

リクエストの動作からRAMとCPUを選択してください

代表的なミックスのメモリ、要求のレイテンシーおよび間違いを測定して下さい API エンドポイント ペイロードサイズ、同時データベースコール、サーバーを共有する任意のバックグラウンドジョブを含む。 Node.js process.memoryUsage は、RSS と V8 ヒープ情報を報告します。heapUsed は、完全なプロセス、そのネイティブの割り当て、またはその他のサービスが実行されていることを記述しません。 VPS.

V8 古いスペースの制限は、メモリ使用の一部だけを制御し、ホストの割り当て全体を消費しないでください。 さらに、vCPUは1つのイベントループでブロックされたコールバックを並行して実行しません。 高価な同期作業、クエリ、および並列を調べて、より大きなサーバーの必要性として遅いエンドポイントを解釈します。 複数のプロセスを意図的に実行する場合、その組み合わせられたメモリと接続数を測定します。

Docker の積み重ねのサイズの塗布、データベースおよび労働者の記憶

パブリックプロキシとプライベートアプリケーション境界をチェック

どのコンポーネントがパブリックリクエストを受信するかを定義し、そのエンドポイントが内部でAPIに達します。 逆プロキシを使用する場合は、アプリケーションのリスニングアドレス、プロキシ先、信頼ルールを意図的に設定します。 転送されたクライアントやスキームヘッダは、すべてのソースから信頼できます。 実際に提供したエンドポイントの両側で、bodyリクエストの制限とタイムアウトを確認します。

認証されたリクエスト、期待される検証エラー、サポートされた場合のアップロードと、アプリケーションが1つを必要とする場合の長時間実行操作をテストします。 チェック HTTPS hostname とクライアントの行動、関連するブラウザーの原点規則を含む。 意図した公開ルートの外部にデータベースと管理エンドポイントを保持します。 ザ・オブ・ザ・ Nginx checklist はホストと証明書のセットアップをカバーします。これらのチェックは、ホストと証明書のセットアップを検証します。 API 背後にある振る舞い。

Nginx が 502 を返すと、アプリケーションログで上流エラーログを比較します。 API は、設定されたアドレスとポートで実行してリスニングされていることを確認し、プロキシ自身のネットワークのコンテキストからそのエンドポイントをテストします。 別のコンテナでは、 localhost は各コンテナの環境を参照します。 意図した上流は、代わりにサービス名を必要とする場合があります。 パブリックファイアウォールを変更するか、より大きなVPSを選択する前に、接続が失敗したことを調査します。

Nginxホストルーティング、HTTPS、プロキシ展開を検証

設定と認証情報をプロセスにスコープ付け

環境変数やその他の設定をリストする API 各秘密の文書化された所有者と要求します。 Node.js process.env で起動変数を読み込むことができますが、環境変数を選択すると、暗号化、回転、アクセス制御は提供されません。 公開ウェブサイトのディレクトリ、ソースリポジトリ、アプリケーション応答から秘密の資料を保管してください。

デフォルトで管理者権限を使用するのではなく、アプリケーションを実行します。 サービスアカウントは、意図した設定を読み、必要なデータのみを書き込むことができることを確認します。 ログからRedactトークンと機密ペイロード。 公開制作パスからデバッギングインスペクターを保管し、アプリケーションのテスト済みリリースプロセスを通じて依存性の更新を見直してください。

回復にデータベース、キュー、アップロードを含める

データベースとキューがローカルまたは外部であるかを決定し、選択したプロセスとワーカーのカウントの周りの接続制限を設定します。 重複したビジネスアクションを作成せずにデータベースの不当性と作業者のリトライを回復させます。 APIヘルスエンドポイントは、実行中のプロセスがユーザーによる重要な依存性が利用できないことを確認しているだけです。

回復セットは、展開可能なリリース、必要な構成、データベースデータ、および任意のアップロードまたは耐久性のあるジョブ状態を必要とします。 認証されたオペレーターがサービスを再構築できるように、認証情報を保護します。 生産から復元をテストし、選択したバックアップ後に失われた仕事を特定します。 Node.js プロセスを再作成するか、またはそのイメージを引っ張ってアプリケーションレコードを復元しません。

完全なアプリケーションの回復セットを造り、テストして下さい

実際のAPIチェックを使用してリリースを受け入れます

クライアントをデプロイする前に、ドメイン、認証、権限、エラー、実際の読み込み/書き込みワークフローを確認します。 再起動後の起動確認、使用可能なログ、および制御された再起動。 リリース識別子とテスト環境で結果を記録します。

データベースの逆転とは別々にロールバックを保ちましょう。 以前のアプリケーションリリースに戻すと、互換性のないスキーマの変更や新規の書き込みレコードの後には安全ではありません。 アプリケーションの開発者との決定を計画し、測定されたワークロードに対する現在のVPSリソースと引用語句を確認します。 決済・サービス配送は、お客様のAPIの受諾とは別々に保管されます。

  • サポートされているランタイムと監視されたスタートアップは、アプリケーション要件に適合します。
  • 代表的な要求と労働者は、測定されたリソース割り当てに適合します。
  • 公開ルーティング、認証、およびプライベートの依存性がテストされています。
  • 秘密、データ回復、データベースロールバック決定は所有者を持っています。
  • 申請書が実行プロセスのみに依存しない。
Linux VPSの設定を比較するその他のガイド