ウェブアプリケーションサーバー
弊社ウェブアプリケーションサーバーでは、ソースコードから弊社のインフラ上にアプリケーションをデプロイすることができます。また、パイプラインを使用してこのプロセスを完全に自動化し、アプリケーションを再構築することなく、ソースコードから変更をQAおよび本番環境にシームレスに反映可能です。
同サーバーにおける「アプリケーション」の定義は、1つまたは複数のタスクを実行するためにサーバーによって実行される命令の集合です。現在の弊社インフラは、背後にサーバーを必要とするアプリケーションのデプロイをサポートするように設計されています。
弊社サービスとの互換性を最大化するには、The Twelve-Factor App(クラウドネイティブアプリ)のガイドラインに従うことをお勧めします。
Kinstaコミュニティフォーラムのウェブアプリケーションサーバーカテゴリでは、アプリケーションに関する情報、ヒント、ベストプラクティスをご紹介しています。
サポート言語
弊社ウェブアプリケーションサーバーでは、公開または非公開のGitリポジトリやDockerイメージから、ほぼすべてのアプリケーションをデプロイ可能です。後者を使用する場合は、Linux/amd64アーキテクチャを使用する必要があります。Dockerイメージには、コード、ランタイム、ライブラリ、依存関係、設定ファイルなど、必要なものがすべて含まれているため、ビルドパッケージを選択する必要はありません。前者のGitリポジトリを使用する場合は、アプリケーションをビルドする際にビルドパッケージを選択してください。弊社では、NixpacksまたはBuildpacksを通じて以下の言語をサポートしています。
- Clojure
- Cobol
- Crystal
- C#/.NET
- Dart
- Deno
- Elixir
- F#
- Go
- Haskell
- Java
- Lunatic
- Node.js
- PHP
- Python
- Rust
- Swift
- Scala
- Zig
Dockerfileの使用
Dockerfileを使ってDockerからアプリケーションをデプロイすることができます。また、Dockerfileを使ったhello worldリポジトリもご用意しています。
すぐに使える活用例
PHPやNode.jsを使用したメール送信の例など、サポートされている言語やフレームワークのすぐに使える活用例をご用意しています。
Gitサービス
アプリケーションを追加する際には、公開または非公開のGitリポジトリやDockerイメージを使用することができます。公開Gitリポジトリを使用する場合は、リポジトリのURLとブランチが必要になります。非公開のGitリポジトリの場合は、アカウントからGitサービスとリポジトリを選択してください。Gitサービスは、以下のいずれか(またはすべて)から選択可能です。
Dockerイメージ
アプリケーションを追加する際には、公開または非公開のGitリポジトリやDockerイメージを使用することができます。公開のDockerイメージを使用する場合は、Dockerイメージへのパスが必要になります。非公開のDockerイメージの場合は、「企業の設定」>「レジストリ認証情報」に移動して、レジストリの認証情報を追加してください。レジストリは以下のいずれか(またはすべて)から選択可能です。
- GitHub(ghcr.io)
- GitLab(registry.gitlab.com)
- Docker Hub(docker.io)
価格
ウェブアプリケーションサーバーは従量課金制です。アプリケーションで使用されたリソースに対してのみ、以下に基づいた料金が発生します。
- 帯域幅(エグレスのみ)
- ビルド時間
- ウェブアプリケーションサーバーPodの使用量
計算方法については、アプリケーションの価格設定をご参照ください。
重要な注意事項
以下の点にご留意ください。
- ビルド時およびランタイムにおいて、お客様のプロセスはコンテナへのrootアクセスを持つことになります。Kinstaのコンテナは水平方向と垂直方向に隔離されており、この状況であっても十分な保護が確保されます。とはいえ、rootアクセスは推奨されず、将来的にはこの機能の削除も予想されます。したがって、アプリケーションランタイムでのrootアクセスには依存しないようにご注意ください。
- WordPressサイトについては、ウェブアプリケーションサーバーではなく、WordPress専用マネージドクラウドサーバーのご利用をお勧めします。WordPress専用マネージドクラウドサーバーは、KinstaによってWordPressサイト向けのサービスとして構築、設計、最適化されています。フルページキャッシュ、バックアップ、プラグインやテーマの簡単更新など、あらゆる機能が盛り込まれています。
トラブルシューティング
お客様のアプリケーションのデプロイに問題がある場合には以下の注意点とトラブルシューティングのヒントをご確認ください。
- Podとその中で実行されるプロセスはエフェメラルです。つまり、その場で無期限に使用することはできず、アップロードした画像や動画などのデータを保存するために使用することはできません。ユーザーコンテンツに関連するファイルは、永続ストレージまたはサードパーティのストレージに保存する必要があります。
- ロールアウト中にアプリケーションのデプロイが失敗した場合、またはアプリケーションのビルドに失敗した場合はこちらをご覧ください。
- エラーのトラブルシューティング中にアプリケーションを一時停止する必要がある場合は、アプリケーション設定ページ(「アプリケーション」>(アプリ名)>「アプリケーションの一時停止」)で一時停止できます。
- アプリケーションのランタイムログは、ログページ(「アプリケーション」>(アプリ名)>「ログ」)で確認できます。