

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 自動推論ポリシーをアプリケーションでデプロイする
<a name="deploy-automated-reasoning-policy"></a>

自動推論ポリシーをテストし、パフォーマンスが満足いくものであったら、Amazon Bedrock のガードレールでアプリケーションにデプロイして使用できます。このページでは、イミュータブルバージョンの保存、ガードレールへのアタッチ、 によるデプロイの自動化 CloudFormation、CI/CD パイプラインへの統合というデプロイワークフロー全体について説明します。

## 自動推論ポリシーのバージョンを保存する
<a name="save-policy-version"></a>

ポリシーのテストが完了したら、イミュータブルバージョンを作成します。イミュータブルバージョンは、DRAFT の編集を続行するときにガードレールにアタッチされたポリシーが予期せず変更されないようにします。各バージョンは数値バージョン番号 (1、2、3、...) で識別され、作成後に変更することはできません。

### コンソールを使用する
<a name="save-policy-version-console"></a>

1. 左側のナビゲーションペインで、**[自動推論]** を選択します。

1. アプリケーションで使用する [自動推論] ポリシーを選択します。

1. **[Save as new version]** (新しいバージョンとして保存) を選択します。このバージョンのポリシーをガードレールで使用できます。

### API を使用する
<a name="save-policy-version-api"></a>

`CreateAutomatedReasoningPolicyVersion` API を使用して、自動推論ポリシーのイミュータブルバージョンを作成します。

#### リクエストパラメータ
<a name="save-policy-version-api-request"></a>

`policyArn` (必須)  
バージョンを作成する自動推論ポリシーの Amazon リソースネーム (ARN)

`lastUpdatedDefinitionHash` (必須)  
新しいバージョンのポリシー定義のハッシュ。`GetAutomatedReasoningPolicy` API からこのハッシュを取得します。これにより、テストしたポリシー定義を正確にバージョニングできます。

#### 例
<a name="save-policy-version-api-example"></a>

```
# Get the current definition hash
aws bedrock get-automated-reasoning-policy \
  --policy-arn "arn:aws:bedrock:{{us-east-1}}:{{111122223333}}:automated-reasoning-policy/{{lnq5hhz70wgk}}" \
  --query "definitionHash" --output text

# Create the version
aws bedrock create-automated-reasoning-policy-version \
  --policy-arn "arn:aws:bedrock:{{us-east-1}}:{{111122223333}}:automated-reasoning-policy/{{lnq5hhz70wgk}}" \
  --last-updated-definition-hash "{{583463f067a8a4f49fc1206b4642fd40...}}"
```

レスポンスの例:

```
{
  "policyArn": "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk",
  "version": "1",
  "name": "MyHRPolicy"
}
```

## 自動推論ポリシーをガードレールに追加する
<a name="add-policy-to-guardrail"></a>

自動推論ポリシーを保存したら、ガードレールに追加します。ガードレールは、アプリケーションが LLM レスポンスを検証するために呼び出すランタイムコンポーネントです。自動推論ポリシーを新規または既存のガードレールに追加できます。

### コンソールを使用する
<a name="add-policy-to-guardrail-console"></a>

1. 左側のナビゲーションで、**ガードレール**を選択し、**ガードレールの作成** (または既存のガードレールを選択して**編集**) を選択します。

1. **[自動推論チェックを追加]** 画面が表示されたら、**[自動推論ポリシーを有効化]** をクリックします。

1. **[ポリシー名]** で、自動推論ポリシーの保存済みバージョンを選択し、**[次へ]** をクリックします。

1. ガードレールの作成または更新を完了します。

### API を使用する
<a name="add-policy-to-guardrail-api"></a>

`CreateGuardrail` または `UpdateGuardrail` API を使用して、自動推論ポリシーをガードレールに追加します。バージョニングされたポリシー ARN に `automatedReasoningConfig`パラメータを含めます。

#### リクエストパラメータ
<a name="add-policy-to-guardrail-api-request"></a>

`automatedReasoningConfig`  
Amazon Bedrock のガードレールでの自動推論チェックの設定

`policyArn` (必須)  
ガードレールで使用する自動推論ポリシーバージョンの ARN。バージョン管理されていない ARN ではなく`:2`、バージョン管理された ARN (`:1`、 などで終わる) を使用します。

#### 例
<a name="add-policy-to-guardrail-api-example"></a>

```
aws bedrock create-guardrail \
  --name "{{HR-Policy-Guardrail}}" \
  --description "{{Guardrail for HR policy validation}}" \
  --automated-reasoning-policy-config policies="arn:aws:bedrock:{{us-east-1}}:{{111122223333}}:automated-reasoning-policy/{{lnq5hhz70wgk}}:{{1}}" \
  --cross-region-config '{"guardrailProfileIdentifier": "{{us}}.guardrail.v1:0"}' \
  --blocked-input-messaging "I cannot process this request." \
  --blocked-outputs-messaging "I cannot provide this response."
```

