

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplo: ElastiCache.
<a name="customize-environment-resources-elasticache"></a>

Os exemplos a seguir adicionam um ElastiCache cluster da Amazon às plataformas EC2-Classic e EC2-VPC (ambas padrão e personalizadas [Amazon Virtual Private Cloud (Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/) VPC)). Para obter mais informações sobre essas plataformas e como você pode determinar quais são compatíveis com o EC2 para sua região e sua AWS conta, consulte[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html). Depois, consulte a seção neste tópico que se aplica à sua plataforma.
+ [Plataformas EC2-Classic](#customize-environment-resources-elasticache-classic)
+ [EC2-VPC (padrão)](#customize-environment-resources-elasticache-defaultvpc)
+ [EC2-VPC (personalizado)](#customize-environment-resources-elasticache-targetedvpc)

## Plataformas EC2-Classic
<a name="customize-environment-resources-elasticache-classic"></a>

Esse exemplo adiciona um ElastiCache cluster da Amazon a um ambiente com instâncias lançadas na plataforma EC2-Classic. Todas as propriedades listadas neste exemplo são as propriedades mínimas necessárias que devem ser definidas para cada tipo de recurso. Você pode baixar o exemplo em [ElastiCacheexample](https://elasticbeanstalk.s3.amazonaws.com/extensions/ElastiCache.config). 

**nota**  
Este exemplo cria AWS recursos, pelos quais você pode ser cobrado. Para obter mais informações sobre AWS preços, consulte[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alguns serviços fazem parte do nível de uso AWS gratuito. Se for um cliente novo, você pode testar esses serviços gratuitamente. Consulte [https://aws.amazon.com/free/](https://aws.amazon.com/free/) para obter mais informações.

Para usar esse exemplo, faça o seguinte:

1. Crie um diretório `[.ebextensions](ebextensions.md)` no diretório de nível superior do pacote de origem. 

1. Crie dois arquivos de configuração com a extensão `.config` e os coloque no diretório `.ebextensions`. Um arquivo de configuração define os recursos, e o outro arquivo de configuração define as opções.

1. Implante a aplicação no Elastic Beanstalk.

   YAML depende de um recuo consistente. Compare o nível de recuo ao substituir o conteúdo em um arquivo de configuração de exemplo e se confira se o editor de texto usa espaços, e não caracteres de tabulação, como recuo.

Crie um arquivo de configuração (por exemplo, `elasticache.config`) que define os recursos. Neste exemplo, criamos o ElastiCache cluster especificando o nome do recurso do ElastiCache cluster (`MyElastiCache`), declarando seu tipo e configurando as propriedades do cluster. O exemplo faz referência ao nome do recurso do grupo de ElastiCache segurança que é criado e definido nesse arquivo de configuração. Em seguida, criamos um grupo ElastiCache de segurança. Definimos o nome deste recurso, declaramos seu tipo e adicionamos uma descrição para o security group. Por fim, definimos as regras de entrada do grupo de ElastiCache segurança para permitir o acesso somente de instâncias dentro do grupo de ElastiCache segurança (`MyCacheSecurityGroup`) e do grupo de segurança do Elastic Beanstalk (). `AWSEBSecurityGroup` O nome do parâmetro, `AWSEBSecurityGroup`, é o nome do recurso fixo fornecido pelo Elastic Beanstalk. Você deve adicionar regras de entrada `AWSEBSecurityGroup` ao seu grupo de ElastiCache segurança para que seu aplicativo Elastic Beanstalk se conecte às instâncias em seu cluster. ElastiCache 

```
#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties.
          
Resources:
  MyElastiCache:
    Type: AWS::ElastiCache::CacheCluster
    Properties:
      CacheNodeType: 
         Fn::GetOptionSetting:
             OptionName : CacheNodeType
             DefaultValue: cache.m1.small
      NumCacheNodes: 
           Fn::GetOptionSetting:
             OptionName : NumCacheNodes
             DefaultValue: 1
      Engine: 
           Fn::GetOptionSetting:
             OptionName : Engine
             DefaultValue: memcached
      CacheSecurityGroupNames:
        - Ref: MyCacheSecurityGroup
  MyCacheSecurityGroup:
    Type: AWS::ElastiCache::SecurityGroup
    Properties:
      Description: "Lock cache down to webserver access only"
  MyCacheSecurityGroupIngress:
    Type: AWS::ElastiCache::SecurityGroupIngress
    Properties:
      CacheSecurityGroupName: 
        Ref: MyCacheSecurityGroup
      EC2SecurityGroupName:
        Ref: AWSEBSecurityGroup
```

Para obter mais informações sobre os recursos usados neste exemplo de arquivo de configuração, consulte as seguintes referências: 
+ [AWS::ElastiCache::CacheCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)
+ [AWS::ElastiCache::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html)
+ [AWS::ElastiCache: SecurityGroupIngress](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html)

Crie um arquivo de configuração separado chamado `options.config` e defina as opções de configurações personalizadas. 

```
option_settings:
  "aws:elasticbeanstalk:customoption":
     CacheNodeType : cache.m1.small
     NumCacheNodes : 1
     Engine : memcached
```

Essas linhas fazem com que o Elastic Beanstalk obtenha os valores das propriedades,, e Engine dos valores **CacheNodeType,** e Engine em um arquivo **CacheNodeTypede NumCacheNodes** configuração (options.config em nosso exemplo) que contém uma seção option\$1settings **com** uma seção aws:elasticbeanstalk:customoption que contém um par nome-valor que contém o valor real a ser usado. NumCacheNodes No exemplo acima, isso significa que cache.m1.small, 1 e Memcached seriam usados para os valores. Para saber mais sobre o `Fn::GetOptionSetting`, consulte [Funções](ebextensions-functions.md).

## EC2-VPC (padrão)
<a name="customize-environment-resources-elasticache-defaultvpc"></a>

Esse exemplo adiciona um ElastiCache cluster da Amazon a um ambiente com instâncias lançadas na plataforma EC2-VPC. A informação nessa seção se aplica especificamente a um cenário em que o EC2 inicia instâncias na VPC padrão. Todas as propriedades neste exemplo são as mínimas necessárias que devem ser definidas para cada tipo de recurso. Para obter mais informações sobre o padrão VPCs, consulte [Sua VPC e sub-redes padrão](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html).

**nota**  
Este exemplo cria AWS recursos, pelos quais você pode ser cobrado. Para obter mais informações sobre AWS preços, consulte[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alguns serviços fazem parte do nível de uso AWS gratuito. Se for um cliente novo, você pode testar esses serviços gratuitamente. Consulte [https://aws.amazon.com/free/](https://aws.amazon.com/free/) para obter mais informações.

Para usar esse exemplo, faça o seguinte:

1. Crie um diretório `[.ebextensions](ebextensions.md)` no diretório de nível superior do pacote de origem. 

1. Crie dois arquivos de configuração com a extensão `.config` e os coloque no diretório `.ebextensions`. Um arquivo de configuração define os recursos, e o outro arquivo de configuração define as opções.

1. Implante a aplicação no Elastic Beanstalk.

   YAML depende de um recuo consistente. Compare o nível de recuo ao substituir o conteúdo em um arquivo de configuração de exemplo e se confira se o editor de texto usa espaços, e não caracteres de tabulação, como recuo.

Agora nomeie o arquivo de configuração de recursos `elasticache.config`. Para criar o ElastiCache cluster, este exemplo especifica o nome do recurso do ElastiCache cluster (`MyElastiCache`), declara seu tipo e, em seguida, configura as propriedades do cluster. O exemplo faz referência ao ID do recurso do security group que criamos e definimos neste arquivo de configuração.

Depois, criamos um security group do EC2. Definimos o nome deste recurso, declaramos o tipo, adicionamos uma descrição e definimos as regras de entrada no security group para permitir o acesso somente a partir de instâncias dentro do security group do Elastic Beanstalk (`AWSEBSecurityGroup`). (O nome do parâmetro,`AWSEBSecurityGroup`, é um nome de recurso fixo fornecido pelo Elastic Beanstalk. Você deve adicionar regras de entrada `AWSEBSecurityGroup` ao seu grupo de ElastiCache segurança para que seu aplicativo Elastic Beanstalk se conecte às instâncias em seu cluster.) ElastiCache 

As regras de entrada para o security group do EC2 também definem o protocolo de IP e os números de portas em que os nós de cache podem aceitar conexões. Para Redis, o número padrão da porta é `6379`.

```
#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties.

Resources:
  MyCacheSecurityGroup:
    Type: "AWS::EC2::SecurityGroup"
    Properties:
      GroupDescription: "Lock cache down to webserver access only"
      SecurityGroupIngress :
        - IpProtocol : "tcp"
          FromPort :
            Fn::GetOptionSetting:
              OptionName : "CachePort"
              DefaultValue: "6379"
          ToPort :
            Fn::GetOptionSetting:
              OptionName : "CachePort"
              DefaultValue: "6379"
          SourceSecurityGroupName:
            Ref: "AWSEBSecurityGroup"
  MyElastiCache:
    Type: "AWS::ElastiCache::CacheCluster"
    Properties:
      CacheNodeType:
        Fn::GetOptionSetting:
          OptionName : "CacheNodeType"
          DefaultValue : "cache.t2.micro"
      NumCacheNodes:
        Fn::GetOptionSetting:
          OptionName : "NumCacheNodes"
          DefaultValue : "1"
      Engine:
        Fn::GetOptionSetting:
          OptionName : "Engine"
          DefaultValue : "redis"
      VpcSecurityGroupIds:
        -
          Fn::GetAtt:
            - MyCacheSecurityGroup
            - GroupId

Outputs:
  ElastiCache:
    Description : "ID of ElastiCache Cache Cluster with Redis Engine"
    Value :
      Ref : "MyElastiCache"
```

Para obter mais informações sobre os recursos usados neste exemplo de arquivo de configuração, consulte as seguintes referências: 
+ [AWS::ElastiCache::CacheCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)
+ [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html)

Depois, nomeie o arquivo de configuração de opções `options.config` e defina as opções de configurações personalizadas. 

```
option_settings:
  "aws:elasticbeanstalk:customoption":
    CacheNodeType : cache.t2.micro
    NumCacheNodes : 1
    Engine : redis
    CachePort : 6379
```

Essas linhas instruem o Elastic Beanstalk para obter os valores para as propriedades `CacheNodeType`, `NumCacheNodes`, `Engine` e `CachePort` dos valores `CacheNodeType`, `NumCacheNodes`, `Engine` e `CachePort` em um arquivo de configuração (`options.config` em nosso exemplo). Esse arquivo inclui uma seção de `aws:elasticbeanstalk:customoption` (em `option_settings`) que contém pares de nome e valor com o valores reais para serem usados. No exemplo anterior, `cache.t2.micro`, `1`, `redis` e `6379` seriam usados para os valores. Para saber mais sobre o `Fn::GetOptionSetting`, consulte [Funções](ebextensions-functions.md).

## EC2-VPC (personalizado)
<a name="customize-environment-resources-elasticache-targetedvpc"></a>

Se você criar uma VPC personalizada na plataforma EC2-VPC e especificá-la como a VPC na qual o EC2 executa instâncias, o processo de adicionar um ElastiCache cluster Amazon ao seu ambiente será diferente daquele de uma VPC padrão. A principal diferença é que você precisa criar um grupo de sub-redes para o ElastiCache cluster. Todas as propriedades neste exemplo são as mínimas necessárias que devem ser definidas para cada tipo de recurso.

**nota**  
Este exemplo cria AWS recursos, pelos quais você pode ser cobrado. Para obter mais informações sobre AWS preços, consulte[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alguns serviços fazem parte do nível de uso AWS gratuito. Se for um cliente novo, você pode testar esses serviços gratuitamente. Consulte [https://aws.amazon.com/free/](https://aws.amazon.com/free/) para obter mais informações.

Para usar esse exemplo, faça o seguinte:

1. Crie um diretório `[.ebextensions](ebextensions.md)` no diretório de nível superior do pacote de origem. 

1. Crie dois arquivos de configuração com a extensão `.config` e os coloque no diretório `.ebextensions`. Um arquivo de configuração define os recursos, e o outro arquivo de configuração define as opções.

1. Implante a aplicação no Elastic Beanstalk.

   YAML depende de um recuo consistente. Compare o nível de recuo ao substituir o conteúdo em um arquivo de configuração de exemplo e se confira se o editor de texto usa espaços, e não caracteres de tabulação, como recuo.

Agora nomeie o arquivo de configuração de recursos `elasticache.config`. Para criar o ElastiCache cluster, este exemplo especifica o nome do recurso do ElastiCache cluster (`MyElastiCache`), declara seu tipo e, em seguida, configura as propriedades do cluster. As propriedades no exemplo fazem referência ao nome do grupo de sub-redes do ElastiCache cluster, bem como ao ID do recurso do grupo de segurança que criamos e definimos nesse arquivo de configuração.

Depois, criamos um security group do EC2. Definimos o nome deste recurso, declaramos o tipo, adicionamos uma descrição, o ID da VPC, e definimos as regras de entrada no security group para permitir o acesso somente a partir das instâncias dentro do security group do Elastic Beanstalk (`AWSEBSecurityGroup`). (O nome do parâmetro,`AWSEBSecurityGroup`, é um nome de recurso fixo fornecido pelo Elastic Beanstalk. Você deve adicionar regras de entrada `AWSEBSecurityGroup` ao seu grupo de ElastiCache segurança para que seu aplicativo Elastic Beanstalk se conecte às instâncias em seu cluster.) ElastiCache 

As regras de entrada para o security group do EC2 também definem o protocolo de IP e os números de portas em que os nós de cache podem aceitar conexões. Para Redis, o número padrão da porta é `6379`. Por fim, esse exemplo cria um grupo de sub-redes para o ElastiCache cluster. Definimos o nome desse recurso, declaramos seu tipo e adicionamos uma descrição e um ID da sub-rede no grupo de sub-rede.

**nota**  
Recomendamos que você use sub-redes privadas para o ElastiCache cluster. Para obter mais informações sobre uma VPC com uma sub-rede privada, consulte [https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html).

```
#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties.

Resources:
  MyElastiCache:
    Type: "AWS::ElastiCache::CacheCluster"
    Properties:
      CacheNodeType:
        Fn::GetOptionSetting:
          OptionName : "CacheNodeType"
          DefaultValue : "cache.t2.micro"
      NumCacheNodes:
        Fn::GetOptionSetting:
          OptionName : "NumCacheNodes"
          DefaultValue : "1"
      Engine:
        Fn::GetOptionSetting:
          OptionName : "Engine"
          DefaultValue : "redis"
      CacheSubnetGroupName:
        Ref: "MyCacheSubnets"
      VpcSecurityGroupIds:
        - Ref: "MyCacheSecurityGroup"
  MyCacheSecurityGroup:
    Type: "AWS::EC2::SecurityGroup"
    Properties:
      GroupDescription: "Lock cache down to webserver access only"
      VpcId:
        Fn::GetOptionSetting:
          OptionName : "VpcId"
      SecurityGroupIngress :
        - IpProtocol : "tcp"
          FromPort :
            Fn::GetOptionSetting:
              OptionName : "CachePort"
              DefaultValue: "6379"
          ToPort :
            Fn::GetOptionSetting:
              OptionName : "CachePort"
              DefaultValue: "6379"
          SourceSecurityGroupId:
            Ref: "AWSEBSecurityGroup"
  MyCacheSubnets:
    Type: "AWS::ElastiCache::SubnetGroup"
    Properties:
      Description: "Subnets for ElastiCache"
      SubnetIds:
        Fn::GetOptionSetting:
          OptionName : "CacheSubnets"
Outputs:
  ElastiCache:
    Description : "ID of ElastiCache Cache Cluster with Redis Engine"
    Value :
      Ref : "MyElastiCache"
```

Para obter mais informações sobre os recursos usados neste exemplo de arquivo de configuração, consulte as seguintes referências: 
+ [AWS::ElastiCache::CacheCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)
+ [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html)
+ [AWS::ElastiCache::SubnetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html)

Depois, nomeie o arquivo de configuração de opções `options.config` e defina as opções de configurações personalizadas.

**nota**  
No exemplo a seguir, substitua o exemplo `CacheSubnets` e os valores de `VpcId` com suas próprias sub-redes e VPC.

```
option_settings:
  "aws:elasticbeanstalk:customoption":
    CacheNodeType : cache.t2.micro
    NumCacheNodes : 1
    Engine : redis
    CachePort : 6379
    CacheSubnets:
      - subnet-1a1a1a1a
      - subnet-2b2b2b2b
      - subnet-3c3c3c3c
    VpcId: vpc-4d4d4d4d
```

Essas linhas instruem o Elastic Beanstalk para obter os valores para as propriedades `CacheNodeType`, `NumCacheNodes`, `Engine`, `CachePort`, `CacheSubnets` e `VpcId` dos valores `CacheNodeType`, `NumCacheNodes`, `Engine`, `CachePort`, `CacheSubnets` e `VpcId` em um arquivo de configuração (`options.config` em nosso exemplo). Esse arquivo inclui uma seção de `aws:elasticbeanstalk:customoption` (em `option_settings`) que contém pares de nome e valor com os valores de exemplo. No exemplo acima, `cache.t2.micro`, `1`, `redis`, `6379`, `subnet-1a1a1a1a`, `subnet-2b2b2b2b`, `subnet-3c3c3c3c` e `vpc-4d4d4d4d` seriam usados para os valores. Para saber mais sobre o `Fn::GetOptionSetting`, consulte [Funções](ebextensions-functions.md).