

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à.

# Stack a due livelli ad alta disponibilità \$1 Crea
<a name="deployment-standard-high-availability-two-tier-stack-create"></a>

Crea uno stack composto da un gruppo Auto Scaling, un'istanza DB RDS e un sistema di bilanciamento del carico (ELB). Facoltativamente, consente la distribuzione delle applicazioni CodeDeploy creando anche un' CodeDeploy applicazione e un gruppo di distribuzione denominati entrambi con il valore indicato. ApplicationName Tutti i parametri delle risorse possono essere configurati.

**Classificazione completa:** Implementazione \$1 Stack standard \$1 Stack a due livelli ad alta disponibilità \$1 Creazione

## Dettagli del tipo di modifica
<a name="ct-06mjngx5flwto-DSHc-table"></a>


****  

|  |  | 
| --- |--- |
| Modifica tipo ID | ct-06mjngx5flwto | 
| Versione corrente | 3.0 | 
| Durata di esecuzione prevista | 60 minuti | 
| Approvazione AWS | Richiesto | 
| Approvazione del cliente | Campo non obbligatorio | 
| Modalità di esecuzione | Automatizzata | 

## Informazioni aggiuntive
<a name="deployment-standard-high-availability-two-tier-stack-create-info"></a>

### Crea stack a due livelli ad alta disponibilità
<a name="ex-HA-2-tier-create-col"></a>

#### Creazione di uno stack a due livelli ad alta disponibilità con la console
<a name="ha-2-tier-create-con"></a>