**重要**  
バージョニングされたポリシー ARN ( など`arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1`) を使用します。バージョン管理されていない ARN を使用する場合、API はエラーを返します。を使用して最初にバージョンを作成します`CreateAutomatedReasoningPolicyVersion`。

**重要**  
自動推論チェックを使用するガードレールには、クロスリージョン推論プロファイルが必要です。リージョンプレフィックス`guardrailProfileIdentifier`に一致する に `--cross-region-config`パラメータを含めます (たとえば、`us.guardrail.v1:0`米国リージョンの場合は 、欧州リージョン`eu.guardrail.v1:0`の場合は )。このパラメータを省略すると、API は を返します`ValidationException`。

## デプロイ用のポリシーバージョンをエクスポートする
<a name="export-policy-version"></a>

 CloudFormation または CI/CD パイプラインを介してポリシーをデプロイするには、ポリシー定義 JSON が必要です。`ExportAutomatedReasoningPolicyVersion` API を使用して、すべてのルール、変数、カスタムタイプを含む完全なポリシー定義を、保存されたバージョンからエクスポートします。

エクスポートされた定義は、`AWS::Bedrock::AutomatedReasoningPolicy`リソースの CloudFormation `PolicyDefinition`プロパティで受け入れられたのと同じ形式です。これにより、インタラクティブコンソールワークフローから自動デプロイにポリシーを簡単に移動できます。

```
# Export the policy definition from version 1
aws bedrock export-automated-reasoning-policy-version \
  --policy-arn "arn:aws:bedrock:{{us-east-1}}:{{111122223333}}:automated-reasoning-policy/{{lnq5hhz70wgk}}:{{1}}" \
  --query "policyDefinition" \
  --output json > {{policy-definition.json}}
```

エクスポートされた JSON には、次の構造が含まれています。

```
{
  "version": "1.0",
  "variables": [
    {
      "name": "isFullTime",
      "type": "BOOL",
      "description": "Whether the employee works full-time (true) or part-time (false)."
    },
    {
      "name": "tenureMonths",
      "type": "INT",
      "description": "The number of complete months the employee has been continuously employed."
    }
  ],
  "rules": [
    {
      "id": "A1B2C3D4E5F6",
      "expression": "(=> (and isFullTime (> tenureMonths 12)) eligibleForParentalLeave)"
    }
  ],
  "types": []
}
```

このファイルを CloudFormation テンプレートと一緒にバージョン管理に保存します。ポリシーを更新するときは、新しいバージョンをエクスポートし、 ファイルを更新してデプロイをトリガーします。

## によるデプロイの自動化 CloudFormation
<a name="deploy-cfn"></a>

を使用して CloudFormation 、自動推論ポリシーとガードレールをコードとしてのインフラストラクチャとしてデプロイします。`AWS::Bedrock::AutomatedReasoningPolicy` リソースは、API またはコンソールからエクスポートするポリシー定義を持つポリシーを作成します。と組み合わせて`AWS::Bedrock::Guardrail`、完全な検証スタックを 1 つのテンプレートにデプロイできます。

