> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS PrivateLink

本ガイドでは、[AWS PrivateLink](https://aws.amazon.com/privatelink/) を使用して、[AWS Virtual Private Cloud (VPC)](https://aws.amazon.com/vpc/) と SambaCloud の間にセキュアかつプライベートな接続を構築する手順を解説します。パブリックインターネットにトラフィックを公開せずに、低レイテンシかつ高セキュリティで AI モデルや API にアクセスしたいエンタープライズユーザー向けに設計されています。

PrivateLink を使うことで、データは常に AWS ネットワーク内にとどまり、パブリックインターネットには一切出ません。アカウントやアベイラビリティゾーン (AZ) をまたいだサービス接続に加え、オンプレミス環境との連携も可能です。SambaCloud は `us-west-1` リージョン (北カリフォルニア) で PrivateLink をサポートしており、エンタープライズレベルの AI 推論において、より高いパフォーマンスとより強固なセキュリティを実現します。

SambaNova のすべての API エンドポイントおよび機能は、PrivateLink 接続経由で利用可能です。既存の [API トークン](http://cloud.sambanova.ai?utm_source=aws\&utm_medium=external\&utm_campaign=cloud_signup) および標準的な Cloud API 認証方式をそのままご利用いただけます。

<Note>
  リージョンごとの提供状況は [AWS リージョン別のサービス一覧](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) をご確認ください。
</Note>

## 主なメリット

AWS PrivateLink を経由して接続することで、以下の利点が得られます。

* **セキュアな接続**: データは Amazon ネットワーク内にとどまり、パブリックインターネットへの露出を排除します。
* **攻撃対象領域の縮小**: 外部アクセス経路を制限し、セキュリティリスクを大幅に低減します。
* **低レイテンシ**: トラフィックがワークロードと同一の AWS リージョン内で完結するため、高速な通信が可能になります。
* **コンプライアンスの強化**: より厳格なセキュリティポリシーに対応し、監査への備えを向上させます。
* **エンタープライズ環境との互換性**: 既存の企業ネットワーク、ID 管理、アクセス管理フレームワークと容易に統合できます。

## 接続の仕組み

AWS PrivateLink を利用して SambaCloud に接続する際には、接続の挙動や適用されるセキュリティ対策について把握しておくべき重要なポイントがいくつかあります。本セクションでは、期待される動作と、セットアップを安全に保つ方法を説明します。

### セキュリティおよび接続の動作

* **HTTPS が必須**: すべての API トラフィックは、暗号化を保証するために HTTPS を使用する必要があります。
* **証明書**: 独自ドメイン (例: `example.com`) で HTTPS 接続する場合は、対応する TLS 証明書を設定してください。
* **トラフィックは常にプライベート**: データは AWS バックボーン上にとどまり、パブリックインターネットに露出することはありません。
* **標準認証方式**: SambaNova の API トークンおよび認証フローがそのまま適用されます。
* **エンドポイントポリシー (任意)**: AWS VPC エンドポイントポリシーを利用してアクセスを制御できます。
* **監視**: AWS CloudWatch でエンドポイントの正常性や使用状況を追跡できます。
* **高可用性**: サービスは `us-west-1` の複数のアベイラビリティゾーンにまたがって展開されています。
* **追加のレート制限なし**: 標準の [API レート制限](/docs/ja/models/rate-limits) のみが適用されます。

## PrivateLink のセットアップ

### 前提条件

作業を始める前に、以下の環境を準備してください。

* 有効な AWS アカウント
* AWS CLI のインストール
* `us-west-1` リージョン内の VPC
* SambaNova の PrivateLink サービスへのアクセス権
* SambaNova の許可リスト (allowlist) に追加された AWS アカウント ID

### ステップ 1: アクセスのリクエスト

PrivateLink エンドポイントを作成する前に、SambaNova にアクセスをリクエストする必要があります。以下の情報を添えて、SambaNova の担当者にご連絡ください。

* AWS アカウント ID (エンドポイントを作成するアカウント)
* ユースケースやアクセスニーズの簡単な説明
* 想定される使用パターンやデータ量
* 接続を予定している AWS リージョン

### ステップ 2: SambaNova 側の対応

リクエストの受領後、SambaNova は以下の対応を行います。

1. リクエスト内容を確認します。
2. 対象の AWS アカウント ID を許可プリンシパル (allowed principals) のリストに追加します。
3. エンドポイント接続が SambaNova 側で確認でき次第、承認します。
4. セットアップを完了できる状態になった時点で通知します。

承認後、AWS アカウント内で VPC エンドポイントを作成できるようになります。

### ステップ 3: VPC エンドポイントの作成

承認後は、以下のとおり進めます。

* VPC 内に PrivateLink エンドポイントを作成します。
* SambaNova が接続を受け入れます (通常 1 営業日以内)。
* 受け入れが完了すれば、利用開始の準備が整います。

## VPC エンドポイントの作成と設定

以下の手順に従って VPC エンドポイントを作成し、**AWS PrivateLink** を通じて SambaCloud に接続してください。

* セットアップ動画をご覧ください

<iframe width="560" height="315" src="https://www.youtube.com/embed/f4z-hBJ4E2w?cc_load_policy=1" title="チュートリアル: SambaNova で AWS PrivateLink をセットアップする" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen />

### 1. VPC のセットアップ

まだ `us-west-1` に VPC が存在しない場合は、まず新しく作成します。

```
# Create a new VPC
aws ec2 create-vpc \
  --cidr-block 10.0.0.0/16 \
  --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=sambanova-vpc}]' \
  --region us-west-1
```

続いて、PrivateLink に必要な DNS サポートを有効化します。

```
# Enable DNS hostname resolution
aws ec2 modify-vpc-attribute \
  --vpc-id <vpc-id> \
  --enable-dns-hostnames \
  --region us-west-1

# Enable DNS support
aws ec2 modify-vpc-attribute \
  --vpc-id <vpc-id> \
  --enable-dns-support \
  --region us-west-1
```

### 2. サブネットの作成

高可用性を確保するために、2 つのアベイラビリティゾーンにサブネットを作成します。

```
# Subnet in us-west-1a
aws ec2 create-subnet \
  --vpc-id <vpc-id> \
  --cidr-block 10.0.1.0/24 \
  --availability-zone us-west-1a \
  --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=sambanova-subnet-1a}]' \
  --region us-west-1

# Subnet in us-west-1c
aws ec2 create-subnet \
  --vpc-id <vpc-id> \
  --cidr-block 10.0.2.0/24 \
  --availability-zone us-west-1c \
  --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=sambanova-subnet-1c}]' \
  --region us-west-1
```

### 3. セキュリティグループの設定

エンドポイントへのセキュアな通信を許可するセキュリティグループを設定します。

```
# Create a new security group
aws ec2 create-security-group \
  --group-name sambanova-endpoint-sg \
  --description "Security group for SambaNova PrivateLink endpoint" \
  --vpc-id <vpc-id> \
  --region us-west-1

# Allow HTTPS traffic from your VPC CIDR
aws ec2 authorize-security-group-ingress \
  --group-id <security-group-id> \
  --protocol tcp \
  --port 443 \
  --cidr <vpc-cidr> \
  --region us-west-1
```

このセキュリティグループで、VPC の CIDR からのポート `443` へのインバウンド通信が許可されていることを確認してください。PrivateLink では HTTPS が必須です。

### 4. VPC エンドポイントの作成

次に、VPC を SambaNova の PrivateLink サービスに接続します。

```
aws ec2 create-vpc-endpoint \
  --vpc-id <vpc-id> \
  --service-name com.amazonaws.vpce.us-west-1.vpce-svc-0bfec72bfb8a753a1 \
  --vpc-endpoint-type Interface \
  --subnet-ids <subnet-1a-id> <subnet-1c-id> \
  --security-group-ids <security-group-id> \
  --region us-west-1
```

<Note>
  これは一般的な API アクセス向けのデフォルトエンドポイントです。特定モデル専用のエンドポイント (例: Mixtral 8x22B) が必要な場合は、SambaNova サポートにお問い合わせいただき、別途サービス名を取得してください。
</Note>

### 5. カスタム DNS の設定

エンドポイントへのアクセスをスムーズに行うために、**Route 53** を使用したカスタムドメインが必要です。

**プライベートホストゾーンの作成**

```
# Replace 'yourdomain.com' with your domain
aws route53 create-hosted-zone \
  --name yourdomain.com \
  --hosted-zone-config Comment='Private Hosted Zone',PrivateZone=true \
  --vpc VPCRegion=us-west-1,VPCId=<your-vpc-id> \
  --caller-reference $(date +%s)
```

**エンドポイントのプライベート IP の取得**

```
# Replace with your actual endpoint ID
NETWORK_IDS=$(aws ec2 describe-vpc-endpoints \
  --vpc-endpoint-ids <your-endpoint-id> \
  --query 'VpcEndpoints[0].NetworkInterfaceIds' \
  --output text \
  --region us-west-1)

ENDPOINT_IPS=$(aws ec2 describe-network-interfaces \
  --network-interface-ids $NETWORK_IDS \
  --query 'NetworkInterfaces[*].PrivateIpAddress' \
  --output text \
  --region us-west-1)
```

**カスタムドメインのレコードの作成**

```
aws route53 change-resource-record-sets \
  --hosted-zone-id <your-hosted-zone-id> \
  --change-batch '{
    "Changes": [{
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "api.sambanova.yourdomain.com",
        "Type": "A",
        "TTL": 300,
        "ResourceRecords": [{"Value": "'$ENDPOINT_IPS'"}]
      }
    }]
  }'
```

**DNS 設定のポイント**

* カスタムドメインは、エンドポイントの**プライベート IP** に解決されます
* DNS は **VPC 内でのみ**機能します
* 以下のような URL で API を呼び出せるようになります: `https://api.sambanova.yourcompany.com`
* TTL を 5 分に設定することで、エンドポイントの IP が変わった場合にも柔軟に対応できます

**ドメインの例**

* `https://api.sambanova.yourcompany.com`
* `https://sambanova-api.internal.yourcompany.com`
* `https://ml-api.yourcompany.local`

### 6. 接続テスト

すべての設定が完了したら、以下のチェックで PrivateLink 連携の動作を確認します。

**エンドポイントの DNS 名の取得**

VPC エンドポイントに割り当てられた DNS 名を確認するには、以下を使用します。

```
aws ec2 describe-vpc-endpoints \
  --vpc-endpoint-ids <endpoint-id> \
  --region us-west-1
```

**プライベート DNS 解決の確認**

VPC 内からプライベート DNS が正しく解決されることを確認してください: `nslookup api.sambanova.custom.com`

**テストリクエストの送信**

カスタムドメインとトークンを使用して、実際の API 呼び出しを試します。

```
curl -k \
  -H "Host: api.sambanova.ai" \
  -H "Authorization: Bearer <your-api-token>" \
  -H "Content-Type: application/json" \
  -d '{
        "stream": true,
        "model": "Meta-Llama-3.3-70B-Instruct",
        "messages": [
          { "role": "system", "content": "You are a helpful assistant" },
          { "role": "user", "content": "Hello" }
        ]
      }' \
  -X POST https://api.sambanova.custom.com/v1/chat/completions
```

<Note>
  `-k` は SSL 検証をスキップします (社内テストに有用です)。本番環境では十分に注意して使用してください。
</Note>

**正常なレスポンス**

接続が有効であれば、LLM モデルからのレスポンスストリームが返され、以下がすべて正常に機能していることを確認できます。

* DNS が正しく解決されている
* VPC エンドポイントに到達できている
* API トークンが有効である
* SambaNova の LLM がリクエストを処理できる状態にある

## エンドポイントの設定情報

SambaCloud への PrivateLink 接続を構成する際は、以下の情報を使用してください。

| カテゴリ | 詳細 |
| :- | :- |
| プライマリリージョン | `us-west-1` |
| アベイラビリティゾーン | `us-west-1a`、`us-west-1c` |
| サービスポート | `Port 443 (HTTPS only)` – HTTP リクエストは自動的にリダイレクトされます |
| ネットワークロードバランサー | `acp-production-sc3-1-ingress-1` |
| VPC エンドポイントサービス名 | `com.amazonaws.vpce.us-west-1.vpce-svc-0bfec72bfb8a753a1` |
| SambaNova VPC ID | `vpc-0b7900a153c27435c` |
| その他のリージョン | 提供状況は SambaNova サポートまでお問い合わせください |

### サービスの制限とクォータ

* AWS PrivateLink の制限が適用されます ([AWS の制限](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) をご参照ください)。
* SambaNova の標準 API [レート制限](/docs/ja/models/rate-limits) も引き続き適用されます。
* より高いスループットが必要な場合は、[help@sambanova.ai](mailto:help@sambanova.ai) までお問い合わせください。

### コスト概要

* [AWS PrivateLink の料金](https://aws.amazon.com/privatelink/pricing/) が適用されます (AWS から請求されます)。
* SambaNova は、PrivateLink の有効化や利用に対して追加料金を請求しません。
* API の標準利用料金は、現在のご契約プランに基づき従来どおり適用されます。

## トラブルシューティングガイド

セットアップ中またはテスト中に問題が発生した場合は、以下のカテゴリ別のチェック項目を参照してください。

### 接続に関する問題

* サブネットが `us-west-1a` または `us-west-1c` に存在していることを確認してください。
* VPC エンドポイントのステータスが「Available」になっていることを確認してください。
* `api.sambanova.custom.com` の DNS 解決を確認してください。
* セキュリティグループで、VPC の CIDR からのインバウンド HTTPS (ポート 443) 通信が許可されていることを確認してください。
* 対象のエンドポイントサービスの許可プリンシパルに、お使いの AWS アカウントが登録されていることを確認してください。

### DNS 解決に関する問題

* VPC の DNS 設定で、DNS ホスト名と DNS 解決サポートの両方が有効になっている必要があります。
* このエンドポイントサービスではプライベート DNS を有効にできません。これは想定どおりの動作です。
* Route 53 のプライベートホストゾーンが、正しい VPC に関連付けられていることを確認してください。
* カスタムドメインをエンドポイントの IP アドレスに対応付ける A レコードが存在することを確認してください。
* VPC 内のインスタンスから、以下のコマンドで DNS チェックを実行してください。

  ```
  nslookup api.sambanova.custom.com
  dig api.sambanova.custom.com
  ```
* ドキュメントに記載されている**正確なカスタムドメイン名**を使用してください。

### HTTPS 接続に関する問題

* 常に **HTTPS (ポート 443)** 経由で接続してください。
* **自己署名証明書**を受け入れるには、`curl` に `-k` フラグを付けて実行します。

  `curl -k ...`
* 以下の必須ヘッダーをすべて含めてください。
  * `Host: api.sambanova.ai`
  * `Authorization: Bearer <your-api-token>`
  * `Content-Type: application/json`

### 検証用コマンド

以下のコマンドを使用して、エンドポイント設定および DNS 設定を検証してください。

**1. エンドポイントのステータスとプライベート DNS 設定の確認**

```
aws ec2 describe-vpc-endpoints \
  --vpc-endpoint-ids <endpoint-id> \
  --region us-west-1
```

**2. カスタムドメインの DNS 解決のテスト**

```
nslookup api.sambanova.custom.com
```

**3. HTTPS 接続のテスト**

```
telnet api.sambanova.custom.com 443
```

**4. Route 53 設定の確認**

```
aws route53 list-hosted-zones
aws route53 get-hosted-zone --id <hosted-zone-id>
aws route53 list-resource-record-sets --hosted-zone-id <hosted-zone-id>
```

**5. エンドポイントのネットワークインターフェースとプライベート IP の取得**

```
aws ec2 describe-network-interfaces \
  --filters Name=vpc-endpoint-id,Values=<endpoint-id> \
  --query 'NetworkInterfaces[*].PrivateIpAddress' \
  --region us-west-1
```

## 次のステップ

AWS PrivateLink 経由で SambaCloud への接続が完了したら、以下を行ってください。

* プライベートまたはカスタム DNS 名を使用して API リクエストを開始します。
* AWS CloudWatch を使用して、エンドポイントのパフォーマンスと可用性を監視します。
* このセットアップを、他のチームやユースケース向けの参考資料として貴組織内で共有します。
* 追加のモデル、カスタムエンドポイント、より高いスループット容量が必要な場合は、[help@sambanova.ai](mailto:help@sambanova.ai) までご連絡ください。

## まとめ

これらの推奨事項に従うことで、高可用性を確保し、厳格なセキュリティ制御を維持しつつ、VPC エンドポイントの DNS 設定とパフォーマンスを最適化できます。

* すべてのリソースは `us-west-1` リージョンに作成してください。
* 高可用性を確保するため、`us-west-1a` と `us-west-1c` の両方のアベイラビリティゾーンを使用してください。
* 必要な通信を許可しつつ、セキュリティグループのルールは可能な限り制限的に設定してください。
* VPC エンドポイントの DNS 名は一意で、自動的に生成されます。
* プライベート DNS 解決は、VPC 内からのみ利用可能です。
* アクセスと管理を容易にするため、VPC 内でカスタムドメイン名を割り当てることができます。
* DNS の変更が反映されるまでには最大 5 分かかる場合があります (`TTL = 300`)。
* VPC エンドポイントの正常性とパフォーマンスを定期的に監視してください。
