

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Aprovisionamiento y organización
<a name="provisioning-orchestration"></a>

El aprovisionamiento y la organización en Amazon Bedrock le permiten automatizar la implementación y la administración de los recursos utilizando la infraestructura como herramientas de código.

**Topics**
+ [Cree recursos de Amazon Bedrock con AWS CloudFormation](creating-resources-with-cloudformation.md)

# Cree recursos de Amazon Bedrock con AWS CloudFormation
<a name="creating-resources-with-cloudformation"></a>

Amazon Bedrock está integrado con AWS CloudFormation un servicio que le ayuda a modelar y configurar sus AWS recursos para que pueda dedicar menos tiempo a crear y administrar sus recursos e infraestructura. Crea una plantilla que describe todos los AWS recursos que desea (como los [agentes de Amazon Bedrock](agents.md) o [las bases de conocimiento de Amazon Bedrock](knowledge-base.md)) y CloudFormation aprovisiona y configura esos recursos por usted. 

Cuando la utilice CloudFormation, podrá reutilizar la plantilla para configurar los recursos de Amazon Bedrock de forma coherente y repetida. Describa sus recursos una vez y, a continuación, aprovisione los mismos recursos una y otra vez en varias Cuentas de AWS regiones. 

## Amazon Bedrock y plantillas CloudFormation
<a name="working-with-templates"></a>

Para aprovisionar y configurar los recursos de Amazon Bedrock y los servicios relacionados, debe entender las [plantillas de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html). Las plantillas son archivos de texto con formato JSON o YAML. Estas plantillas describen los recursos que desea aprovisionar en sus CloudFormation pilas. Si no estás familiarizado con JSON o YAML, puedes usar CloudFormation Designer para ayudarte a empezar con CloudFormation las plantillas. Para obtener más información, consulte [¿Qué es Designer de CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) en la *Guía del usuario de AWS CloudFormation *.

Amazon Bedrock permite crear los siguientes recursos en CloudFormation.
+ [AWS::Bedrock::Agent](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)
+ [AWS: :Bedrock:: AgentAlias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)
+ [AWS:: Bedrock:: ApplicationInferenceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html)
+ [AWS:: Bedrock:: AutomatedReasoningPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicy.html)
+ [AWS:: Bedrock:: AutomatedReasoningPolicyVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-automatedreasoningpolicyversion.html)
+ [AWS:: Bedrock:: DataSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)
+ [AWS::Bedrock::Flow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)
+ [AWS:: Bedrock:: FlowVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)
+ [AWS:: Bedrock:: FlowAlias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)
+ [AWS::Bedrock::Guardrail](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)
+ [AWS:: Bedrock:: GuardrailVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)
+ [AWS:: Bedrock:: KnowledgeBase](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)
+ [AWS::Bedrock::Prompt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)
+ [AWS:: Bedrock:: PromptVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)

Para obtener más información, incluidos ejemplos de plantillas JSON y YAML para los [agentes de Amazon Bedrock](agents.md) o las [bases de conocimientos de Amazon Bedrock](knowledge-base.md), consulte la [referencia sobre los tipos de recursos de Amazon Bedrock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Bedrock.html) en la *Guía del usuario de AWS CloudFormation *.

# Administración de proyectos con AWS CloudFormation
<a name="cloudformation-projects"></a>

Amazon Bedrock está integrado con AWS CloudFormation, lo que le permite definir y gestionar proyectos como parte de sus plantillas de infraestructura. Puede aprovisionar proyectos de forma coherente y repetida en varias cuentas y regiones de AWS mediante plantillas JSON o YAML.

## AWS::BedrockMantle::Project
<a name="cloudformation-projects-resource"></a>

Utilice el `AWS::BedrockMantle::Project` recurso para crear y gestionar un proyecto de Bedrock en una CloudFormation plantilla. Los proyectos creados a través de la API CloudFormation admiten las mismas capacidades que los creados a través de la API, incluidas la vinculación, el etiquetado y la observabilidad de las políticas de IAM.

### Sintaxis
<a name="cloudformation-projects-syntax"></a>

Para declarar esta entidad en tu CloudFormation plantilla, usa la siguiente sintaxis:

**Example CloudFormation Sintaxis**  

```
{
  "Type": "AWS::BedrockMantle::Project",
  "Properties": {
    "Name": String,
    "Tags": [
      { "Key": String, "Value": String },
      { "Key": String, "Value": String },
      { "Key": String, "Value": String },
      { "Key": String, "Value": String }
    ]
  }
}
```

