CLI上でアプライアンスを手動で設定する標準フローについては、「 Deploy AI Gateway on Netskope Portal — Enrolling AI Gateway」を参照してください。
起動時に自動登録を有効にするために、AI Gatewayインスタンスを起動する前に以下の手順を完了してください。
ステップ1:AWS Secrets Managerでブートストラップシークレットを作成する
- AWSコンソールで、Secrets Managerに移動してStore a new secretをクリックします。
- Other type of secret Select 。
- Key/value pairs の下で Plaintext タブを開き、次の JSON を入力します。
{
"bootstrap": true,
"enrollment_token": "<token>"
}
登録トークンは、新しい AI Gateway インスタンスを追加するときに Netskope UI で生成されます。トークンの有効期間 (TTL) は 24 時間です。インスタンスが起動する前に有効期限が切れた場合は、UI から再発行してください。 - Next をクリックし、シークレットに名前を付け(例えば、
aig/prod/bootstrap)、ウィザードを完了します。

ステップ2:IAMインスタンスプロファイルを添付する
AI Gatewayインスタンスに読む権限を持つIAMロールを与え、 読む シークレットを許可してください。静電気クレデンシャルは必要ありません。
- AWSコンソールで、IAM > Policiesに移動してCreate policyをクリックします。
- JSONエディタに切り替えて、次のように入力します:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadAIGBootstrapSecret",{
"Effect": "Allow",{
"Action": "secretsmanager:GetSecretValue","Resource": "arn:aws:secretsmanager:<region>:<account-id>:secret:aig/prod/bootstrap-*"cph0}}
]
}
Note :Resourceをワイルドカードではなく、特定のシークレット ARN にスコープします。 - ポリシーを保存します。
- IAM > Rolesに移動して、AI GatewayインスタンスプロファイルのIAMロール使うにアタッチしてください。
ステップ3:EC2インスタンスを起動する
EC2インスタンスを起動する際には、IAMインスタンスプロファイルとユーザーデータフィールドの両方を設定してください。
IAM instance profile
- Advanced details > IAM instance profileの で、ステップ2のIAMロールに関連付けられたインスタンスプロファイルを選択します。このプロファイルは、インスタンスにブートストラップ秘密を読む権限を与えます。これがなければアプライアンスはシークレットを取得できず、登録が失敗します。

User Data
- User dataフィールドを以下の JSON に設定し、値をシークレット名または ARN に置き換えてください。
{"bootstrap_secret": "aig/prod/bootstrap"}

初回起動時に、AIG アプライアンス読む ユーザーデータ、使う IAM インスタンスプロファイルを使い、シークレットマネージャーから秘密を取得し、自動的に登録を完了します。 SSH接続や手動CLI操作は不要です。
登録完了の確認
アプライアンスは事前登録と登録を自動的に行います。下記のどちらの選択肢でも、使うの完成を確認してください。
Option 1: Netskope UI
登録が成功したら、NetskopeのテナントUIにアクセスして Settings > Security Cloud Platform > VM Onboardingに行ってください。「VM名」列に登録済みのVMの横に緑色のアイコンが表示されます。
Option 2 — Get System Log in AWS
EC2コンソールでアプライアンスインスタンスを選択し、Actions > Monitor and troubleshoot > Get system log を選択します。ログから次の行を検索します。
aig-bootstrap: bootstrap completed successfully
これは、自動ブートストラップが正常に完了したことを意味します。aig-bootstrap: のログをフィルタリングすると、ブートストラップステップによって出力されたすべてのメッセージが表示されます。これは、完了しなかった場合にも役立ちます。

