---
title: お客様のインフラで Human Plugin を実行する
description: Human Plugin の実行に必要なもの (1 つのコンテナとお客様の PostgreSQL データベース) と、デプロイの手順を説明します。
canonical: https://developer.unico.io/ja/human-plugin/self-hosting/overview
locale: ja
generated_by: markdown-export
---

# お客様のインフラで Human Plugin を実行する

お客様のネットワーク内に 1 つのコンテナと 1 つの PostgreSQL データベースを用意すれば、Unico に接続できます。

```mermaid
flowchart LR
  A[Your back-end] --> B[Human Plugin container]
  B --> C[(Your PostgreSQL, dedicated)]
```

## 要件

| 要件 | 詳細 |
| --- | --- |
| コンテナランタイム | Docker、Docker Compose、または Kubernetes。イメージは `linux/amd64` と `linux/arm64` 向けにビルドされており、非 root で実行されます |
| PostgreSQL | バージョン 16 以降。Human Plugin 専用のデータベースで、ユーザーとパスワードで接続できること。デフォルトで SSL が必須です |
| アウトバウンド HTTPS | Unico への接続。[ネットワークとセキュリティ](/ja/human-plugin/self-hosting/networking-and-security)を参照してください |
| インバウンド | ポート `8080`、プレーン HTTP、お客様のバックエンドからのみ |
| シークレット | お客様のアクセスキーとデータベースのパスワード |

<a id="hardware-requirements"></a>

## ハードウェア要件

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)。[ネットワークとセキュリティ](/ja/human-plugin/self-hosting/networking-and-security)を参照してください。

## イメージ

Human Plugin は `pkg.unico.run/human-plugin-api:latest` として公開されています。常に現在のリリースである `latest` タグを実行してください。Unico から提供されるレジストリの認証情報 (ユーザー名とトークン) を使ってプルします。[前提条件とアクセス](/ja/human-plugin/get-started/prerequisites)を参照してください。

## デプロイの手順

1. 専用のデータベースと、Human Plugin 用のロールを作成します。
2. シークレットストアのシークレットを使って、[設定](/ja/human-plugin/self-hosting/configuration)を行います。
3. [Docker Compose](/ja/human-plugin/self-hosting/docker-compose) または [Kubernetes](/ja/human-plugin/self-hosting/kubernetes) でコンテナを起動します。停止タイムアウトは 60 秒以上にしてください。
4. トラフィックをルーティングする前に、`GET /health/ready` が `200` を返すまで待ちます。[ヘルスとモニタリング](/ja/human-plugin/self-hosting/health-and-monitoring)を参照してください。
5. アクセスをお客様のバックエンドに限定します。[ネットワークとセキュリティ](/ja/human-plugin/self-hosting/networking-and-security)を参照してください。
6. [クイックスタート](/ja/human-plugin/get-started/quickstart#3-create-a-process)の作成リクエストを実行します。

## 起動時の動作

Human Plugin は、[属性カタログ](/ja/human-plugin/additional-resources/attribute-catalog)をダウンロードし、PostgreSQL に接続してテーブルを準備してから、ポートを開きます。次の場合は、リッスンを開始する前にエラーで停止します。

- 必須の設定が不足している、または無効である。
- 属性カタログをダウンロードできない。
- PostgreSQL に到達できない、またはロールがテーブルを作成できない。

ログに理由が記録されます。[トラブルシューティング](/ja/human-plugin/additional-resources/troubleshooting)を参照してください。

## 複数のインスタンス

Human Plugin はリクエストの状態をメモリに保持しないため、複数のコンテナで 1 つのデータベースを共有できます。同時に起動したコンテナはデータベースを通じて調整し合うため、レプリカをまとめてロールアウトできます。

## 本番環境へ移行する前に

- 停止タイムアウトを 60 秒以上に保ちます。
- `/health/ready` が `200` を返してから、コンテナにトラフィックをルーティングします。
- Human Plugin をプライベートネットワークの外に公開しないでください。
- データベースをバックアップします。データベースにはお客様のインテリジェンスが保存されています。[運用](/ja/human-plugin/self-hosting/operations)を参照してください。