```
Type: AWS::BedrockMantle::Project
Properties:
  Name: String
  Tags:
    Key: Value
```

### Propiedades
<a name="cloudformation-projects-properties"></a>

Name  
Obligatorio. El nombre del proyecto. Debe ser único en su cuenta de AWS.  
Tipo: cadena  
Mínimo: 1  
Máximo: 64  
Patrón: `^([0-9a-zA-Z][ _-]?)+$`  
Requisitos de actualización: reemplazo

Tags  
Un mapa de pares clave-valor para asociarlos al proyecto para la asignación de costos y el control de acceso.  
Tipo: Map de String  
Requisitos de actualización: sin interrupción

**Nota sobre las actualizaciones de etiquetas**  
CloudFormation etiquete las actualizaciones cuando se `AWS::BedrockMantle::Project` utilizan separe internamente las operaciones de añadir y eliminar. No existe un reemplazo total de etiquetas atómicas. Si una actualización de la pila falla en mitad de la operación, es posible que el conjunto de etiquetas del proyecto esté parcialmente actualizado. Compruebe siempre el estado final de las etiquetas después de una actualización de la pila que modifique las etiquetas.

### valores devueltos
<a name="cloudformation-projects-return-values"></a>

#### Ref.
<a name="cloudformation-projects-ref"></a>

Al pasar el ID lógico de este recurso a la `Ref` función intrínseca, `Ref` devuelve el ID del proyecto (por ejemplo,`proj_abc123`).

#### Fn:: GetAtt
<a name="cloudformation-projects-getatt"></a>

ProjectId  
El identificador único del proyecto (por ejemplo,`proj_abc123`).

ProjectArn  
El nombre del recurso de Amazon (ARN) del proyecto (por ejemplo,`arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123`).

Status  
El estado del proyecto. `ACTIVE`significa que el proyecto está listo para usarse. `ARCHIVED`significa que el proyecto se ha archivado y no puede aceptar nuevas solicitudes de inferencia.

CreatedAt  
La marca temporal en la que se creó el proyecto.

UpdatedAt  
La marca de tiempo en la que se actualizó el proyecto por última vez.

## Ejemplos
<a name="cloudformation-projects-examples"></a>

### Crea un proyecto básico
<a name="cloudformation-projects-basic"></a>

El siguiente ejemplo crea un proyecto para una aplicación de chatbot de producción:

**Example Proyecto básico de**  

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Amazon Bedrock Project for Production Chatbot

Resources:
  CustomerChatbotProject:
    Type: AWS::BedrockMantle::Project
    Properties:
      Name: CustomerChatbot-Production
      Tags:
        - Key: Project
          Value: CustomerChatbot
        - Key: Environment
          Value: Production
        - Key: Owner
          Value: TeamAlpha
        - Key: CostCenter
          Value: "21524"

Outputs:
  ProjectId:
    Description: The ID of the created project
    Value: !Ref CustomerChatbotProject

  ProjectArn:
    Description: The ARN of the created project
    Value: !GetAtt CustomerChatbotProject.ProjectArn
```

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "CustomerChatbotProject": {
      "Type": "AWS::BedrockMantle::Project",
      "Properties": {
        "Name": "CustomerChatbot-Production",
        "Tags": [
          { "Key": "Project", "Value": "CustomerChatbot" },
          { "Key": "Environment", "Value": "Production" },
          { "Key": "Owner", "Value": "TeamAlpha" },
          { "Key": "CostCenter", "Value": "21524" }
        ]
      }
    }
  },
  "Outputs": {
    "ProjectId": {
      "Description": "The ID of the created project",
      "Value": { "Ref": "CustomerChatbotProject" }
    },
    "ProjectArn": {
      "Description": "The ARN of the created project",
      "Value": { "Fn::GetAtt": ["CustomerChatbotProject", "ProjectArn"] }
    }
  }
}
```

### Cree varios proyectos para diferentes entornos
<a name="cloudformation-projects-multi-env"></a>

El siguiente ejemplo proporciona proyectos separados para los entornos de desarrollo, puesta en escena y producción en una sola pila:

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Amazon Bedrock Projects for Multi-Environment Deployment

Parameters:
  ApplicationName:
    Type: String
    Default: InternalSearch
    Description: Name of the application

  CostCenter:
    Type: String
    Description: Cost center for billing allocation

