

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

I seguenti esempi aggiungono un ElastiCache cluster Amazon alle piattaforme EC2-Classic ed EC2-VPC (entrambe predefinite e personalizzate Amazon Virtual [Private Cloud (Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/) VPC)). Per ulteriori informazioni su queste piattaforme e su come determinare quali sono supportate da EC2 per la tua regione e il tuo account, consulta. AWS [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html) Quindi, consulta la sezione di questo argomento che si applica alla tua piattaforma.
+ [Piattaforme EC2-Classic](#customize-environment-resources-elasticache-classic)
+ [EC2-VPC (predefinito)](#customize-environment-resources-elasticache-defaultvpc)
+ [EC2-VPC (personalizzato)](#customize-environment-resources-elasticache-targetedvpc)

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

Questo esempio aggiunge un ElastiCache cluster Amazon a un ambiente con istanze lanciate nella piattaforma EC2-Classic. Tutte le proprietà elencate in questo esempio sono le proprietà minime richieste che devono essere impostate per ogni tipo di risorsa. [Puoi scaricare l'esempio alla pagina example. ElastiCache](https://elasticbeanstalk.s3.amazonaws.com/extensions/ElastiCache.config) 

**Nota**  
Questo esempio crea AWS risorse che potrebbero essere addebitate all'utente. Per ulteriori informazioni sui AWS prezzi, consulta[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alcuni servizi fanno parte del piano di utilizzo AWS gratuito. Se sei un nuovo cliente, puoi provare questi servizi gratuitamente. Per ulteriori informazioni, consultare [https://aws.amazon.com/free/](https://aws.amazon.com/free/).

Per utilizzare questo esempio, esegui le operazioni indicate di seguito:

1. Crea una directory `[.ebextensions](ebextensions.md)` nella directory di primo livello del bundle di origine. 

1. Crea due file di configurazione con estensione `.config`, posizionandoli nella directory `.ebextensions`. Un file di configurazione definisce le risorse, l'altro file di configurazione definisce le opzioni.

1. Distribuzione dell'applicazione in Elastic Beanstalk.

   YAML si basa sulla coerenza del rientro. Utilizza lo stesso livello di rientro quando sostituisci del contenuto in un file di configurazione di esempio e assicurati che il tuo editor di testo utilizzi gli spazi e non le tabulazioni per il rientro.

Crea un file di configurazione (ad esempio, `elasticache.config`) che definisca le risorse. In questo esempio, creiamo il ElastiCache cluster specificando il nome della risorsa del ElastiCache cluster (`MyElastiCache`), dichiarandone il tipo e quindi configurando le proprietà del cluster. L'esempio fa riferimento al nome della risorsa del gruppo di ElastiCache sicurezza che viene creata e definita in questo file di configurazione. Successivamente, creiamo un gruppo ElastiCache di sicurezza. Definiamo il nome di questa risorsa, dichiariamo il tipo e aggiungiamo una descrizione per il gruppo di sicurezza. Infine, abbiamo impostato le regole di ingresso per il gruppo di ElastiCache sicurezza per consentire l'accesso solo dalle istanze all'interno del gruppo di ElastiCache sicurezza (`MyCacheSecurityGroup`) e del gruppo di sicurezza Elastic Beanstalk (). `AWSEBSecurityGroup` Il nome del parametro, `AWSEBSecurityGroup`, è un nome di risorsa fisso fornito da Elastic Beanstalk. È necessario aggiungere regole di ingresso `AWSEBSecurityGroup` al gruppo di ElastiCache sicurezza per consentire all'applicazione Elastic Beanstalk di connettersi alle istanze del 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
```

Per ulteriori informazioni sulle risorse utilizzate in questo file di configurazione di esempio, consulta i seguenti riferimenti: 
+ [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)

Crea un file di configurazione separato denominato `options.config` e definisci le impostazioni delle opzioni personalizzate. 

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

Queste righe indicano a Elastic Beanstalk di ottenere i valori **CacheNodeTypeper NumCacheNodes le proprietà, ed Engine **CacheNodeTypedai NumCacheNodes** valori,** ed Engine in un file di configurazione (options.config nel nostro esempio) che contiene una sezione option\$1settings **con** una sezione aws:elasticbeanstalk:customoption che contiene una coppia nome-valore che contiene il valore effettivo da utilizzare. Nell'esempio precedente, questo significa che cache.m1.small, 1 e memcached verrebbero utilizzati per i valori. Per ulteriori informazioni su `Fn::GetOptionSetting`, consultare [Funzioni](ebextensions-functions.md).

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

Questo esempio aggiunge un ElastiCache cluster Amazon a un ambiente con istanze lanciate nella piattaforma EC2-VPC. Nello specifico, le informazioni contenute in questa sezione si applicano a uno scenario in cui EC2 avvia le istanze nel VPC predefinito. Tutte le proprietà elencate in questo esempio sono le proprietà minime richieste che devono essere impostate per ogni tipo di risorsa. Per ulteriori informazioni sull'impostazione predefinita VPCs, consulta [VPC e sottoreti](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) predefiniti.

**Nota**  
Questo esempio crea AWS risorse che potrebbero essere addebitate all'utente. Per ulteriori informazioni sui AWS prezzi, consulta[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alcuni servizi fanno parte del piano di utilizzo AWS gratuito. Se sei un nuovo cliente, puoi provare questi servizi gratuitamente. Per ulteriori informazioni, consultare [https://aws.amazon.com/free/](https://aws.amazon.com/free/).

Per utilizzare questo esempio, esegui le operazioni indicate di seguito:

1. Crea una directory `[.ebextensions](ebextensions.md)` nella directory di primo livello del bundle di origine. 

1. Crea due file di configurazione con estensione `.config`, posizionandoli nella directory `.ebextensions`. Un file di configurazione definisce le risorse, l'altro file di configurazione definisce le opzioni.

1. Distribuzione dell'applicazione in Elastic Beanstalk.

   YAML si basa sulla coerenza del rientro. Utilizza lo stesso livello di rientro quando sostituisci del contenuto in un file di configurazione di esempio e assicurati che il tuo editor di testo utilizzi gli spazi e non le tabulazioni per il rientro.

Ora dai un nome al file di configurazione delle risorse `elasticache.config`. Per creare il ElastiCache cluster, questo esempio specifica il nome della risorsa ElastiCache cluster (`MyElastiCache`), ne dichiara il tipo e quindi configura le proprietà del cluster. L'esempio fa riferimento all'ID della risorsa del gruppo di sicurezza creata e definita in questo file di configurazione.

Successivamente, creiamo un gruppo di sicurezza EC2. Definiamo il nome per questa risorsa, dichiariamo il tipo, aggiungiamo una descrizione e impostiamo le regole in ingresso per il gruppo di sicurezza per consentire l'accesso solo dalle istanze all'interno del gruppo di sicurezza Elastic Beanstalk (`AWSEBSecurityGroup`). (Il nome del parametro,`AWSEBSecurityGroup`, è un nome di risorsa fisso fornito da Elastic Beanstalk. È necessario aggiungere regole di ingresso `AWSEBSecurityGroup` al gruppo di ElastiCache sicurezza per consentire all'applicazione Elastic Beanstalk di connettersi alle istanze del cluster.) ElastiCache 

Le regole in ingresso per il gruppo di sicurezza EC2 definiscono inoltre il protocollo IP e i numeri di porta su cui i nodi di cache possono accettare le connessioni. Per Redis, il numero predefinito della 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"
```

Per ulteriori informazioni sulle risorse utilizzate in questo file di configurazione di esempio, consulta i seguenti riferimenti: 
+ [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)

Successivamente, dai un nome al file di configurazione delle opzioni `options.config` e definisci le impostazioni delle opzioni personalizzate. 

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

Queste righe dicono a Elastic Beanstalk di ottenere i valori per le proprietà `CacheNodeType`, `NumCacheNodes`, `Engine`, `CachePort`, `CacheNodeType`, `NumCacheNodes`, `Engine` e dai valori `CachePort` in un file config (`options.config` nel nostro esempio). Questo file include una sezione `aws:elasticbeanstalk:customoption` (in `option_settings`) che contiene coppie nome-valore con i valori effettivi da utilizzare. Nell'esempio precedente, `cache.t2.micro`, `1`, `redis` e `6379` verranno utilizzati per i valori. Per ulteriori informazioni su `Fn::GetOptionSetting`, consultare [Funzioni](ebextensions-functions.md).

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

Se crei un VPC personalizzato sulla piattaforma EC2-VPC e lo specifichi come VPC in cui EC2 lancia le istanze, il processo di aggiunta di un ElastiCache cluster Amazon al tuo ambiente è diverso da quello di un VPC predefinito. La differenza principale è che è necessario creare un gruppo di sottoreti per il cluster. ElastiCache Tutte le proprietà elencate in questo esempio sono le proprietà minime richieste che devono essere impostate per ogni tipo di risorsa.

**Nota**  
Questo esempio crea AWS risorse che potrebbero essere addebitate all'utente. Per ulteriori informazioni sui AWS prezzi, consulta[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alcuni servizi fanno parte del piano di utilizzo AWS gratuito. Se sei un nuovo cliente, puoi provare questi servizi gratuitamente. Per ulteriori informazioni, consultare [https://aws.amazon.com/free/](https://aws.amazon.com/free/).

Per utilizzare questo esempio, esegui le operazioni indicate di seguito:

1. Crea una directory `[.ebextensions](ebextensions.md)` nella directory di primo livello del bundle di origine. 

1. Crea due file di configurazione con estensione `.config`, posizionandoli nella directory `.ebextensions`. Un file di configurazione definisce le risorse, l'altro file di configurazione definisce le opzioni.

1. Distribuzione dell'applicazione in Elastic Beanstalk.

   YAML si basa sulla coerenza del rientro. Utilizza lo stesso livello di rientro quando sostituisci del contenuto in un file di configurazione di esempio e assicurati che il tuo editor di testo utilizzi gli spazi e non le tabulazioni per il rientro.

Ora dai un nome al file di configurazione delle risorse `elasticache.config`. Per creare il ElastiCache cluster, questo esempio specifica il nome della risorsa ElastiCache cluster (`MyElastiCache`), ne dichiara il tipo e quindi configura le proprietà del cluster. Le proprietà dell'esempio fanno riferimento al nome del gruppo di sottoreti per il ElastiCache cluster e all'ID della risorsa del gruppo di sicurezza che creiamo e definiamo in questo file di configurazione.

Successivamente, creiamo un gruppo di sicurezza EC2. Definiamo il nome per questa risorsa, dichiariamo il tipo, aggiungiamo una descrizione, l'ID VPC, e impostiamo le regole in ingresso per il gruppo di sicurezza per consentire l'accesso solo dalle istanze all'interno del gruppo di sicurezza Elastic Beanstalk (`AWSEBSecurityGroup`). (Il nome del parametro,`AWSEBSecurityGroup`, è un nome di risorsa fisso fornito da Elastic Beanstalk. È necessario aggiungere regole di ingresso `AWSEBSecurityGroup` al gruppo di ElastiCache sicurezza per consentire all'applicazione Elastic Beanstalk di connettersi alle istanze del cluster.) ElastiCache 

Le regole in ingresso per il gruppo di sicurezza EC2 definiscono inoltre il protocollo IP e i numeri di porta su cui i nodi di cache possono accettare le connessioni. Per Redis, il numero predefinito della porta è `6379`. Infine, questo esempio crea un gruppo di sottoreti per il cluster. ElastiCache Definiamo il nome di questa risorsa, dichiariamo il tipo e aggiungiamo una descrizione e l'ID della sottorete nel gruppo di sottoreti.

**Nota**  
Si consiglia di utilizzare sottoreti private per il cluster. ElastiCache Per ulteriori informazioni su un VPC con una sottorete privata, consulta [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"
```

Per ulteriori informazioni sulle risorse utilizzate in questo file di configurazione di esempio, consulta i seguenti riferimenti: 
+ [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)

Successivamente, dai un nome al file di configurazione delle opzioni `options.config` e definisci le impostazioni delle opzioni personalizzate.

**Nota**  
In questo esempio, sostituisci i valori di esempio `CacheSubnets` e `VpcId` con il tuo VPC e le tue sottoreti.

```
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
```

Queste righe dicono a Elastic Beanstalk di ottenere i valori per le proprietà `CacheNodeType`, `NumCacheNodes`, `Engine`, `CachePort`, `CacheSubnets`, `VpcId`, `CacheNodeType`, `NumCacheNodes`, `Engine`, `CachePort`, `CacheSubnets` e dai valori `VpcId` in un file config (`options.config` nel nostro esempio). Questo file include una sezione `aws:elasticbeanstalk:customoption` (in `option_settings`) che contiene coppie nome-valore con valori di esempio. Nell'esempio precedente, `cache.t2.micro`, `1`, `redis`, `6379`, `subnet-1a1a1a1a`, `subnet-2b2b2b2b`, `subnet-3c3c3c3c` e `vpc-4d4d4d4d` verranno utilizzati per i valori. Per ulteriori informazioni su `Fn::GetOptionSetting`, consultare [Funzioni](ebextensions-functions.md).