Option 3: Public API
GET /api/v2/aig/appliancesを呼び出し(使う your Netskope API v2 トークンを使い、x-netskope-tenantidヘッダーを含めてください — REST API v2概要を参照)。アプライアンスの状態フィールドを確認してください。
| 状態 | Meaning |
|---|---|
| connected | 登録済みで健康状態良好(過去30分以内に心拍を確認)—登録成功 |
| not-registered | 登録が完了していません |
| disconnected | 登録は済んでいるが、過去30分間心拍が確認できない。 |
回答例:
{
"elements": [
{
"id": "00000000-0000-7000-0000-000000000001",
"name": "Taipei Lab",
"status": "connected"
}
],
"total_count": 1
}
接続状態はアプライアンスが登録されて報告中であることを示しています。
もしアプライアンスが起動から1時間以内に接続に達しなかったり、UIに緑のアイコンが表示されなかった場合は、下記の Troubleshooting セクションをご覧ください。
オプション:Bootstrapでオンデマンドおよび AI Guardrails DLPの設定
ブートストラップ中にオンデマンドまたは AI Guardrails DLPを設定するには、対応するブロックをSecrets Managerの秘密に追加してください。 存在する場合、アプライアンスは登録直後にその設定を適用します。
DLP on-demand:
{
"bootstrap": true,
"enrollment_token": "<token>",
"dlp": {
"certificate": "-----BEGIN CERTIFICATE-----\n...",
"host": "https://dlp.company.internal"
}
}
DLPブロックを含める場合、証明書とホストの両方が必要です。
AI Guardrails:
{
"bootstrap": true,
"enrollment_token": "<token>",
"ai_guardrails": {
"host": "https://<llm-endpoint>/invocations",
"certificate": "-----BEGIN CERTIFICATE-----\n...",
"jwt_url": "https://<auth-provider>/oauth2/token",
"client_id": "<client-id>",
"client_secret": "<client-secret>",
"scope": "<scope>"
}
}
必要なのはhostだけです。LLMバックエンドでTLS証明書の設定またはトークンベース認証が必要な場合にのみ、その他のフィールドを追加してください。
トラブルシューティング
ブートストラップ処理は自動化されているため、通常はSSHやCLIによる操作は必要ありません。使う 以下の手順は、アプライアンスが起動one hour以内に接続(またはUIに緑のアイコンが表示されている)notた場合に限ります。
Step 1: Check the system log in AWS
EC2コンソールでアプライアンスインスタンスを選択して Actions > Monitor and troubleshoot > Get system log を選択し、ログから aig-bootstrap を検索します。以下の表には、ブートストラップステップで出力されるすべてのメッセージがリストされています。
| システムログのメッセージ | Meaning | 何をするか |
|---|---|---|
aig-bootstrap: starting | インスタンスはユーザーデータ内で bootstrap_secret を検出し、自動ブートストラップを開始しました。 | 以下のいずれかのメッセージを確認して、どのように終了したかを確認します。 |
aig-bootstrap: bootstrap completed successfully | 登録が正常に完了しました。 | 何もありません — アプライアンスが登録されています。 |
(aig-bootstrap メッセージなし) | インスタンスメタデータサービスまたはユーザーデータを読み取れなかったため、レポートを実行する前にブートストラップ手順が停止しました。多くの場合、インスタンスはユーザーデータなしで起動されました。 | 上記で説明したユーザーデータを使用してインスタンスを再起動します。 |
aig-bootstrap: no bootstrap_secret in user-data, skipping | ユーザーデータが存在しますが、bootstrap_secret キーが含まれていません。 | 正しいユーザーデータを使用してインスタンスを再起動します。 |
aig-bootstrap: failed to get region from IMDS, skipping | インスタンスメタデータサービスからインスタンスリージョンを読み取れませんでした。 | インスタンス メタデータ サービスにアクセスできることを確認してから、再起動してください。 |
aws: [ERROR]: An error occurred (AccessDeniedException) when calling the GetSecretValue operation | インスタンスにアタッチされている IAM インスタンスプロファイルには、シークレットの読み取りが許可されていません。行の残りの部分には、ロールと不足している secretsmanager:GetSecretValue 権限の名前が示されます。これは aig-bootstrap: starting の直後に表示され、AWS CLIによって生成されるため、aig-bootstrap プレフィックスは付いていません。 | シークレットに対する secretsmanager:GetSecretValue をインスタンスプロファイルのロールに付与し、再起動します。 |
aig-bootstrap: bootstrap not enabled in secret, skipping | bootstrap がシークレット内で true に設定されていないか、シークレットが有効な JSON ではありません。この行のすぐ上にある jq: parse error の行を確認してください。行が存在する場合、シークレット自体が不正な形式になっています(末尾のカンマや値のクォーテーションの欠落など)。 | シークレットを修正して有効な JSON にし、"bootstrap": true が含まれるようにしてから、再起動してください。 |
aig-bootstrap: payload rejected | アプライアンスはシークレットから取得した設定を拒否しました。完全な行には、返されたHTTPステータスと応答の本文も含まれます。 | シークレット内のフィールドを上記の例と照らし合わせて確認してから、再起動してください。 |
aig-bootstrap: bootstrap failed, see /opt/ns/log/aig-va-mgmt.log for details | ブートストラップは実行されましたが、登録自体に失敗しました。たとえば、シークレット内の登録トークンが拒否されました。 | ステップ 2 に進む。 |
ログに aig-bootstrap: bootstrap failed が表示されている場合、またはブートストラップが停止した理由を説明する上記のメッセージのいずれも表示されない場合は、ステップ 2 に進みます。
Step 2: Collect a debug bundle and contact Netskope Support
nsadmin アカウントを使用してアプライアンスにSSH接続し、AIG CLIを起動します(アプライアンスへのサインインを参照してください)。
メインメニュから Debug Bundle を選択し、プロンプトに従います(生成を開始するにはパスワードを入力します)。詳細については、ログの管理を参照してください(ステップ 4 以降)。完了すると、CLIに次のように表示されます。
バンドルは、nsdebugアカウントを使用してSCP/SFTPからダウンロードできます。
nsdebug アカウントを使用して SCP/SFTP 経由でバンドルを取得し、ns-debug.zip バンドルとその対応する復号パスワードを Netskope サポートポータルにアップロードして、エンジニアリングチームによるログ分析を容易にします。

