

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.

# Ajuste de opciones de configuración antes de crear el entorno
<a name="environment-configuration-methods-before"></a>

AWS Elastic Beanstalk admite una gran cantidad de [opciones de configuración](command-options.md) que le permiten modificar los ajustes que se aplican a los recursos de su entorno. Varias de estas opciones tienen valores predeterminados que pueden invalidarse para personalizar su entorno. Otras opciones se pueden configurar para habilitar características adicionales.

Elastic Beanstalk admite dos métodos para guardar valores de opciones de configuración. Se pueden incluir archivos de configuración en formato YAML o JSON en el código fuente de su aplicación en un directorio denominado `.ebextensions` e implementarse como parte del paquete de código fuente de su aplicación. Los archivos de configuración se crean y administran localmente.

Las configuraciones guardadas son plantillas que crea desde un entorno en ejecución o archivo de opciones JSON y almacena en Elastic Beanstalk. Las configuraciones guardadas existentes también se pueden ampliar para crear una nueva configuración.

**nota**  
Los valores definidos en los archivos de configuración y las configuraciones guardadas tienen menos prioridad que los valores configurados durante o después de la creación del entorno, incluidos los valores recomendados aplicados por la consola de Elastic Beanstalk y la [CLI de EB](eb-cli3.md). Para obtener más información, consulte [Prioridad](command-options.md#configuration-options-precedence).

Las opciones se pueden especificar también en un documento JSON y proporcionarse directamente a Elastic Beanstalk al crear o actualizar un entorno con la CLI de EB o la AWS CLI. Las opciones proporcionadas directamente a Elastic Beanstalk de esta forma invalidan todos los demás métodos.

Para ver la lista completa de opciones disponibles, consulte [Opciones de configuración](command-options.md).

**Topics**
+ [Archivos de configuración (`.ebextensions`)](#configuration-options-before-ebextensions)
+ [Configuraciones guardadas](#configuration-options-before-savedconfig)
+ [Documento JSON](#configuration-options-before-json)
+ [Configuración de la CLI de EB](#configuration-options-before-configyml)

## Archivos de configuración (`.ebextensions`)
<a name="configuration-options-before-ebextensions"></a>

Utilice `.ebextensions` para configurar opciones que sean necesarias para que su aplicación funcione y para proporcionar valores predeterminados para otras opciones que se puedan invalidar en un nivel mayor de [prioridad](command-options.md#configuration-options-precedence). Las opciones especificadas en `.ebextensions` tienen el nivel de prioridad más bajo y se invalidan con los valores de cualquier otro nivel.

Para utilizar archivos de configuración, cree una carpeta con el nombre `.ebextensions` en la parte superior del código fuente de su proyecto. Agrega un archivo con la extensión `.config` y especifique las opciones de la siguiente manera:

```
option_settings:
  - namespace:  namespace
    option_name:  option name
    value:  option value
  - namespace:  namespace
    option_name:  option name
    value:  option value
```

Por ejemplo, el siguiente archivo de configuración establece la URL de comprobación de estado de la aplicación en `/health`:

`healthcheckurl.config`

```
option_settings:
  - namespace:  aws:elasticbeanstalk:application
    option_name:  Application Healthcheck URL
    value:  /health
```

En JSON:

```
{
 "option_settings" :
    [
      {
        "namespace" : "aws:elasticbeanstalk:application",
        "option_name" : "Application Healthcheck URL",
        "value" : "/health"
      }
    ]
}
```

Esto configura el equilibrador de carga de Elastic Load Balancing de su entorno de Elastic Beanstalk para que realice una solicitud HTTP a la ruta `/health` a cada instancia de EC2 con el fin de determinar si está en buen estado o no.

**nota**  
YAML usa la sangría uniforme. Utilice el mismo nivel de sangría cuando sustituya el contenido en el archivo de configuración de ejemplo y asegúrese de que el editor de texto utiliza espacios para la sangría, no tabuladores.

Incluya el directorio `.ebextensions` en el [paquete de código fuente de la aplicación](applications-sourcebundle.md) e impleméntelo en un entorno de Elastic Beanstalk nuevo o existente.

Los archivos de configuración admiten varias secciones además de `option_settings` para personalizar el software y los archivos que se ejecutan en los servidores de su entorno. Para obtener más información, consulte [.Ebextensions](ebextensions.md).

## Configuraciones guardadas
<a name="configuration-options-before-savedconfig"></a>

Cree una configuración guardada para guardar los valores que ha aplicado a un entorno existente durante o después de la creación del entorno mediante la consola de Elastic Beanstalk, la CLI de EB o la AWS CLI. Las configuraciones guardadas pertenecen a una aplicación y se pueden aplicar a entornos nuevos o existentes de dicha aplicación.

**Topics**
+ [Consola de Elastic Beanstalk](#configuration-options-before-savedconfig-console)
+ [CLI DE EB](#configuration-options-before-savedconfig-ebcli)
+ [AWS CLI](#configuration-options-before-savedconfig-awscli)

### Consola de Elastic Beanstalk
<a name="configuration-options-before-savedconfig-console"></a>

**Para crear una configuración guardada (consola de Elastic Beanstalk)**

1. Abra la consola de [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) y, **en** la lista Regiones, seleccione su. Región de AWS

1. En el panel de navegación, elija **Environments** (Entornos) y, a continuación, elija el nombre del entorno en la lista.

1. Elija **Actions** (Acciones) y, a continuación, seleccione **Save configuration** (Guardar configuración).

1. Utilice el cuadro de diálogo en pantalla para completar la acción.

Las configuraciones guardadas se almacenan en el bucket de S3 de Elastic Beanstalk en una carpeta en la que está incluida el nombre de la aplicación. Por ejemplo, las configuraciones de una aplicación llamada `my-app` en la región us-west-2 para el número de cuenta 123456789012 se encuentran en `s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app`.

### CLI DE EB
<a name="configuration-options-before-savedconfig-ebcli"></a>

La [CLI de EB](eb-cli3.md) proporciona también subcomandos para interactuar con las configuraciones guardadas en [**eb config**](eb3-config.md):

**Para crear una configuración guardada (CLI de EB)**

1. Guarde la configuración actual del entorno asociado:

   ```
   ~/project$ eb config save --cfg my-app-v1
   ```

   La CLI de EB guarda la configuración en `~/project/.elasticbeanstalk/saved_configs/my-app-v1.cfg.yml`

1. Modifique la configuración guardada localmente en caso necesario.

1. Cargue la configuración guardada en S3:

   ```
   ~/project$ eb config put my-app-v1
   ```

### AWS CLI
<a name="configuration-options-before-savedconfig-awscli"></a>

Creación de una configuración guardada desde un entorno en ejecución con `aws elasticbeanstalk create-configuration-template`

**Para crear una configuración guardada (AWS CLI)**

1. Identifique el ID de entorno de su entorno de Elastic Beanstalk con `describe-environments`:

   ```
   $ aws elasticbeanstalk describe-environments --environment-name my-env
   {
       "Environments": [
           {
               "ApplicationName": "my-env",
               "EnvironmentName": "my-env",
               "VersionLabel": "89df",
               "Status": "Ready",
               "Description": "Environment created from the EB CLI using \"eb create\"",
               "EnvironmentId": "e-vcghmm2zwk",
               "EndpointURL": "awseb-e-v-AWSEBLoa-1JUM8159RA11M-43V6ZI1194.us-west-2.elb.amazonaws.com",
               "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.2 running Multi-container Docker 1.7.1 (Generic)",
               "CNAME": "my-env-nfptuqaper.elasticbeanstalk.com",
               "Health": "Green",
               "AbortableOperationInProgress": false,
               "Tier": {
                   "Version": " ",
                   "Type": "Standard",
                   "Name": "WebServer"
               },
               "HealthStatus": "Ok",
               "DateUpdated": "2015-10-01T00:24:04.045Z",
               "DateCreated": "2015-09-30T23:27:55.768Z"
           }
       ]
   }
   ```

1. Guarde la configuración actual del entorno con `create-configuration-template`:

   ```
   $ aws elasticbeanstalk create-configuration-template --environment-id e-vcghmm2zwk --application-name my-app --template-name v1
   ```

Elastic Beanstalk guarda la configuración en su bucket de Elastic Beanstalk en Amazon S3.

## Documento JSON
<a name="configuration-options-before-json"></a>

Si la utiliza AWS CLI para crear y actualizar entornos, también puede proporcionar opciones de configuración en formato JSON. Una biblioteca de archivos de configuración en JSON resulta útil si la utiliza AWS CLI para crear y gestionar entornos.

Por ejemplo, el siguiente documento JSON establece la URL de comprobación de estado de la aplicación en `/health`:

**\$1/ebconfigs/healthcheckurl.json**

```
[
  {
    "Namespace": "aws:elasticbeanstalk:application",
    "OptionName": "Application Healthcheck URL",
    "Value": "/health"
  }
]
```

## Configuración de la CLI de EB
<a name="configuration-options-before-configyml"></a>

Además de admitir configuraciones guardadas y la configuración directa del entorno con comandos **eb config**, la CLI de EB tiene un archivo de configuración con una opción denominada `default_ec2_keyname` que puede utilizar para especificar un par de claves de Amazon EC2 para el acceso SSH a las instancias de su entorno. La CLI de EB utiliza esta opción para establecer la opción de configuración `EC2KeyName` en el espacio de nombres `aws:autoscaling:launchconfiguration`. 

**\$1/ .yml workspace/my-app/.elasticbeanstalk/config**

```
branch-defaults:
  master:
    environment: my-env
  develop:
    environment: my-env-dev
deploy:
  artifact: ROOT.war
global:
  application_name: my-app
  default_ec2_keyname: my-keypair
  default_platform: Tomcat 8 Java 8
  default_region: us-west-2
  profile: null
  sc: git
```