

# API の開始方法
<a name="getting-started-api"></a>

**注記**  
このドキュメントは Amazon Nova バージョン 1 を対象としています。Amazon Nova 2 が新しいモデルと拡張機能で利用可能になりました。Amazon Nova 2 の開始方法については、「[API の開始方法](https://docs.aws.amazon.com/nova/latest/nova2-userguide/getting-started-api.html)」を参照してください。

API の使用を開始するには、プログラムによるアクセス権を付与するために認証情報が必要です。次のセクションが該当している場合、展開して指示に従ってください。該当しない場合は、その後のセクションに進みます。

## 私は AWS を初めて使用します
<a name="new-to-aws"></a>

AWS アカウント がない場合は、以下のステップを実行して作成します。

**AWS アカウント にサインアップするには**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   AWS アカウントにサインアップすると、*AWS アカウントのルートユーザー*が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用して[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)を実行してください。

サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

**AWS アカウントのルートユーザー をセキュリティで保護する**

1.  **[ルートユーザー]** を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として [AWS マネジメントコンソール](https://console.aws.amazon.com/) にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、「*IAM ユーザーガイド*」の「[AWS アカウント ルートユーザーの仮想 MFA デバイスを有効にする (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)」を参照してください。

## AWS CLI または AWS SDK をインストールする必要があります
<a name="api-cli-sdk-install"></a>

AWS CLI をインストールするには、「[Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」の手順に従います。

AWS SDK をインストールするには、「[AWS での構築ツール](https://aws.amazon.com/developer/tools/)」で使用するプログラミング言語に対応するタブを選択します。AWS Software Development Kit (SDK) は、多くの一般的なプログラミング言語で使用できます。各 SDK には、デベロッパーが好みの言語でアプリケーションを簡単に構築できるようになる API、コード例、およびドキュメントが提供されています。SDK は、次のような便利なタスクを自動的に実行します。
+ サービスリクエストに暗号署名する
+ リクエストを再試行する
+ エラー応答を処理する

## プログラムによるアクセス権を付与するために認証情報を取得する
<a name="grant-program-access"></a>

AWS マネジメントコンソール の外部で AWS を操作するには、プログラマチックアクセス権が必要です。プログラムによるアクセス権を付与する方法は、AWS にアクセスしているユーザーのタイプによって異なります。

ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。


****  

| プログラムによるアクセス権が必要なプリンシパル | 目的 | 方法 | 
| --- | --- | --- | 
| IAM ユーザー | 長期的な認証情報の期間を制限し、AWS CLI、AWS SDK、AWS API へのプログラムによるリクエストに署名します。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/nova/latest/userguide/getting-started-api.html)  | 
| IAM ロール | 一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 | IAM ユーザーガイドの「[AWS リソースでの一時的な認証情報の使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)」の指示に従ってください。 | 
|  ワークフォースアイデンティティ (IAM アイデンティティセンターで管理されているユーザー)  | 一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/nova/latest/userguide/getting-started-api.html)  | 

## IAM ユーザー用にアクセスキーを作成する方法
<a name="create-user-time-bound"></a>

IAM ユーザー用にアクセスキーを使用する場合、AWS では制限付きインラインポリシーを含めて IAM ユーザーの有効期限を設定することが推奨されます。

**重要**  
次の警告に注意してください。  
AWS リソースにアクセスする際に、お使いのアカウントのルート認証情報を**使用しないでください**。これらの認証情報は無制限のアカウントアクセスを提供し、取り消すのが困難です。
アプリケーションファイルにリテラルアクセスキーや認証情報を**配置しないでください**。これを行うと、パブリックリポジトリにプロジェクトをアップロードするなど、誤って認証情報が公開されるリスクが発生します。
プロジェクト領域に認証情報を含むファイルを**含めないでください**。
アクセスキーを安全に管理します。[アカウント識別子を確認する](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)ためであっても、アクセスキーを認可されていない当事者に提供しないでください。提供すると、第三者がアカウントへの永続的なアクセスを取得する場合があります。
共有 AWS 認証情報ファイルに格納された認証情報はプレーンテキストで格納されることに注意してください。

詳細については、「AWS 全般のリファレンス」の「[AWS アクセスキーを管理するためのベストプラクティス](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html)」を参照してください。

**IAM ユーザーの作成**

1. AWS マネジメントコンソール ホームページで、IAM サービスを選択するか、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールに移動します。

1. ナビゲーションペインで **[ユーザー]**、**[ユーザーの作成]** の順に選択します。

1. IAM コンソールのガイダンスに従って、AWS マネジメントコンソール へのアクセスなしで、アクセス許可もないプログラム型ユーザーを設定します。

**制限された時間枠にユーザーアクセスを制限する**

作成する IAM ユーザーアクセスキーは長期的な認証情報です。これらの認証情報が誤って処理された場合に有効期限が切れるようにするには、キーの有効性が切れる日付を指定したインラインポリシーを作成して、これらの認証情報に期限を設定することができます。

1. 先ほど作成した IAM ユーザーを開きます。**[アクセス許可]** タブで **[アクセス許可の追加]** を選択したら、**[インラインポリシーの作成]** を選択します。

1. JSON エディタで、次のアクセス許可を指定します。このポリシーを使用するには、ポリシー例の `aws:CurrentTime` タイムスタンプ値の値を独自の終了日に置き換えます。
**注記**  
IAM では、アクセスキーを 12 時間に制限することが推奨されます。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
           "DateGreaterThan": {
             "aws:CurrentTime": "2024-01-01T00:00:00Z"
           }
         }
       }
     ]
   }
   ```

------

**アクセスキーの作成**

1. **[ユーザー詳細]** のページで **[セキュリティ認証情報]** タブを選択します。[**Access keys (アクセスキー)**] セクションで、[**Create access key (アクセスキーを作成)**] を選択します。

1. これらのアクセスキーを **[その他]** として使用することを示して、**[アクセスキーの作成]** を選択します。

1. **[Retrieve access key]** (アクセスキーの取得) ページで、**[Show]** (表示) を選択し、ユーザーのシークレットアクセスキーの値を表示します。認証情報をコピーするか、csv ファイルをダウンロードできます。

**重要**  
この IAM ユーザーが不要になったら、削除して[AWS セキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials)に準拠させることをお勧めします。AWS にアクセスする際、[AWS IAM アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)を介して一時的な認証情報を使用することを、人間のユーザーに求めることをお勧めします。

## ユーザーまたはロールに Amazon Bedrock のアクセス許可をアタッチする
<a name="br-permissions"></a>

プログラムによるアクセス権の認証情報を設定したら、Amazon Bedrock 関連の一連のアクションにアクセスできるように、ユーザーまたは IAM ロールのアクセス許可を設定する必要があります。これらのアクセス許可を設定するには、次の手順を実行します。

1. AWS マネジメントコンソール ホームページで、IAM サービスを選択するか、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールに移動します。

1. **[ユーザー]** または **[ロール]** を選択して、ユーザーまたはロールを指定します。

1. **[アクセス許可]** タブで **[アクセス許可の追加]** を選択してから、**[AWS 管理ポリシーの追加]** を選択します。「[AmazonBedrockFullAccess]()」のAWS 管理ポリシーを選択します。

1. ユーザーまたはロールにモデルへのサブスクライブを許可するには、**[インラインポリシーの作成]** を選択して JSON エディタで次のアクセス許可を指定します。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "MarketplaceBedrock",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe",
                 "aws-marketplace:Subscribe"
             ],
             "Resource": "*"
         }
     ]
   }
   ```