Resources:
  DevelopmentProject:
    Type: AWS::BedrockMantle::Project
    Properties:
      Name: !Sub "${ApplicationName}-Development"
      Tags:
        - Key: Project
          Value: !Ref ApplicationName
        - Key: Environment
          Value: Development
        - Key: CostCenter
          Value: !Ref CostCenter

  StagingProject:
    Type: AWS::BedrockMantle::Project
    Properties:
      Name: !Sub "${ApplicationName}-Staging"
      Tags:
        - Key: Project
          Value: !Ref ApplicationName
        - Key: Environment
          Value: Staging
        - Key: CostCenter
          Value: !Ref CostCenter

  ProductionProject:
    Type: AWS::BedrockMantle::Project
    Properties:
      Name: !Sub "${ApplicationName}-Production"
      Tags:
        - Key: Project
          Value: !Ref ApplicationName
        - Key: Environment
          Value: Production
        - Key: CostCenter
          Value: !Ref CostCenter

Outputs:
  DevelopmentProjectArn:
    Value: !GetAtt DevelopmentProject.ProjectArn
    Export:
      Name: !Sub "${ApplicationName}-Dev-ProjectArn"

  StagingProjectArn:
    Value: !GetAtt StagingProject.ProjectArn
    Export:
      Name: !Sub "${ApplicationName}-Staging-ProjectArn"

  ProductionProjectArn:
    Value: !GetAtt ProductionProject.ProjectArn
    Export:
      Name: !Sub "${ApplicationName}-Prod-ProjectArn"
```

### Cree un proyecto con IAM Role Access
<a name="cloudformation-projects-iam"></a>

En el siguiente ejemplo, se crea un proyecto y se adjunta una política de IAM que concede a un rol específico el acceso a los modelos de invocación:

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Amazon Bedrock Project with IAM Access Control

Resources:
  ProductionProject:
    Type: AWS::BedrockMantle::Project
    Properties:
      Name: CustomerChatbot-Production
      Tags:
        - Key: Environment
          Value: Production
        - Key: CostCenter
          Value: "21524"

  ProductionAppRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: BedrockProjectProductionRole
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: lambda.amazonaws.com
            Action: sts:AssumeRole
      Policies:
        - PolicyName: BedrockProjectInvokeAccess
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: Allow
                Action:
                  - bedrock-mantle:CreateInference
                  - bedrock-mantle:GetProject
                Resource: !GetAtt ProductionProject.ProjectArn

Outputs:
  ProjectArn:
    Value: !GetAtt ProductionProject.ProjectArn

  RoleArn:
    Value: !GetAtt ProductionAppRole.Arn
```

## Uso de CloudFormation resultados con la API de proyectos
<a name="cloudformation-projects-using-outputs"></a>

Tras implementar la CloudFormation pila, puedes hacer referencia al ARN y al ID del proyecto en el código de tu aplicación mediante los resultados de la pila:

```
import boto3
from openai import OpenAI

# Retrieve project details from CloudFormation stack outputs
cfn = boto3.client('cloudformation', region_name='us-east-1')

response = cfn.describe_stacks(StackName='my-bedrock-projects-stack')
outputs = {o['OutputKey']: o['OutputValue'] for o in response['Stacks'][0]['Outputs']}

production_project_arn = outputs['ProductionProjectArn']

# Extract project ID from ARN
# ARN format: arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123
project_id = production_project_arn.split('/')[-1]

print(f"Using project: {project_id}")

# Use the project for inference
client = OpenAI(project=project_id)

response = client.responses.create(
    model="openai.gpt-oss-120b",
    input="Hello from a CloudFormation-managed project!"
)

print(response)
```

## Más información
<a name="cloudformation-projects-learn-more"></a>

Para obtener más información sobre el uso de CloudFormation los recursos de Amazon Bedrock, consulte:
+ [Cree recursos de Amazon Bedrock con AWS CloudFormation](creating-resources-with-cloudformation.md)
+ [Guía CloudFormation del usuario de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [Referencia del tipo de recurso de Amazon Bedrock](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/AWS_Bedrock.html)

## Más información sobre CloudFormation
<a name="learn-more-cloudformation"></a>

Para obtener más información CloudFormation, consulte los siguientes recursos:
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation Guía del usuario](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation Referencia de la API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation Guía del usuario de la interfaz de línea de comandos](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)