![\[Modifica type details for creating a high availability two-tier stack with configurable parameters.\]](http://docs.aws.amazon.com/it_it/managedservices/latest/ctref/images/guiHa2tCreateCT.png)


Come funziona:

1. **Vai alla pagina **Crea RFC**: nel riquadro di navigazione a sinistra della console AMS, fai clic **RFCs**per aprire la pagina di RFCs elenco, quindi fai clic su Crea RFC.**

1. Scegli un tipo di modifica (CT) popolare nella visualizzazione predefinita **Sfoglia i tipi di modifica** o seleziona un CT nella visualizzazione **Scegli per categoria**.
   + **Naviga per tipo di modifica**: puoi fare clic su un CT popolare nell'area di **creazione rapida** per aprire immediatamente la pagina **Run RFC**. Nota che non puoi scegliere una versione CT precedente con creazione rapida.

     Per ordinare CTs, utilizzate l'area **Tutti i tipi di modifica** nella vista a **scheda** o **tabella**. In entrambe le visualizzazioni, selezionate un CT, quindi fate clic su **Crea RFC** per aprire la pagina **Esegui RFC**. Se applicabile, accanto al **pulsante Crea **RFC viene visualizzata l'opzione Crea** con una versione precedente**.
   + **Scegli per categoria**: seleziona una categoria, sottocategoria, articolo e operazione e la casella dei dettagli CT si apre con l'opzione **Crea con una versione precedente, se applicabile**. Fai clic su **Crea RFC** per aprire la pagina **Esegui RFC**.

1. Nella pagina **Run RFC**, apri l'area del nome CT per visualizzare la casella dei dettagli CT. È richiesto un **oggetto** (questo campo viene compilato automaticamente se si sceglie il CT nella vista **Sfoglia i tipi di modifica**). Apri l'area **di configurazione aggiuntiva** per aggiungere informazioni sull'RFC.

   Nell'area di **configurazione dell'esecuzione**, utilizza gli elenchi a discesa disponibili o inserisci i valori per i parametri richiesti. Per configurare i parametri di esecuzione opzionali, aprite l'area di **configurazione aggiuntiva**.

1. Al termine, fate clic su **Esegui**. Se non sono presenti errori, viene visualizzata la pagina **RFC creata correttamente** con i dettagli RFC inviati e l'output iniziale di **Run**. 

1. Apri l'area dei **parametri di esecuzione** per visualizzare le configurazioni inviate. Aggiorna la pagina per aggiornare lo stato di esecuzione RFC. Facoltativamente, annulla la RFC o creane una copia con le opzioni nella parte superiore della pagina.

#### Creazione di uno stack a due livelli ad alta disponibilità con la CLI
<a name="ha-2-tier-create-cli"></a>

Come funziona:

1. Usa il metodo Template Create (crei due file JSON, uno per i parametri RFC e uno per i parametri di esecuzione) ed esegui il `create-rfc` comando con i due file come input. Entrambi i metodi sono descritti qui.

1. Invia il `aws amscm submit-rfc --rfc-id ID` comando RFC: con l'ID RFC restituito.

   Monitora il comando RFC:. `aws amscm get-rfc --rfc-id ID`

Per verificare la versione del tipo di modifica, usa questo comando:

```
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
```
**Nota**  
È possibile utilizzare qualsiasi `CreateRfc` parametro con qualsiasi RFC, indipendentemente dal fatto che faccia parte o meno dello schema per il tipo di modifica. Ad esempio, per ricevere notifiche quando lo stato RFC cambia, aggiungi questa riga `--notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"` alla parte dei parametri RFC della richiesta (non ai parametri di esecuzione). Per un elenco di tutti i CreateRfc parametri, consulta l'[AMS Change Management API](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html) Reference.

*CREAZIONE DEL MODELLO*:

1. Esporta lo schema JSON dei parametri di esecuzione per questo tipo di modifica in un file nella cartella corrente; questo esempio lo chiama tierStackParams Create2 .json.

   ```
   aws amscm get-change-type-version --change-type-id "ct-06mjngx5flwto" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > Create2tierStackParams.json
   ```

1. Modificate lo schema, sostituendo lo schema appropriato. *variables*

   ```
   {
     "Description":        "HA two tier stack",
     "Name":               "Two-Tier-Stack",
     "TimeoutInMinutes":   360,
     "VpcId":              "VPC-ID",
     "AutoScalingGroup": {
       "AmiId":            "AMI-ID",
       "SubnetIds": [
                   "Subnet-ID",
                   "Subnet-ID"
       ]
     },
     "Database": {
       "DBName":           "DB_Name",
       "DBEngine":         "postgres",
       "EngineVersion":    "9.6.3",
       "LicenseModel":     "postgresql-license",
       "MasterUsername":   "masterusername",
       "SubnetIds": [
                   "Subnet-ID",
                   "Subnet-ID"
       ]
     },
     "LoadBalancer": {
       "SubnetIds": [
                   "Subnet-ID",
                   "Subnet-ID"
       ]
     }
   }
   ```

1. Esporta il modello CreateRfc JSON in un file nella cartella corrente; l'esempio lo chiama tierStackRfc Create2 .json:

   ```
   aws amscm create-rfc --generate-cli-skeleton > Create2tierStackRfc.json
   ```

1. Modificate il modello RFC in modo appropriato e salvatelo. Reimposta gli orari di inizio e di fine di una RFC pianificata o lasciala disattivata per una RFC ASAP.

   ```
   {
   "ChangeTypeVersion":    3.0",
   "ChangeTypeId":         "ct-06mjngx5flwto",
   "Title":                "HA-2-Tier-RFC",
   "RequestedStartTime":   "2019-04-28T22:45:00Z",
   "RequestedEndTime":     "2019-04-28T22:45:00Z"
   }
   ```

1. Crea la RFC, specificando il file Create2 .json e il file dei parametri di esecuzione Create2 tierStackRfc .json: tierStackParams

   ```
   aws amscm create-rfc --cli-input-json file://Create2tierStackRfc.json --execution-parameters file://Create2tierStackParams.json
   ```

   Nella risposta si riceve l'ID della nuova RFC e si può utilizzare per inviare e monitorare la RFC. Finché non la invii, la RFC rimane nello stato di modifica e non si avvia.

#### Suggerimenti
<a name="ex-HA-2-tier-create-tip"></a>

**Nota**  
Si tratta di un notevole approvvigionamento di risorse, soprattutto se si aggiungono. UserData Il load balancer Amazon resource name (ARN) può essere trovato nella pagina Load Balancer della console EC2 effettuando una ricerca con l'ID dello stack del load balancer restituito nell'output di esecuzione RFC.

## Parametri di input di esecuzione
<a name="deployment-standard-high-availability-two-tier-stack-create-input"></a>

Per informazioni dettagliate sui parametri di input di esecuzione, vedere[Schema per il tipo di modifica ct-06mjngx5flwto](schemas.md#ct-06mjngx5flwto-schema-section).

## Esempio: parametri obbligatori
<a name="deployment-standard-high-availability-two-tier-stack-create-ex-min"></a>

```
{
  "Description": "My stack",
  "TimeoutInMinutes": 60,
  "VpcId": "vpc-01234567890abcdef",
  "Name": "MyStack",
  "AutoScalingGroup": {
    "AmiId" : "ami-01234567890abcdef",
    "SubnetIds": ["subnet-01234567890abcdef", "subnet-01234567891abcdef"]
  },
  "LoadBalancer": {
    "SubnetIds": ["subnet-01234567890abcdef", "subnet-01234567891abcdef"]
  },
  "Database": {
    "DBName": "main",
    "DBEngine": "MySQL",
    "EngineVersion": "4.5.6",
    "LicenseModel": "general-public-license",
    "MasterUsername": "admin",
    "MasterUserPassword": "adminpass",
    "SubnetIds": ["subnet-01234567890abcdef", "subnet-01234567891abcdef"]
  }
}
```

## Esempio: tutti i parametri
<a name="deployment-standard-high-availability-two-tier-stack-create-ex-max"></a>

```
{
  "Description": "My stack",
  "VpcId": "vpc-12345678",
  "TimeoutInMinutes": 60,
  "Name": "MyStack",
  "Tags": [
    {
      "Key": "Foo",
      "Value": "Bar"
    }
  ],
  "AutoScalingGroup": {
    "AmiId": "ami-12341234",
    "Cooldown": 120,
    "DesiredCapacity": 1,
    "EBSOptimized": false,
    "HealthCheckGracePeriod": 600,
    "IAMInstanceProfile": "foo",
    "InstanceDetailedMonitoring": true,
    "InstanceRootVolumeIops": 0,
    "InstanceRootVolumeName": "/dev/xvda",
    "InstanceRootVolumeSize": 30,
    "InstanceRootVolumeType": "gp2",
    "InstanceType": "m3.medium",
    "MaxInstances": 1,
    "MinInstances": 1,
    "ScaleDownPolicyCooldown": 300,
    "ScaleDownPolicyEvaluationPeriods": 4,
    "ScaleDownPolicyPeriod": 60,
    "ScaleDownPolicyScalingAdjustment": -1,
    "ScaleDownPolicyStatistic": "Average",
    "ScaleDownPolicyThreshold": 35,
    "ScaleMetricName": "CPUUtilization",
    "ScaleUpPolicyCooldown": 60,
    "ScaleUpPolicyEvaluationPeriods": 2,
    "ScaleUpPolicyPeriod": 60,
    "ScaleUpPolicyScalingAdjustment": 2,
    "ScaleUpPolicyStatistic": "Average",
    "ScaleUpPolicyThreshold": 75,
    "SubnetIds": ["subnet-a0b1c2d3", "subnet-e4f5g6h7"],
    "UserData": ["#!/bin/bash","echo hello"]
  },
  "LoadBalancer": {
    "SubnetIds": ["subnet-a0b1c2d3", "subnet-a0b2c9d8"],
    "HealthCheckInterval": 10,
    "HealthCheckTarget": "HTTP:80/index.html",
    "HealthCheckTimeout": 10,
    "Public": false,
    "AccessCIDRRange": "1.2.3.4/0"
  },
  "Database": {
    "AllocatedStorage": 100,
    "BackupRetentionPeriod": 7,
    "Backups": true,
    "DBEngine": "postgres",
    "DBName": "my_db",
    "EngineVersion": "9.5.2",
    "InstanceType": "db.m3.medium",
    "IOPS": 0,
    "LicenseModel": "postgresql-license",
    "MasterUsername": "myadminuser",
    "MasterUserPassword": "!#$%&')*+,-.0:;=>?AZ[\\^_`a{|~",
    "MultiAZ": false,
    "Port": 5432,
    "PreferredBackupWindow": "22:00-23:00",
    "PreferredMaintenanceWindow": "wed:03:32-wed:04:02",
    "StorageEncrypted": false,
    "StorageType": "gp2",
    "SubnetIds": ["subnet-a0b1c2d3", "subnet-a0b2c9d8"]
  },
  "Application": {
    "ApplicationName": "MyApplication",
    "DeploymentConfigName": "CodeDeployDefault.OneAtATime"
  },
  "EnforceIMDSv2": "optional"
}
```