------

## Amazon Nova モデルへのアクセスをリクエストする
<a name="request-access-nova"></a>

「[Amazon Bedrock 基盤モデルへのアクセスをリクエストする](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html#getting-started-model-access)」の手順に従って、Amazon Bedrock コンソールを介して Amazon Nova モデルへのアクセスをリクエストします。

## Amazon Nova モデルを使用してテキストプロンプトのレスポンスを生成する
<a name="try-nova"></a>

すべての前提条件を満たしたら、タブを選択して [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) リクエストで Amazon Nova モデルにモデル呼び出しリクエストを行うテストを実施し、タブで指定された方法を使用します。

------
#### [ AWS CLI ]

AWS CLI をインストールするには、「[Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」の手順に従います。「[プログラムによるアクセス権を付与するために認証情報を取得する](#grant-program-access)」の手順に従って、Boto3 を使用するための認証情報を設定していることを確認します。

AWS CLI を使用して Amazon Nova Lite でテキストプロンプトのレスポンスを生成するには、ターミナルで次のコマンドを実行します。

```
aws bedrock-runtime converse \
    --model-id us.amazon.nova-lite-v1:0 \
    --messages '[{"role": "user", "content": [{"text": "Write a short poem"}]}]'
```

------
#### [ Python (Boto3) ]

Boto3 をインストールするには、Boto3 ドキュメントの「[クイックスタート](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)」の手順に従います。「[プログラムによるアクセス権を付与するために認証情報を取得する](#grant-program-access)」の手順に従って、Boto3 を使用するための認証情報を設定していることを確認します。

Python SDK (Boto3) を使用し、Amazon Bedrock ランタイムクライアントを作成して Amazon Nova Lite でテキストプロンプトのレスポンスを生成するには、次の Python スクリプトを実行します。

```
import boto3
import json

client = boto3.client(service_name="bedrock-runtime")

messages = [
    {"role": "user", "content": [{"text": "Write a short poem"}]},
]

model_response = client.converse(
    modelId="us.amazon.nova-lite-v1:0", 
    messages=messages
)

print("\n[Full Response]")
print(json.dumps(model_response, indent=2))

print("\n[Response Content Text]")
print(model_response["output"]["message"]["content"][0]["text"])
```

------
#### [ LangChain ]

AWS の LangChain をインストールするには、LangChain ドキュメントの「[AWS](https://python.langchain.com/docs/integrations/providers/aws/)」の手順に従います。「[プログラムによるアクセス権を付与するために認証情報を取得する](#grant-program-access)」の手順に従って、Boto3 を使用するための認証情報を設定していることを確認します。

LangChain を使用して Amazon Nova Lite でテキストプロンプトのレスポンスを生成するには、次のスクリプトを実行します。

```
from langchain_aws import ChatBedrockConverse

llm = ChatBedrockConverse(model="us.amazon.nova-lite-v1:0")

messages = [
    ("user", "Write a short poem")
]

llm.invoke(messages)
```

------

Amazon Nova に慣れたら、高度なタスクに進むことができます。

1. 画像または動画を記述するように、モデルにプロンプトを行ってみてください。詳細については、「[Amazon Nova のマルチモーダルサポート](modalities.md)」を参照してください。

1. Amazon Nova Canvas を使用して画像を生成してみてください。詳細については、「[Amazon Nova Canvas を使用した画像の生成](image-generation.md)」を参照してください。

1. Amazon Nova Reel を使用して動画を生成してみてください。詳細については、「[Amazon Nova Reel を使用した動画生成](video-generation.md)」を参照してください。

1. モデルにドキュメントを送信して、その内容について質問します。詳細については、「[ドキュメント理解](modalities-document.md)」を参照してください。

1. モデルにツールを提供して、ツールの使用を確認するためにプロンプトでリクエストを行います。詳細については、「[Amazon Nova でのツールの使用 (関数呼び出し)](tool-use.md)」を参照してください。