お客様のネットワーク内に 1 つのコンテナと 1 つの PostgreSQL データベースを用意すれば、Unico に接続できます。
要件
| 要件 | 詳細 |
|---|---|
| コンテナランタイム | Docker、Docker Compose、または Kubernetes。イメージは linux/amd64 と linux/arm64 向けにビルドされており、非 root で実行されます |
| PostgreSQL | バージョン 16 以降。Human Plugin 専用のデータベースで、ユーザーとパスワードで接続できること。デフォルトで SSL が必須です |
| アウトバウンド HTTPS | Unico への接続。ネットワークとセキュリティを参照してください |
| インバウンド | ポート 8080、プレーン HTTP、お客様のバックエンドからのみ |
| シークレット | お客様のアクセスキーとデータベースのパスワード |
ハードウェア要件
800 KB までのセルフィーを使用し、1 分あたり最大 1,500 トランザクションで Human Plugin を実行するための最小構成です。
Human Plugin
| リソース | 最小 |
|---|---|
| CPU | レプリカあたり 1 vCPU |
| メモリ | レプリカあたり 1 GB |
より多くのボリュームを処理する場合は、1 分あたり 1,500 トランザクションごとにレプリカを 1 つ追加してください。また、1 つが再起動している間も Human Plugin を利用し続けられるよう、複数のレプリカでの実行をおすすめします。
PostgreSQL
| リソース | 最小 |
|---|---|
| バージョン | 16 |
| CPU | 2 vCPU |
| メモリ | 4 GB |
| ディスク | SSD |
ディスク容量を見積もるには、1 プロセスあたり約 1.7 KB × 1 日あたりのプロセス数 × 保持日数を計算し、30% を加算してください。
ネットワーク
Unico へのアウトバウンド HTTPS (ポート 443)。ネットワークとセキュリティを参照してください。
イメージ
Human Plugin は pkg.unico.run/human-plugin-api:latest として公開されています。常に現在のリリースである latest タグを実行してください。Unico から提供されるレジストリの認証情報 (ユーザー名とトークン) を使ってプルします。前提条件とアクセスを参照してください。
デプロイの手順
- 専用のデータベースと、Human Plugin 用のロールを作成します。
- シークレットストアのシークレットを使って、設定を行います。
- Docker Compose または Kubernetes でコンテナを起動します。停止タイムアウトは 60 秒以上にしてください。
- トラフィックをルーティングする前に、
GET /health/readyが200を返すまで待ちます。ヘルスとモニタリングを参照してください。 - アクセスをお客様のバックエンドに限定します。ネットワークとセキュリティを参照してください。
- クイックスタートの作成 リクエストを実行します。
起動時の動作
Human Plugin は、属性カタログをダウンロードし、PostgreSQL に接続してテーブルを準備してから、ポートを開きます。次の場合は、リッスンを開始する前にエラーで停止します。
- 必須の設定が不足している、または無効である。
- 属性カタログをダウンロードできない。
- PostgreSQL に到達できない、またはロールがテーブルを作成できない。
ログに理由が記録されます。トラブルシューティングを参照してください。
複数のインスタンス
Human Plugin はリクエストの状態をメモリに保持しないため、複数のコンテナで 1 つのデータベースを共有できます。同時に起動したコンテナはデータベースを通じて調整し合うため、レプリカをまとめてロールアウトできます。
本番環境へ移行する前に
- 停止タイムアウトを 60 秒以上に保ちます。
/health/readyが200を返してから、コンテナにトラフィックをルーティングします。- Human Plugin をプライベートネットワークの外に公開しないでください。
- データベースをバックアップします。データベースにはお客様のインテリジェンスが保存されています。運用を参照してください。