

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

# Creazione di pile utilizzando la modalità Direct Change
<a name="dcm-creating-stacks"></a>

Per consentire la gestione dello stack da parte di CloudFormation AMS`AWSManagedServicesCloudFormationAdminRole`, sono necessari due requisiti per avviare gli stack:
+ Il modello deve contenere un. `AmsStackTransform`
+ Il nome dello stack deve iniziare con il prefisso `stack-` seguito da una stringa alfanumerica di 17 caratteri.

**Nota**  
Per utilizzare correttamente lo`AmsStackTransform`, devi riconoscere che il tuo modello di stack contiene la `CAPABILITY_AUTO_EXPAND` funzionalità in order for CloudFormation (CFN) di creare o aggiornare lo stack. Puoi farlo passandolo `CAPABILITY_AUTO_EXPAND` come parte della tua richiesta create-stack. CFN rifiuta la richiesta se questa funzionalità non viene riconosciuta quando viene inclusa nel `AmsStackTransform` modello. La console CFN ti assicura di passare questa funzionalità se hai la trasformazione nel tuo modello, ma questa può essere ignorata quando interagisci con CFN tramite loro. APIs  
Devi passare questa funzionalità ogni volta che utilizzi le seguenti chiamate API CFN:  
[CreateChangeSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html)
[ CreateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html#API_CreateStack_RequestParameters)
[UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)

[Quando si crea o si aggiorna uno stack con DCM, sullo stack CTs vengono eseguite le stesse convalide e potenziamenti di CFN Ingest e Stack Update. Per maggiori informazioni, consulta le Linee guida per l'inserimento, le migliori pratiche e le limitazioni.CloudFormation](https://docs.aws.amazon.com/managedservices/latest/appguide/cfn-author-templates.html) L'eccezione è che i gruppi di sicurezza predefiniti di AMS (SGs) non verranno collegati a nessuna istanza autonoma o EC2 EC2 istanza nei gruppi di Auto Scaling (). ASGs Quando create il CloudFormation modello, con EC2 istanze autonome oppure, potete allegare quello predefinito. ASGs SGs 

**Nota**  
I ruoli IAM possono ora essere creati e gestiti con. `AWSManagedServicesCloudFormationAdminRole`

L'impostazione predefinita SGs di AMS prevede regole di ingresso e uscita che consentono alle istanze di avviarsi correttamente e di accedervi successivamente tramite SSH o RDP da parte delle operazioni AMS e dell'utente. Se ritieni che i gruppi di sicurezza predefiniti di AMS siano troppo permissivi, puoi crearne di personalizzati SGs con regole più restrittive e collegarli all'istanza, purché ciò consenta comunque a te e alle operazioni AMS di accedere all'istanza durante gli incidenti.

I gruppi di sicurezza predefiniti di AMS sono i seguenti:
+ SentinelDefaultSecurityGroupPrivateOnly: È possibile accedere nel modello CFN tramite questo parametro SSM `/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnly`
+ SentinelDefaultSecurityGroupPrivateOnlyEgressAll: È possibile accedere nel modello CFN tramite questo parametro SSM `/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlyEgressAll`

## Trasforma AMS
<a name="dcm-cs-ams-transform"></a>

 Aggiungi una `Transform` dichiarazione al tuo CloudFormation modello. Questo aggiunge una CloudFormation macro che convalida e registra lo stack con AMS al momento del lancio. 

**Esempio JSON**

```
"Transform": {
    "Name": "AmsStackTransform",
    "Parameters": {
      "StackId": {"Ref" : "AWS::StackId"}
    }
  }
```

**Esempio YAML**

```
Transform:
  Name: AmsStackTransform
  Parameters:
    StackId: !Ref 'AWS::StackId'
```

Aggiungi l'`Transform`istruzione anche quando aggiorni il modello di uno stack esistente.

**Esempio JSON**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description" : "Create an SNS Topic",
    "Transform": {
      "Name": "AmsStackTransform",
      "Parameters": {
        "StackId": {"Ref" : "AWS::StackId"}
     }
  },
  "Parameters": {
    "TopicName": {
      "Type": "String",
      "Default": "HelloWorldTopic"
    }
  },
  "Resources": {
    "SnsTopic": {
      "Type": "AWS::SNS::Topic",
      "Properties": {
        "TopicName": {"Ref": "TopicName"}
      }
    }
  }
}
```

**Esempio YAML**

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Create an SNS Topic
Transform:
  Name: AmsStackTransform
  Parameters:
    StackId: !Ref 'AWS::StackId'
Parameters:
  TopicName:
    Type: String
    Default: HelloWorldTopic
Resources:
  SnsTopic:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: !Ref TopicName
```

## Nome stack
<a name="dcm-cs-stack-name"></a>

Il nome dello stack deve iniziare con il prefisso `stack-` seguito da una stringa alfanumerica di 17 caratteri. Ciò serve a mantenere la compatibilità con altri sistemi AMS che operano sullo stack AMS. IDs 

 Di seguito sono riportati alcuni esempi di modi per generare stack compatibili: IDs

Bash:

```
echo "stack-$(env LC_CTYPE=C tr -dc 'a-z0-9' < /dev/urandom | head -c 17)"
```

Python:

```
import string
import random

'stack-' + ''.join(random.choices(string.ascii_lowercase + string.digits, k=17))
```

Powershell:

```
"stack-" + ( -join ((0x30..0x39) + ( 0x61..0x7A) | Get-Random -Count 17  | % {[char]$_}) )
```