**注記**  
CloudFormation は、指定したポリシー定義を使用してポリシーリソースを作成します。ビルドワークフローを実行したり、ソースドキュメントからルールを抽出したりすることはありません。まず、インタラクティブに (コンソール、API、または Kiro CLI を使用して) ポリシーを作成してテストしてから、テストされたポリシー定義をエクスポートしてテンプレートで使用する必要があります。詳細については、「[デプロイ用のポリシーバージョンをエクスポートする](#export-policy-version)」を参照してください。

ポリシーリソースの完全なプロパティリファレンスについては、*CloudFormation テンプレートリファレンス*の「[AWS::Bedrock::AutomatedReasoningPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-bedrock-automatedreasoningpolicy.html)」を参照してください。

### 例: ポリシーとガードレールをデプロイする
<a name="deploy-cfn-template-example"></a>

次の CloudFormation テンプレートは、ポリシー定義とそれを参照するガードレールを持つ自動推論ポリシーを作成します。ポリシー定義を、テスト済みポリシーからエクスポートされた JSON に置き換えます。

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Deploy an Automated Reasoning policy and guardrail

Parameters:
  PolicyName:
    Type: String
    Default: {{MyHRPolicy}}
    Description: Name of the Automated Reasoning policy
  GuardrailName:
    Type: String
    Default: {{HR-Policy-Guardrail}}
    Description: Name of the guardrail

Resources:
  AutomatedReasoningPolicy:
    Type: AWS::Bedrock::AutomatedReasoningPolicy
    Properties:
      Name: !Ref PolicyName
      Description: Validates HR chatbot responses about leave eligibility
      PolicyDefinition:
        Version: '1.0'
        Variables:
          - Name: isFullTime
            Type: BOOL
            Description: >-
              Whether the employee works full-time (true) or part-time (false).
              Set to true when users mention being full-time or working 40+ hours
              per week.
          - Name: tenureMonths
            Type: INT
            Description: >-
              The number of complete months the employee has been continuously
              employed. When users mention years of service, convert to months
              (for example, 2 years = 24 months).
          - Name: eligibleForParentalLeave
            Type: BOOL
            Description: >-
              Whether the employee is eligible for parental leave based on
              employment status and tenure.
        Rules:
          - Id: {{A1B2C3D4E5F6}}
            Expression: >-
              (=> (and isFullTime (> tenureMonths 12))
              eligibleForParentalLeave)
          - Id: {{G7H8I9J0K1L2}}
            Expression: >-
              (=> (or (not isFullTime) (<= tenureMonths 12))
              (not eligibleForParentalLeave))
        Types: []
      Tags:
        - Key: Environment
          Value: Production
        - Key: Team
          Value: HR

  Guardrail:
    Type: AWS::Bedrock::Guardrail
    Properties:
      Name: !Ref GuardrailName
      Description: Guardrail with Automated Reasoning checks for HR policy
      BlockedInputMessaging: I cannot process this request.
      BlockedOutputsMessaging: I cannot provide this response.
      AutomatedReasoningPolicyConfig:
        Policies:
          - !GetAtt AutomatedReasoningPolicy.PolicyArn
      CrossRegionConfig:
        GuardrailProfileArn: !Sub "arn:aws:bedrock:${AWS::Region}:${AWS::AccountId}:guardrail-profile/{{us}}.guardrail.v1:0"

Outputs:
  PolicyArn:
    Description: ARN of the Automated Reasoning policy
    Value: !GetAtt AutomatedReasoningPolicy.PolicyArn
  PolicyId:
    Description: ID of the Automated Reasoning policy
    Value: !GetAtt AutomatedReasoningPolicy.PolicyId
  GuardrailId:
    Description: ID of the guardrail
    Value: !Ref Guardrail
```

**ヒント**  
本番環境のデプロイでは、ポリシー定義を別の JSON ファイルに保持し、 `Fn::Include`または テンプレートパラメータとしてロードして参照します。これにより、テンプレートをクリーンに保ち、ポリシー定義を個別に更新することが容易になります。

**重要**  
自動推論チェックを使用するガードレールには、クロスリージョン推論プロファイルが必要です。`CrossRegionConfig` プロパティは、リージョンのガードレールプロファイル ARN を指定します。リージョンプレフィックス (`us`) をデプロイリージョンに適したプレフィックス (`eu`EU リージョンなど) に置き換えます。このプロパティを省略すると、ガードレールの作成は失敗します。

### 例: カスタマーマネージド KMS キーを使用してデプロイする
<a name="deploy-cfn-kms-example"></a>

カスタマーマネージド KMS キーを使用してポリシーを暗号化するには、 `KmsKeyId`プロパティを追加します。また、Amazon Bedrock がキーを使用できるようにキーポリシーを設定する必要があります。必要なキーポリシーのアクセス許可については、「」を参照してください[自動推論ポリシーの KMS アクセス許可](create-automated-reasoning-policy.md#automated-reasoning-policy-kms-permissions)。

```
  AutomatedReasoningPolicy:
    Type: AWS::Bedrock::AutomatedReasoningPolicy
    Properties:
      Name: !Ref PolicyName
      Description: Validates HR chatbot responses about leave eligibility
      KmsKeyId: !GetAtt PolicyEncryptionKey.Arn
      PolicyDefinition:
        # ... policy definition ...
      Tags:
        - Key: Environment
          Value: Production
```

**重要**  
`KmsKeyId` プロパティを変更するには、リソースを置き換える必要があります。 CloudFormation は既存のポリシーを削除し、新しい ARN を持つ新しいポリシーを作成します。古いポリシー ARN を参照するガードレールを更新します。

## 次の手順
<a name="deploy-next-steps"></a>

ポリシーとガードレールをデプロイしたら、自動推論チェックをアプリケーションに統合して、実行時に LLM レスポンスを検証します。詳細については、「[自動推論チェックをアプリケーションに統合する](integrate-automated-reasoning-checks.md)」を参照してください。