翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AgentCore ランタイムで Amazon Bedrock マネージドエージェント (OpenAI を使用) の使用を開始する
注記
Amazon Bedrock マネージドエージェント (OpenAI を使用) はプレビュー中です。機能や APIs、一般提供前に変更される場合があります。
Amazon Bedrock マネージドエージェントは OpenAI Codex ハーネスを実行します AWS。ハーネスはモデルとツール間のループを実行し、セッションを保持し、会話が大きくなるにつれてコンテキストを圧縮します。エージェントがコマンドを実行したり、ファイルを操作する必要がある場合、Bedrock マネージドエージェントは作業を 環境に送信します。その環境を実行する場所を決定します。
Codex exec-server は、ローカル開発用に独自のコンピュータで実行できます。その他のワークロードの場合、Bedrock マネージドエージェントはアカウントで AgentCore ランタイムを呼び出します。ランタイムは、各セッションに独自のmicroVM を提供します。セッションはユーザーが管理する実行ロールで実行され、ランタイムは VPC に接続して、エージェントがプライベートリソースに到達できるようにします。モデル呼び出しは Bedrock マネージドエージェントに留まるため、コンテナはエージェントが送信するコマンドのみを実行します。
このチュートリアルでは、以下のタスクを実行します。
-
AgentCore CLI を使用してランタイムを作成してデプロイします。
-
OpenAI SDK を使用してセッションを開始します。エージェントはランタイムでサンプルスキルを使用します。
-
(オプション) 独自のスキルを追加します。
ステップ 1~4 には約 15 分かかります。
このチュートリアルで作成した AWS リソースは、 AWS アカウントに課金される可能性があります。これらのリソースには、ランタイム、 AWS CodeBuild イメージビルド、Bedrock マネージドエージェントモデル呼び出しが含まれます。詳細については、AgentCore の料金
前提条件
-
Node.js 20 以降。AgentCore CLI は npm パッケージとして配布されます。で を確認します
node --version。 -
uv。サンプルクライアントは uv
を使用して Python 依存関係をインストールします。 -
認証情報が設定された AWS アカウント。アカウントを作成するには、「 AWS アカウントの開始方法」を参照してください。認証情報を設定するには、「 CLI AWS の設定」を参照してください。
-
[IAM アクセス許可]。ID には、AgentCore API コールを行い、デプロイ中に使用される CDK ブートストラップロールを引き受けるアクセス許可が必要です。AgentCore CLI を使用する」を参照してください。サンプルクライアントには IAM アクセス許可も必要です。「セッションロール」を参照してください。
-
モデルアクセス。アカウントは Bedrock マネージドエージェントモデル にアクセスする必要があります
openai.gpt-5.6-luna。
CLI は、アカウントに AWS CodeBuild を使用してコンテナイメージを構築します。
ステップ 1: プロジェクトを作成する
AgentCore CLI をインストールし、認証情報とリージョンを設定します。
npm install -g @aws/agentcore agentcore --version export AWS_PROFILE=your-profile export AWS_REGION=us-east-1
BedrockManagedAgents フレームワークを使用してプロジェクトを作成します。フラグagentcore createなしで を実行することもできます。エージェントを選択し、Bedrock マネージドエージェントをフレームワークとして選択します。
agentcore create --name MyManagedAgent --framework BedrockManagedAgents cd MyManagedAgent
プロジェクトには、 のランタイム設定agentcore/agentcore.jsonと のコンテナソースがありますapp/MyManagedAgent/。コンテナは codex exec-serverを実行します。これは Bedrock マネージドエージェントに接続し、エージェントのコマンドを実行します。
プロジェクトは、以下のデフォルトを使用してランタイムを設定します。
-
アイドルタイムアウトは 30 分、最大有効期間は 8 時間です。「ライフサイクル設定の構成」を参照してください。
-
のアクセス許可を持つ実行ロール
policies/bma-acr-policy.json。
MyManagedAgent/ ├── agentcore/ │ ├── agentcore.json │ └── cdk/ └── app/MyManagedAgent/ ├── Dockerfile ├── lifecycle/server.py ├── otel/collector.yaml ├── plugins/acr-report/ ├── policies/ │ ├── bma-acr-policy.json │ ├── bma-session-trust.json │ └── bma-session-policy.json ├── pyproject.toml ├── client.py └── README.md
キーファイル:
-
lifecycle/server.py- ライフサイクルサーバー。Bedrock マネージドエージェントはこれを呼び出してランタイムセッションcodex exec-serverで開始します。このファイルは変更しないでください。 -
Dockerfile- Codex、CloudWatch エージェント、Python をインストールし、lifecycle/、otel/、 を にコピーplugins/します/opt/bma。 -
otel/collector.yaml- exec-server のスパンとログを CloudWatch に送信します。 -
plugins/acr-report/- 1 つのスキルを持つサンプルプラグイン。スキルはワークスペースacr-report.txtに保存されます。 -
policies/bma-acr-policy.json- ランタイム実行ロールのポリシー。bedrock-mantle:RegisterEnvironmentおよびbedrock-mantle:ConnectEnvironmentを許可します。1 つのプロジェクトに制限するには、Resourceを に変更しますarn:aws:bedrock-mantle:<region>:<account-id>:project/<project-id>。 -
pyproject.toml- Python の依存関係。devグループはclient.py専用です。 -
policies/bma-session-trust.jsonおよびpolicies/bma-session-policy.json- 信頼ポリシーとセッションロールのアクセス許可。「セッションロール」を参照してください。 -
client.py- セッションを開始するサンプルクライアント。ステップ 3 で実行します。
ネットワークオプションを に追加しますagentcore create。
agentcore create --name MyManagedAgent --framework BedrockManagedAgents \ --network-mode VPC --vpc-id <vpc-id> --subnets <subnet-ids> \ --security-groups <security-group-ids>
exec-server が接続するため、VPC には Bedrock Managed Agents エンドポイントへのルートが必要です。イメージビルドは Codex と Python をダウンロードするため、インターネットへのルートも必要です。「VPC の AgentCore を設定する」を参照してください。
同じプロジェクトがインスタンスコンピューティングタイプで実行されます。プロジェクトにキャパシティープロバイダーを追加し、キャパシティープロバイダーでエージェントを追加します。
agentcore create --name MyManagedAgent --no-agent cd MyManagedAgent agentcore add capacity-provider --name MyCapacityProvider \ --subnets <subnet-ids> --security-groups <security-group-ids> \ --os LINUX_ARM64 --instance-types c7g.large agentcore add agent --name MyManagedAgent --framework BedrockManagedAgents \ --capacity-provider MyCapacityProvider
次に、 を続行しますステップ 2: デプロイする。 はキャパシティープロバイダーとそのオペレーターロールagentcore deployも作成します。
-
イメージビルドは ARM64 イメージを作成するため、
LINUX_ARM64および Graviton インスタンスタイプを使用します。 -
キャパシティープロバイダーはネットワークを提供します。サブネットには Bedrock Managed Agents エンドポイントへのルートが必要です。
プロジェクトにないキャパシティープロバイダーをアタッチするには、その ARN を に渡しますagentcore create --framework BedrockManagedAgents --capacity-provider <capacity-provider-arn>。「ランタイムインスタンスとキャパシティープロバイダー」を参照してください。
ステップ 2: デプロイする
agentcore deploy agentcore status
CLI は、アカウントに AWS CodeBuild を使用してイメージを構築し、ランタイムとその実行ロールをデプロイします。Bedrock マネージドエージェントはランタイムを呼び出します。
の出力からランタイム ARN を保存しますagentcore status。
arn:aws:bedrock-agentcore:us-east-1:<account-id>:runtime/<runtime-id>
ステップ 3: セッションを実行する
Bedrock マネージドエージェントは、セッションロールを使用してモデルを呼び出し、ランタイムを呼び出します。セッションロールはランタイム実行ロールではありません。を実行するとclient.py、アカウントにセッションロールが作成されます。 agentcore deploy はセッションロールを作成しず、削除もagentcore removeしません。「セッションロール」を参照してください。
エージェントディレクトリからクライアントを実行します。
cd app/MyManagedAgent uv run client.py --runtime <runtime-arn>
クライアントはセッションを作成し、セッション ID、各コマンドとその出力、エージェントの回答を出力します。デフォルトでは、エージェントはacr-reportスキルを使用してワークスペースacr-report.txtに保存します。
次のセクションでは、クライアントがセッションロールを管理する方法と、クライアントを実行するために必要な IAM アクセス許可について説明します。
セッションロールはランタイム実行ロールではありません。 は を使用して実行ロールagentcore deployを作成しますpolicies/bma-acr-policy.json。クライアントは、セッションの作成時に role_arnフィールドの Bedrock マネージドエージェントにセッションロールを付与します。
新しいセッションを開始し、 を指定しない場合--role-arn、クライアントは次のステップを実行します。
-
ロール
BmaSessionRole-<region>が存在しない場合は、クライアントが作成します。 -
クライアントは、ロール
BmaSessionの信頼ポリシーとインラインポリシーをpolicies/bma-session-trust.jsonおよび と比較しますpolicies/bma-session-policy.json。ポリシーが同じでない場合、クライアントはファイルをロールに書き込みます。ファイルは、ランタイムのアカウントとリージョンに限定されます。 -
クライアントがロールを変更した場合、15 秒待機します。Bedrock マネージドエージェントが変更を使用する前に、IAM にこの時間が必要です。
ロールを変更するには、ファイルを変更します。クライアントは、ロールに追加する他のポリシーを削除しません。を付与するときにロールはチェックされず--session-id、 で付与するロールは変更されません--role-arn。
本番環境では、クライアントに 1 つのランタイムと 1 つのゲートウェイのロールを で付与します--role-arn。ロールを作成するには、 の 2 つのファイルを使用しますpolicies/。パーティション、リージョン、アカウント ID を入力し、 runtime/と をランタイム ID とゲートウェイ ID に変更gateway/*します。リージョン内のすべてのプロジェクトが を共有するため、プロジェクト内のファイルを変更しないでくださいBmaSessionRole-<region>。
クライアントを実行する ID には、セッションロールiam:PassRoleに対する Bedrock Managed Agents クライアントのアクセス許可、bedrock-mantle:CallWithBearerToken、および が必要です。クライアントがロールを作成および修復できるようにするには、 iam:PutRolePolicyで iam:GetRole、iam:CreateRole、iam:UpdateAssumeRolePolicyiam:GetRolePolicy、、 も指定しますarn:aws:iam::<account-id>:role/BmaSessionRole-*。に付与した場合--role-arn、クライアントはこれら 5 つのアクセス許可を必要としません。
信頼ポリシー、セッションロールのアクセス許可、およびクライアントアクセス許可については、「Amazon Bedrock ユーザーガイド」の「セキュリティロールと IAM ロール」を参照してください。
クライアントは openaiパッケージのclient.beta.agentsリソースを使用します。Bedrock マネージドエージェントはエージェントループを実行します。
クライアントはセッションを作成するときに、 でこれらの値を設定しますenvironment。
-
type- Bedrock マネージドエージェントaws_bedrock_agentcoreに AgentCore ランタイムを使用するように指示する 。 -
runtime_arn- ランタイム。セッションはランタイムの リージョンで実行されます。 -
workspace_directory- エージェントがコマンドを実行するディレクトリ。クライアントは を使用します/home/app/workspace。ライフサイクルサーバーは ディレクトリを作成します。 -
runtime_qualifier- ランタイムのエンドポイント。クライアントは を使用しますDEFAULT。 -
capability_directories- Bedrock マネージドエージェントがスキルを見つけるディレクトリ。クライアントは を使用します/opt/bma/plugins。
クライアントはセッションロールextra_bodyにも role_arn を設定します。openai パッケージには、このフィールドのパラメータがありません。
provide_token ヘルパーは認証情報を使用して AWS 、リクエストごとに有効期間の短い Amazon Bedrock ベアラートークンを取得します。
プロジェクトにゲートウェイを追加する場合は、 agentcore deployを使用して の出力からその ARN を指定します--gateway。フラグは、新しいセッションにのみ使用します。クライアントは、 の ARN を使用してゲートウェイをmcpツールとして追加しますconnector_id。Bedrock マネージドエージェントは、セッションロールを使用してゲートウェイを呼び出します。ゲートウェイは MCP バージョン をサポートしている必要があります2025-03-26。そうでない場合、エージェントはゲートウェイツールを取得せず、Bedrock マネージドエージェントはエラーを表示しません。
"""Send an input to a Bedrock Managed Agents session that uses this project's ACR.""" import argparse import json import time from pathlib import Path from typing import Any import boto3 from aws_bedrock_token_generator import provide_token from botocore.exceptions import ClientError from openai import NotFoundError, OpenAI BMA_MODEL_ID = "openai.gpt-5.6-luna" # The agent runs its commands in this directory. The lifecycle server creates it. WORKSPACE_DIRECTORY = "/home/app/workspace" # Plugins and skills that the agent can use. The image has the acr-report plugin # at this path. Add the path of an S3 Files mount to use the skills in a bucket. CAPABILITY_DIRECTORIES = ["/opt/bma/plugins"] TURN_END = ("completed", "failed", "cancelled") TOOL_CALLS = ("mcp_call", "function_call", "web_search_call") POLICIES = Path(__file__).parent / "policies" SESSION_ROLE = "BmaSessionRole-{region}" SESSION_POLICY = "BmaSession" def show(data: dict[str, Any]) -> None: """Prints the session ID, the commands, the tool calls, and the answer.""" kind = data["type"].removeprefix("agent.session.") item = data.get("item") or {} if kind == "created": print(f"Session {data['session']['id']}") elif kind == "turn.output_text.delta": print(data["delta"], end="", flush=True) elif kind == "turn.item.done" and item.get("type") == "command_execution": print(f"\n$ {item['command']}\n{item.get('output') or ''}".rstrip()) elif kind == "turn.item.done" and item.get("type") in TOOL_CALLS: print(f"\nTool {item.get('name') or item['type']} {item.get('status')}") elif kind == "error" or kind.split(".")[-1] in TURN_END: source = data.get("turn") or data.get("environment") or data.get("session") print(f"\n{kind} {(source or data).get('error') or ''}".rstrip()) def load_policy(name: str, partition: str, region: str, account: str) -> str: """Reads a policy file and puts in the partition, the Region, and the account.""" text = (POLICIES / name).read_text() for key, value in (("Partition", partition), ("Region", region), ("AccountId", account)): text = text.replace("${AWS::" + key + "}", value) return text def session_role(runtime_arn: str) -> str: """Creates or repairs the session role, and returns its ARN. If the trust policy or the policy of the role is not the same as the file in `policies/`, the client writes the file to the role. """ _, partition, _, region, account = runtime_arn.split(":")[:5] name = SESSION_ROLE.format(region=region) trust = load_policy("bma-session-trust.json", partition, region, account) policy = load_policy("bma-session-policy.json", partition, region, account) iam = boto3.client("iam") changed = False try: role = iam.get_role(RoleName=name)["Role"] except iam.exceptions.NoSuchEntityException: role = iam.create_role(RoleName=name, AssumeRolePolicyDocument=trust)["Role"] print(f"Created the session role {name}") changed = True else: if role["AssumeRolePolicyDocument"] != json.loads(trust): iam.update_assume_role_policy(RoleName=name, PolicyDocument=trust) print(f"Updated the trust policy of {name}") changed = True try: current = iam.get_role_policy(RoleName=name, PolicyName=SESSION_POLICY)["PolicyDocument"] except iam.exceptions.NoSuchEntityException: current = None if current != json.loads(policy): iam.put_role_policy(RoleName=name, PolicyName=SESSION_POLICY, PolicyDocument=policy) if not changed: print(f"Updated the policy of {name}") changed = True if changed: # IAM needs some seconds before Bedrock Managed Agents can use a new or changed role. time.sleep(15) return role["Arn"] def main() -> None: parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--runtime", required=True, help="The ACR ARN.") parser.add_argument( "--session-id", help="The BMA session ID. If it does not exist, the client creates a session.", ) parser.add_argument( "--input", default="Use the acr-report skill to save an ACR report in the workspace.", ) parser.add_argument( "--gateway", help="The Gateway ARN from the output of `agentcore deploy`.", ) parser.add_argument( "--role-arn", help="The session role that BMA assumes. If you do not give it, the client creates a role.", ) parser.add_argument("--delete", action="store_true", help="Delete the session.") parser.add_argument("--raw", action="store_true", help="Print events as JSON.") args = parser.parse_args() # BMA must run in the Region of the ACR. region = args.runtime.split(":")[3] with OpenAI( api_key=lambda: provide_token(region=region), base_url=f"https://bedrock-mantle.{region}.api.aws/openai/v1", ) as client: sessions = client.beta.agents.sessions session_id = args.session_id if session_id: try: session = sessions.retrieve(session_id).model_dump(warnings=False) except NotFoundError: print(f"Session {session_id} does not exist.") session_id = None else: if session["environment"].get("runtime_arn") != args.runtime: raise ValueError(f"Session {session_id} uses another ACR.") if not session_id and not args.role_arn: try: args.role_arn = session_role(args.runtime) except ClientError as error: parser.error( f"The client cannot create or check the session role: {error}. " "Get the IAM permissions in README.md, or give --role-arn." ) print(f"Session role {args.role_arn}") if session_id: # BMA opens the stream only with stream=true, and the SDK does not send it. events = sessions.events.stream(session_id, extra_query={"stream": "true"}) message = { "role": "user", "content": [{"type": "input_text", "text": args.input}], } sessions.events.create( session_id, events=[{"type": "agent.session.input.message", "input": [message]}], ) else: agent: dict[str, Any] = { "model": BMA_MODEL_ID, "instructions": "Use the available tools to complete the task.", } if args.gateway: # Bedrock Managed Agents calls Gateway with the session role from the service side. agent["tools"] = [ {"type": "mcp", "server_label": "team_tools", "connector_id": args.gateway} ] args.input += " Then list the tools that the Gateway gives you." events = sessions.create( agent=agent, environment={ "type": "aws_bedrock_agentcore", "runtime_arn": args.runtime, "runtime_qualifier": "DEFAULT", "workspace_directory": WORKSPACE_DIRECTORY, "capability_directories": CAPABILITY_DIRECTORIES, }, input=args.input, stream=True, # The SDK has no role_arn parameter. BMA assumes this role to call the ACR. extra_body={"role_arn": args.role_arn}, ) with events: for event in events: data = event.model_dump(mode="json", warnings=False) session_id = session_id or (data.get("session") or {}).get("id") if args.raw: print(json.dumps(data), flush=True) else: show(data) if data["type"].removeprefix("agent.session.turn.") in TURN_END: break if args.delete: sessions.delete(session_id) print(f"\nDeleted session {session_id}") if __name__ == "__main__": main()
ステップ 4: セッションを続行する
同じセッションに別の入力を送信するには、セッション ID を追加します。ターンは同じワークスペースを使用します。アイドル停止後もワークスペースを維持するには、 のようにセッションストレージを追加しますアイドル状態の停止後にファイルを保持する。
uv run client.py --runtime <runtime-arn> --session-id <session-id> \ --input "Run cat acr-report.txt and show the output."
セッションが存在しない場合、クライアントは新しいセッションを作成します。--delete を追加してターン後にセッションを削除するか、各イベントを JSON として--raw出力します。
microVM ランタイムで、exec-server のホームディレクトリをセッションストレージに配置します。次に、ワークスペース、接続状態、アイドル状態の停止後もCODEX_HOME維持されます。
-
ステップ 1 の コマンドの代わりに、セッションストレージを使用してプロジェクトを作成します。
agentcore create --name MyManagedAgent --framework BedrockManagedAgents \ --session-storage-mount-path /mnt/home cd MyManagedAgent -
で
agentcore/agentcore.json、この変数をランタイムのエントリに追加します。"envVars": [{ "name": "BMA_HOME_DIR", "value": "/mnt/home" }] -
で
client.py、 を設定しますWORKSPACE_DIRECTORY = "/mnt/home/workspace"。 -
クライアントをデプロイして実行します。
セッションストレージの詳細については、AgentCore Runtime のファイルシステム設定」を参照してください。
ステップ 5: (オプション) スキルを追加する
イメージにスキルを追加するには、 にプラグインを追加してplugins/デプロイします。プラグインには .codex-plugin/plugin.json ファイルと skills/ ディレクトリがあります。skills/ ディレクトリには、スキルごとに 1 つのサブディレクトリがあり、そこにSKILL.mdファイルがあります。このイメージは/opt/bma/plugins、クライアントが Bedrock マネージドエージェントに既に付与している にコピーします。
起動するには、 をコピーしplugins/acr-report/、プラグインディレクトリと の名前skills/acr-report/をプラグインとスキルの名前に変更します。でplugin.json、name、、versiondescription、および を設定します"skills": "./skills/"。各 は、 nameと を持つフロントマターでSKILL.md始まりますdescription。デプロイ後、 で新しいセッションを開始します--input "Use the <skill-name> skill to …"。
S3 Files アクセスポイントをランタイムにマウントします。その後、バケットが変更されるとスキルが変わり、イメージは変わりません。S3 ファイルファイルシステム、アクセスポイント、およびセキュリティグループのルールについては、AgentCore Runtime のファイルシステム設定」を参照してください。
S3 Files マウントには、VPC ネットワークモードでランタイムが必要です。のネットワークオプションを使用してプロジェクトを作成しますVPC にランタイムをデプロイする。
バケットで、各プラグインをアクセスポイントのルートディレクトリの下にある独自のディレクトリに配置します。plugins/acr-report/: <plugin>/.codex-plugin/plugin.jsonおよび と同じレイアウトを使用します<plugin>/skills/<skill>/SKILL.md。
のランタイムのエントリにマウントを追加しますagentcore/agentcore.json。
{ "filesystemConfigurations": [ { "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:us-east-1:111122223333:file-system/fs-0123456789abcdef0/access-point/fsap-0123456789abcdef0", "mountPath": "/mnt/skills" } } ] }
次に、 CAPABILITY_DIRECTORIES を client.pyに設定し["/opt/bma/plugins", "/mnt/skills"]、デプロイします。
ステップ 6: ログとトレースを表示する
agentcore logs --since 15m
最初のデプロイでは、アカウントの CloudWatch トランザクション検索が有効になります。トレースは約 10 分後に表示されます。トレースを表示するには、CloudWatch コンソールを開き、GenAI Observability を選択します。Bedrock マネージドエージェントからライフサイクルサーバーへの各呼び出しには、1 つのbma.invocationスパンがあります。詳細については、「Amazon Bedrock AgentCore エージェントのオブザーバビリティデータを表示する」を参照してください。
トランザクション検索設定はアカウント全体に適用されます
トランザクション検索とそのスパンインデックス作成は、リージョンのアカウント全体に適用され、追加料金が適用される場合があります。現在の設定を維持するには、デプロイ~/.agentcore/config.jsonする前に "disableTransactionSearch": true を に追加します。
ステップ 7: 更新して再デプロイする
でランタイム設定を変更するかagentcore/agentcore.json、イメージのファイルを変更して、再度デプロイします。たとえば、この設定は 10 分後にアイドルセッションを停止します。値は秒単位です。
{ "lifecycleConfiguration": { "idleRuntimeSessionTimeout": 600, "maxLifetime": 28800 } }
agentcore deploy
変更は新しいセッションに適用されます。
ランタイムのエントリenvVarsに、 などの変数を追加します{ "name": "DISABLE_ADOT_OBSERVABILITY", "value": "true" }。
| 変数 | デフォルト | 説明 |
|---|---|---|
|
|
未設定 |
トレースと exec-server ログをオフに |
|
|
|
|
|
|
|
セッションの接続状態 |
|
|
|
|
|
|
|
Codex バイナリ。 |
|
|
|
最長ターンリース、秒単位。 |
各イメージビルドは、最新の Codex リリースをインストールします。ライフサイクルサーバーには Codex 0.154.0 以降が必要です。リリースを固定するには、 CODEX_NON_INTERACTIVE=1 の CODEX_RELEASE=<version>の横に を追加しますDockerfile。
ステップ 8: クリーンアップする
セッションを削除するには、そのセッションのクライアントの最終実行--deleteに を追加します。次に、プロジェクトのリソースを削除し、デプロイしてランタイム、その実行ロール、スタックを削除します。
agentcore remove all agentcore deploy
デプロイでは、これらのリソースは削除されません。
-
ランタイム、イメージを構築する CodeBuild プロジェクトの CloudWatch Logs ロググループ、およびビルドを開始する Lambda 関数のロググループ。
-
Amazon ECR リポジトリの AWS KMS キー。キーは 30 日間削除保留中状態のままになり、KMS AWS によって削除されます。
-
最初のデプロイでアカウントとリージョンがブートストラップされた場合の
CDKToolkitスタック。他の AWS CDK アプリケーションはこのスタックを使用できます。他のアプリが使用していない場合にのみ削除します。 -
ステップ 6 のトランザクション検索設定。
-
ステップ 3 で
client.py作成したセッションロール。
セッションロールを削除するには、次のコマンドを実行します。
aws iam delete-role-policy --role-name BmaSessionRole-<region> --policy-name BmaSession aws iam delete-role --role-name BmaSessionRole-<region>
ロググループを検索するには、以下のコマンドを実行します。次に、各ロググループを削除します。
aws logs describe-log-groups --log-group-name-prefix /aws/bedrock-agentcore/runtimes/<project-name>_<agent-name>- --query 'logGroups[].logGroupName' aws logs describe-log-groups --log-group-name-prefix /aws/codebuild/AgentCore-<project-name>-<target-name>- --query 'logGroups[].logGroupName' aws logs describe-log-groups --log-group-name-prefix /aws/lambda/AgentCore- --query 'logGroups[].logGroupName' aws logs delete-log-group --log-group-name <log-group-name>
これらの値を置き換えます。
-
<project-name>- プロジェクトの名前。ステップ 1 では、 ですMyManagedAgent。 -
<agent-name>- エージェントの名前。ステップ 1 では、これは でもありますMyManagedAgent。 -
<target-name>- のデプロイターゲットの名前agentcore/aws-targets.json。デフォルトはdefaultです。CodeBuild 名では、プロジェクト名とターゲット名の各アンダースコア (_) がハイフン () に変わります-。
Lambda ロググループの名前は、次の例のように短縮されます。
/aws/lambda/AgentCore-MyManagedAgent--ApplicationAgentMyManage-<suffix>
コマンドは、 リージョン内のすべての AgentCore CLI プロジェクトの Lambda ロググループを一覧表示します。プロジェクトのロググループのみを削除します。
ゲートウェイやメモリなどの他のリソースをプロジェクトに追加した場合は、デプロイによって削除されたことを確認します。