Developer Tools

AWS CLI

AWSサービスAPIをターミナルから直接叩くコマンドラインツール。AIP-C01では「アプリに組み込むならSDK、手元で1回叩くならCLI」という切り分けの片側としてだけ出ます。

  • C|周辺
  • D2 実装と統合

ひとことで言うと

マネジメントコンソールでできることのほぼ全てを、ターミナルから1コマンドで叩けるようにしたツールです。

要するに、コンソールのボタンをコマンドに置き換えたものです。画面をポチポチ触る代わりに aws bedrock-runtime invoke-model のように1行で叩けます。だから試験での立ち位置は「手元で1回叩いて確認するのか、アプリに組み込んで繰り返し呼ぶのか」の前者側です。後者ならCLIではなくSDK。

何に使うか

用途中身
API疎通確認ローカルからのBedrock API疎通確認(例: aws bedrock-runtime invoke-model --model-id ... --body ... response.json)
パイプライン内実行CI/CDパイプライン内でのスクリプト実行
権限の切り分けIAM権限の切り分け確認(bedrock:InvokeModel 等、コードを書く前のクイックテスト)

試験でどう問われるか

主役では出ません。Domain 1〜5のスキル文にAWS CLIという名前は出てきません。出るとすれば、「アプリからFMを呼ぶ」場面の対義語としてです——アプリへの組み込みならSDK、手元の検証・スクリプトならCLI、という切り分けの片側に置かれます。

問われ方正解に寄る条件引っかけ
「デプロイ済みモデルへの疎通を手早く確認したい」1回きりの検証・スクリプト → CLI(aws bedrock-runtime invoke-model)アプリ本体への組み込み(実際はSDKが要る)

invoke-model の --body はバイナリBLOBとして扱われます。AWS CLI v2の既定エンコードとずれると弾かれるので、--cli-binary-format raw-in-base64-out の指定漏れが原因のエラーは踏みやすいところです。

取り違えやすいもの

迷う相手切り分けの一言
AWS Tools and SDKsCLIは手元の1回叩き・スクリプト向け、SDKはアプリケーションへの組み込み向け。どちらも同じAPIを呼ぶが置き場所が違う
AWS CDKCLIはAPIを直接叩く、CDKはインフラの構成を宣言してデプロイする。層が違う

想起チェック

Q1. `aws bedrock-runtime invoke-model` を叩いたときに403が返ってきた。何と何を切り分けるか?

「Bedrockのモデルアクセス許可を取得していない」のか「IAM権限(bedrock:InvokeModel)が無い」のかの切り分けです。CLIで先に1回叩くと、アプリ側のコードを疑う前にどちらが原因かを早く絞り込めます。

出典(AWS公式)