

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

# Infrastruttura
<a name="infrastructure-pattern-list"></a>

**Topics**
+ [Accedi a un host bastion utilizzando Session Manager e Amazon EC2 Instance Connect](access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.md)
+ [Centralizza la risoluzione DNS utilizzando AWS Managed Microsoft AD e localmente Microsoft Active Directory](centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory.md)
+ [Centralizza il monitoraggio utilizzando Amazon CloudWatch Observability Access Manager](centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.md)
+ [Verifica la presenza di tag obbligatori EC2 nelle istanze al momento del lancio](check-ec2-instances-for-mandatory-tags-at-launch.md)
+ [Pulisci le risorse di AWS Account Factory for Terraform (AFT) in modo sicuro dopo la perdita dei file di stato](clean-up-aft-resources-safely-after-state-file-loss.md)
+ [Crea una pipeline nelle regioni AWS che non supportano AWS CodePipeline](create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline.md)
+ [Personalizza i nomi dei ruoli predefiniti utilizzando AWS CDK gli aspetti e gli escape hatch](customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.md)
+ [Implementa un cluster Cassandra su Amazon EC2 con dati statici privati IPs per evitare il ribilanciamento](deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.md)
+ [Estendi VRFs ad AWS utilizzando AWS Transit Gateway Connect](extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.md)
+ [Ricevi notifiche Amazon SNS quando lo stato chiave di una chiave AWS KMS cambia](get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes.md)
+ [Conserva lo spazio IP instradabile nei progetti VPC multi-account per sottoreti non destinate ai carichi di lavoro](preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets.md)
+ [Fornisci un prodotto Terraform AWS Service Catalog utilizzando un repository di codice](provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.md)
+ [Registrazione di più indirizzi e-mail Account AWS con un unico indirizzo e-mail utilizzando Amazon SES](register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.md)
+ [Configura la risoluzione DNS per reti ibride in un ambiente AWS con account singolo](set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment.md)
+ [Configura automaticamente i bot UiPath RPA su Amazon EC2 utilizzando AWS CloudFormation](set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.md)
+ [Configura un' PeopleSoft architettura ad alta disponibilità su AWS](set-up-a-highly-available-peoplesoft-architecture-on-aws.md)
+ [Configura il disaster recovery per Oracle JD Edwards con EnterpriseOne AWS Elastic Disaster Recovery](set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.md)
+ [Imposta il rilevamento della CloudFormation deriva in un'organizzazione multiregionale e con più account](set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization.md)
+ [Importa con successo un bucket S3 come stack AWS CloudFormation](successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.md)
+ [Sincronizza i dati tra i file system Amazon EFS in diverse regioni AWS utilizzando AWS DataSync](synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync.md)
+ [AWS Infrastruttura di test utilizzando LocalStack e Terraform Tests](test-aws-infra-localstack-terraform.md)
+ [Aggiornamento dei cluster SAP Pacemaker da a ENSA1 ENSA2](upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2.md)
+ [Usa zone di disponibilità coerenti in VPCs diversi account AWS](use-consistent-availability-zones-in-vpcs-across-different-aws-accounts.md)
+ [Usa l'utente IDs nelle policy IAM per il controllo e l'automazione degli accessi](use-user-ids-iam-policies-access-control-automation.md)
+ [Convalida il codice Account Factory for Terraform (AFT) localmente](validate-account-factory-for-terraform-aft-code-locally.md)
+ [Altri modelli](infrastructure-more-patterns-pattern-list.md)

# Accedi a un host bastion utilizzando Session Manager e Amazon EC2 Instance Connect
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect"></a>

*Piotr Chotkowski e Witold Kowalik, Amazon Web Services*

## Riepilogo
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-summary"></a>

Un *bastion host*, a volte chiamato *jump box*, è un server che fornisce un unico punto di accesso da una rete esterna alle risorse situate in una rete privata. Un server esposto a una rete pubblica esterna, come Internet, rappresenta un potenziale rischio per la sicurezza in caso di accesso non autorizzato. È importante proteggere e controllare l'accesso a questi server.

Questo modello descrive come utilizzare [Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) e [Amazon EC2 Instance Connect per connetterti](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html) in modo sicuro a un host bastion di Amazon Elastic Compute Cloud EC2 (Amazon) distribuito nel tuo. Account AWS Session Manager è una funzionalità di. AWS Systems Manager I vantaggi di questo modello includono:
+ L'host bastion distribuito non dispone di porte aperte in ingresso esposte alla rete Internet pubblica. Ciò riduce la potenziale superficie di attacco.
+ Non è necessario archiviare e mantenere chiavi Secure Shell (SSH) a lungo termine nel tuo Account AWS. Invece, ogni utente genera una nuova coppia di chiavi SSH ogni volta che si connette all'host bastion. AWS Identity and Access Management Le policy (IAM) allegate alle AWS credenziali dell'utente controllano l'accesso all'host bastion.

**Destinatari**

Questo modello è destinato ai lettori che hanno esperienza con una conoscenza di base di Amazon EC2, Amazon Virtual Private Cloud (Amazon VPC) e Hashicorp Terraform.

## Prerequisiti e limitazioni
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ AWS Command Line Interface (AWS CLI) versione 2, [installata](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) e [configurata](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+ Plugin Session Manager per AWS CLI, [installato](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)
+ [CLI Terraform, installata](https://developer.hashicorp.com/terraform/cli)
+ Storage per lo [stato](https://developer.hashicorp.com/terraform/language/state) Terraform, ad esempio un bucket Amazon Simple Storage Service (Amazon S3) e una tabella Amazon DynamoDB che funge da backend remoto per archiviare lo stato Terraform. Per ulteriori informazioni sull'utilizzo dei backend remoti per lo stato Terraform, consulta [Amazon S3](https://www.terraform.io/language/settings/backends/s3) Backends (documentazione Terraform). Per un esempio di codice che configura la gestione remota dello stato con un backend Amazon S3, consulta [remote-state-s3-backend](https://registry.terraform.io/modules/nozaq/remote-state-s3-backend/aws/latest) (Terraform Registry). Si notino i requisiti seguenti:
  + Il bucket Amazon S3 e la tabella DynamoDB devono trovarsi nello stesso spazio. Regione AWS
  + Quando si crea la tabella DynamoDB, la chiave di partizione deve `LockID` essere (distinzione tra maiuscole e minuscole) e il tipo di chiave di partizione deve essere. `String` Tutte le altre impostazioni della tabella devono avere i valori predefiniti. Per ulteriori informazioni, consulta [Informazioni sulle chiavi primarie](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) e [Creazione di una tabella](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/getting-started-step-1.html) nella documentazione di DynamoDB.
+ Un client SSH, installato

**Limitazioni**
+ Questo modello è inteso come proof of concept (PoC) o come base per ulteriori sviluppi. Non deve essere utilizzato nella sua forma attuale in ambienti di produzione. Prima della distribuzione, modifica il codice di esempio nel repository in base ai requisiti e al caso d'uso.
+ Questo modello presuppone che l'host bastion di destinazione utilizzi Amazon Linux 2 come sistema operativo. Sebbene sia possibile utilizzare altre Amazon Machine Images (AMIs), altri sistemi operativi non rientrano nell'ambito di questo schema.
**Nota**  
Amazon Linux 2 sta per terminare il supporto. Per ulteriori informazioni, consulta [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).
+ In questo modello, l'host bastion si trova in una sottorete privata senza un gateway NAT e un gateway Internet. Questo design isola l' EC2 istanza Amazon dalla rete Internet pubblica. Puoi aggiungere una configurazione di rete specifica che le consenta di comunicare con Internet. Per ulteriori informazioni, consulta [Connect your virtual private cloud (VPC) ad altre reti nella documentazione](https://docs.aws.amazon.com/vpc/latest/userguide/extend-intro.html) di Amazon VPC. Allo stesso modo, seguendo il [principio del privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege), l'host bastion non ha accesso ad altre risorse del tuo sistema a Account AWS meno che tu non conceda esplicitamente le autorizzazioni. Per ulteriori informazioni, consulta le politiche basate sulle [risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) nella documentazione IAM.

**Versioni del prodotto**
+ AWS CLI versione 2
+ Terraform versione 1.3.9

## Architecture
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-architecture"></a>

**Stack tecnologico Target**
+ Un VPC con un'unica sottorete privata
+ I seguenti [endpoint VPC di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html):
  + `amazonaws.<region>.ssm`— L'endpoint del servizio. AWS Systems Manager 
  + `amazonaws.<region>.ec2messages`— Systems Manager utilizza questo endpoint per effettuare chiamate da SSM Agent al servizio Systems Manager.
  + `amazonaws.<region>.ssmmessages`— Session Manager utilizza questo endpoint per connettersi alla tua EC2 istanza Amazon tramite un canale dati sicuro.
+ Un' EC2 istanza `t3.nano` Amazon che esegue Amazon Linux 2
+ Ruolo e profilo dell'istanza IAM
+ Gruppi di sicurezza Amazon VPC e regole dei gruppi di sicurezza per gli endpoint e l'istanza Amazon EC2 

**Architettura di Target**

![\[Diagramma dell'architettura dell'utilizzo di Session Manager per accedere a un host bastion.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/a02aed20-1852-4c91-902f-f553795006e2/images/819c503b-7eec-4a9c-862b-b87107d50dc1.png)


Il diagramma mostra il seguente processo:

1. L'utente assume un ruolo IAM con le autorizzazioni per eseguire le seguenti operazioni:
   + Autentica, autorizza e connettiti all'istanza Amazon EC2 
   + Inizia una sessione con Session Manager

1. L'utente avvia una sessione SSH tramite Session Manager.

1. Session Manager autentica l'utente, verifica le autorizzazioni nelle politiche IAM associate, controlla le impostazioni di configurazione e invia un messaggio all'agente SSM per aprire una connessione bidirezionale.

1. L'utente invia la chiave pubblica SSH all'host bastion tramite i metadati di Amazon. EC2 Questa operazione deve essere eseguita prima di ogni connessione. La chiave pubblica SSH rimane disponibile per 60 secondi.

1. L'host bastion comunica con gli endpoint di interfaccia VPC per Systems Manager e Amazon. EC2

1. L'utente accede all'host bastion tramite Session Manager utilizzando un canale di comunicazione bidirezionale crittografato TLS 1.2.

**Automazione e scalabilità**

Sono disponibili le seguenti opzioni per automatizzare l'implementazione o scalare questa architettura:
+ È possibile implementare l'architettura tramite una pipeline di integrazione e distribuzione continua (CI/CD).
+ È possibile modificare il codice per cambiare il tipo di istanza del bastion host.
+ Puoi modificare il codice per distribuire più host bastion. Nel `bastion-host/main.tf` file, nel blocco di `aws_instance` risorse, aggiungi il `count` meta-argomento. Per ulteriori informazioni, consulta la documentazione di [Terraform](https://developer.hashicorp.com/terraform/language/meta-arguments/count).

## Tools (Strumenti)
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-tools"></a>

**Servizi AWS**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che consente di interagire Servizi AWS tramite comandi nella shell della riga di comando.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornisce capacità di elaborazione scalabile in. Cloud AWS Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)ti aiuta a gestire le applicazioni e l'infrastruttura in esecuzione in. Cloud AWS Semplifica la gestione delle applicazioni e delle risorse, riduce i tempi di rilevamento e risoluzione dei problemi operativi e aiuta a gestire le AWS risorse in modo sicuro su larga scala. Questo modello utilizza [Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html), una funzionalità di Systems Manager.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito. Questa rete virtuale è simile a una comune rete da gestire all'interno del proprio data center, ma con i vantaggi dell'infrastruttura scalabile di AWS.

**Altri strumenti**
+ [HashiCorp Terraform](https://www.terraform.io/docs) è uno strumento Infrastructure as Code (IaC) che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud. Questo modello utilizza [Terraform CLI](https://developer.hashicorp.com/terraform/cli).

**Archivio di codice**

Il codice per questo pattern è disponibile nell'[host GitHub Access a bastion utilizzando Session Manager e Amazon EC2 Instance Connect](https://github.com/aws-samples/secured-bastion-host-terraform).

## Best practice
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-best-practices"></a>
+ Ti consigliamo di utilizzare strumenti automatici di scansione del codice per migliorare la sicurezza e la qualità del codice. Questo modello è stato scansionato utilizzando [Checkov](https://www.checkov.io/), uno strumento statico di analisi del codice per IaC. Come minimo, ti consigliamo di eseguire controlli di convalida e formattazione di base utilizzando i comandi e Terraform. `terraform validate` `terraform fmt -check -recursive`
+ È buona norma aggiungere test automatici per IAc. Per ulteriori informazioni sui diversi approcci per testare il codice Terraform, consulta [Testing HashiCorp Terraform (post sul blog Terraform](https://www.hashicorp.com/blog/testing-hashicorp-terraform)).
+ Durante la distribuzione, Terraform utilizza l' EC2 istanza Amazon sostitutiva ogni volta che viene rilevata una nuova versione dell'[AMI Amazon Linux](https://aws.amazon.com/marketplace/pp/prodview-zc4x2k7vt6rpu?sr=0-1&ref_=beagle&applicationId=AWSMPContessa) 2. Questo implementa la nuova versione del sistema operativo, incluse patch e aggiornamenti. Se la pianificazione della distribuzione non è frequente, ciò può rappresentare un rischio per la sicurezza perché l'istanza non dispone delle patch più recenti. È importante aggiornare e applicare frequentemente patch di sicurezza alle istanze Amazon EC2 distribuite. Per ulteriori informazioni, consulta [Gestione degli aggiornamenti in Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/update-management.html).
+ Poiché questo modello è una dimostrazione di fattibilità, utilizza politiche AWS gestite, come`AmazonSSMManagedInstanceCore`. AWS le politiche gestite coprono casi d'uso comuni ma non concedono autorizzazioni con privilegi minimi. Se necessario per il tuo caso d'uso, ti consigliamo di creare policy personalizzate che concedano le autorizzazioni con il minimo privilegio per le risorse distribuite in questa architettura. Per ulteriori informazioni, consulta [Introduzione alle politiche AWS gestite e passaggio alle autorizzazioni con privilegi](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-use-aws-defined-policies) minimi.
+ Usa una password per proteggere l'accesso alle chiavi SSH e archivia le chiavi in un luogo sicuro.
+ Configura la registrazione e il monitoraggio per l'host bastion. La registrazione e il monitoraggio sono parti importanti della manutenzione dei sistemi, sia dal punto di vista operativo che di sicurezza. Esistono diversi modi per monitorare le connessioni e le attività nel tuo bastion host. Per ulteriori informazioni, vedere i seguenti argomenti nella documentazione di Systems Manager:
  + [Monitoraggio AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring.html)
  + [Registrazione e monitoraggio AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/logging-and-monitoring.html)
  + [Attività di controllo della sessione](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-auditing.html)
  + [Attività di registrazione delle sessioni](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-logging.html)

## Epiche
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-epics"></a>

### Implementa le risorse
<a name="deploy-the-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il repository del codice. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | DevOps ingegnere, sviluppatore | 
| Inizializza la directory di lavoro di Terraform. | Questo passaggio è necessario solo per la prima implementazione. Se state ridistribuendo il pattern, passate al passaggio successivo.Nella directory principale del repository clonato, inserisci il seguente comando, dove:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html)<pre>terraform init \<br />    -backend-config="bucket=$S3_STATE_BUCKET" \<br />    -backend-config="key=$PATH_TO_STATE_FILE" \<br />    -backend-config="region=$AWS_REGION</pre>In alternativa, puoi aprire il file **config.tf** e, nella `terraform` sezione, fornire manualmente questi valori. | DevOps ingegnere, sviluppatore, Terraform | 
| Distribuisci le risorse. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | DevOps ingegnere, sviluppatore, Terraform | 

### Configura l'ambiente locale
<a name="set-up-the-local-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la connessione SSH. | Aggiorna il file di configurazione SSH per consentire le connessioni SSH tramite Session Manager. Per istruzioni, consulta [Consentire le connessioni SSH per](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html#ssh-connections-enable) Session Manager. Ciò consente agli utenti autorizzati di immettere un comando proxy che avvia una sessione di Session Manager e trasferisce tutti i dati tramite una connessione bidirezionale. | DevOps ingegnere | 
| Genera le chiavi SSH. | Immettere il seguente comando per generare una coppia di chiavi SSH pubblica e privata locale. Utilizzi questa key pair per connetterti all'host bastion.<pre>ssh-keygen -t rsa -f my_key</pre> | DevOps ingegnere, sviluppatore | 

### Connect all'host bastion utilizzando Session Manager
<a name="connect-to-the-bastion-host-by-using-sesh"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ottieni l'ID dell'istanza. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | Informazioni generali su AWS | 
| Invia la chiave pubblica SSH. | In questa sezione, carichi la chiave pubblica nei [metadati dell'istanza dell'host](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) bastion. Dopo aver caricato la chiave, hai 60 secondi per avviare una connessione con l'host del bastion. Dopo 60 secondi, la chiave pubblica viene rimossa. Per ulteriori informazioni, consultate la sezione [Risoluzione dei problemi](#access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-troubleshooting) di questo modello. Completa rapidamente i passaggi successivi per evitare che la chiave venga rimossa prima di connetterti al bastion host.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | Informazioni generali su AWS | 
| Connect al bastion host. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html)Esistono altre opzioni per aprire una connessione SSH con l'host bastion. Per ulteriori informazioni, consulta *Approcci alternativi per stabilire una connessione SSH con l'host bastion* nella sezione [Informazioni aggiuntive](#access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-additional) di questo modello. | Informazioni generali su AWS | 

### (Facoltativo) Pulizia
<a name="optional-clean-up"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimuovi le risorse distribuite. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | DevOps ingegnere, sviluppatore, Terraform | 

## risoluzione dei problemi
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| `TargetNotConnected`errore durante il tentativo di connessione all'host bastion | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | 
| `Permission denied`errore durante il tentativo di connessione all'host bastion | Dopo aver caricato la chiave pubblica sul bastion host, hai solo 60 secondi per avviare la connessione. Dopo 60 secondi, la chiave viene rimossa automaticamente e non puoi usarla per connetterti all'istanza. In tal caso, puoi ripetere il passaggio per inviare nuovamente la chiave all'istanza. | 

## Risorse correlate
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-resources"></a>

**AWS documentazione**
+ [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)(documentazione Systems Manager)
+ [Installa il plug-in Session Manager per AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) (documentazione di Systems Manager)
+ [Consentire connessioni SSH per Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html#ssh-connections-enable) (documentazione di Systems Manager)
+ [Informazioni sull'utilizzo di EC2 Instance Connect](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html) ( EC2 documentazione Amazon)
+ [Connessione tramite EC2 Instance Connect](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html) ( EC2 documentazione Amazon)
+ [Gestione delle identità e degli accessi per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam.html) ( EC2 documentazione Amazon)
+ [Utilizzo di un ruolo IAM per concedere autorizzazioni alle applicazioni in esecuzione su EC2 istanze Amazon (documentazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) IAM)
+ [Le migliori pratiche di sicurezza in IAM (documentazione IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html))
+ [Controlla il traffico verso le risorse utilizzando gruppi di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) (documentazione Amazon VPC)

**Altre risorse**
+ [Pagina web Terraform Developer](https://developer.hashicorp.com/terraform)
+ [Comando: validate (documentazione Terraform](https://developer.hashicorp.com/terraform/cli/commands/validate))
+ [Comando: fmt (documentazione Terraform](https://developer.hashicorp.com/terraform/cli/commands/fmt))
+ [Testare HashiCorp Terraform (post](https://www.hashicorp.com/blog/testing-hashicorp-terraform) sul blog) HashiCorp 
+ [Pagina web di Checkov](https://www.checkov.io/)

## Informazioni aggiuntive
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-additional"></a>

**Approcci alternativi per stabilire una connessione SSH con l'host bastion**

*Inoltro alla porta*

È possibile utilizzare l'`-D 8888`opzione per aprire una connessione SSH con port forwarding dinamico. Per ulteriori informazioni, consulta le [istruzioni](https://explainshell.com/explain?cmd=ssh+-i+%24PRIVATE_KEY_FILE+-D+8888+ec2-user%40%24INSTANCE_ID) su explainshell.com. Di seguito è riportato un esempio di comando per aprire una connessione SSH utilizzando il port forwarding.

```
ssh -i $PRIVATE_KEY_FILE -D 8888 ec2-user@$INSTANCE_ID
```

Questo tipo di connessione apre un proxy SOCKS in grado di inoltrare il traffico dal browser locale attraverso l'host bastion. Se usi Linux o macOS, per vedere tutte le opzioni, inserisci. `man ssh` Viene visualizzato il manuale di riferimento SSH.

*Utilizzando lo script fornito*

Invece di eseguire manualmente i passaggi descritti in *Connect to the bastion host utilizzando Session Manager* nella sezione [Epics](#access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-epics), puoi utilizzare lo script **connect.sh** incluso nel repository del codice. Questo script genera la coppia di chiavi SSH, invia la chiave pubblica all' EC2 istanza Amazon e avvia una connessione con l'host bastion. Quando esegui lo script, passi il tag e il nome della chiave come argomenti. Di seguito è riportato un esempio del comando per eseguire lo script.

```
./connect.sh sandbox-dev-bastion-host my_key
```

# Centralizza la risoluzione DNS utilizzando AWS Managed Microsoft AD e localmente Microsoft Active Directory
<a name="centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory"></a>

*Brian Westmoreland, Amazon Web Services*

## Riepilogo
<a name="centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-summary"></a>

Questo modello fornisce indicazioni per centralizzare la risoluzione DNS all'interno di un ambiente AWS multi-account utilizzando sia AWS Directory Service for Microsoft Active Directory () che Amazon Route AWS Managed Microsoft AD 53. In questo modello, lo spazio dei nomi AWS DNS è un sottodominio dello spazio dei nomi DNS locale. Questo modello fornisce anche indicazioni su come configurare i server DNS locali per inoltrare le query a AWS quando la soluzione DNS locale utilizza Microsoft Active Directory.  

## Prerequisiti e limitazioni
<a name="centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-prereqs"></a>

**Prerequisiti**
+ Un ambiente AWS multi-account configurato utilizzando. AWS Organizations
+ Connettività di rete stabilita tra Account AWS.
+ Connettività di rete stabilita tra AWS e l'ambiente locale (utilizzando AWS Direct Connect o qualsiasi tipo di connessione VPN).
+ AWS Command Line Interface (AWS CLI) configurato su una workstation locale.
+ AWS Resource Access Manager (AWS RAM) utilizzato per condividere le regole della Route 53 tra account. Pertanto, la condivisione deve essere abilitata all'interno AWS Organizations dell'ambiente, come descritto nella sezione [Epics](#centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-epics).

**Limitazioni**
+ AWS Managed Microsoft AD La Standard Edition ha un limite di 5 condivisioni.
+ AWS Managed Microsoft AD Enterprise Edition ha un limite di 125 condivisioni.
+ La soluzione in questo modello si limita alla Regioni AWS condivisione del supporto AWS RAM.

**Versioni del prodotto**
+ Microsoft Active Directory in esecuzione su Windows Server 2008, 2012, 2012 R2 o 2016.

## Architecture
<a name="centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-architecture"></a>

**Architettura Target**

![\[Architettura per la risoluzione DNS centralizzata su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/91430e2a-f7f6-4dbe-9fe7-8abed1f764a7/images/9b5fc51d-590b-468f-80f7-1949f3b3b258.png)


In questo design, AWS Managed Microsoft AD viene installato nei servizi condivisi. Account AWS Sebbene non sia un requisito, questo modello presuppone questa configurazione. Se configuri AWS Managed Microsoft AD in modo diverso Account AWS, potresti dover modificare di conseguenza i passaggi nella sezione [Epics](#centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-epics).

Questo design utilizza i Resolver Route 53 per supportare la risoluzione dei nomi tramite l'uso delle regole Route 53. Se la soluzione DNS locale utilizza Microsoft DNS, la creazione di una regola di inoltro condizionale per il namespace AWS `aws.company.com` (), che è un sottodominio dello spazio dei nomi DNS dell'azienda (), non è semplice. `company.com` Se si tenta di creare un server d'inoltro condizionale tradizionale, si verificherà un errore. Questo perché Microsoft Active Directory è già considerato autorevole per qualsiasi sottodominio di. `company.com` Per aggirare questo errore, devi prima creare una `aws.company.com` delega per delegare l'autorità di quel namespace. È quindi possibile creare il server d'inoltro condizionale.

Il cloud privato virtuale (VPC) per ogni account spoke può avere il proprio spazio dei nomi DNS univoco basato sullo spazio dei nomi root. AWS In questo design, ogni account spoke aggiunge un'abbreviazione del nome dell'account allo spazio dei nomi AWS di base. Dopo aver creato le zone ospitate private nell'account spoke, le zone vengono associate al VPC locale nell'account spoke e al VPC nell'account di rete centrale. AWS Ciò consente all'account di AWS rete centrale di rispondere alle domande DNS relative agli account spoke. In questo modo, sia Route 53 che Route 53 AWS Managed Microsoft AD collaboriamo per condividere la responsabilità della gestione del AWS namespace (). `aws.company.com`

**Automazione e scalabilità**

Questo design utilizza gli endpoint Route 53 Resolver per scalare le query DNS tra AWS l'ambiente locale e l'ambiente locale. Ogni endpoint Route 53 Resolver comprende più interfacce di rete elastiche (distribuite su più zone di disponibilità) e ogni interfaccia di rete può gestire fino a 10.000 query al secondo. Route 53 Resolver supporta fino a 6 indirizzi IP per endpoint, quindi complessivamente questo design supporta fino a 60.000 query DNS al secondo distribuite su più zone di disponibilità per un'elevata disponibilità.  

Inoltre, questo modello tiene automaticamente conto delle crescite future interne AWS. Le regole di inoltro DNS configurate in locale non devono essere modificate per supportare le nuove zone ospitate private VPCs e le relative zone ospitate private associate che vengono aggiunte. AWS 

## Tools (Strumenti)
<a name="centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-tools"></a>

**Servizi AWS**
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)consente ai carichi di lavoro e alle risorse compatibili con le directory di AWS utilizzare Microsoft Active Directory in. Cloud AWS
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)è un servizio di gestione degli account che consente di consolidare più account Account AWS in un'organizzazione creata e gestita centralmente.
+ [AWS Resource Access Manager (AWS RAM)](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) ti aiuta a condividere in modo sicuro le tue risorse Account AWS per ridurre il sovraccarico operativo e fornire visibilità e verificabilità.
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) è un servizio Web DNS altamente scalabile e disponibile.

**Strumenti**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che consente di interagire Servizi AWS tramite comandi nella shell della riga di comando. In questo modello, AWS CLI viene utilizzato per configurare le autorizzazioni di Route 53.

## Epiche
<a name="centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-epics"></a>

### Crea e condividi una directory AWS Managed Microsoft AD
<a name="create-and-share-an-managed-ad-directory"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementazione. AWS Managed Microsoft AD | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory.html) | Amministratore AWS | 
| Condividi la directory. | Dopo aver creato la directory, condividila con altri Account AWS membri dell' AWS organizzazione. Per istruzioni, consulta [Condividere la directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step2_share_directory.html) nella *Guida all'AWS Directory Service amministrazione*.  AWS Managed Microsoft AD La Standard Edition ha un limite di 5 condivisioni. Enterprise Edition ha un limite di 125 condivisioni. | Amministratore AWS | 

### Configura Route 53
<a name="configure-r53"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea risolutori Route 53. | I resolver Route 53 facilitano la risoluzione delle query DNS tra e il data center locale. AWS  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory.html)Sebbene l'utilizzo dell'account di AWS rete centrale VPC non sia un requisito, i passaggi rimanenti presuppongono questa configurazione. | Amministratore AWS | 
| Crea regole Route 53. | Il tuo caso d'uso specifico potrebbe richiedere un gran numero di regole Route 53, ma dovrai configurare le seguenti regole come base:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory.html)Per ulteriori informazioni, consulta [Managing forwarding rules](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-rules-managing.html) nella *Route 53 Developer Guide*. | Amministratore AWS | 
| Configura un profilo Route 53. | Un profilo Route 53 viene utilizzato per condividere le regole con gli account Spoke.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory.html) | Amministratore AWS | 

### Configura il DNS di Active Directory locale
<a name="configure-on-premises-active-directory-dns"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea la delega. | Utilizza lo snap-in Microsoft DNS (`dnsmgmt.msc`) per creare una nuova delega per lo spazio dei `company.com` nomi all'interno di Active Directory. Il nome del dominio delegato deve essere. `aws` Ciò costituisce il nome di dominio completo (FQDN) della delegazione. `aws.company.com` Utilizza gli indirizzi IP dei controller di AWS Managed Microsoft AD dominio per i valori IP del name server e usali `server.aws.company.com` per il nome. (Questa delega serve solo per la ridondanza, poiché per questo spazio dei nomi verrà creato un server d'inoltro condizionale che ha la precedenza sulla delega.) | Active Directory | 
| Crea lo spedizioniere condizionale. | Usa lo snap-in Microsoft DNS (`dnsmgmt.msc`) per creare un nuovo server d'inoltro condizionale per. `aws.company.com`  Utilizza gli indirizzi IP dei Resolver Route 53 AWS in ingresso nel DNS centrale per la destinazione del server d'inoltro condizionale. Account AWS    | Active Directory | 

### Crea zone private ospitate su Route 53 per spoke Account AWS
<a name="create-r53-private-hosted-zones-for-spoke-aws-accounts"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea le zone ospitate private di Route 53. | Crea una zona ospitata privata sulla Route 53 in ogni account spoke. Associa questa zona ospitata privata al VPC dell'account spoke. Per i passaggi dettagliati, consulta [Creazione di una zona ospitata privata](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) nella *Route 53 Developer Guide*. | Amministratore AWS | 
| Crea autorizzazioni. | Utilizza AWS CLI per creare un'autorizzazione per l'account di AWS rete centrale VPC. Esegui questo comando dal contesto di ogni spoke Account AWS:<pre>aws route53 create-vpc-association-authorization --hosted-zone-id <hosted-zone-id> \<br />   --vpc VPCRegion=<region>,VPCId=<vpc-id></pre>dove:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory.html) | Amministratore AWS | 
| Creare associazioni. | Crea l'associazione di zona ospitata privata Route 53 per l'account di AWS rete centrale VPC utilizzando. AWS CLI Esegui questo comando dal contesto dell'account di AWS rete centrale:<pre>aws route53 associate-vpc-with-hosted-zone --hosted-zone-id <hosted-zone-id> \<br />   --vpc VPCRegion=<region>,VPCId=<vpc-id></pre>dove:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory.html) | Amministratore AWS | 

## Risorse correlate
<a name="centralize-dns-resolution-by-using-aws-managed-microsoft-ad-and-on-premises-microsoft-active-directory-resources"></a>
+ [Semplifica la gestione DNS in un ambiente multi-account con Route 53 Resolver](https://aws.amazon.com/blogs/security/simplify-dns-management-in-a-multiaccount-environment-with-route-53-resolver/) (post sul blog)AWS 
+ [Creando la tua](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html) (documentazione) AWS Managed Microsoft ADAWS Directory Service 
+ [Condivisione di una AWS Managed Microsoft AD directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step2_share_directory.html) (AWS Directory Service documentazione)
+ [Che cos'è Amazon Route 53 Resolver?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html) (documentazione Amazon Route 53)
+ [Creazione di una zona ospitata privata](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) (documentazione Amazon Route 53)
+ [Cosa sono i profili Amazon Route 53?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/profiles.html) (documentazione Amazon Route 53)

# Centralizza il monitoraggio utilizzando Amazon CloudWatch Observability Access Manager
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager"></a>

*Anand Krishna Varanasi, JAGDISH KOMAKULA, Ashish Kumar, Jimmy Morgan, Sarat Chandra Pothula, Vivek Thangamuthu e Balaji Vedagiri, Amazon Web Services*

## Riepilogo
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-summary"></a>

L'osservabilità è fondamentale per il monitoraggio, la comprensione e la risoluzione dei problemi delle applicazioni. Le applicazioni che si estendono su più account, come nelle AWS Control Tower nostre implementazioni di landing zone, generano un gran numero di log e dati di traccia. Per risolvere rapidamente i problemi o comprendere l'analisi degli utenti o l'analisi aziendale, è necessaria una piattaforma di osservabilità comune per tutti gli account. Amazon CloudWatch Observability Access Manager ti consente di accedere e controllare più log di account da una posizione centrale.

Puoi utilizzare Observability Access Manager per visualizzare e gestire i log dei dati di osservabilità generati dagli account di origine. Gli account di origine sono singoli Account AWS che generano dati di osservabilità per le proprie risorse. I dati di osservabilità vengono condivisi tra gli account di origine e gli account di monitoraggio. I dati di osservabilità condivisi possono includere metriche in Amazon CloudWatch, log in Amazon CloudWatch Logs e tracce in. AWS X-Ray Per ulteriori informazioni, consulta la documentazione di [Observability](https://docs.aws.amazon.com/OAM/latest/APIReference/Welcome.html) Access Manager.

Questo modello è destinato agli utenti che dispongono di applicazioni o infrastrutture eseguite su più sistemi Account AWS e necessitano di un posto comune in cui visualizzare i log. Spiega come configurare Observability Access Manager utilizzando Terraform, per monitorare lo stato e l'integrità di queste applicazioni o infrastrutture. È possibile installare questa soluzione in diversi modi:
+ Come modulo Terraform autonomo da configurare manualmente
+ Utilizzando una pipeline di integrazione e distribuzione continua (CI/CD)
+ Integrandosi con altre soluzioni come [AWS Control Tower Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html)

Le istruzioni nella sezione [Epics](#centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-epics) riguardano l'implementazione manuale. Per i passaggi di installazione di AFT, consulta il file README per il repository GitHub [Observability Access Manager](https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform).

## Prerequisiti e limitazioni
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-prereqs"></a>

**Prerequisiti**
+ [Terraform](https://www.terraform.io/) è installato o referenziato nel sistema o in pipeline automatizzate. (Ti consigliamo di utilizzare la [versione più recente](https://releases.hashicorp.com/terraform/).)
+ Un account che puoi utilizzare come account di monitoraggio centralizzato. Altri account creano collegamenti all'account di monitoraggio centrale per visualizzare i registri.
+ (Facoltativo) Un archivio di codice sorgente come GitHub Atlassian Bitbucket o un sistema simile. AWS CodeCommit Un archivio di codice sorgente non è necessario se utilizzi pipeline automatizzate. CI/CD 
+ (Facoltativo) Autorizzazioni per creare richieste pull (PRs) per la revisione e la collaborazione del codice in. GitHub

**Limitazioni**

Observability Access Manager ha le seguenti quote di servizio, che non possono essere modificate. Considerate queste quote prima di implementare questa funzionalità. Per ulteriori informazioni, consulta le [quote CloudWatch di servizio nella documentazione](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html). CloudWatch 
+ **Collegamenti agli account di origine**: puoi collegare ciascun account di origine a un massimo di cinque account di monitoraggio.
+ **Lavandini**: puoi creare più sink per un account, ma Regione AWS è consentito un solo sink per account.

Inoltre:
+ I sink e i link devono essere creati nello stesso ambiente Regione AWS; non possono essere interregionali.

**Monitoraggio interregionale e interaccount**

Per il monitoraggio interregionale e tra più account, puoi scegliere una di queste opzioni:
+ Crea [ CloudWatch dashboard per più account e più regioni per allarmi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html) e metriche. Questa opzione non supporta log e tracce.
+ Implementa [la registrazione centralizzata](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html) utilizzando Amazon OpenSearch Service.
+ Crea un sink per regione da tutti gli account tenant, invia i parametri a un account di monitoraggio centralizzato (come descritto in questo schema), quindi utilizza i [flussi di CloudWatch metrici](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html) per inviare i dati a una destinazione esterna comune o a prodotti di monitoraggio di terze parti come Datadog, Dynatrace, Sumo Logic, Splunk o New Relic.

## Architecture
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-architecture"></a>

**Componenti**

CloudWatch Observability Access Manager è costituito da due componenti principali che consentono l'osservabilità tra account:
+ Un *sink* offre agli account di origine la possibilità di inviare dati di osservabilità all'account di monitoraggio centrale. Un sink fornisce fondamentalmente una giunzione gateway a cui gli account di origine possono connettersi. Può esserci solo un gateway o una connessione sink e più account possono connettersi ad esso.
+ Ogni account di origine ha un *collegamento* alla giunzione del sink gateway e i dati di osservabilità vengono inviati tramite questo collegamento. È necessario creare un sink prima di creare collegamenti da ciascun account di origine.

**Architettura**

Il diagramma seguente illustra Observability Access Manager e i suoi componenti.

![\[Architettura per l'osservabilità tra più account con sink e link.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/00603763-4f99-456e-85e7-a80d803b087d/images/5188caf9-348b-4d91-b560-2b3d6ea81191.png)


## Tools (Strumenti)
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-tools"></a>

**Servizi AWS**
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ti CloudWatch aiuta a monitorare i parametri delle tue AWS risorse e delle applicazioni su cui esegui AWS in tempo reale.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)è un servizio di gestione degli account che ti aiuta a consolidare più account Account AWS in un'organizzazione da creare e gestire centralmente.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.

**Strumenti**
+ [Terraform](https://www.terraform.io/) è uno strumento di infrastruttura come codice (IaC) HashiCorp che ti aiuta a creare e gestire risorse cloud e locali.
+ [AWS Control Tower Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) imposta una pipeline Terraform per aiutarti a fornire e personalizzare gli account. AWS Control Tower Facoltativamente, puoi utilizzare AFT per configurare Observability Access Manager su larga scala su più account.

**Archivio di codice**

Il codice per questo modello è disponibile nel repository di GitHub [Observability Access Manager](https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform).

## Best practice
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-best-practices"></a>
+ Negli AWS Control Tower ambienti, contrassegna l'account di registrazione come account di monitoraggio centrale (sink).
+ Se hai più organizzazioni con più account AWS Organizations, ti consigliamo di includere le organizzazioni anziché i singoli account nella politica di configurazione. Se disponi di un numero limitato di account o se gli account non fanno parte di un'organizzazione nella politica di configurazione del sink, potresti decidere di includere invece account individuali.

## Epiche
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-epics"></a>

### Configura il modulo lavandino
<a name="set-up-the-sink-module"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clonare il repository. | Clonare il repository di GitHub Observability Access Manager:<pre>git clone https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform</pre> | AWS DevOps, amministratore cloud, amministratore AWS | 
| Specificare i valori delle proprietà per il modulo sink. | Nel `main.tf` file (nella `deployments/aft-account-customizations/LOGGING/terraform/`**** cartella del repository), specificate i valori per le seguenti proprietà:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)Per ulteriori informazioni, [AWS::Oam::Sink](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)consulta la CloudFormation documentazione. | AWS DevOps, amministratore cloud, amministratore AWS | 
| Installa il modulo sink. | Esporta le credenziali dell'account Account AWS che hai selezionato come account di monitoraggio e installa il modulo sink di Observability Access Manager:<pre>Terraform Init<br />Terrafom Plan<br />Terraform Apply</pre> | AWS DevOps, amministratore cloud, amministratore AWS | 

### Configura il modulo di collegamento
<a name="set-up-the-link-module"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Specificate i valori delle proprietà per il modulo di collegamento. | Nel `main.tf ` file (nella `deployments/aft-account-customizations/LOGGING/terraform/`**** cartella del repository), specificate i valori per le seguenti proprietà:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)Per ulteriori informazioni, consulta la [AWS::Oam::Link](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html) CloudFormation documentazione. | AWS DevOps, amministratore cloud, architetto cloud | 
| Installa il modulo di collegamento per i singoli account. | Esporta le credenziali dei singoli account e installa il modulo di collegamento Observability Access Manager:<pre>Terraform Plan<br />Terraform Apply</pre>È possibile configurare il modulo di collegamento individualmente per ciascun account o utilizzare [AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) per installare automaticamente questo modulo su un gran numero di account. | AWS DevOps, amministratore cloud, architetto cloud | 

### Approva le connessioni sink-to-link
<a name="approve-sink-to-link-connections"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Controlla il messaggio di stato. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)Sulla destra, dovresti vedere il messaggio di stato **Monitoraggio dell'account abilitato** con un segno di spunta verde. Ciò significa che l'account di monitoraggio dispone di un sink di Observability Access Manager a cui si collegheranno i collegamenti di altri account. |  | 
| Approva le connessioni. link-to-sink | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)Per ulteriori informazioni, consulta [Collegare gli account di monitoraggio agli account di origine](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account-Setup.html) nella CloudWatch documentazione. | AWS DevOps, amministratore cloud, architetto cloud | 

### Verifica i dati di osservabilità tra account
<a name="verify-cross-account-observability-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Visualizza i dati relativi a più account. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html) | AWS DevOps, amministratore cloud, architetto cloud | 

### (Facoltativo) Consenti agli account di origine di considerare attendibili gli account di monitoraggio
<a name="optional-enable-source-accounts-to-trust-monitoring-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Visualizza metriche, dashboard, registri, widget e allarmi di altri account. | Come funzionalità aggiuntiva,**** puoi condividere CloudWatch metriche, dashboard, registri, widget e allarmi con altri account. Ogni account utilizza un ruolo IAM chiamato **CloudWatch- CrossAccountSharingRole ** per accedere a questi dati.Gli account di origine che hanno un rapporto di fiducia con l'account di monitoraggio centrale possono assumere questo ruolo e visualizzare i dati dell'account di monitoraggio.CloudWatch fornisce uno CloudFormation script di esempio per creare il ruolo. Scegli **Gestisci il ruolo in IAM** ed esegui questo script negli account in cui desideri visualizzare i dati.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Principal": {<br />                "AWS": [<br />                    "arn:aws:iam::XXXXXXXXX:root",<br />                    "arn:aws:iam::XXXXXXXXX:root",<br />                    "arn:aws:iam::XXXXXXXXX:root",<br />                    "arn:aws:iam::XXXXXXXXX:root"<br />                ]<br />            },<br />            "Action": "sts:AssumeRole"<br />        }<br />    ]<br />}</pre>Per ulteriori informazioni, consulta [Attivazione della funzionalità tra account CloudWatch nella](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html#enable-cross-account-cross-Region) CloudWatch documentazione. | AWS DevOps, amministratore cloud, architetto cloud | 

### (Facoltativo) Visualizza più account Interregionali dall'account di monitoraggio
<a name="optional-view-cross-account-cross-region-from-the-monitoring-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura l'accesso su più account e più regioni. | Nell'account di monitoraggio centralizzato, puoi aggiungere facoltativamente un selettore di account per passare facilmente da un account all'altro e visualizzarne i dati senza dover autenticarti.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)Per ulteriori informazioni, consulta Console [interregionale CloudWatch tra account](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html) nella documentazione. CloudWatch  | AWS DevOps, amministratore cloud, architetto cloud | 

## Risorse correlate
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-resources"></a>
+ [CloudWatch osservabilità tra account (documentazione](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html) Amazon CloudWatch )
+ [Riferimento all'API Amazon CloudWatch Observability Access Manager](https://docs.aws.amazon.com/OAM/latest/APIReference/Welcome.html) ( CloudWatch documentazione Amazon)
+ [Risorsa: aws\$1oam\$1sink (documentazione Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/oam_sink))
+ Fonte dati: aws\$1oam\$1link ([documentazione Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/oam_link))
+ [CloudWatchObservabilityAccessManager](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/oam.html)AWS (Documentazione Boto3)

# Verifica la presenza di tag obbligatori EC2 nelle istanze al momento del lancio
<a name="check-ec2-instances-for-mandatory-tags-at-launch"></a>

*Susanne Kangnoh e Archit Mathur, Amazon Web Services*

## Riepilogo
<a name="check-ec2-instances-for-mandatory-tags-at-launch-summary"></a>

Amazon Elastic Compute Cloud (Amazon EC2) fornisce capacità di calcolo scalabile nel cloud Amazon Web Services (AWS). L'utilizzo di Amazon EC2 elimina la necessità di investire in hardware in anticipo, in modo da poter sviluppare e distribuire applicazioni più velocemente.

Puoi utilizzare i tag per classificare le tue risorse AWS in diversi modi. EC2 il tagging delle istanze è utile quando hai molte risorse nel tuo account e desideri identificare rapidamente una risorsa specifica in base ai tag. Puoi assegnare metadati personalizzati alle tue EC2 istanze utilizzando i tag. Un tag è costituito da una chiave e un valore definiti dall'utente. Ti consigliamo di creare un set coerente di tag per soddisfare i requisiti della tua organizzazione. 

Questo modello fornisce un CloudFormation modello AWS per aiutarti a monitorare EC2 le istanze per tag specifici. Il modello crea un evento Amazon CloudWatch Events che controlla l'AWS CloudTrail **TagResource**o **UntagResource**gli eventi, per rilevare l'etichettatura o la rimozione di nuove EC2 istanze. Se manca un tag predefinito, richiama una funzione AWS Lambda, che invia un messaggio di violazione a un indirizzo e-mail fornito da te, utilizzando Amazon Simple Notification Service (Amazon SNS). 

## Prerequisiti e limitazioni
<a name="check-ec2-instances-for-mandatory-tags-at-launch-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) per caricare il codice Lambda fornito.
+ Un indirizzo e-mail a cui desideri ricevere notifiche di violazione.

**Limitazioni**
+ Questa soluzione supporta i CloudTrail **TagResource**nostri **UntagResource**eventi. Non crea notifiche per altri eventi.
+ Questa soluzione verifica solo le chiavi dei tag. Non monitora i valori chiave.

## Architecture
<a name="check-ec2-instances-for-mandatory-tags-at-launch-architecture"></a>

**Architettura** **del workflow**

![\[Workflow diagram showing Servizi AWS interaction for EC2 instance monitoring and notification.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/9cd74141-a87f-419e-94b3-0b28fd04a018/images/b48fd21b-a86b-4ec7-b9f6-4f1a64999437.png)


 

**Automazione e scalabilità**
+ Puoi utilizzare il CloudFormation modello AWS più volte per diverse regioni e account AWS. Devi eseguire il modello solo una volta in ogni regione o account.

## Tools (Strumenti)
<a name="check-ec2-instances-for-mandatory-tags-at-launch-tools"></a>

**Servizi AWS**
+ [Amazon EC2](https://aws.amazon.com/ec2/) — Amazon Elastic Compute Cloud (Amazon EC2) è un servizio Web che fornisce capacità di elaborazione sicura e ridimensionabile nel cloud. È progettato per semplificare il cloud computing su scala web per gli sviluppatori.
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html): CloudTrail è un servizio AWS che ti aiuta con la governance, la conformità e il controllo operativo e dei rischi del tuo account AWS. Le azioni intraprese da un utente, un ruolo o un servizio AWS vengono registrate come eventi in CloudTrail. 
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html): Amazon CloudWatch Events offre un flusso quasi in tempo reale di eventi di sistema che descrivono i cambiamenti nelle risorse AWS. CloudWatch Events viene a conoscenza dei cambiamenti operativi man mano che si verificano e intraprende le azioni correttive necessarie, inviando messaggi per rispondere all'ambiente, attivando funzioni, apportando modifiche e acquisendo informazioni sullo stato. 
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) — Lambda è un servizio di elaborazione che supporta l'esecuzione di codice senza dover fornire o gestire server. Lambda esegue il codice solo quando è necessario e si dimensiona automaticamente, da poche richieste al giorno a migliaia al secondo. 
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html) — Amazon Simple Storage Service (Amazon S3) è un servizio di storage di oggetti altamente scalabile che può essere utilizzato per un'ampia gamma di soluzioni di storage, tra cui siti Web, applicazioni mobili, backup e data lake.
+ [Amazon SNS — Amazon Simple](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) Notification Service (Amazon SNS) è un servizio Web che consente ad applicazioni, utenti finali e dispositivi di inviare e ricevere istantaneamente notifiche dal cloud.

**Codice**

Questo modello include un allegato con due file:
+ `index.zip`è un file compresso che include il codice Lambda per questo modello.
+ `ec2-require-tags.yaml`è un CloudFormation modello che distribuisce il codice Lambda.

Consulta la sezione *Epics* per informazioni su come usare questi file.

## Epiche
<a name="check-ec2-instances-for-mandatory-tags-at-launch-epics"></a>

### Implementa il codice Lambda
<a name="deploy-the-lambda-code"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Carica il codice in un bucket S3. | Crea un nuovo bucket S3 o usa un bucket S3 esistente per caricare il file allegato `index.zip` (codice Lambda). Questo bucket deve trovarsi nella stessa regione AWS delle risorse (EC2 istanze) che desideri monitorare. | Architetto del cloud | 
| Implementa il CloudFormation modello. | Apri la console Cloudformation nella stessa regione AWS del bucket S3 e distribuisci il `ec2-require-tags.yaml` file fornito nell'allegato. Nella prossima epopea, fornisci i valori per i parametri del modello.   | Architetto del cloud | 

### Completa i parametri nel CloudFormation modello
<a name="complete-the-parameters-in-the-cloudformation-template"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Fornisci il nome del bucket S3. | Inserisci il nome del bucket S3 che hai creato o selezionato nella prima epic. Questo bucket S3 contiene il file.zip per il codice Lambda e deve trovarsi nella stessa regione AWS del CloudFormation modello e delle EC2 istanze che desideri monitorare. | Architetto del cloud | 
| Fornisci la chiave S3. | Fornisci la posizione del file.zip del codice Lambda nel tuo bucket S3, senza barre iniziali (ad esempio o). `index.zip` `controls/index.zip` | Architetto del cloud | 
| Fornisci un indirizzo email. | Fornisci un indirizzo email attivo a cui desideri ricevere le notifiche di violazione. | Architetto del cloud | 
| Definisci un livello di registrazione. | Specificare il livello di registrazione e la verbosità. `Info`indica messaggi informativi dettagliati sullo stato di avanzamento dell'applicazione e deve essere utilizzato solo per il debug. `Error`indica eventi di errore che potrebbero comunque consentire all'applicazione di continuare a funzionare. `Warning`indica situazioni potenzialmente dannose. | Architetto del cloud | 
| Inserisci le chiavi dei tag richieste. | Inserisci le chiavi dei tag che desideri controllare. Se desideri specificare più chiavi, separale con virgole, senza spazi. (Ad esempio, `ApplicationId,CreatedBy,Environment,Organization` cerca quattro chiavi). L'evento CloudWatch Events cerca queste chiavi di tag e invia una notifica se non vengono trovate. | Architetto del cloud | 

### Confermare la sottoscrizione
<a name="confirm-the-subscription"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Conferma l'iscrizione via e-mail. | Quando il CloudFormation modello viene distribuito correttamente, invia un messaggio e-mail di sottoscrizione all'indirizzo e-mail fornito. Per ricevere notifiche, devi confermare questa sottoscrizione e-mail.   | Architetto del cloud | 

## Risorse correlate
<a name="check-ec2-instances-for-mandatory-tags-at-launch-related-resources"></a>
+ [Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) (documentazione Amazon S3)
+ [Caricamento di oggetti](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html) (documentazione Amazon S3)
+ [Etichetta le tue EC2 risorse Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) ( EC2 documentazione Amazon)
+ [Creazione di una regola CloudWatch Events che si attiva su una chiamata API AWS utilizzando AWS CloudTrail](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-CloudTrail-Rule.html) ( CloudWatch documentazione Amazon)

## Allegati
<a name="attachments-9cd74141-a87f-419e-94b3-0b28fd04a018"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/9cd74141-a87f-419e-94b3-0b28fd04a018/attachments/attachment.zip)

# Pulisci le risorse di AWS Account Factory for Terraform (AFT) in modo sicuro dopo la perdita dei file di stato
<a name="clean-up-aft-resources-safely-after-state-file-loss"></a>

*Gokendra Malviya, Amazon Web Services*

## Riepilogo
<a name="clean-up-aft-resources-safely-after-state-file-loss-summary"></a>

Quando utilizzi AWS Account Factory for Terraform (AFT) per gestire il tuo AWS Control Tower ambiente, AFT genera un file di stato Terraform per tenere traccia dello stato e della configurazione delle risorse create da Terraform. La perdita del file di stato Terraform può creare sfide significative per la gestione e la pulizia delle risorse. Questo modello fornisce un approccio sistematico per identificare e rimuovere in sicurezza le risorse relative ad AFT mantenendo l'integrità dell'ambiente. AWS Control Tower 

Il processo è progettato per garantire la corretta rimozione di tutti i componenti AFT, anche senza il riferimento originale al file di stato. Questo processo fornisce un percorso chiaro per ristabilire e riconfigurare con successo AFT nell'ambiente, per contribuire a ridurre al minimo le interruzioni delle operazioni. AWS Control Tower 

[Per ulteriori informazioni su AFT, consultate la documentazione.AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/taf-account-provisioning.html)

## Prerequisiti e limitazioni
<a name="clean-up-aft-resources-safely-after-state-file-loss-prereqs"></a>

**Prerequisiti**
+ Una conoscenza approfondita dell'[architettura AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-architecture.html).
+ Accesso da amministratore ai seguenti account:
  + Account di gestione AFT
  + AWS Control Tower Account di gestione
  + Account Log Archive
  + Account di audit
+ Verifica che nessuna politica di controllo del servizio (SCPs) contenga restrizioni o limitazioni che bloccherebbero l'eliminazione delle risorse relative ad AFT.

**Limitazioni**
+ Questo processo può ripulire le risorse in modo efficace, ma non può recuperare i file di stato perduti e alcune risorse potrebbero richiedere l'identificazione manuale.
+ La durata del processo di pulizia dipende dalla complessità dell'ambiente e potrebbe richiedere diverse ore.
+ Questo modello è stato testato con la versione AFT 1.12.2 ed elimina le seguenti risorse. Se utilizzate una versione diversa di AFT, potrebbe essere necessario eliminare risorse aggiuntive.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html)

**Importante**  
Le risorse che vengono eliminate seguendo i passaggi indicati in questo schema non possono essere recuperate. Prima di seguire questi passaggi, verificate attentamente i nomi delle risorse e assicuratevi che siano stati creati da AFT.

## Architecture
<a name="clean-up-aft-resources-safely-after-state-file-loss-architecture"></a>

Il diagramma seguente mostra i componenti AFT e il flusso di lavoro di alto livello. AFT imposta una pipeline Terraform che ti aiuta a fornire e personalizzare i tuoi account. AWS Control Tower AFT segue un GitOps modello per automatizzare i processi di fornitura degli account. AWS Control Tower Si crea un file Terraform per una richiesta di account e lo si archivia in un repository, che fornisce l'input che attiva il flusso di lavoro AFT per il provisioning degli account. Una volta completata la fornitura dell'account, AFT può eseguire automaticamente ulteriori passaggi di personalizzazione.

![\[Componenti AFT e flusso di lavoro di alto livello.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/1342c0a6-4b07-46df-a063-ceab2e2f83c8/images/3e0cae87-20ef-4fcc-aacf-bb450844ac56.png)


In questa architettura:
+ AWS Control Tower L'**account di gestione** Account AWS è un account dedicato al AWS Control Tower servizio. In genere viene anche chiamato conto di *AWS pagamento o conto* di *AWS Organizations gestione*.
+ L'**account AFT Management** Account AWS è dedicato alle operazioni di gestione AFT. Si tratta di un account diverso dall'account di gestione dell'organizzazione.
+ L'**account Vended** è un account Account AWS che contiene tutti i componenti e i controlli di base selezionati. AFT utilizza AWS Control Tower per vendere un nuovo account.

Per ulteriori informazioni su questa architettura, vedere [Introduzione ad AFT](https://catalog.workshops.aws/control-tower/en-US/customization/aft) nel AWS Control Tower workshop.

## Tools (Strumenti)
<a name="clean-up-aft-resources-safely-after-state-file-loss-tools"></a>

**Servizi AWS**
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)ti aiuta a configurare e gestire un ambiente AWS multi-account, seguendo le migliori pratiche prescrittive.
+ [AWS Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/taf-account-provisioning.html) imposta una pipeline Terraform per aiutarti a fornire e personalizzare account e risorse. AWS Control Tower
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)ti aiuta a gestire e governare centralmente il tuo ambiente man mano che cresci e scalerai le tue risorse. AWS Utilizzando Organizations, puoi creare account e allocare risorse, raggruppare account per organizzare i flussi di lavoro, applicare politiche di governance e semplificare la fatturazione utilizzando un unico metodo di pagamento per tutti i tuoi account.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle. Questo modello richiede ruoli e autorizzazioni IAM.

**Altri strumenti**
+ [Terraform](https://www.terraform.io/) è uno strumento di infrastruttura come codice (IaC) HashiCorp che ti aiuta a creare e gestire risorse cloud e locali.

## Best practice
<a name="clean-up-aft-resources-safely-after-state-file-loss-best-practices"></a>
+ Per AWS Control Tower, consulta le [migliori pratiche per AWS Control Tower gli amministratori](https://docs.aws.amazon.com/controltower/latest/userguide/best-practices.html) nella documentazione. AWS Control Tower 
+ Per IAM, consulta [le best practice di sicurezza](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella documentazione IAM.

## Epiche
<a name="clean-up-aft-resources-safely-after-state-file-loss-epics"></a>

### Elimina le risorse AFT nell'account AFT Management
<a name="delete-aft-resources-in-the-aft-management-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare le risorse identificate dal tag AFT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 
| Elimina i ruoli IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 
| Elimina il vault AWS Backup di backup. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 
| Elimina CloudWatch le risorse Amazon. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 
| Eliminare AWS KMS risorse. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 

### Elimina le risorse AFT nell'account Log Archive
<a name="delete-aft-resources-in-the-log-archive-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare i bucket S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 
| Elimina i ruoli IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 

### Elimina le risorse AFT nell'account Audit
<a name="delete-aft-resources-in-the-audit-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare i ruoli IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 

### Elimina le risorse AFT nell'account AWS Control Tower di gestione
<a name="delete-aft-resources-in-the-ctower-management-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare i ruoli IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 
| Eliminare EventBridge le regole. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | Amministratore AWS, AWS DevOps, DevOps ingegnere | 

## Risoluzione dei problemi
<a name="clean-up-aft-resources-safely-after-state-file-loss-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| La disconnessione del gateway Internet non è riuscita. | Durante l'eliminazione di risorse identificate dal tag **AFT**, se riscontri questo problema quando scolleghi o elimini il gateway Internet, devi prima eliminare gli endpoint VPC:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | 
| Non riesci a trovare le CloudWatch domande specificate. | Se non riesci a trovare le CloudWatch query create da AFT, procedi nel seguente modo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/clean-up-aft-resources-safely-after-state-file-loss.html) | 

## Risorse correlate
<a name="clean-up-aft-resources-safely-after-state-file-loss-resources"></a>
+ GRASSO:
  + [GitHub Repository](https://github.com/aws-ia/terraform-aws-control_tower_account_factory)
  + [Officina](https://catalog.workshops.aws/control-tower/en-US/customization/aft)
  + [Documentazione](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html)
+ [AWS Control Tower documentazione](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html)

## Informazioni aggiuntive
<a name="clean-up-aft-resources-safely-after-state-file-loss-additional"></a>

Per visualizzare le interrogazioni AFT nella dashboard di CloudWatch Logs Insights, scegli l'icona **Query salvate e di esempio** nell'angolo in alto a destra, come illustrato nella schermata seguente:

![\[Accesso alle interrogazioni AFT sul pannello di controllo di Logs Insights. CloudWatch\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/1342c0a6-4b07-46df-a063-ceab2e2f83c8/images/255d4032-738b-4600-9084-9684d2e9a328.png)


# Crea una pipeline nelle regioni AWS che non supportano AWS CodePipeline
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline"></a>

*Anand Krishna Varanasi, Amazon Web Services*

## Riepilogo
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-summary"></a>

**Avviso**: non AWS CodeCommit è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. [Ulteriori informazioni](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider/)

AWS CodePipeline è un servizio di orchestrazione con distribuzione continua (CD) che fa parte di un set di DevOps strumenti di Amazon Web Services (AWS). Si integra con un'ampia varietà di fonti (come sistemi di controllo delle versioni e soluzioni di storage), prodotti e servizi di integrazione continua (CI) di AWS e partner AWS e prodotti open source per fornire un servizio di end-to-end flusso di lavoro per distribuzioni rapide di applicazioni e infrastrutture.

Tuttavia, CodePipeline non è supportato in tutte le regioni AWS ed è utile disporre di un orchestratore invisibile che collega i servizi AWS. CI/CD Questo modello descrive come implementare una pipeline end-to-end di flussi di lavoro nelle regioni AWS in cui CodePipeline non è ancora supportata utilizzando CI/CD servizi AWS come AWS CodeCommit CodeBuild, AWS e AWS CodeDeploy.

## Prerequisiti e limitazioni
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ CLI AWS Cloud Development Kit (AWS CDK) versione 2.28 o successiva

## Architecture
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-architecture"></a>

**Stack tecnologico Target**

Il diagramma seguente mostra una pipeline creata in una regione che non supporta CodePipeline, ad esempio la regione africana (Città del Capo). Uno sviluppatore invia i file di CodeDeploy configurazione (chiamati anche *script hook di deployment lifecycle*) al repository Git ospitato da. CodeCommit (Vedi l'[GitHub archivio](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions) fornito con questo modello). Viene avviata automaticamente una EventBridge regola Amazon. CodeBuild

I file di CodeDeploy configurazione vengono recuperati CodeCommit come parte della fase di origine della pipeline e trasferiti in. CodeBuild 

Nella fase successiva, CodeBuild esegue le seguenti attività: 

1. Scarica il file TAR del codice sorgente dell'applicazione. Puoi configurare il nome di questo file utilizzando Parameter Store, una funzionalità di AWS Systems Manager.

1. Scarica i file CodeDeploy di configurazione.

1. Crea un archivio combinato di codice sorgente dell'applicazione e file di CodeDeploy configurazione specifici per il tipo di applicazione.

1. Avvia la CodeDeploy distribuzione su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) utilizzando l'archivio combinato.

![\[Creazione di pipeline in una regione AWS non supportata\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e27750de-b597-424e-b5bf-4d58dc9b60cc/images/95fc815e-a762-4142-b0fd-2a716823e498.png)


## Tools (Strumenti)
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-tools"></a>

**Servizi AWS**
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) è un servizio di build completamente gestito che ti aiuta a compilare codice sorgente, eseguire test unitari e produrre artefatti pronti per la distribuzione.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) è un servizio di controllo delle versioni che consente di archiviare e gestire archivi Git in modo privato, senza dover gestire il proprio sistema di controllo del codice sorgente.
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) automatizza le distribuzioni su Amazon EC2 o istanze locali, funzioni AWS Lambda o servizi Amazon Elastic Container Service (Amazon ECS).
+ [AWS](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) ti CodePipeline aiuta a modellare e configurare rapidamente le diverse fasi di un rilascio di software e ad automatizzare i passaggi necessari per rilasciare continuamente le modifiche al software.
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) è un framework di sviluppo software che aiuta a definire e fornire l'infrastruttura cloud AWS in codice.

**Codice**

Il codice per questo modello è disponibile nel repository GitHub [CodePipeline Unsupported Regions](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions).

## Epiche
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-epics"></a>

### Configura la tua postazione di lavoro per sviluppatori
<a name="set-up-your-developer-workstation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa l'interfaccia a riga di comando di AWS CDK. | Per istruzioni, consulta la [documentazione di AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites). | AWS DevOps | 
| Installa un client Git. | Per creare i commit, puoi usare un client Git installato sul tuo computer locale e poi inviare i commit al CodeCommit repository. Per eseguire la configurazione CodeCommit con il tuo client Git, consulta la [CodeCommit documentazione](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-commit.html). | AWS DevOps | 
| Installa npm. | Installa il gestore di pacchetti **npm**. Per ulteriori informazioni, consulta la documentazione di [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm). | AWS DevOps | 

### Configura la pipeline
<a name="set-up-the-pipeline"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il repository del codice. | Clona l'archivio delle [regioni GitHub CodePipeline non supportate](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions) sul computer locale eseguendo il comando seguente.<pre>git clone https://github.com/aws-samples/invisible-codepipeline-unsupported-regions</pre> | DevOps ingegnere | 
| Imposta i parametri in cdk.json. | Apri il `cdk.json` file e fornisci i valori per i seguenti parametri:<pre>"pipeline_account":"XXXXXXXXXXXX",<br />"pipeline_region":"us-west-2",<br />"repo_name": "app-dev-repo",<br />"ec2_tag_key": "test-vm",<br />"configName" : "cbdeployconfig",<br />"deploymentGroupName": "cbdeploygroup",<br />"applicationName" : "cbdeployapplication",<br />"projectName" : "CodeBuildProject"</pre>dove:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline.html) | AWS DevOps | 
| Configura la libreria di costruzioni AWS CDK. | Nel GitHub repository clonato, usa i seguenti comandi per installare la libreria AWS CDK construct, creare l'applicazione e sintetizzarla per generare il modello AWS per l'applicazione. CloudFormation <pre>npm i aws-cdk-lib<br />npm run build<br />cdk synth</pre> | AWS DevOps | 
| Distribuisci l'applicazione AWS CDK di esempio. | Distribuisci il codice eseguendo il seguente comando in una regione non supportata (ad esempio). `af-south-1`<pre>cdk deploy</pre> | AWS DevOps | 

### Configura il CodeCommit repository per CodeDeploy
<a name="set-up-the-codecommit-repository-for-codedeploy"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configurazione CI/CD per l'applicazione. | Clona il CodeCommit repository specificato nel `cdk.json` file (questo è chiamato di `app-dev-repo` default) per configurare la CI/CD pipeline per l'applicazione.<pre>git clone https://git-codecommit.us-west-2.amazonaws.com/v1/repos/app-dev-repo</pre>dove il nome e la regione del repository dipendono dai valori forniti nel file. `cdk.json` | AWS DevOps | 

### Testa la pipeline
<a name="test-the-pipeline"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Testa la pipeline con le istruzioni di implementazione. | La `CodeDeploy_Files` cartella del repository GitHub [CodePipeline Unsupported Regions](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions) include file di esempio che indicano come distribuire l'applicazione CodeDeploy . Il `appspec.yml` file è un file di CodeDeploy configurazione che contiene gli hook per controllare il flusso di distribuzione delle applicazioni. È possibile utilizzare i file di esempio`index.html`, `start_server.sh``stop_server.sh`, e `install_dependencies.sh` aggiornare un sito Web ospitato su Apache. Questi sono esempi: puoi utilizzare il codice nel GitHub repository per distribuire qualsiasi tipo di applicazione. Quando i file vengono inviati al CodeCommit repository, la pipeline invisibile viene avviata automaticamente. Per i risultati di implementazione, controlla i risultati delle singole fasi nelle console e. CodeBuild CodeDeploy  | AWS DevOps | 

## Risorse correlate
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-resources"></a>
+ [Guida introduttiva](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) (documentazione AWS CDK)
+ [Introduzione al Cloud Development Kit (CDK)](https://catalog.us-east-1.prod.workshops.aws/workshops/5962a836-b214-4fbf-9462-fedba7edcc9b/en-US) (AWS Workshop Studio)
+ [Workshop CDK AWS](https://cdkworkshop.com/)

# Personalizza i nomi dei ruoli predefiniti utilizzando AWS CDK gli aspetti e gli escape hatch
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches"></a>

*SANDEEP SINGH e James Jacob, Amazon Web Services*

## Riepilogo
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-summary"></a>

Questo modello dimostra come personalizzare i nomi predefiniti dei ruoli creati dai costrutti. AWS Cloud Development Kit (AWS CDK) La personalizzazione dei nomi dei ruoli è spesso necessaria se l'organizzazione ha vincoli specifici basati sulle convenzioni di denominazione. Ad esempio, l'organizzazione potrebbe impostare [limiti di autorizzazioni AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) (IAM) o [politiche di controllo dei servizi (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) che richiedono un prefisso specifico nei nomi dei ruoli. In questi casi, i nomi di ruolo predefiniti generati dai AWS CDK costrutti potrebbero non soddisfare queste convenzioni e potrebbero dover essere modificati. [Questo modello soddisfa tali requisiti utilizzando le vie di [fuga e gli aspetti di](https://docs.aws.amazon.com/cdk/v2/guide/cfn-layer.html).](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html) AWS CDK Gli escape hatch vengono utilizzati per definire nomi di ruolo personalizzati e aspetti per applicare un nome personalizzato a tutti i ruoli, in modo da garantire il rispetto delle politiche e dei vincoli dell'organizzazione.

## Prerequisiti e limitazioni
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ [Prerequisiti specificati nella documentazione AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites)

**Limitazioni**
+ Gli aspetti filtrano le risorse in base ai tipi di risorse, quindi tutti i ruoli condividono lo stesso prefisso. Se sono necessari prefissi di ruolo diversi per ruoli diversi, è necessario filtrare ulteriormente in base ad altre proprietà. Ad esempio, per assegnare prefissi diversi ai ruoli associati alle AWS Lambda funzioni, è possibile filtrare per attributi o tag di ruolo specifici e applicare un prefisso per i ruoli relativi a Lambda e un prefisso diverso per altri ruoli.
+ I nomi di ruolo IAM hanno una lunghezza massima di 64 caratteri, pertanto i nomi di ruolo modificati devono essere tagliati per soddisfare questa restrizione.
+ Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità per regione, vedi [Servizi AWS per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta la pagina [Endpoint e quote del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

## Architecture
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-architecture"></a>

**Stack tecnologico Target**
+ AWS CDK
+ AWS CloudFormation

**Architettura di destinazione**

![\[Architettura per l'utilizzo di escape hatch e aspetti per personalizzare i nomi di ruolo assegnati da AWS CDK.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c149d8d2-1da6-4680-ab0b-e5051b69688c/images/15e56ca5-f150-4522-b374-8ee2dcc655a9.png)

+ Un' AWS CDK app è composta da uno o più CloudFormation stack, che vengono sintetizzati e distribuiti per gestire le risorse. AWS 
+ Per modificare una proprietà di una risorsa AWS CDK gestita che non è esposta da un costrutto di livello 2 (L2), utilizzate un escape hatch per sovrascrivere le CloudFormation proprietà sottostanti (in questo caso, il nome del ruolo) e un aspetto per applicare il ruolo a tutte le risorse dell'app durante il processo di sintesi dello stack. AWS CDK AWS CDK 

## Tools (Strumenti)
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-tools"></a>

**Servizi AWS**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html)è un framework di sviluppo software che consente di definire e fornire l'infrastruttura nel codice. Cloud AWS 
+ [AWS CDK Command Line Interface (AWS CDK CLI)](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) (nota anche come AWS CDK Toolkit) è un kit di sviluppo cloud a riga di comando che ti aiuta a interagire con la tua app. AWS CDK Il `cdk` comando CLI è lo strumento principale per interagire con l'app. AWS CDK Esegue l'app, interroga il modello di applicazione definito e produce e distribuisce i CloudFormation modelli generati da. AWS CDK
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ti aiuta a configurare AWS le risorse, a fornirle in modo rapido e coerente e a gestirle durante il loro ciclo di vita in tutte le regioni. Account AWS 

**Archivio di codice**

Il codice sorgente e i modelli per questo pattern sono disponibili nel repository GitHub [CDK Aspects Override](https://github.com/aws-samples/cdk-aspects-override).

## Best practice
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-best-practices"></a>

[Consultate le migliori pratiche per l'utilizzo di AWS CDK in per TypeScript creare progetti IaC](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/introduction.html) sul sito web di Prescriptive Guidance. **AWS **

## Epiche
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-epics"></a>

### Installa la AWS CDK CLI
<a name="install-the-cdk-cli"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa la AWS CDK CLI. | Per installare la AWS CDK CLI a livello globale, esegui il comando:<pre>npm install -g aws-cdk</pre> | AWS DevOps | 
| Verifica la versione. | Eseguire il comando :<pre>cdk --version</pre>Conferma di utilizzare la versione 2 della AWS CDK CLI. | AWS DevOps | 
| Avvia l' AWS CDK ambiente. | Prima di distribuire i CloudFormation modelli, preparate l'account e Regione AWS quello che desiderate utilizzare. Eseguire il comando :<pre>cdk bootstrap <account>/<Region></pre>Per ulteriori informazioni, consulta il [AWS CDK bootstrap nella documentazione](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html). AWS  | AWS DevOps | 

### Implementa l' AWS CDK app per dimostrare l'uso degli aspetti
<a name="deploy-the-cdk-app-to-demonstrate-the-use-of-aspects"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il progetto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.html) | AWS DevOps | 
| Distribuisci stack con nomi di ruolo predefiniti assegnati da. AWS CDK | Implementa due CloudFormation stack (`ExampleStack1`and`ExampleStack2`) che contengono le funzioni Lambda e i ruoli associati:<pre>npm run deploy:ExampleAppWithoutAspects</pre>Il codice non passa esplicitamente le proprietà dei ruoli, quindi i nomi dei ruoli verranno costruiti da. AWS CDKPer un esempio di output, consulta la sezione [Informazioni aggiuntive](#customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional). | AWS DevOps | 
| Implementa stack con aspetti. | In questo passaggio, applichi un aspetto che impone una convenzione sui nomi dei ruoli aggiungendo un prefisso a tutti i ruoli IAM distribuiti nel progetto. AWS CDK L'aspetto è definito nel file. `lib/aspects.ts` L'aspetto utilizza una via di fuga per sovrascrivere il nome del ruolo aggiungendo un prefisso. L'aspetto viene applicato agli stack del file. `bin/app-with-aspects.ts` Il prefisso del nome del ruolo utilizzato in questo esempio è. `dev-unicorn`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.html)Per un esempio di output, consulta la sezione [Informazioni aggiuntive](#customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional). | AWS DevOps | 

### Eseguire la pulizia delle risorse
<a name="clean-up-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Elimina i tuoi AWS CloudFormation stack. | Dopo aver finito di utilizzare questo pattern, esegui il comando seguente per ripulire le risorse ed evitare costi aggiuntivi:<pre>cdk destroy --all -f && cdk --app npx ts-node bin/app-with-aspects.ts' destroy --all -f </pre> | AWS DevOps | 

## risoluzione dei problemi
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Si verificano problemi nell'utilizzo di AWS CDK. | Vedi [Risoluzione dei AWS CDK problemi più comuni](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html) nella AWS CDK documentazione. | 

## Risorse correlate
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-resources"></a>
+ [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/)
+ [AWS CDK documentazione](https://docs.aws.amazon.com/cdk/)
+ [AWS CDK su GitHub](https://github.com/aws/aws-cdk)
+ [boccaporti di fuga](https://docs.aws.amazon.com/cdk/v2/guide/cfn-layer.html)
+ [Aspetti e AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html)

## Informazioni aggiuntive
<a name="customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches-additional"></a>

**Nomi di ruolo creati da CloudFormation without aspects**

```
Outputs:
ExampleStack1WithoutAspects.Function1RoleName = example-stack1-without-as-Function1LambdaFunctionSe-y7FYTY6FXJXA
ExampleStack1WithoutAspects.Function2RoleName = example-stack1-without-as-Function2LambdaFunctionSe-dDZV4rkWqWnI
...

Outputs:
ExampleStack2WithoutAspects.Function3RoleName = example-stack2-without-as-Function3LambdaFunctionSe-ygMv49iTyMq0
```

**Nomi di ruolo creati da CloudFormation con aspetti**

```
Outputs:
ExampleStack1WithAspects.Function1RoleName = dev-unicorn-Function1LambdaFunctionServiceRole783660DC
ExampleStack1WithAspects.Function2RoleName = dev-unicorn-Function2LambdaFunctionServiceRole2C391181
...

Outputs:
ExampleStack2WithAspects.Function3RoleName = dev-unicorn-Function3LambdaFunctionServiceRole4CAA721C
```

# Implementa un cluster Cassandra su Amazon EC2 con dati statici privati IPs per evitare il ribilanciamento
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing"></a>

*Dipin Jain, Amazon Web Services*

## Riepilogo
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-summary"></a>

L'IP privato di un'istanza Amazon Elastic Compute Cloud (Amazon EC2) viene mantenuto per tutto il suo ciclo di vita. Tuttavia, l'IP privato potrebbe cambiare durante un arresto anomalo del sistema pianificato o non pianificato, ad esempio durante un aggiornamento di Amazon Machine Image (AMI). In alcuni scenari, il mantenimento di un IP statico privato può migliorare le prestazioni e i tempi di ripristino dei carichi di lavoro. Ad esempio, l'utilizzo di un IP statico per un nodo iniziale di Apache Cassandra impedisce al cluster di incorrere in un sovraccarico di ribilanciamento. 

Questo modello descrive come collegare un'interfaccia elastica di rete secondaria alle EC2 istanze per mantenere l'IP statico durante il rehosting. Il modello si concentra sui cluster Cassandra, ma è possibile utilizzare questa implementazione per qualsiasi architettura che tragga vantaggio dalla staticità privata. IPs

## Prerequisiti e limitazioni
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-prereqs"></a>

**Prerequisiti**
+ Un account Amazon Web Service (AWS) attivo

**Versioni del prodotto**
+ DataStax versione 5.11.1
+ Sistema operativo: Ubuntu 16.04.6 LTS

## Architecture
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-architecture"></a>

**Architettura di origine**

La fonte potrebbe essere un cluster Cassandra su una macchina virtuale (VM) locale o su EC2 istanze nel cloud AWS. Il diagramma seguente illustra il secondo scenario. Questo esempio include quattro nodi del cluster: tre nodi iniziali e un nodo di gestione. Nell'architettura di origine, ogni nodo ha una singola interfaccia di rete collegata.

![\[Quattro nodi di EC2 cluster Amazon, ciascuno con un'unica interfaccia di rete collegata.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/47ca4dbc-0922-4e65-b66c-4db5122fc4ac/images/5d80cfc9-4b72-4c72-aefd-b77cc0fb58e3.png)


**Architettura Target**

Il cluster di destinazione è ospitato su EC2 istanze con un'interfaccia elastica di rete secondaria collegata a ciascun nodo, come illustrato nel diagramma seguente.

![\[Quattro nodi di EC2 cluster Amazon, ciascuno con un'interfaccia elastica di rete secondaria collegata.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/47ca4dbc-0922-4e65-b66c-4db5122fc4ac/images/d1e22017-f041-426b-9204-31ac158a407d.png)


**Automazione e scalabilità**

Puoi anche automatizzare il collegamento di una seconda interfaccia di rete elastica a un gruppo di Auto EC2 Scaling, come descritto in un video dell'[AWS](https://www.youtube.com/watch?v=RmwGYXchb4E) Knowledge Center.

## Epiche
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-epics"></a>

### Configura un cluster Cassandra su Amazon EC2
<a name="configure-a-cassandra-cluster-on-amazon-ec2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia EC2 nodi per ospitare un cluster Cassandra. | Sulla [ EC2 console Amazon](https://console.aws.amazon.com/ec2/), avvia quattro EC2 istanze per i tuoi nodi Ubuntu nel tuo account AWS. Tre nodi (seed) vengono utilizzati per il cluster Cassandra e il quarto nodo funge da nodo di gestione del cluster in cui installerai DataStax Enterprise (DSE). OpsCenter Per istruzioni, consulta la [ EC2 documentazione di Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance). | Tecnico del cloud | 
| Conferma le comunicazioni tra i nodi. | Assicurati che i quattro nodi possano comunicare tra loro tramite le porte di gestione del database e del cluster. | Ingegnere di rete | 
| Installa DSE OpsCenter sul nodo di gestione. | Installa DSE OpsCenter 6.1 dal pacchetto Debian sul nodo di gestione. [Per le istruzioni, consultate la documentazione. DataStax ](https://docs.datastax.com/en/opscenter/6.1/opsc/install/opscInstallDeb_t.html) | DBA | 
| Crea un'interfaccia di rete secondaria. | Cassandra genera un identificatore univoco universale (UUID) per ogni nodo in base all'indirizzo IP dell' EC2 istanza di quel nodo. Questo UUID viene utilizzato per distribuire nodi virtuali (vnodes) sull'anello. Quando Cassandra viene distribuito su EC2 istanze, gli indirizzi IP vengono assegnati automaticamente alle istanze man mano che vengono create.  In caso di interruzione pianificata o non pianificata, l'indirizzo IP della nuova EC2 istanza cambia, la distribuzione dei dati cambia e l'intero anello deve essere ribilanciato. Questo non è auspicabile. Per conservare l'indirizzo IP assegnato, utilizza un'[interfaccia elastica di rete secondaria](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#scenarios-enis) con un indirizzo IP fisso.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.html)Per ulteriori informazioni sulla creazione di un'interfaccia di rete, consulta la [ EC2 documentazione di Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#create_eni). | Tecnico del cloud | 
| Collega l'interfaccia di rete secondaria ai nodi del cluster. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.html)Per ulteriori informazioni sul collegamento di un'interfaccia di rete, consulta la [ EC2 documentazione di Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#attach_eni). | Ingegnere del cloud | 
| Aggiungi percorsi in Amazon EC2 per risolvere il problema del routing asimmetrico.  | Quando colleghi la seconda interfaccia di rete, è molto probabile che la rete esegua un routing asimmetrico. Per evitare ciò, è possibile aggiungere percorsi per le nuove interfacce di rete.*Per una spiegazione approfondita e la correzione del routing asimmetrico, guarda il video dell'[AWS Knowledge Center](https://www.youtube.com/watch?v=RmwGYXchb4E) [o Overcoming Asymmetric Routing on Multi-Home Servers](http://www.linuxjournal.com/article/7291) (articolo nel Linux Journal di Patrick, 5 aprile 2004).* McManus | Ingegnere di rete | 
| Aggiorna le voci DNS in modo che puntino all'IP dell'interfaccia di rete secondaria. | Indirizza il nome di dominio completo (FQDN) del nodo all'IP dell'interfaccia di rete secondaria. | Ingegnere di rete | 
| Installa e configura il cluster Cassandra utilizzando OpsCenter DSE. | Quando i nodi del cluster sono pronti con le interfacce di rete secondarie, puoi installare e configurare il cluster Cassandra. | DBA | 

### Ripristina il cluster da un guasto del nodo
<a name="recover-cluster-from-node-failure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un AMI per il nodo seed del cluster. | Effettua un backup dei nodi in modo da poterli ripristinare con i file binari del database in caso di errore del nodo. Per istruzioni, consulta [Creare un'AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami.html) nella EC2 documentazione di Amazon. | Amministratore di backup | 
| Ripristina in caso di guasto del nodo. | Sostituisci il nodo guasto con una nuova EC2 istanza lanciata dall'AMI e collega l'interfaccia di rete secondaria del nodo guasto. | Amministratore di backup | 
| Verifica che il cluster Cassandra sia integro. | Quando il nodo sostitutivo è attivo, verifica lo stato del cluster in OpsCenter DSE. | DBA | 

## Risorse correlate
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-resources"></a>
+ [Installazione di DSE OpsCenter 6.1 dal pacchetto Debian](https://docs.datastax.com/en/opscenter/6.1/opsc/install/opscInstallDeb_t.html) (documentazione) DataStax 
+ [Come far funzionare un'interfaccia di rete secondaria in un' EC2 istanza di Ubuntu](https://www.youtube.com/watch?v=RmwGYXchb4E) (video AWS Knowledge Center)
+ [Best practice per l'esecuzione di Apache Cassandra su Amazon](https://aws.amazon.com/blogs/big-data/best-practices-for-running-apache-cassandra-on-amazon-ec2/) (post sul blog EC2 AWS)

# Estendi VRFs ad AWS utilizzando AWS Transit Gateway Connect
<a name="extend-vrfs-to-aws-by-using-aws-transit-gateway-connect"></a>

*Adam Till, Yashar Araghi, Vikas Dewangan e Mohideen, Amazon Web Services HajaMohideen*

## Riepilogo
<a name="extend-vrfs-to-aws-by-using-aws-transit-gateway-connect-summary"></a>

Il routing e l'inoltro virtuali (VRF) sono una funzionalità delle reti tradizionali. Utilizza domini di routing logico isolati, sotto forma di tabelle di routing, per separare il traffico di rete all'interno della stessa infrastruttura fisica. Puoi configurare AWS Transit Gateway per supportare l'isolamento VRF quando connetti la tua rete locale ad AWS. Questo modello utilizza un'architettura di esempio per connettere gli ambienti locali VRFs a diverse tabelle di routing dei gateway di transito.

Questo modello utilizza interfacce virtuali di transito (VIFs) in AWS Direct Connect e gli allegati Transit Gateway Connect per estendere il. VRFs Un [VIF di transito](https://docs.aws.amazon.com/directconnect/latest/UserGuide/WorkingWithVirtualInterfaces.html) viene utilizzato per accedere a uno o più gateway di transito Amazon VPC associati ai gateway Direct Connect. Un [allegato Transit Gateway Connect](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html) collega un gateway di transito con un'appliance virtuale di terze parti in esecuzione in un VPC. Un allegato Transit Gateway Connect supporta il protocollo di tunnel Generic Routing Encapsulation (GRE) per prestazioni elevate e supporta il Border Gateway Protocol (BGP) per il routing dinamico.

L'approccio descritto in questo modello presenta i seguenti vantaggi:
+ Utilizzando Transit Gateway Connect, puoi pubblicizzare fino a 1.000 rotte sul peer Transit Gateway Connect e ricevere fino a 5.000 rotte da esso. L'utilizzo della funzionalità VIF di transito Direct Connect senza Transit Gateway Connect è limitato a 20 prefissi per gateway di transito.
+ Puoi mantenere l'isolamento del traffico e utilizzare Transit Gateway Connect per fornire servizi ospitati su AWS, indipendentemente dagli schemi di indirizzi IP utilizzati dai tuoi clienti.
+ Il traffico VRF non deve necessariamente attraversare un'interfaccia virtuale pubblica. Ciò semplifica il rispetto dei requisiti di conformità e sicurezza in molte organizzazioni.
+ Ogni tunnel GRE supporta fino a 5 Gbps e puoi avere fino a quattro tunnel GRE per ogni collegamento Connect del gateway di transito. È più veloce di molti altri tipi di connessione, come le connessioni AWS Site-to-Site VPN che supportano fino a 1,25 Gbps.

## Prerequisiti e limitazioni
<a name="extend-vrfs-to-aws-by-using-aws-transit-gateway-connect-prereqs"></a>

**Prerequisiti**
+ Gli account AWS richiesti sono stati creati (consulta l'architettura per i dettagli)
+ Autorizzazioni per assumere un ruolo AWS Identity and Access Management (IAM) in ogni account.
+ I ruoli IAM in ogni account devono disporre delle autorizzazioni per effettuare il provisioning delle risorse AWS Transit Gateway e AWS Direct Connect. Per ulteriori informazioni, consulta [Autenticazione e controllo degli accessi per i gateway di transito](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-authentication-access-control.html) e Vedi [Gestione delle identità e degli accessi per Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/security-iam.html).
+ Le connessioni Direct Connect sono state create correttamente. Per ulteriori informazioni, vedere [Creare una connessione utilizzando la procedura guidata di connessione](https://docs.aws.amazon.com/directconnect/latest/UserGuide/dedicated_connection.html#create-connection).

**Limitazioni**
+ Esistono dei limiti per gli allegati del gateway di transito VPCs agli account di produzione, controllo qualità e sviluppo. Per ulteriori informazioni, consulta [Transit gateway attachments to a VPC.](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpc-attachments.html)
+ Esistono dei limiti per la creazione e l'utilizzo di gateway Direct Connect. Per ulteriori informazioni, consulta le [quote di AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/limits.html).

## Architecture
<a name="extend-vrfs-to-aws-by-using-aws-transit-gateway-connect-architecture"></a>

**Architettura Target**

La seguente architettura di esempio fornisce una soluzione riutilizzabile per implementare il transito VIFs con gli allegati Transit Gateway Connect. Questa architettura offre resilienza utilizzando più postazioni Direct Connect. Per ulteriori informazioni, consulta [Resilienza massima](https://docs.aws.amazon.com/directconnect/latest/UserGuide/maximum_resiliency.html) nella documentazione di Direct Connect. La rete locale prevede produzione, controllo qualità e sviluppo VRFs estesi ad AWS e isolati utilizzando tabelle di routing dedicate.

![\[Diagramma dell'architettura di utilizzo delle risorse AWS Direct Connect e AWS Transit Gateway per l'estensione VRFs\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/db17e177-6c94-4d81-ab39-0923ecab2f1b/images/10be0625-8574-40eb-bc00-bb0a07d0dc26.png)


Nell'ambiente AWS, due account sono dedicati all'estensione di VRFs: un account *Direct Connect e un account* *hub di rete*. L'account Direct Connect contiene la connessione e il transito VIFs per ogni router. I transiti vengono creati VIFs dall'account Direct Connect ma li si distribuisce all'account dell'hub di rete in modo da poterli associare al gateway Direct Connect nell'account dell'hub di rete. L'account dell'hub di rete contiene il gateway Direct Connect e il gateway di transito. Le risorse AWS sono collegate come segue:

1. Transit VIFs collega i router nelle sedi Direct Connect con AWS Direct Connect nell'account Direct Connect.

1. Un transito VIF collega Direct Connect al gateway Direct Connect nell'account dell'hub di rete.

1. Un'[associazione di gateway di transito](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-transit-gateways.html) collega il gateway Direct Connect con il gateway di transito nell'account dell'hub di rete.

1. [Gli allegati Transit gateway Connect](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html) collegano il gateway di transito con gli account di produzione, controllo qualità e sviluppo. VPCs 

*Architettura Transit VIF*

Il diagramma seguente mostra i dettagli di configurazione per il transito. VIFs Questa architettura di esempio utilizza una VLAN per la sorgente del tunnel, ma è possibile utilizzare anche un loopback.

![\[Dettagli di configurazione per le connessioni VIF di transito tra i router e AWS Direct Connect\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/db17e177-6c94-4d81-ab39-0923ecab2f1b/images/e88d2546-61ef-4531-972b-089cdf44ed67.png)


Di seguito sono riportati i dettagli di configurazione, come i numeri di sistema autonomi (ASNs), per il transito. VIFs


| 
| 
| Risorsa | Elemento | Dettaglio | 
| --- |--- |--- |
| router-01 | ASN | 65534 | 
| router-02 | ASN | 65534 | 
| router-03 | ASN | 65534 | 
| router-04 | ASN | 65534 | 
| Gateway Direct Connect | ASN | 64601 | 
| Transit Gateway | ASN | 64600 | 
| blocco CIDR | 10,100254,0/24 | 

*Architettura Transit gateway Connect*

Il diagramma e le tabelle seguenti descrivono come configurare un singolo VRF tramite un allegato Transit Gateway Connect. Inoltre VRFs, assegna tunnel, gateway di transito IDs, indirizzi IP GRE e BGP univoci all'interno dei blocchi CIDR. L'indirizzo IP GRE peer corrisponde all'indirizzo IP peer del router dal VIF di transito.

![\[Dettagli di configurazione per i tunnel GRE tra i router e il gateway di transito\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/db17e177-6c94-4d81-ab39-0923ecab2f1b/images/e58278e1-f3b4-442d-95d9-1dafab4aa5ac.png)


La tabella seguente contiene i dettagli di configurazione del router.


| 
| 
| Router | Tunnel | IP address (Indirizzo IP) | Origine | Destinazione | 
| --- |--- |--- |--- |--- |
| router-01 | Tunnel 1 | 169,254,101,17 | VLAN 60169,254,1001 | 10,100,254,1 | 
| router-02 | Tunnel 11 | 169,254,101,81 | VLAN 61169,254,100,5 | 10,100254,11 | 
| router-03 | Tunnel 21 | 169,254,101,145 | VLAN 62169,254,100,9 | 10,100254,21 | 
| router-04 | Tunnel 31 | 169,254,101,209 | VLAN 63169,254,100,13 | 10,100254,31 | 

La tabella seguente contiene i dettagli di configurazione del gateway di transito.


| 
| 
| Tunnel | Indirizzo IP GRE del gateway di transito | Indirizzo IP GRE peer | BGP all'interno dei blocchi CIDR | 
| --- |--- |--- |--- |
| Tunnel 1 | 10.100.254,1 | VLAN 60169,254,1001 | 169,254,101,16/29 | 
| Tunnel 11 | 10.100.254,11 | VLAN 61169,254,100,5 | 169,254,101,80/29 | 
| Tunnel 21 | 10.100.254,21 | VLAN 62169,254,100,9 | 169,254,101,144/29 | 
| Tunnel 31 | 10.100.254,31 | VLAN 63169,254,100,13 | 169,254,101,208/29 | 

**Distribuzione**

La sezione [Epics](#extend-vrfs-to-aws-by-using-aws-transit-gateway-connect-epics) descrive come implementare una configurazione di esempio per un singolo VRF su più router clienti.**** Una volta completati i passaggi da 1 a 5, puoi creare nuovi allegati Transit Gateway Connect utilizzando i passaggi 6—7 per ogni nuovo VRF che stai estendendo in AWS:

1. Crea il gateway di transito.

1. Crea una tabella di routing Transit Gateway per ogni VRF.

1. Crea le interfacce virtuali di transito.

1. Crea il gateway Direct Connect.

1. Crea l'interfaccia virtuale del gateway Direct Connect e le associazioni dei gateway con prefissi consentiti.

1. Crea l'allegato Transit Gateway Connect.

1. Crea i peer Transit Gateway Connect.

1. Associate l'allegato Transit Gateway Connect alla tabella delle rotte.

1. Pubblicizza i percorsi verso i router.

## Tools (Strumenti)
<a name="extend-vrfs-to-aws-by-using-aws-transit-gateway-connect-tools"></a>

**Servizi AWS**
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) collega la rete interna a una posizione Direct Connect tramite un cavo Ethernet standard in fibra ottica. Con questa connessione, puoi creare interfacce virtuali direttamente ai servizi AWS pubblici bypassando i provider di servizi Internet nel tuo percorso di rete.
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) è un hub centrale che collega cloud privati virtuali (VPCs) e reti locali.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare le risorse AWS in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di AWS.

## Epiche
<a name="extend-vrfs-to-aws-by-using-aws-transit-gateway-connect-epics"></a>

### Pianifica l'architettura
<a name="plan-the-architecture"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea diagrammi di architettura personalizzati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Architetto cloud, amministratore di rete | 

### Creare le risorse Transit Gateway
<a name="create-the-transit-gateway-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il gateway di transito. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Amministratore di rete, architetto del cloud | 
| Crea la tabella delle rotte del gateway di transito. | Segui le istruzioni riportate in [Creare una tabella di routing del gateway di transito](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-route-tables.html#create-tgw-route-table). Per questo modello, tenete presente quanto segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Architetto del cloud, amministratore di rete | 

### Crea le interfacce virtuali di transito
<a name="create-the-transit-virtual-interfaces"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea le interfacce virtuali di transito. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Architetto del cloud, amministratore di rete | 

### Crea le risorse Direct Connect
<a name="create-the-direct-connect-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un gateway Direct Connect. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Architetto del cloud, amministratore di rete | 
| Collega il gateway Direct Connect al transito VIFs. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Architetto del cloud, amministratore di rete | 
| Crea le associazioni del gateway Direct Connect con i prefissi consentiti. | Nell'account dell'hub di rete, segui le istruzioni in [Per associare un gateway di transito](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-transit-gateways.html#associate-tgw-with-direct-connect-gateway). Per questo modello, tenete presente quanto segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html)La creazione di questa associazione crea automaticamente un allegato Transit Gateway con un tipo di risorsa Direct Connect Gateway. Non è necessario che questo allegato sia associato a una tabella di routing del gateway di transito. | Architetto del cloud, amministratore di rete | 
| Crea l'allegato Transit Gateway Connect. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Architetto del cloud, amministratore di rete | 
| Crea i peer Transit Gateway Connect. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) |  | 

### Pubblicizza i percorsi verso i router
<a name="advertise-routes-to-the-routers"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Pubblicizza i percorsi. | Associate il nuovo allegato Transit Gateway Connect alla tabella di routing creata in precedenza per questo VRF. Ad esempio, associate l'allegato Connect del gateway di transito di produzione alla tabella delle `Production-VRF` rotte.Create una route statica per il prefisso che viene pubblicizzato ai router.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/extend-vrfs-to-aws-by-using-aws-transit-gateway-connect.html) | Amministratore di rete, architetto del cloud | 

## Risorse correlate
<a name="extend-vrfs-to-aws-by-using-aws-transit-gateway-connect-resources"></a>

**Documentazione AWS**
+ Documentazione Direct Connect
  + [Working with Direct Connect gateways](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-gateways.html)
  + [Associazioni di gateway di transito](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-transit-gateways.html)
  + [Interfacce virtuali AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/WorkingWithVirtualInterfaces.html)
+ Documentazione Transit Gateway
  + [Lavorare con i gateway di transito](https://docs.aws.amazon.com/vpc/latest/tgw/working-with-transit-gateways.html)
  + [Collegamenti del gateway di transito a un gateway Direct Connect](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-dcg-attachments.html)
  + [Allegati Transit Gateway Connect e peer Transit Gateway Connect](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html)
  + [Creare un gateway di transito (allegato Connect)](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html#create-tgw-connect-attachment)

**Post sul blog di AWS**
+ [Segmentazione delle reti ibride con AWS Transit Gateway connect](https://aws.amazon.com/blogs/networking-and-content-delivery/segmenting-hybrid-networks-with-aws-transit-gateway-connect/)
+ [Utilizzando AWS Transit Gateway, connettiti per estendere VRFs e aumentare la pubblicità con prefisso IP](https://aws.amazon.com/blogs/networking-and-content-delivery/using-aws-transit-gateway-connect-to-extend-vrfs-and-increase-ip-prefix-advertisement/)

## Allegati
<a name="attachments-db17e177-6c94-4d81-ab39-0923ecab2f1b"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/db17e177-6c94-4d81-ab39-0923ecab2f1b/attachments/attachment.zip)

# Ricevi notifiche Amazon SNS quando lo stato chiave di una chiave AWS KMS cambia
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes"></a>

*Shubham Harsora, Aromal Raj Jayarajan e Navdeep Pareek, Amazon Web Services*

## Riepilogo
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes-summary"></a>

I dati e i metadati associati a una chiave AWS Key Management Service (AWS KMS) vengono persi quando tale chiave viene eliminata. L'eliminazione è irreversibile e non è possibile recuperare i dati persi (compresi i dati crittografati). Puoi prevenire la perdita di dati configurando un sistema di notifica per avvisarti delle modifiche allo stato [chiave delle tue chiavi](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html#key-state-cmk-type) AWS KMS.

Questo modello mostra come monitorare le modifiche di stato delle chiavi AWS KMS utilizzando Amazon e Amazon Simple Notification Service ( EventBridge Amazon SNS) per emettere notifiche automatiche ogni volta che lo stato chiave di una chiave AWS KMS cambia in o. `Disabled` `PendingDeletion` Ad esempio, se un utente tenta di disabilitare o eliminare una chiave AWS KMS, riceverai una notifica e-mail con i dettagli sul tentativo di modifica dello stato. Puoi utilizzare questo schema anche per pianificare l'eliminazione delle chiavi AWS KMS.

## Prerequisiti e limitazioni
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo con un utente AWS Identity and Access Management (IAM)
+ Una chiave [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html)

## Architecture
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes-architecture"></a>

**Stack tecnologico**
+ Amazon EventBridge
+ AWS Key Management Service (AWS KMS)
+ Amazon Simple Notification Service (Amazon SNS)

**Architettura Target**

Il diagramma seguente mostra un'architettura per la creazione di un processo di monitoraggio e notifica automatizzato per rilevare eventuali modifiche allo stato di una chiave AWS KMS.

![\[Architettura per la creazione di un processo di monitoraggio e notifica automatizzato\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/2534df87-a6fd-4360-9b5d-4a8b1f533de3/images/0cb6a6b0-405b-4d26-ad04-2067176aa086.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Un utente disabilita o pianifica l'eliminazione di una chiave AWS KMS.

1. Una EventBridge regola valuta il programma o l'evento`Disabled`. `PendingDeletion`

1. La EventBridge regola richiama l'argomento Amazon SNS.

1. Amazon SNS invia un messaggio di notifica e-mail agli utenti.

**Nota**  
Puoi personalizzare il messaggio e-mail per soddisfare le esigenze della tua organizzazione. Consigliamo di includere informazioni sulle entità in cui viene utilizzata la chiave AWS KMS. Questo può aiutare gli utenti a comprendere l'impatto dell'eliminazione della chiave AWS KMS. Puoi anche pianificare una notifica e-mail di promemoria da inviare uno o due giorni prima dell'eliminazione della chiave AWS KMS.

**Automazione e scalabilità**

Lo CloudFormation stack AWS distribuisce tutte le risorse e i servizi necessari per il funzionamento di questo modello. Puoi implementare il modello in modo indipendente in un singolo account o utilizzando [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) per più account o [unità organizzative](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html) indipendenti in AWS Organizations.

## Tools (Strumenti)
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes-tools"></a>
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) ti CloudFormation aiuta a configurare le risorse AWS, effettuarne il provisioning in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita su account AWS e regioni AWS. Il CloudFormation modello per questo modello descrive tutte le risorse AWS che desideri, effettua il CloudFormation provisioning e configura tali risorse per te.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) è un servizio di bus eventi senza server che ti aiuta a connettere le tue applicazioni con dati in tempo reale provenienti da una varietà di fonti. EventBridge fornisce un flusso di dati in tempo reale dalle tue applicazioni e dai servizi AWS e indirizza tali dati verso obiettivi come AWS Lambda. EventBridge semplifica il processo di creazione di architetture basate sugli eventi.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.

**Codice**

Il codice per questo modello è disponibile nell'archivio GitHub [Monitor AWS KMS keys disable and scheduled delete.](https://github.com/aws-samples/aws-kms-deletion-notification)

## Epiche
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes-epics"></a>

### Implementa il modello CloudFormation
<a name="deploy-the-cloudformation-template"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clonare il repository. | Clona l'archivio GitHub [Monitor AWS KMS keys, disable and scheduled delete](https://github.com/aws-samples/aws-kms-deletion-notification) repository sul tuo computer locale eseguendo il seguente comando:`git clone https://github.com/aws-samples/aws-kms-deletion-notification` | Amministratore AWS, architetto cloud | 
| Aggiorna i parametri del modello. | In un editor di codice, apri il `Alerting-KMS-Events.yaml` CloudFormation modello che hai clonato dal repository, quindi aggiorna i seguenti parametri:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes.html) | Amministratore AWS, architetto cloud | 
| Implementa il CloudFormation modello. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes.html) | Amministratore AWS, architetto cloud | 

### Confermare la sottoscrizione
<a name="confirm-the-subscription"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Conferma l'email di iscrizione. | Dopo la corretta implementazione del CloudFormation modello, Amazon SNS invia un messaggio di conferma dell'abbonamento all'indirizzo e-mail fornito nel CloudFormation modello.Per ricevere notifiche, devi confermare questa sottoscrizione e-mail. Per ulteriori informazioni, consulta [Confermare l'abbonamento](https://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.confirm.html) nella Amazon SNS Developer Guide. | Amministratore AWS, architetto cloud | 

### Prova la notifica di sottoscrizione
<a name="test-the-subscription-notification"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Disabilita le chiavi AWS KMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes.html) | Amministratore AWS | 
| Convalida l'abbonamento. | Conferma di aver ricevuto l'e-mail di notifica di Amazon SNS. | Amministratore AWS | 

### Eseguire la pulizia delle risorse
<a name="clean-up-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Elimina lo CloudFormation stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes.html) | Amministratore AWS | 

## Risorse correlate
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes-resources"></a>
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/) (documentazione AWS)
+ [Creazione di uno stack sulla CloudFormation console AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) ( CloudFormation documentazione AWS)
+ [Creazione di architetture basate sugli eventi in AWS (documentazione di AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/63320e83-6abc-493d-83d8-f822584fb3cb/en-US) Workshop Studio)
+ [Best practice di AWS Key Management Service](https://d1.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) (Whitepaper di AWS)
+ [Best practice di sicurezza per AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) (AWS KMS Developer Guide)

## Informazioni aggiuntive
<a name="get-amazon-sns-notifications-when-the-key-state-of-an-aws-kms-key-changes-additional"></a>

Amazon SNS fornisce la crittografia in transito per impostazione predefinita. Per allinearti alle best practice di sicurezza, puoi anche abilitare la crittografia lato server per Amazon SNS utilizzando una chiave gestita dal cliente AWS KMS.

# Conserva lo spazio IP instradabile nei progetti VPC multi-account per sottoreti non destinate ai carichi di lavoro
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets"></a>

*Adam Spicer, Amazon Web Services*

## Riepilogo
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-summary"></a>

Amazon Web Services (AWS) ha pubblicato delle best practice che consigliano l'uso di sottoreti dedicate in un cloud privato virtuale (VPC) sia per [gli allegati del gateway di transito](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-best-design-practices.html) che per gli [endpoint Gateway Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/getting-started.html) (per supportare AWS [Network](https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-high-level-steps.html) Firewall o appliance di terze parti). Queste sottoreti vengono utilizzate per contenere interfacce di rete elastiche per questi servizi. Se utilizzi sia AWS Transit Gateway che un Gateway Load Balancer, vengono create due sottoreti in ciascuna zona di disponibilità per il VPC. A causa del modo in cui VPCs sono progettate, queste sottoreti aggiuntive [non possono essere più piccole di una maschera /28](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-sizing) e possono consumare prezioso spazio IP instradabile che potrebbe altrimenti essere utilizzato per carichi di lavoro instradabili. Questo modello dimostra come è possibile utilizzare un intervallo CIDR (Classless Inter-Domain Routing) secondario e non routabile per queste sottoreti dedicate per preservare lo spazio IP instradabile.

## Prerequisiti e limitazioni
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-prereqs"></a>

**Prerequisiti**
+ [Strategia multi-VPC per spazio IP](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) instradabile
+ [Una gamma CIDR non instradabile per i servizi che stai utilizzando ([allegati del gateway di transito](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-best-design-practices.html) e endpoint Gateway Load [Balancer o](https://aws.amazon.com/blogs/apn/centralized-traffic-inspection-with-gateway-load-balancer-on-aws/) Network Firewall)](https://aws.amazon.com/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/)

## Architecture
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-architecture"></a>

**Architettura Target**

Questo modello include due architetture di riferimento: un'architettura ha sottoreti per gli allegati Transit Gateway (TGW) e un endpoint Gateway Load Balancer (GWLBe), mentre la seconda architettura ha sottoreti solo per gli allegati TGW.

**Architettura 1 ‒ VPC collegato a TGW con routing di ingresso verso un dispositivo**

Il diagramma seguente rappresenta un'architettura di riferimento per un VPC che si estende su due zone di disponibilità. [In ingresso, il VPC utilizza [uno schema di routing in ingresso per indirizzare il traffico destinato alla sottorete pubblica verso un'](https://aws.amazon.com/blogs/aws/new-vpc-ingress-routing-simplifying-integration-of-third-party-appliances/)appliance per l'ispezione del firewall. bump-in-the-wire ](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-gateway-load-balancer-supported-architecture-patterns/) Un allegato TGW supporta l'uscita dalle sottoreti private verso un VPC separato.

Questo modello utilizza un intervallo CIDR non instradabile per la sottorete e la sottorete degli allegati TGW. GWLBe Nella tabella di routing TGW, questo CIDR non routabile è configurato con una route blackhole (statica) utilizzando una serie di rotte più specifiche. Se le rotte dovessero essere propagate alla tabella di routing TGW, si applicherebbero queste rotte blackhole più specifiche.

In questo esempio, il CIDR instradabile /23 è suddiviso e completamente allocato a sottoreti instradabili.

![\[VPC collegato a TGW con routing di ingresso verso un dispositivo.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/0171d91d-ab1e-41ca-a425-1e6e610080e1/images/adad1c83-cdc2-4c5e-aa35-f47fc31af384.png)


**Architettura 2 — VPC collegato a TGW**

Il diagramma seguente rappresenta un'altra architettura di riferimento per un VPC che si estende su due zone di disponibilità. Un allegato TGW supporta il traffico in uscita (uscita) dalle sottoreti private verso un VPC separato. Utilizza un intervallo CIDR non instradabile solo per la sottorete degli allegati TGW. Nella tabella di routing TGW, questo CIDR non instradabile è configurato con una route blackhole utilizzando una serie di rotte più specifiche. Se le rotte dovessero essere propagate alla tabella di routing TGW, si applicherebbero queste rotte blackhole più specifiche.

In questo esempio, il CIDR instradabile /23 è suddiviso e completamente allocato a sottoreti instradabili. 

![\[VPC si estende su 2 zone di disponibilità con attacco TGW per l'uscita da sottoreti private a VPC separato.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/0171d91d-ab1e-41ca-a425-1e6e610080e1/images/31a2a241-5be6-425e-93e9-5ff7ffeca3a9.png)


## Tools (Strumenti)
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-tools"></a>

**Servizi e risorse AWS**
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare le risorse AWS in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di AWS. In questo modello, i VPC secondari CIDRs vengono utilizzati per preservare lo spazio IP instradabile nel carico di lavoro. CIDRs
+ L'[Internet Gateway Ingress Routing](https://aws.amazon.com/blogs/aws/new-vpc-ingress-routing-simplifying-integration-of-third-party-appliances/) (associazioni edge) può essere utilizzato insieme agli endpoint Gateway Load Balancer per sottoreti dedicate non instradabili.
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) è un hub centrale che collega reti locali VPCs e internazionali. In questo modello, VPCs sono collegati centralmente a un gateway di transito e gli allegati del gateway di transito si trovano in una sottorete dedicata non instradabile.
+ [Gateway Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html): consentono di implementare, dimensionare e gestire appliance virtuali, come firewall, sistemi di prevenzione e rilevamento delle intrusioni e sistemi di ispezione approfondita dei pacchetti. Il gateway funge da unico punto di ingresso e uscita per tutto il traffico. In questo modello, gli endpoint per un Gateway Load Balancer possono essere utilizzati in una sottorete dedicata non routabile.
+ [AWS Network Firewall è un firewall](https://docs.aws.amazon.com/network-firewall/latest/developerguide/what-is-aws-network-firewall.html) di rete a stato gestito e un servizio di rilevamento e prevenzione delle intrusioni VPCs nel cloud AWS. In questo modello, gli endpoint di un firewall possono essere utilizzati in una sottorete dedicata non routabile.

**Archivio di codice**

Un runbook e CloudFormation modelli AWS per questo pattern sono disponibili nel repository GitHub [Non-Routable Secondary CIDR](https://github.com/aws-samples/non-routable-secondary-vpc-cidr-patterns/) Patterns. Puoi utilizzare i file di esempio per configurare un laboratorio di lavoro nel tuo ambiente.

## Best practice
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-best-practices"></a>

**AWS Transit Gateway**
+ Utilizza una sottorete separata per ogni allegato VPC del gateway di transito.
+ Alloca una sottorete /28 dall'intervallo CIDR secondario non routabile per le sottoreti allegate del gateway di transito.
+ In ogni tabella di routing del gateway di transito, aggiungi una route statica e più specifica per l'intervallo CIDR non instradabile come buco nero.

**Gateway Load Balancer e routing in ingresso**
+ Utilizza il routing in ingresso per indirizzare il traffico da Internet agli endpoint Gateway Load Balancer.
+ Utilizza una sottorete separata per ogni endpoint Gateway Load Balancer.
+ Alloca una sottorete /28 dall'intervallo CIDR secondario non instradabile per le sottoreti degli endpoint Gateway Load Balancer.

## Epiche
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-epics"></a>

### Crea VPCs
<a name="create-vpcs"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Determina l'intervallo CIDR non instradabile. | Determina un intervallo CIDR non instradabile che verrà utilizzato per la sottorete degli allegati del gateway di transito e (facoltativamente) per qualsiasi sottorete endpoint Gateway Load Balancer o Network Firewall. Questo intervallo CIDR verrà utilizzato come CIDR secondario per il VPC. **Non deve essere instradabile** dall'intervallo CIDR primario del VPC o dalla rete più ampia. | Architetto del cloud | 
| Determina gli intervalli CIDR instradabili per. VPCs | Determina un set di intervalli CIDR instradabili che verranno utilizzati per il tuo. VPCs Questo intervallo CIDR verrà utilizzato come CIDR principale per il tuo. VPCs | Architetto del cloud | 
| Crea VPCs. | Crea i tuoi VPCs e collegali al gateway di transito. Ogni VPC deve avere un intervallo CIDR primario instradabile e un intervallo CIDR secondario non instradabile, in base agli intervalli determinati nei due passaggi precedenti. | Architetto del cloud | 

### Configura i percorsi blackhole del Transit Gateway
<a name="configure-transit-gateway-blackhole-routes"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea buchi neri più specifici e non CIDRs instradabili. | Ogni tabella di routing del gateway di transito deve disporre di una serie di percorsi blackhole creati per i percorsi non instradabili. CIDRs Questi sono configurati per garantire che il traffico proveniente dal CIDR VPC secondario rimanga non instradabile e non si disperda nella rete più grande. Questi percorsi devono essere più specifici del CIDR non routabile impostato come CIDR secondario sul VPC. Ad esempio, se il CIDR secondario non routabile è 100.64.0.0/26, le rotte dei buchi neri nella tabella di routing del gateway di transito devono essere 100.64.0.0/27 e 100.64.0.32/27. | Architetto del cloud | 

## Risorse correlate
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-resources"></a>
+ [Best practices for deploying Gateway Load Balancer](https://aws.amazon.com/blogs/networking-and-content-delivery/best-practices-for-deploying-gateway-load-balancer/)
+ [Architetture di ispezione distribuite con Gateway Load Balancer](https://d1.awsstatic.com/architecture-diagrams/ArchitectureDiagrams/distributed-inspection-architectures-gwlb-ra.pdf?did=wp_card&trk=wp_card)
+ [Giornata di immersione nella rete](https://catalog.workshops.aws/networking/en-US/gwlb/lab2-internettovpc) ‒ [Laboratorio firewall da Internet a VPC](https://catalog.workshops.aws/networking/en-US/gwlb/lab2-internettovpc)
+ [Transit gateway design best practices](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-best-design-practices.html)

## Informazioni aggiuntive
<a name="preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets-additional"></a>

La gamma CIDR secondaria non routabile può essere utile anche quando si lavora con implementazioni di container su larga scala che richiedono un ampio set di indirizzi IP. È possibile utilizzare questo modello con un gateway NAT privato per utilizzare una sottorete non instradabile per ospitare le distribuzioni dei contenitori. Per ulteriori informazioni, consulta il post del blog [Come risolvere l'esaurimento dell'IP privato con la soluzione NAT privata](https://aws.amazon.com/blogs/networking-and-content-delivery/how-to-solve-private-ip-exhaustion-with-private-nat-solution/).

# Fornisci un prodotto Terraform AWS Service Catalog utilizzando un repository di codice
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository"></a>

*Dott. Rahul Sharad Gaikwad e Tamilselvan P, Amazon Web Services*

## Riepilogo
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-summary"></a>

AWS Service Catalog [supporta il provisioning self-service con governance per le configurazioni Terraform. HashiCorp ](https://developer.hashicorp.com/terraform/tutorials/aws-get-started) Se utilizzi Terraform, puoi utilizzare Service Catalog come strumento unico per organizzare, governare e distribuire le tue configurazioni Terraform su larga scala. AWS È possibile accedere alle funzionalità principali di Service Catalog, tra cui la catalogazione di modelli di infrastruttura come codice (IaC) standardizzati e preapprovati, il controllo degli accessi, il provisioning delle risorse cloud con accesso con privilegi minimi, il controllo delle versioni, la condivisione con migliaia di utenti e il tagging. Account AWS Gli utenti finali, come ingegneri, amministratori di database e data scientist, visualizzano un elenco di prodotti e versioni a cui hanno accesso e possono implementarli con una singola azione.

Questo modello ti aiuta a distribuire AWS le risorse utilizzando il codice Terraform. È possibile accedere al codice Terraform nel GitHub repository tramite Service Catalog. Utilizzando questo approccio, integri i prodotti con i flussi di lavoro Terraform esistenti. Gli amministratori possono creare portafogli Service Catalog e aggiungervi AWS Launch Wizard prodotti utilizzando Terraform.

Di seguito sono riportati i vantaggi di questa soluzione:
+ Grazie alla funzionalità di rollback di Service Catalog, in caso di problemi durante la distribuzione, è possibile ripristinare il prodotto a una versione precedente.
+ È possibile identificare facilmente le differenze tra le versioni del prodotto. Ciò consente di risolvere i problemi durante la distribuzione.
+ È possibile configurare una connessione al repository in Service Catalog, ad esempio a GitHub o GitLab. È possibile apportare modifiche al prodotto direttamente tramite il repository.

Per informazioni sui vantaggi complessivi di AWS Service Catalog, vedere [What is Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html).

## Prerequisiti e limitazioni
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS.
+ A GitHub BitBucket, o altro repository che contiene i file di configurazione Terraform in formato ZIP.
+ AWS Serverless Application Model [Interfaccia a riga di comando (AWS SAM CLI), installata.](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html)
+ AWS Command Line Interface (AWS CLI), [installato](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [configurato](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).
+ Vai, [installato](https://go.dev/doc/install).
+ [Python versione 3.9, installata.](https://www.python.org/downloads/release/python-3913/) AWS SAM CLI richiede questa versione di Python.
+ Autorizzazioni per scrivere ed eseguire AWS Lambda funzioni e autorizzazioni per accedere e gestire i prodotti e i portafogli Service Catalog.

## Architecture
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-architecture"></a>

![\[Diagramma dell'architettura del provisioning di un prodotto Terraform in Service Catalog da un repository di codice\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7d0d76e8-9485-4b3f-915f-481b6a7cdcd9/images/e83fa44a-4ca6-4438-a0d1-99f09a3541bb.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Quando una configurazione Terraform è pronta, uno sviluppatore crea un file.zip che contiene tutto il codice Terraform. Lo sviluppatore carica il file.zip nell'archivio di codice collegato a Service Catalog.

1. Un amministratore associa il prodotto Terraform a un portafoglio in Service Catalog. L'amministratore crea inoltre un vincolo di avvio che consente agli utenti finali di fornire il prodotto.

1. In Service Catalog, gli utenti finali avviano AWS le risorse utilizzando la configurazione Terraform. Possono scegliere quale versione del prodotto distribuire.

## Tools (Strumenti)
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-tools"></a>

**Servizi AWS**
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
+ [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html)ti aiuta a gestire centralmente i cataloghi dei servizi IT approvati. AWS Gli utenti finali possono distribuire rapidamente soltanto i servizi IT approvati di cui hanno bisogno, in accordo con i vincoli stabiliti dall'organizzazione.

**Altri servizi**
+ [Go](https://go.dev/doc/install) è un linguaggio di programmazione open source supportato da Google.
+ [Python](https://www.python.org/) è un linguaggio di programmazione per computer generico.

**Deposito di codice**

Se hai bisogno di configurazioni Terraform di esempio da distribuire tramite Service Catalog, puoi utilizzare le configurazioni nell'Amazon Macie GitHub Organization Setup Using Terraform [repository](https://github.com/aws-samples/aws-macie-customization-terraform-samples). L'uso degli esempi di codice in questo repository non è richiesto.

## Best practice
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-best-practices"></a>
+ Invece di fornire i valori per le variabili nel file di configurazione Terraform (`terraform.tfvars`), configura i valori delle variabili quando avvii il prodotto tramite Service Catalog.
+ Concedi l'accesso al portafoglio solo a utenti o amministratori specifici.
+ Segui il principio del privilegio minimo e concedi le autorizzazioni minime necessarie per eseguire un'attività. Per ulteriori informazioni, consulta le [best practice relative alla [concessione dei privilegi minimi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e alla sicurezza](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html) nella documentazione AWS Identity and Access Management (IAM).

## Epiche
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-epics"></a>

### Configura la tua workstation locale
<a name="set-up-your-local-workstation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| (Facoltativo) Installa Docker. | Se desideri eseguire AWS Lambda le funzioni nel tuo ambiente di sviluppo, installa Docker. Per ulteriori informazioni, consulta la sezione [Installazione del motore Docker](https://docs.docker.com/engine/install/) nella documentazione di Docker. | DevOps ingegnere | 
| Installa il AWS Service Catalog motore per Terraform. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | DevOps ingegnere, amministratore AWS | 

### Connect il GitHub repository
<a name="connect-the-github-repository"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una connessione al GitHub repository. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 

### Crea un prodotto Terraform in Service Catalog
<a name="create-a-terraform-product-in-service-catalog"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il prodotto Service Catalog. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 
| Crea un portfolio. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 
| Aggiungi il prodotto Terraform al portafoglio. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 
| Creare la policy d'accesso. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 
| Crea una politica di fiducia personalizzata. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 
| Aggiungi un vincolo di lancio al prodotto Service Catalog. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 
| Concedi l'accesso al prodotto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 
| Avvia il prodotto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | DevOps ingegnere | 

### Verifica della distribuzione
<a name="verify-the-deployment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la distribuzione. | Esistono due macchine a AWS Step Functions stati per il flusso di lavoro di provisioning del Service Catalog:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html)Si controllano i registri della macchina a stati per confermare che il prodotto è `ManageProvisionedProductStateMachine` stato fornito.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | DevOps ingegnere | 

### Pulisci l'infrastruttura
<a name="clean-up-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare i prodotti forniti. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | DevOps ingegnere | 
| Rimuovi il AWS Service Catalog motore per Terraform. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository.html) | Amministratore AWS | 

## Risorse correlate
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-resources"></a>

**AWS documentazione**
+ [Iniziare con un prodotto Terraform](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-Terraform.html)

**Documentazione Terraform**
+ [Installazione di Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)
+ [Configurazione del backend Terraform](https://developer.hashicorp.com/terraform/language/backend)
+ [Documentazione Terraform Provider AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)

## Informazioni aggiuntive
<a name="provision-a-terraform-product-in-aws-service-catalog-by-using-a-code-repository-additional"></a>

**Politica di accesso**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/servicecatalog:provisioning": "true"
                }
            }
        },
        {
            "Action": [
                "s3:CreateBucket*",
                "s3:DeleteBucket*",
                "s3:Get*",
                "s3:List*",
                "s3:PutBucketTagging"
            ],
            "Resource": "arn:aws:s3:::*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "resource-groups:CreateGroup",
                "resource-groups:ListGroupResources",
                "resource-groups:DeleteGroup",
                "resource-groups:Tag"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "tag:GetResources",
                "tag:GetTagKeys",
                "tag:GetTagValues",
                "tag:TagResources",
                "tag:UntagResources"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

**Policy di trust**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GivePermissionsToServiceCatalog",
            "Effect": "Allow",
            "Principal": {
                "Service": "servicecatalog.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::account_id:root"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringLike": {
                    "aws:PrincipalArn": [
                        "arn:aws:iam::accounti_id:role/TerraformEngine/TerraformExecutionRole*",
                        "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogExternalParameterParserRole*",
                        "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogTerraformOSParameterParserRole*"
                    ]
                }
            }
        }
    ]
}
```

# Registrazione di più indirizzi e-mail Account AWS con un unico indirizzo e-mail utilizzando Amazon SES
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses"></a>

*Joe Wozniak e Shubhangi Vishwakarma, Amazon Web Services*

## Riepilogo
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-summary"></a>

Questo schema descrive come è possibile disaccoppiare gli indirizzi e-mail reali dall'indirizzo e-mail associato a un. Account AWS Account AWS richiede che venga fornito un indirizzo email univoco al momento della creazione dell'account. In alcune organizzazioni, il team che gestisce Account AWS deve assumersi l'onere di gestire molti indirizzi e-mail univoci con il proprio team di messaggistica. Questo può essere difficile per le grandi organizzazioni che ne gestiscono molti Account AWS. Inoltre, se il sistema di posta elettronica non consente l'*indirizzamento positivo* o *secondario*, come definito in [Sieve Email Filtering: Subaddress Extension (RFC 5233)](https://datatracker.ietf.org/doc/html/rfc5233), aggiungendo un segno più (\$1) e un identificatore alla fine della parte locale dell'indirizzo e-mail, ad esempio, questo schema può aiutare a superare questa limitazione. `admin+123456789123@example.com`

Questo modello fornisce una soluzione di vendita di indirizzi e-mail unica che consente ai proprietari di associare un indirizzo e-mail a più indirizzi e-mail. Account AWS Account AWS Gli indirizzi e-mail reali dei Account AWS proprietari vengono quindi associati a questi indirizzi e-mail generati in una tabella. La soluzione gestisce tutte le e-mail in arrivo per gli account e-mail univoci, cerca il proprietario di ciascun account e quindi inoltra i messaggi ricevuti al proprietario.  

## Prerequisiti e limitazioni
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-prereqs"></a>

**Prerequisiti**
+ Accesso amministrativo a un. Account AWS
+ Accesso a un ambiente di sviluppo. 
+ (Facoltativo) La familiarità con AWS Cloud Development Kit (AWS CDK) i flussi di lavoro e il linguaggio di programmazione Python ti aiuterà a risolvere eventuali problemi o apportare modifiche.

**Limitazioni**
+ Lunghezza complessiva dell'indirizzo e-mail fornito di 64 caratteri. Per i dettagli, [CreateAccount](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CreateAccount.html)consulta il *riferimento all'AWS Organizations API.*

**Versioni del prodotto**
+ Node.js versione 22.x o successiva
+ Python 3.13 o successivo
+ **Pacchetti Python pip e **virtualenv****
+ AWS CDK CLI versione 2.1019.2 o successiva
+ Docker 20.10.x o versione successiva

## Architecture
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-architecture"></a>

**Stack tecnologico Target**
+ CloudFormation pila
+ AWS Lambda funzioni
+ Regola e set di regole di Amazon Simple Email Service (Amazon SES)
+ AWS Identity and Access Management Ruoli e politiche (IAM)
+ Politica relativa ai bucket e ai bucket di Amazon Simple Storage Service (Amazon S3)
+ AWS Key Management Service (AWS KMS) chiave e politica chiave
+ Argomento e policy tematica di Amazon Simple Notification Service (Amazon SNS)
+ Tabella Amazon DynamoDB 

**Architettura Target**

![\[Architettura Target per la registrazione di più account AWS con un unico indirizzo e-mail\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/1be85b92-69e5-43b2-aeed-27b9509e145e/images/c7ae9d7a-d4e0-412e-97cb-0f3073e012e7.png)


Questo diagramma mostra due flussi:
+ Flusso di **vendita degli indirizzi e-mail: nel diagramma, il flusso** di vendita degli indirizzi e-mail (sezione inferiore) inizia in genere con una soluzione di vendita di account o un'automazione esterna, oppure viene richiamato manualmente. Nella richiesta, viene chiamata una funzione Lambda con un payload che contiene i metadati necessari. La funzione utilizza queste informazioni per generare un nome account e un indirizzo e-mail univoci, li archivia in un database DynamoDB e restituisce i valori al chiamante. Questi valori possono quindi essere utilizzati per crearne uno nuovo Account AWS (in genere utilizzando). AWS Organizations
+ **Flusso di inoltro delle e-mail:** questo flusso è illustrato nella sezione superiore del diagramma precedente. Quando Account AWS viene creato un indirizzo e-mail utilizzando l'account, l'e-mail generata dal flusso di vendita degli indirizzi e-mail, AWS invia diverse e-mail, come la conferma della registrazione dell'account e le notifiche periodiche, a tale indirizzo e-mail. Seguendo i passaggi indicati in questo schema, Account AWS configuri Amazon SES per ricevere e-mail per l'intero dominio. Questa soluzione configura regole di inoltro che consentono a Lambda di elaborare tutte le e-mail in arrivo, verificare se l'indirizzo `TO` è nella tabella DynamoDB e inoltrare invece il messaggio all'indirizzo e-mail del proprietario dell'account. L'utilizzo di questo processo offre ai proprietari degli account la possibilità di associare più account a un unico indirizzo e-mail.

**Automazione e scalabilità**

Questo modello utilizza il AWS CDK per automatizzare completamente l'implementazione. La soluzione utilizza servizi AWS gestiti che scaleranno automaticamente (o possono essere configurati per) soddisfare le vostre esigenze. Le funzioni Lambda potrebbero richiedere una configurazione aggiuntiva per soddisfare le tue esigenze di scalabilità. Per ulteriori informazioni, consulta [Understanding Lambda Function Scaling](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) nella documentazione di Lambda.

## Tools (Strumenti)
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-tools"></a>

**Servizi AWS**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita in tutte le regioni. Account AWS 
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che ti aiuta a interagire con i servizi AWS tramite comandi nella shell della riga di comando.
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) è un servizio di database NoSQL interamente gestito che offre prestazioni elevate, prevedibili e scalabili.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
+ [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html) Simple Email Service (Amazon SES) ti aiuta a inviare e ricevere e-mail utilizzando i tuoi indirizzi e-mail e domini.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

**Strumenti necessari per la distribuzione**
+ Ambiente di sviluppo con accesso IAM al tuo Account AWS. AWS CLI Per i dettagli, consulta i collegamenti nella sezione [Risorse correlate](#register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-resources).  
+ Sul tuo sistema di sviluppo, installa quanto segue:
  + Strumento da riga di comando Git, disponibile dal [sito Web Git downloads](https://git-scm.com/downloads).
  +  AWS CLI Per configurare le credenziali di accesso per. AWS CDK Per ulteriori informazioni, consulta la [documentazione relativa ad AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).
  + [Python versione 3.13 o successiva, disponibile dal sito Web di download di Python.](https://www.python.org/downloads/)
  + UV per la gestione dei pacchetti in Python. Per le istruzioni di installazione, consulta la [guida all'installazione UV](https://docs.astral.sh/uv/getting-started/installation/).
  + Node.js versione 22.x o successiva. Per le istruzioni di installazione, consulta la [documentazione di Node.js](https://nodejs.org/en/learn/getting-started/how-to-install-nodejs).
  + AWS CDK CLI versione 2.1019.2 o successiva. [Per le istruzioni di installazione, consulta la documentazione.AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting-started.html#getting-started-install)
  + Docker versione 20.10.x o successiva. [Per le istruzioni di installazione, consulta la documentazione di Docker.](https://docs.docker.com/engine/install/)

**Codice**

Il codice per questo pattern è disponibile nell'archivio di [posta elettronica di GitHub Account AWS fabbrica](https://github.com/aws-samples/aws-account-factory-email).

## Epiche
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-epics"></a>

### Assegna un ambiente di implementazione target
<a name="allocate-a-target-deployment-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica o crea un Account AWS. | Identifica una soluzione di posta elettronica esistente o nuova Account AWS a cui hai pieno accesso amministrativo per implementare la soluzione di posta elettronica. | Amministratore AWS, amministratore cloud | 
| Configura un ambiente di distribuzione. | Configura un ambiente di distribuzione facile da usare e imposta le dipendenze seguendo questi passaggi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | AWS DevOps, sviluppatore di app | 

### Configura un dominio verificato
<a name="set-up-a-verified-domain"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica e assegna un dominio. | La funzionalità di inoltro delle e-mail richiede un dominio dedicato. Identifica e assegna un dominio o sottodominio che puoi verificare con Amazon SES. Questo dominio dovrebbe essere disponibile per ricevere e-mail in arrivo all'interno del Account AWS luogo in cui è implementata la soluzione di inoltro e-mail.Requisiti del dominio:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Amministratore cloud, amministratore di rete, amministratore DNS | 
| Verifica il dominio. | Verifica che il dominio identificato possa essere utilizzato per accettare la posta elettronica in arrivo.Completa le istruzioni in [Verifica del tuo dominio per la ricezione di e-mail di Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-verification.html) nella documentazione di Amazon SES. Ciò richiederà il coordinamento con la persona o il team responsabile dei record DNS del dominio. | Sviluppatore di app, AWS DevOps | 
| Configura i record MX. | Configura il tuo dominio con record MX che puntano agli endpoint Amazon SES nella tua regione Account AWS e. Per ulteriori informazioni, consulta [Pubblicazione di un record MX per la ricezione di e-mail di Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-mx-record.html) nella documentazione di Amazon SES. | Amministratore cloud, amministratore di rete, amministratore DNS | 

### Implementa la soluzione di vendita e inoltro della posta elettronica
<a name="deploy-the-email-vending-and-forwarding-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Modificare i valori predefiniti in`cdk.json`. | Modifica alcuni dei valori predefiniti nel `cdk.json` file (nella radice del repository) in modo che la soluzione funzioni correttamente dopo la distribuzione.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Sviluppatore di app, AWS DevOps | 
| Implementa la soluzione di vendita e inoltro della posta elettronica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Sviluppatore di app, AWS DevOps | 
| Verifica che la soluzione sia stata implementata. | Verifica che la soluzione sia stata implementata correttamente prima di iniziare i test:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Sviluppatore di app, AWS DevOps | 

### Verifica che la distribuzione e l'inoltro delle e-mail funzionino come previsto
<a name="verify-that-email-vending-and-forwarding-operate-as-expected"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verifica che l'API funzioni. | In questo passaggio, invii i dati di test all'API della soluzione e confermi che la soluzione produca l'output previsto e che le operazioni di backend siano state eseguite come previsto.Esegui manualmente la funzione **Vend Email** Lambda utilizzando l'input di test. (Per un esempio, vedete il file [sample\$1vend\$1request.json](https://github.com/aws-samples/aws-account-factory-email/blob/main/src/events/sample_vend_request.json)). Per, utilizza un indirizzo email valido. `OwnerAddress` L'API dovrebbe restituire il nome dell'account e l'indirizzo e-mail dell'account con i valori previsti. | Sviluppatore di app, AWS DevOps | 
| Verifica che l'email venga inoltrata. | In questo passaggio, invii un'e-mail di prova tramite il sistema e verifichi che l'e-mail venga inoltrata al destinatario previsto.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Sviluppatore di app, AWS DevOps | 

## risoluzione dei problemi
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Il sistema non inoltra le e-mail come previsto. | Verifica che la configurazione sia corretta:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html)Dopo aver verificato la configurazione del dominio, segui questi passaggi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | 
| Quando tenti di distribuire lo AWS CDK stack, ricevi un errore simile a:«Errore di formato del modello: tipi di risorse non riconosciuti»  | Nella maggior parte dei casi, questo messaggio di errore indica che la regione a cui ti rivolgi non dispone di tutti i servizi AWS disponibili. Se utilizzi un' EC2 istanza Amazon per distribuire la soluzione, potresti scegliere come target una regione diversa da quella in cui è in esecuzione l'istanza.Per impostazione predefinita, AWS CDK viene distribuito nella regione e nell'account configurati in. AWS CLIPossibili soluzioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | 
| Quando si distribuisce la soluzione, viene visualizzato il messaggio di errore:«Distribuzione non riuscita: Errore: AwsMailFwdStack: parametro SSM bootstrap/hnb659fds/version /cdk- non trovato. L'ambiente è stato avviato? Per favore esegui 'cdk bootstrap'» | Se non hai mai distribuito AWS CDK risorse nella regione Account AWS and che hai scelto come target, dovrai prima eseguire il comando come indicato dall'errore. `cdk bootstrap` Se continui a ricevere questo errore dopo aver eseguito il comando bootstrap, potresti provare a distribuire la soluzione in una regione diversa da quella in cui è in esecuzione il tuo ambiente di sviluppo.Per risolvere questo problema, imposta la variabile di `AWS_DEFAULT_REGION` ambiente o imposta una regione con la AWS CLI prima di distribuire la soluzione. [In alternativa, puoi modificare il `app.py` file nella radice del repository per includere un ID account e una regione codificati seguendo le istruzioni nella documentazione per gli ambienti.AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/environments.html) | 

## Risorse correlate
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-resources"></a>
+ Per informazioni sull'installazione di AWS CLI, consulta [Installazione o aggiornamento alla versione più recente di](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html). AWS CLI
+ Per informazioni sulla configurazione delle credenziali di accesso AWS CLI con IAM, consulta [Configurazione delle impostazioni per](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). AWS CLI
+ Per assistenza con AWS CDK, consulta [Guida introduttiva a](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html#getting_started_install). AWS CDK

## Informazioni aggiuntive
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-additional"></a>

**Costi**

Quando si implementa questa soluzione, il Account AWS titolare potrebbe sostenere costi associati all'uso dei seguenti servizi.  È importante comprendere come vengono fatturati questi servizi in modo da essere a conoscenza di eventuali addebiti. Per informazioni sui prezzi, consulta le pagine seguenti:
+ [Prezzi di Amazon SES](https://aws.amazon.com/ses/pricing/)
+ [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/)
+ [AWS KMS prezzi](https://aws.amazon.com/kms/pricing/)
+ [AWS Lambda prezzi](https://aws.amazon.com/lambda/pricing/)
+ [Prezzi di Amazon DynamoDB](https://aws.amazon.com/dynamodb/pricing/)

# Configura la risoluzione DNS per reti ibride in un ambiente AWS con account singolo
<a name="set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment"></a>

*Abdullahi Olaoye, Amazon Web Services*

## Riepilogo
<a name="set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment-summary"></a>

Questo modello descrive come configurare un'architettura DNS (Domain Name System) completamente ibrida che consenta la risoluzione end-to-end DNS di risorse locali, risorse AWS e query DNS Internet, senza sovraccarico amministrativo. Il modello descrive come configurare le regole di inoltro di Amazon Route 53 Resolver che determinano dove inviare una query DNS proveniente da AWS, in base al nome di dominio. Le query DNS per le risorse locali vengono inoltrate ai resolver DNS locali. Le query DNS per le risorse AWS e le query DNS Internet vengono risolte da Route 53 Resolver.

Questo modello copre la risoluzione DNS ibrida in un ambiente AWS con account singolo. Per informazioni sulla configurazione di query DNS in uscita in un ambiente AWS multi-account, consulta lo schema [Configurare la risoluzione DNS per reti ibride in un](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/set-up-dns-resolution-for-hybrid-networks-in-a-multi-account-aws-environment.html) ambiente AWS multi-account.

## Prerequisiti e limitazioni
<a name="set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment-prereqs"></a>

**Prerequisiti**
+ Un account AWS
+ Un cloud privato virtuale (VPC) nel tuo account AWS
+ Una connessione di rete tra l'ambiente locale e il tuo VPC, tramite AWS Virtual Private Network (AWS VPN) o AWS Direct Connect
+ Indirizzi IP dei tuoi resolver DNS locali (raggiungibili dal tuo VPC)
+ Nome di dominio/sottodominio da inoltrare ai resolver locali (ad esempio, onprem.mydc.com)
+ Nome di dominio/sottodominio per la zona ospitata privata AWS (ad esempio, myvpc.cloud.com)

## Architecture
<a name="set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment-architecture"></a>

**Stack tecnologico Target**
+ Zona ospitata privata Amazon Route 53
+ Amazon Route 53 Resolver
+ Amazon VPC
+ AWS VPN o Direct Connect

**Architettura Target**

![\[Flusso di lavoro di risoluzione DNS ibrida in un ambiente AWS con account singolo utilizzando Route 53 Resolver.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/120dedc8-cc6c-4aa7-be11-c70a7ee80642/images/7b75f534-1adc-4a39-86d6-5c4596ff7b6a.png)


 

## Tools (Strumenti)
<a name="set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment-tools"></a>
+ [Amazon Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-getting-started.html) semplifica il cloud ibrido per i clienti aziendali abilitando una risoluzione delle query DNS senza interruzioni sull'intero cloud ibrido. Puoi creare endpoint DNS e regole di inoltro condizionale per risolvere i namespace DNS tra il tuo data center locale e il tuo. VPCs
+ La [zona ospitata privata di Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html) è un contenitore che contiene informazioni su come desideri che Route 53 risponda alle query DNS per un dominio e i relativi sottodomini all'interno di uno o più VPCs domini creati con il servizio Amazon VPC.

## Epiche
<a name="set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment-epics"></a>

### Configura una zona ospitata privata
<a name="configure-a-private-hosted-zone"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una zona ospitata privata Route 53 per un nome di dominio riservato AWS come myvpc.cloud.com. | Questa zona contiene i record DNS per le risorse AWS che devono essere risolti dall'ambiente locale. Per istruzioni, consulta [Creazione di una zona ospitata privata](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) nella documentazione di Route 53. | Amministratore di rete, amministratore di sistema | 
| Associa la zona ospitata privata al tuo VPC. | Per consentire alle risorse del tuo VPC di risolvere i record DNS in questa zona ospitata privata, devi associare il tuo VPC alla zona ospitata. Per istruzioni, consulta [Creazione di una zona ospitata privata](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) nella documentazione di Route 53. | Amministratore di rete, amministratore di sistema | 

### Configurazione degli endpoint Route 53 Resolver
<a name="set-up-route-53-resolver-endpoints"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un endpoint in entrata. | Route 53 Resolver utilizza l'endpoint in entrata per ricevere le query DNS dai resolver DNS locali. Per istruzioni, consulta [Inoltro delle query DNS in entrata al tuo indirizzo nella documentazione di VPCs Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-forwarding-inbound-queries.html). Prendi nota dell'indirizzo IP dell'endpoint in entrata. | Amministratore di rete, amministratore di sistema | 
| Crea un endpoint in uscita. | Route 53 Resolver utilizza l'endpoint in uscita per inviare query DNS ai resolver DNS locali. Per istruzioni, consulta [Inoltro delle query DNS in uscita alla rete nella documentazione di Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-forwarding-outbound-queries.html). Prendi nota dell'ID dell'endpoint di output. | Amministratore di rete, amministratore di sistema | 

### Imposta una regola di inoltro e associala al tuo VPC
<a name="set-up-a-forwarding-rule-and-associate-it-with-your-vpc"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una regola di inoltro per il dominio locale. | Questa regola indicherà a Route 53 Resolver di inoltrare qualsiasi query DNS per i domini locali (come onprem.mydc.com) ai resolver DNS locali. Per creare questa regola, sono necessari gli indirizzi IP dei resolver DNS locali e l'ID dell'endpoint in uscita per Route 53 Resolver. Per istruzioni, consulta [Gestione delle regole di inoltro nella documentazione](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-rules-managing.html) di Route 53. | Amministratore di rete, amministratore di sistema | 
| Associa la regola di inoltro al tuo VPC. | Affinché la regola di inoltro abbia effetto, devi associarla al tuo VPC. Route 53 Resolver prende quindi in considerazione la regola durante la risoluzione di un dominio. Per istruzioni, consulta [Gestione delle regole di inoltro nella documentazione](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-rules-managing.html) di Route 53. | Amministratore di rete, amministratore di sistema | 

### Configura i resolver DNS locali
<a name="configure-on-premises-dns-resolvers"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura l'inoltro condizionale nei resolver DNS locali.  | Per inviare le query DNS alla zona ospitata privata Route 53 dall'ambiente locale, è necessario configurare l'inoltro condizionale nei resolver DNS locali. Ciò indica ai resolver DNS di inoltrare tutte le query DNS per il dominio AWS (ad esempio, per myvpc.cloud.com) all'indirizzo IP dell'endpoint in entrata per Route 53 Resolver. | Amministratore di rete, amministratore di sistema | 

### Verifica la end-to-end risoluzione DNS
<a name="test-end-to-end-dns-resolution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Testa la risoluzione DNS da AWS all'ambiente locale. | Da un server nel VPC, esegui una query DNS per un dominio locale (ad esempio server1.onprem.mydc.com). | Amministratore di rete, amministratore di sistema | 
| Testa la risoluzione DNS dall'ambiente locale ad AWS. | Da un server locale, esegui la risoluzione DNS per un dominio AWS (ad esempio server1.myvpc.cloud.com). | Amministratore di rete, amministratore di sistema | 

## Risorse correlate
<a name="set-up-dns-resolution-for-hybrid-networks-in-a-single-account-aws-environment-resources"></a>
+ [Gestione DNS centralizzata del cloud ibrido con Amazon Route 53 e AWS Transit Gateway](https://aws.amazon.com/blogs/networking-and-content-delivery/centralized-dns-management-of-hybrid-cloud-with-amazon-route-53-and-aws-transit-gateway/) (blog AWS Networking & Content Delivery)
+ [Semplifica la gestione DNS in un ambiente multi-account con Route 53 Resolver](https://aws.amazon.com/blogs/security/simplify-dns-management-in-a-multiaccount-environment-with-route-53-resolver/) (blog di AWS Security)
+ [Utilizzo di zone ospitate private](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html) (documentazione Route 53)
+ [Guida introduttiva a Route 53 Resolver (documentazione](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-getting-started.html) Route 53)

# Configura automaticamente i bot UiPath RPA su Amazon EC2 utilizzando AWS CloudFormation
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation"></a>

*Dott. Rahul Sharad Gaikwad e Tamilselvan P, Amazon Web Services*

## Riepilogo
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-summary"></a>

Questo modello spiega come distribuire bot di automazione dei processi robotici (RPA) su istanze Amazon Elastic Compute Cloud ( EC2Amazon). Utilizza una pipeline [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html) per creare un'Amazon Machine Image (AMI) personalizzata. Un'AMI è un'immagine di macchina virtuale (VM) preconfigurata che contiene il sistema operativo (OS) e il software preinstallato per distribuire le istanze. EC2 Questo modello utilizza CloudFormation modelli AWS per installare l'[edizione UiPath Studio Community](https://www.uipath.com/product/studio) sull'AMI personalizzata. UiPath è uno strumento RPA che ti aiuta a configurare robot per automatizzare le tue attività.

Come parte di questa soluzione, le istanze di EC2 Windows vengono avviate utilizzando l'AMI di base e l'applicazione UiPath Studio viene installata sulle istanze. Il modello utilizza lo strumento Microsoft System Preparation (Sysprep) per duplicare l'installazione personalizzata di Windows. Dopodiché, rimuove le informazioni sull'host e crea un AMI finale dall'istanza. È quindi possibile avviare le istanze su richiesta utilizzando l'AMI finale con le proprie convenzioni di denominazione e configurazione di monitoraggio.


| 
| 
| Nota: questo modello non fornisce alcuna informazione sull'utilizzo dei bot RPA. [Per queste informazioni, consulta la UiPath documentazione.](https://docs.uipath.com/) È inoltre possibile utilizzare questo modello per configurare altre applicazioni bot RPA personalizzando i passaggi di installazione in base alle proprie esigenze. | 
| --- |

Questo modello offre le seguenti automazioni e vantaggi:
+ Distribuzione e condivisione di applicazioni: puoi creare Amazon EC2 AMIs per la distribuzione di applicazioni e condividerle su più account tramite una pipeline EC2 Image Builder, che utilizza i CloudFormation modelli AWS come script Infrastructure as Code (IaC).
+  EC2 Provisioning e scalabilità di Amazon: i modelli CloudFormation IaC forniscono sequenze di nomi di computer personalizzate e l'automazione dei join di Active Directory.
+ Osservabilità e monitoraggio: il modello configura i CloudWatch dashboard di Amazon per aiutarti a monitorare i EC2 parametri di Amazon (come l'utilizzo della CPU e del disco).
+ Vantaggi dell'RPA per la tua azienda: l'RPA migliora la precisione perché i robot possono eseguire le attività assegnate in modo automatico e coerente. La RPA aumenta anche la velocità e la produttività perché elimina le operazioni che non aggiungono valore e gestisce attività ripetitive.

## Prerequisiti e limitazioni
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-prereqs"></a>

**Prerequisiti**
+ Un [account AWS](https://aws.amazon.com/free/) attivo
+ [Autorizzazioni AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) per la distribuzione CloudFormation di modelli
+ [Politiche IAM](https://docs.aws.amazon.com/imagebuilder/latest/userguide/cross-account-dist.html) per configurare la distribuzione AMI tra account con EC2 Image Builder

## Architecture
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-architecture"></a>

![\[Architettura Target per la configurazione di bot RPA su Amazon EC2\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5555a62d-91d4-4e81-9961-ff89faedd6ad/images/1893d2d3-8912-4473-adf1-6633b5badcd9.png)


1. L'amministratore fornisce l'AMI Windows di base nel `ec2-image-builder.yaml` file e distribuisce lo stack nella CloudFormation console.

1. Lo CloudFormation stack implementa la EC2 pipeline Image Builder, che include le seguenti risorse:
   + `Ec2ImageInfraConfiguration`
   + `Ec2ImageComponent`
   + `Ec2ImageRecipe`
   + `Ec2AMI`

1. La pipeline EC2 Image Builder avvia un' EC2 istanza temporanea di Windows utilizzando l'AMI di base e installa i componenti richiesti (in questo caso, Studio). UiPath 

1.  EC2 Image Builder rimuove tutte le informazioni sull'host e crea un'AMI da Windows Server.

1. Aggiorna il `ec2-provisioning yaml` file con l'AMI personalizzata e avvii una serie di EC2 istanze in base alle tue esigenze.

1. La macro Count viene distribuita utilizzando un CloudFormation modello. Questa macro fornisce una proprietà **Count** per CloudFormation le risorse che consente di specificare facilmente più risorse dello stesso tipo.

1. Si aggiorna il nome della macro nel CloudFormation `ec2-provisioning.yaml` file e si distribuisce lo stack.

1. L'amministratore aggiorna il `ec2-provisioning.yaml` file in base ai requisiti e avvia lo stack.

1. Il modello distribuisce le EC2 istanze con l'applicazione Studio. UiPath 

## Tools (Strumenti)
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-tools"></a>

**Servizi AWS**
+ [AWS](https://aws.amazon.com/cloudformation/) ti CloudFormation aiuta a modellare e gestire le risorse dell'infrastruttura in modo automatizzato e sicuro.
+ [Amazon](https://aws.amazon.com/cloudwatch/) ti CloudWatch aiuta a osservare e monitorare risorse e applicazioni su AWS, on-premise e su altri cloud.
+ [Amazon Elastic Compute Cloud (Amazon EC2](https://aws.amazon.com/ec2/)) fornisce capacità di calcolo sicura e ridimensionabile nel cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [EC2 Image Builder](https://aws.amazon.com/image-builder/) semplifica la creazione, il test e la distribuzione di macchine virtuali e immagini di container da utilizzare su AWS o in locale.
+ [Amazon](https://aws.amazon.com/eventbridge/) ti EventBridge aiuta a creare applicazioni basate sugli eventi su larga scala su AWS, sistemi esistenti o applicazioni Software as a Service (SaaS).
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a controllare in modo sicuro l'accesso alle risorse AWS. Con IAM, puoi gestire centralmente le autorizzazioni che controllano a quali risorse AWS possono accedere gli utenti. Utilizza IAM per controllare chi è autenticato (accesso effettuato) e autorizzato (dispone di autorizzazioni) per l’utilizzo di risorse.
+ [AWS Lambda](https://aws.amazon.com/lambda/) è un servizio di elaborazione serverless e basato sugli eventi che consente di eseguire codice per praticamente qualsiasi tipo di applicazione o servizio di backend senza dover fornire o gestire server. Puoi richiamare le funzioni Lambda da oltre 200 servizi AWS e applicazioni SaaS e pagare solo per ciò che usi.
+ [Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon](https://aws.amazon.com/s3/) S3) è un servizio di storage di oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [AWS Systems Manager Agent (SSM Agent)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) aiuta Systems Manager ad aggiornare, gestire e configurare EC2 istanze, dispositivi edge, server locali e macchine virtuali (). VMs

**Archivi di codice**

Il codice per questo pattern è disponibile nella [configurazione del bot GitHub UiPath RPA utilizzando CloudFormation](https://github.com/aws-samples/uipath-rpa-setup-ec2-windows-ami-cloudformation) il repository. Il modello utilizza anche una macro disponibile nel [repository AWS CloudFormation Macros](https://github.com/aws-cloudformation/aws-cloudformation-macros/tree/master/Count).

## Best practice
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-best-practices"></a>
+ AWS rilascia nuovi [Windows AMIs](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html) ogni mese. Questi contengono le patch, i driver e gli agenti di lancio più recenti del sistema operativo. Ti consigliamo di utilizzare l'AMI più recente quando avvii nuove istanze o quando crei immagini personalizzate.
+ Applica tutte le patch di sicurezza Windows o Linux disponibili durante la creazione delle immagini.

## Epiche
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-epics"></a>

### Implementa una pipeline di immagini per l'immagine di base
<a name="deploy-an-image-pipeline-for-the-base-image"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura una pipeline di EC2 Image Builder. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Visualizza le impostazioni di EC2 Image Builder. | Le impostazioni di EC2 Image Builder includono la configurazione dell'infrastruttura, le impostazioni di distribuzione e le impostazioni di scansione di sicurezza. Per visualizzare le impostazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)Come procedura consigliata, è consigliabile apportare eventuali aggiornamenti a EC2 Image Builder solo tramite il CloudFormation modello. | AWS DevOps | 
| Visualizza la pipeline di immagini. | Per visualizzare la pipeline di immagini distribuita:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Visualizza i log di Image Builder. | EC2 I log di Image Builder sono aggregati in gruppi di log. CloudWatch Per visualizzare i log in: CloudWatch[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)EC2 I log di Image Builder vengono inoltre archiviati in un bucket S3. Per visualizzare i log nel bucket:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Carica il UiPath file in un bucket S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 

### Implementa e testa la macro Count
<a name="deploy-and-test-the-count-macro"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa la macro Count. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)[Se vuoi usare la console, segui le istruzioni nell'epic precedente o nella documentazione. CloudFormation ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)  | DevOps ingegnere | 
| Prova la macro Count. | Per testare le funzionalità della macro, prova ad avviare il modello di esempio fornito con la macro. <pre>aws cloudformation deploy \<br />    --stack-name Count-test \<br />    --template-file test.yaml \<br />    --capabilities CAPABILITY_IAM</pre> | DevOps ingegnere | 

### Implementa lo CloudFormation stack per fornire alle istanze l'immagine personalizzata
<a name="deploy-the-cloudformation-stack-to-provision-instances-with-the-custom-image"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa il modello di EC2 provisioning di Amazon. | Per distribuire EC2 Image Pipeline utilizzando: CloudFormation[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Visualizza EC2 le impostazioni di Amazon. | Le EC2 impostazioni di Amazon includono sicurezza, rete, archiviazione, controlli dello stato, monitoraggio e configurazioni di tag. Per visualizzare queste configurazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Visualizza la CloudWatch dashboard. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)Dopo aver effettuato il provisioning dello stack, è necessario del tempo per compilare la dashboard con le metriche.La dashboard fornisce le seguenti metriche:`CPUUtilization`,,,,`DiskUtilization`,`MemoryUtilization`. `NetworkIn` `NetworkOut` `StatusCheckFailed` | AWS DevOps | 
| Visualizza metriche personalizzate per l'utilizzo della memoria e del disco.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Visualizza gli allarmi relativi all'utilizzo della memoria e del disco.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 
| Verifica la regola del ciclo di vita delle istantanee. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html) | AWS DevOps | 

### Eliminare l'ambiente (opzionale)
<a name="delete-the-environment-optional"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare le pile. | Una volta completato il PoC o il progetto pilota, ti consigliamo di eliminare gli stack che hai creato per assicurarti che non ti vengano addebitati costi per queste risorse.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation.html)L'operazione di eliminazione dello stack non può essere interrotta dopo l'inizio. Lo stack procede allo stato `DELETE_IN_PROGRESS`.Se l'eliminazione fallisce, lo stack si troverà nello stato in cui si `DELETE_FAILED` trova. Per le soluzioni, consulta [Delete stack fail](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) nella documentazione CloudFormation sulla risoluzione dei problemi di AWS.Per informazioni sulla protezione degli stack dall'eliminazione accidentale, consulta [Proteggere uno stack dall'eliminazione nella documentazione](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) AWS. CloudFormation  | AWS DevOps | 

## risoluzione dei problemi
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Quando distribuisci il modello di EC2 provisioning Amazon, ricevi l'errore: *Risposta non valida ricevuta da transform 123xxxx*: :Count. | Si tratta di un problema noto. (Vedi la soluzione personalizzata e PR nel [repository di CloudFormation macro AWS](https://github.com/aws-cloudformation/aws-cloudformation-macros/pull/20).)[Per risolvere questo problema, apri la console AWS Lambda e aggiorna `index.py` con il contenuto del repository. GitHub ](https://raw.githubusercontent.com/aws-cloudformation/aws-cloudformation-macros/f1629c96477dcd87278814d4063c37877602c0c8/Count/src/index.py)  | 

## Risorse correlate
<a name="set-up-uipath-rpa-bots-automatically-on-amazon-ec2-by-using-aws-cloudformation-resources"></a>

**GitHub repository**
+ [UiPath configurazione del bot RPA utilizzando CloudFormation](https://github.com/aws-samples/uipath-rpa-setup-ec2-windows-ami-cloudformation)
+ [Conta Macro CloudFormation ](https://github.com/aws-cloudformation/aws-cloudformation-macros/tree/master/Count)

**Riferimenti AWS**
+ [Creazione di uno stack sulla CloudFormation console AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) (CloudFormation documentazione)
+ [Risoluzione dei problemi CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html) (CloudFormation documentazione)
+ [Monitora i parametri di memoria e disco per le EC2 istanze Amazon (documentazione Amazon)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) EC2 
+ [Come posso usare l' CloudWatch agente per visualizzare i parametri di Performance Monitor su un server Windows?](https://repost.aws/knowledge-center/cloudwatch-performance-monitor-windows) (Articolo AWS Re:Post)

**Riferimenti aggiuntivi**
+ [UiPath documentazione](https://docs.uipath.com/)
+ [Impostazione del nome host in un SysPreped AMI](https://blog.brianbeach.com/2014/07/setting-hostname-in-syspreped-ami.html) (post sul blog di Brian Beach)
+ [Come faccio a fare in modo che Cloudformation rielabori un modello utilizzando una macro quando i parametri cambiano?](https://stackoverflow.com/questions/59828989/how-do-i-make-cloudformation-reprocess-a-template-using-a-macro-when-parameters) (Stack Overflow)

# Configura un' PeopleSoft architettura ad alta disponibilità su AWS
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws"></a>

*Ramanathan Muralidhar, Amazon Web Services*

## Riepilogo
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-summary"></a>

Quando esegui la migrazione dei PeopleSoft carichi di lavoro in AWS, la resilienza è un obiettivo importante. Garantisce che la tua PeopleSoft applicazione sia sempre altamente disponibile e in grado di ripristinarsi rapidamente in caso di guasti.

Questo modello fornisce un'architettura per PeopleSoft le tue applicazioni su AWS per garantire l'alta disponibilità (HA) a livello di rete, applicazione e database. Utilizza un [database Amazon Relational Database Service (Amazon RDS](https://aws.amazon.com/rds/)) per Oracle o Amazon RDS for SQL Server per il livello del database. Questa architettura include anche servizi AWS come [Amazon Route 53](https://aws.amazon.com/route53/), [Amazon Elastic Compute Cloud (Amazon EC2), istanze Linux, Amazon](https://aws.amazon.com/ec2/) Elastic [Block Storage (Amazon EBS), Amazon Elastic File System (](https://aws.amazon.com/ebs/)[Amazon](https://aws.amazon.com/efs/) EFS) e [Application Load Balancer](https://aws.amazon.com/elasticloadbalancing/application-load-balancer) ed è scalabile.

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) offre una suite di strumenti e applicazioni per la gestione della forza lavoro e altre operazioni aziendali.

## Prerequisiti e limitazioni
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un PeopleSoft ambiente con le licenze necessarie per configurarlo su AWS
+ Un cloud privato virtuale (VPC) configurato nel tuo account AWS con le seguenti risorse:
  + Almeno due zone di disponibilità
  + Una sottorete pubblica e tre sottoreti private in ogni zona di disponibilità
  + Un gateway NAT e un gateway Internet
  + Tabelle di routing per ogni sottorete per instradare il traffico
  + Elenchi di controllo dell'accesso alla rete (rete ACLs) e gruppi di sicurezza definiti per garantire la sicurezza dell' PeopleSoft applicazione in conformità con gli standard dell'organizzazione

**Limitazioni**
+ Questo modello fornisce una soluzione ad alta disponibilità (HA). Non supporta scenari di disaster recovery (DR). Nel raro caso in cui l'intera regione AWS per l'implementazione HA non funzioni, l'applicazione non sarà più disponibile.

**Versioni del prodotto**
+ PeopleSoft applicazioni che eseguono PeopleTools 8.52 e versioni successive

## Architecture
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-architecture"></a>

**Architettura Target**

I tempi di inattività o le interruzioni dell'applicazione di PeopleSoft produzione influiscono sulla disponibilità dell'applicazione e causano gravi interruzioni dell'attività.

Si consiglia di progettare l'applicazione PeopleSoft di produzione in modo che sia sempre altamente disponibile. È possibile raggiungere questo obiettivo eliminando i singoli punti di errore, aggiungendo punti di crossover o failover affidabili e rilevando i guasti. Il diagramma seguente illustra un'architettura HA per on PeopleSoft AWS.

![\[Architettura ad alta disponibilità per PeopleSoft AWS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/0db96376-dadb-4545-b130-ebbe64acd4e9/images/5d585a8e-320a-495d-a049-97171633e90f.png)


Questa implementazione di architettura utilizza Amazon RDS for PeopleSoft Oracle come database e istanze EC2 in esecuzione su Red Hat Enterprise Linux (RHEL). Puoi anche usare Amazon RDS for SQL Server come database Peoplesoft.

Questa architettura contiene i seguenti componenti: 
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) viene utilizzato come Domain Name Server (DNS) per il routing delle richieste da Internet all' PeopleSoft applicazione.
+ [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) ti aiuta a proteggerti da exploit e bot Web comuni che possono influire sulla disponibilità, compromettere la sicurezza o consumare risorse eccessive. [AWS Shield Advanced](https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html) (non illustrato) offre una protezione molto più ampia.
+ Un [Application Load Balancer bilancia il carico](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) del traffico HTTP e HTTPS con un routing avanzato delle richieste rivolto ai server Web.
+ I server Web, i server delle applicazioni, i server di pianificazione dei processi e i server Elasticsearch che supportano l' PeopleSoft applicazione vengono eseguiti in più zone di disponibilità e utilizzano [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html).
+ Il database utilizzato dall' PeopleSoft applicazione viene eseguito su [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) in una configurazione Multi-AZ.
+ La condivisione di file utilizzata dall' PeopleSoft applicazione è configurata su [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) e viene utilizzata per accedere ai file tra le istanze.
+ [Amazon Machine Images (AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)) vengono utilizzate da Amazon EC2 Auto Scaling per PeopleSoft garantire che i componenti vengano clonati rapidamente quando necessario.
+ I [gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) collegano le istanze in una sottorete privata a servizi esterni al VPC e assicurano che i servizi esterni non possano avviare una connessione con tali istanze.
+ Il [gateway Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) è un componente VPC scalabile orizzontalmente, ridondante e ad alta disponibilità che consente la comunicazione tra il tuo VPC e Internet.
+ Gli host bastion nella sottorete pubblica forniscono l'accesso ai server nella sottorete privata da una rete esterna, come Internet o una rete locale. Gli host bastion forniscono un accesso controllato e sicuro ai server nelle sottoreti private.

**Dettagli dell'architettura**

Il PeopleSoft database è ospitato in un database Amazon RDS for Oracle (o Amazon RDS for SQL Server) in una configurazione Multi-AZ. La [funzionalità Amazon RDS Multi-AZ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) replica gli aggiornamenti del database su due zone di disponibilità per aumentare la durabilità e la disponibilità. Amazon RDS esegue automaticamente il failover nel database di standby per la manutenzione pianificata e le interruzioni non pianificate.

Il livello PeopleSoft Web e quello intermedio vengono installati sulle istanze EC2. Queste istanze sono distribuite su più zone di disponibilità e collegate da un gruppo di [Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). Ciò garantisce che questi componenti siano sempre altamente disponibili. Viene mantenuto un numero minimo di istanze richieste per garantire che l'applicazione sia sempre disponibile e possa scalare quando necessario.

Si consiglia di utilizzare un tipo di istanza EC2 di ultima generazione per le istanze EC2 OEM. I tipi di istanze dell'attuale generazione, come [le istanze create su AWS Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances), supportano macchine virtuali hardware ()HVMs. Gli HVM AMIs sono necessari per sfruttare i vantaggi del [networking avanzato](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) e offrono anche una maggiore sicurezza. Le istanze EC2 che fanno parte di ciascun gruppo Auto Scaling utilizzano la propria AMI quando sostituiscono o aumentano le istanze. Ti consigliamo di selezionare i tipi di istanza EC2 in base al carico che desideri che l' PeopleSoft applicazione gestisca e ai valori minimi consigliati da Oracle per l'applicazione e la versione. PeopleSoft PeopleTools Per ulteriori informazioni sui requisiti hardware e software, consulta il [sito Web di supporto Oracle](https://support.oracle.com).

Il PeopleSoft web e il livello intermedio condividono un mount Amazon EFS per condividere report, file di dati e (se necessario) la `PS_HOME` directory. Amazon EFS è configurato con obiettivi di montaggio in ogni zona di disponibilità per motivi di prestazioni e costi.

Viene fornito un Application Load Balancer per supportare il traffico che accede all' PeopleSoft applicazione e bilancia il carico tra i server Web in diverse zone di disponibilità. Un Application Load Balancer è un dispositivo di rete che fornisce HA in almeno due zone di disponibilità. I server Web distribuiscono il traffico su diversi server di applicazioni utilizzando una configurazione di bilanciamento del carico. Il bilanciamento del carico tra il server Web e il server delle applicazioni assicura che il carico sia distribuito in modo uniforme tra le istanze e aiuta a evitare colli di bottiglia e interruzioni del servizio dovute al sovraccarico delle istanze.

Amazon Route 53 viene utilizzato come servizio DNS per indirizzare il traffico verso l'Application Load Balancer da Internet. Route 53 è un servizio Web DNS altamente scalabile e disponibile.

**Dettagli HA**
+ Database: la funzionalità Multi-AZ di Amazon RDS gestisce due database in più zone di disponibilità con replica sincrona. Questo crea un ambiente ad alta disponibilità con failover automatico. Amazon RDS dispone del rilevamento degli eventi di failover e avvia il failover automatico quando si verificano questi eventi. Puoi anche avviare il failover manuale tramite l'API Amazon RDS. Per una spiegazione dettagliata, consulta il post sul blog [Amazon RDS Under The Hood: Multi-AZ](https://aws.amazon.com/blogs/database/amazon-rds-under-the-hood-multi-az/). Il failover è semplice e l'applicazione si riconnette automaticamente al database quando si verifica. Tuttavia, tutti i job del Process Scheduler durante il failover generano errori e devono essere inviati nuovamente.
+ PeopleSoft server delle applicazioni: i server delle applicazioni sono distribuiti su più zone di disponibilità e dispongono di un gruppo Auto Scaling definito per loro. Se un'istanza fallisce, il gruppo Auto Scaling la sostituisce immediatamente con un'istanza integra clonata dall'AMI del modello di Application Server. In particolare, il *jolt pooling* è abilitato, quindi quando un'istanza del server delle applicazioni si interrompe, le sessioni eseguono automaticamente il failover su un altro server delle applicazioni e il gruppo Auto Scaling avvia automaticamente un'altra istanza, richiama il server delle applicazioni e lo registra nel mount Amazon EFS. L'application server appena creato viene aggiunto automaticamente ai server Web utilizzando `PSSTRSETUP.SH` lo script nei server Web. Ciò garantisce che il server delle applicazioni sia sempre altamente disponibile e si ripristini rapidamente in caso di guasto.
+ Process scheduler: i server Process schedulers sono distribuiti su più zone di disponibilità e dispongono di un gruppo Auto Scaling definito per loro. Se un'istanza fallisce, il gruppo Auto Scaling la sostituisce immediatamente con un'istanza integra clonata dall'AMI del modello del server Process Scheduler. In particolare, quando un'istanza di Process Scheduler si interrompe, il gruppo Auto Scaling attiva automaticamente un'altra istanza e attiva lo scheduler di processo. Tutti i processi in esecuzione quando l'istanza ha avuto esito negativo devono essere inoltrati nuovamente. Ciò garantisce che il Process Scheduler sia sempre altamente disponibile e si ripristini rapidamente in caso di guasto.
+ Server Elasticsearch: per i server Elasticsearch è definito un gruppo Auto Scaling. Se un'istanza fallisce, il gruppo Auto Scaling la sostituisce immediatamente con un'istanza integra clonata dall'AMI del modello di server Elasticsearch. In particolare, quando un'istanza Elasticsearch si interrompe, l'Application Load Balancer che invia le richieste rileva l'errore e interrompe l'invio di traffico verso di essa. Il gruppo Auto Scaling avvia automaticamente un'altra istanza e fa apparire l'istanza Elasticsearch. Quando l'istanza Elasticsearch viene ripristinata, l'Application Load Balancer rileva che è integra e ricomincia a inviarle richieste. Ciò garantisce che il server Elasticsearch sia sempre altamente disponibile e si ripristini rapidamente in caso di guasto.
+ Server Web: per i server Web è definito un gruppo Auto Scaling. Se un'istanza fallisce, il gruppo Auto Scaling la sostituisce immediatamente con un'istanza integra clonata dall'AMI del modello del server Web. In particolare, quando un'istanza del server Web si interrompe, l'Application Load Balancer che invia le richieste rileva l'errore e interrompe l'invio di traffico verso di essa. Il gruppo Auto Scaling avvia automaticamente un'altra istanza e visualizza l'istanza del server Web. Quando viene eseguito il backup dell'istanza del server Web, l'Application Load Balancer rileva che è integra e ricomincia a inviarle richieste. Ciò garantisce che il server Web sia sempre altamente disponibile e si ripristini rapidamente in caso di guasto.

## Tools (Strumenti)
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-tools"></a>

**Servizi AWS**
+ Gli [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/) distribuiscono il traffico delle applicazioni in entrata su più destinazioni, come le istanze EC2, in più zone di disponibilità.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) fornisce volumi di storage a livello di blocco da utilizzare con le istanze Amazon Elastic Compute Cloud (Amazon EC2).
+ [Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute Cloud (Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ti aiuta a creare e configurare file system condivisi nel cloud AWS.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) ti aiuta a configurare, gestire e scalare un database relazionale nel cloud AWS.
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) è un servizio Web DNS altamente scalabile e disponibile.

## Best practice
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-best-practices"></a>

**Best practice operative**
+ Quando esegui PeopleSoft su AWS, usa Route 53 per indirizzare il traffico da Internet e localmente. Utilizza l'[opzione di failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring.html) per reindirizzare il traffico verso il sito di disaster recovery (DR) se l'istanza DB principale non è disponibile.
+ Usa sempre un Application Load Balancer davanti all' PeopleSoft ambiente. Ciò garantisce che il traffico venga bilanciato in modo sicuro in termini di carico verso i server Web.
+ Nelle impostazioni del gruppo target di Application Load Balancer, assicurati che la [viscosità sia attivata con un cookie](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html) generato dal load balancer.
**Nota**  
Potrebbe essere necessario utilizzare un cookie basato sull'applicazione se utilizzi il Single Sign-On (SSO) esterno. Ciò garantisce che le connessioni siano coerenti tra i server Web e i server delle applicazioni.
+ Per un'applicazione PeopleSoft di produzione, il timeout di inattività di Application Load Balancer deve corrispondere a quello impostato nel profilo Web utilizzato. Ciò impedisce la scadenza delle sessioni utente a livello di bilanciamento del carico.
+ Per un'applicazione PeopleSoft di produzione, impostate il [numero di riciclo del server delle applicazioni su un valore che riduca](https://docs.oracle.com/cd/F28299_01/pt857pbr3/eng/pt/tsvt/concept_PSAPPSRVOptions-c07f06.html?pli=ul_d96e90_tsvt) al minimo le perdite di memoria.
+ Se utilizzi un database Amazon RDS per la tua applicazione di PeopleSoft produzione, come descritto in questo modello, eseguilo in [formato Multi-AZ per un'elevata disponibilità](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html).
+ Se il database è in esecuzione su un'istanza EC2 per l'applicazione di PeopleSoft produzione, assicurati che un [database in standby sia in esecuzione su un'altra zona di disponibilità per un'elevata disponibilità](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/ec2-oracle.html#ec2-oracle-ha).
+ Per il DR, assicurati che il tuo database Amazon RDS o l'istanza EC2 abbiano uno standby configurato in una regione AWS separata dal database di produzione. Ciò garantisce che, in caso di emergenza nella regione, sia possibile trasferire l'applicazione in un'altra regione.
+ Per il DR, usa [Amazon Elastic Disaster Recovery](https://aws.amazon.com/disaster-recovery/) per configurare componenti a livello di applicazione in una regione separata dai componenti di produzione. Ciò garantisce che, in caso di emergenza nella regione, sia possibile trasferire l'applicazione in un'altra regione.
+ Usa Amazon EFS (per I/O requisiti moderati) o [Amazon FSx](https://aws.amazon.com/fsx/) (per I/O requisiti elevati) per archiviare PeopleSoft report, allegati e file di dati. Ciò garantisce che i contenuti siano archiviati in un'unica posizione centrale e siano accessibili da qualsiasi punto all'interno dell'infrastruttura.
+ Usa [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) (di base e dettagliato) per monitorare quasi in tempo reale le risorse del cloud AWS utilizzate dalla tua PeopleSoft applicazione. In questo modo sarai avvisato istantaneamente dei problemi e potrai risolverli rapidamente prima che influiscano sulla disponibilità dell'ambiente.
+ Se utilizzi un database Amazon RDS come PeopleSoft database, utilizza [Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html). Questa funzionalità fornisce l'accesso a oltre 50 parametri, tra cui CPU, memoria e file system. I/O, and disk I/O
+ Usa [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) per monitorare le chiamate API sulle risorse AWS utilizzate dalla tua PeopleSoft applicazione. Questo ti aiuta a eseguire analisi di sicurezza, tracciare le modifiche alle risorse e verificare la conformità.

**Le migliori pratiche di sicurezza**
+ [Per proteggere la tua PeopleSoft applicazione da exploit comuni come SQL injection o cross-site scripting (XSS), usa AWS WAF.](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) Prendi in considerazione l'utilizzo di [AWS Shield Advanced](https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html) per servizi di rilevamento e mitigazione personalizzati.
+ Aggiungi una regola all'Application Load Balancer per reindirizzare automaticamente il traffico da HTTP a HTTPS per proteggere la tua applicazione. PeopleSoft 
+ Configura un gruppo di sicurezza separato per Application Load Balancer. Questo gruppo di sicurezza dovrebbe consentire solo il traffico HTTPS/HTTP in entrata e nessun traffico in uscita. Ciò garantisce che sia consentito solo il traffico previsto e contribuisce a proteggere l'applicazione.
+ Utilizzate sottoreti private per i server delle applicazioni, i server Web e il database e utilizzate i [gateway NAT per il traffico Internet in](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) uscita. Ciò garantisce che i server che supportano l'applicazione non siano raggiungibili pubblicamente, fornendo al contempo l'accesso pubblico solo ai server che ne hanno bisogno.
+ Usalo in VPCs modo diverso per gestire i tuoi PeopleSoft ambienti di produzione e non di produzione. Usa [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/), il [peering VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html), la [rete ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) e [i gruppi di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) per controllare il flusso di traffico tra i [VPC](https://aws.amazon.com/vpc/) e, se necessario, il data center locale.
+ Segui il principio del privilegio minimo. Concedi l'accesso alle risorse AWS utilizzate dall' PeopleSoft applicazione solo agli utenti che ne hanno assolutamente bisogno. Concedi solo i privilegi minimi necessari per eseguire un'attività. Per ulteriori informazioni, consulta il [pilastro della sicurezza di](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_permissions_least_privileges.html) AWS Well-Architected Framework.
+ Ove possibile, utilizza [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) per accedere alle istanze EC2 utilizzate dall' PeopleSoft applicazione.

**Le migliori pratiche di affidabilità**
+ Quando utilizzi un Application Load Balancer, registra una singola destinazione per ogni zona di disponibilità abilitata. Questo rende il load balancer più efficace.
+ Ti consigliamo di averne tre distinti URLs per ogni ambiente PeopleSoft di produzione: un URL per accedere all'applicazione, uno per servire il broker di integrazione e uno per visualizzare i report. Se possibile, ogni URL dovrebbe avere i propri server Web e server applicativi dedicati. Questo design aiuta a rendere PeopleSoft l'applicazione più sicura, poiché ogni URL ha una funzionalità distinta e un accesso controllato. Inoltre, riduce al minimo l'ambito di impatto in caso di guasto dei servizi sottostanti.
+ Ti consigliamo di configurare i [controlli di integrità sui gruppi target del sistema di bilanciamento del carico](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) per la tua PeopleSoft applicazione. I controlli di integrità devono essere eseguiti sui server Web anziché sulle istanze EC2 che eseguono tali server. Ciò garantisce che se il server Web si blocca o l'istanza EC2 che ospita il server Web si interrompe, l'Application Load Balancer rifletta tali informazioni in modo accurato.
+ Per un'applicazione PeopleSoft di produzione, consigliamo di distribuire i server Web su almeno tre zone di disponibilità. Ciò garantisce che l' PeopleSoft applicazione sia sempre altamente disponibile anche in caso di interruzione di una delle zone di disponibilità.
+ Per un'applicazione PeopleSoft di produzione, abilita jolt pooling (). `joltPooling=true` Ciò garantisce che l'applicazione esegua il failover su un altro server delle applicazioni se un server è inattivo per l'applicazione di patch o a causa di un errore di una macchina virtuale.
+ Per un'applicazione PeopleSoft di produzione, impostate su 1`DynamicConfigReload `. Questa impostazione è supportata nella PeopleTools versione 8.52 e successive. Aggiunge nuovi server di applicazioni al server Web in modo dinamico, senza riavviare i server.
+ Per ridurre al minimo i tempi di inattività durante l'applicazione delle PeopleTools patch, utilizzate il metodo di blue/green distribuzione per le configurazioni di avvio del gruppo Auto Scaling per i server Web e applicativi. Per ulteriori informazioni, consulta il white paper [Panoramica delle opzioni di distribuzione su AWS](https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/bluegreen-deployments.html).
+ Usa [AWS Backup per eseguire](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) il backup della tua PeopleSoft applicazione su AWS. Backup AWS è un servizio economico, completamente gestito e basato su policy che semplifica la protezione dei dati su larga scala.

**Le migliori pratiche in termini di prestazioni**
+ Interrompi l'SSL presso l'Application Load Balancer per prestazioni ottimali dell'ambiente, a meno che PeopleSoft la tua azienda non richieda traffico crittografato in tutto l'ambiente.
+ Crea [endpoint VPC di interfaccia per](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) servizi AWS come Amazon [Simple Notification Service (Amazon SNS) in modo che](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) il traffico [CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)sia sempre interno. È conveniente e aiuta a proteggere la tua applicazione.

**Best practice per l'ottimizzazione dei costi**
+ Etichetta tutte le risorse utilizzate dal tuo PeopleSoft ambiente e abilita i [tag di allocazione dei costi](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). Questi tag consentono di visualizzare e gestire i costi delle risorse.
+ Per un'applicazione PeopleSoft di produzione, configurate i gruppi di Auto Scaling per i server Web e i server delle applicazioni. Ciò mantiene un numero minimo di server Web e applicativi per supportare l'applicazione. È possibile utilizzare [le politiche di gruppo Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) per aumentare e ridurre i server in base alle esigenze.
+ Utilizza gli [allarmi di fatturazione](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html) per ricevere avvisi quando i costi superano una soglia di budget specificata.

**Le migliori pratiche di sostenibilità**
+ Usa l'[infrastruttura come codice](https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html) (IaC) per gestire i tuoi PeopleSoft ambienti. Questo ti aiuta a creare ambienti coerenti e a mantenere il controllo delle modifiche.

## Epiche
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-epics"></a>

### Esegui la migrazione del PeopleSoft database su Amazon RDS
<a name="migrate-your-peoplesoft-database-to-amazon-rds"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creazione di un gruppo di sottoreti del database. | Sulla [console Amazon RDS](https://console.aws.amazon.com/rds/), nel riquadro di navigazione, scegli **Gruppi di sottoreti**, quindi crea un gruppo di sottoreti Amazon RDS DB con sottoreti in più zone di disponibilità. Ciò è necessario per l'esecuzione del database Amazon RDS in una configurazione Multi-AZ. | Amministratore cloud | 
| Crea il database Amazon RDS. | Crea un database Amazon RDS in una zona di disponibilità della regione AWS selezionata per l'ambiente PeopleSoft HA. Quando crei il database Amazon RDS, assicurati di selezionare l'opzione Multi-AZ (**Crea un'istanza di standby**) e il gruppo di sottoreti del database creato nel passaggio precedente. Per ulteriori informazioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). | Amministratore del cloud, amministratore del database Oracle | 
| Esegui la migrazione del PeopleSoft database su Amazon RDS. | Esegui la migrazione del PeopleSoft database esistente nel database Amazon RDS utilizzando AWS Database Migration Service (AWS DMS). Per ulteriori informazioni, consulta la [documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e il post sul blog di AWS [Migrazione dei database Oracle con tempi di inattività quasi nulli](https://aws.amazon.com/blogs/database/migrating-oracle-databases-with-near-zero-downtime-using-aws-dms/) utilizzando AWS DMS. |  PeopleSoft Amministratore del cloud, DBA | 

### Configura il tuo file system Amazon EFS
<a name="set-up-your-amazon-efs-file-system"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un file system. | Sulla [console Amazon EFS](https://console.aws.amazon.com/efs/), crea un file system e monta gli obiettivi per ogni zona di disponibilità. Per istruzioni, consulta la [documentazione di Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html#creating-using-fs-part1-console). Una volta creato il file system, annota il suo nome DNS. Queste informazioni verranno utilizzate durante il montaggio del file system. | Amministratore del cloud | 

### Configura l' PeopleSoft applicazione e il file system
<a name="set-up-your-peoplesoft-application-and-file-system"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvio di un'istanza EC2. | Avvia un'istanza EC2 per la tua PeopleSoft applicazione. Per istruzioni, consulta la documentazione di [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html#liw-quickly-launch-instance).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore del cloud, PeopleSoft amministratore | 
| Installa PeopleSoft sull'istanza. | Installa l' PeopleSoft applicazione e PeopleTools sull'istanza EC2 che hai creato. Per istruzioni, consulta la [documentazione Oracle](https://docs.oracle.com). | Amministratore cloud, PeopleSoft amministratore | 
| Crea il server delle applicazioni. | Crea il server delle applicazioni per il modello AMI e assicurati che si connetta correttamente al database Amazon RDS. | Amministratore cloud, PeopleSoft amministratore | 
| Montare il file system Amazon EFS. | Accedi all'istanza EC2 come utente root ed esegui i seguenti comandi per montare il file system Amazon EFS in una cartella chiamata `PSFTMNT` sul server.<pre>sudo su –<br />mkdir /psftmnt<br />cat /etc/fstab</pre>Aggiungi la riga seguente al file. `/etc/fstab` Usa il nome DNS che hai annotato quando hai creato il file system.<pre>fs-09e064308f1145388.efs.us-east-1.amazonaws.com:/ /psftmnt nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0<br />mount -a</pre> | Amministratore del cloud, PeopleSoft amministratore | 
| Controlla le autorizzazioni. | Assicurati che la `PSFTMNT` cartella disponga delle autorizzazioni appropriate in modo che l' PeopleSoft utente possa accedervi correttamente. | Amministratore del cloud, PeopleSoft amministratore | 
| Crea istanze aggiuntive. | Ripeti i passaggi precedenti di questa epopea per creare istanze modello per il process scheduler, il server web e il server Elasticsearch. Assegna un nome a queste istanze e. `PRCS_TEMPLATE` `WEB_TEMPLATE` `SRCH_TEMPLATE` Per il server Web, imposta `joltPooling=true`**** e`DynamicConfigReload=1`. | Amministratore cloud, PeopleSoft amministratore | 

### Crea script per configurare i server
<a name="create-scripts-to-set-up-servers"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea uno script per installare il server delle applicazioni. | Nell'`APP_TEMPLATE`istanza Amazon EC2, come PeopleSoft utente, crea il seguente script. Assegnagli un nome `appstart.sh` e inseriscilo nella `PS_HOME` directory. Utilizzerai questo script per richiamare il server delle applicazioni e registrare anche il nome del server sul mount Amazon EFS.<pre>#!/bin/ksh<br />. /usr/homes/hcmdemo/.profile.<br />psadmin -c configure -d HCMDEMO<br />psadmin -c parallelboot -d HCMDEMO<br />touch /psftmnt/`echo $HOSTNAME`</pre> | PeopleSoft amministratore | 
| Crea uno script per installare il server Process Scheduler. | Nell'`PRCS_TEMPLATE`istanza Amazon EC2, come PeopleSoft utente, crea il seguente script. Assegnagli un nome `prcsstart.sh` e inseriscilo nella `PS_HOME` directory. Utilizzerai questo script per far apparire il server Process Scheduler.<pre>#!/bin/ksh<br />. /usr/homes/hcmdemo/. profile<br />/* The following line ensures that the process scheduler always has a unique name during replacement or scaling activity. */ <br />sed -i "s/.*PrcsServerName.*/`hostname -I | awk -F. '{print "PrcsServerName=PSUNX"$3$4}'`/" $HOME/appserv/prcs/*/psprcs.cfg<br />psadmin -p configure -d HCMDEMO<br />psadmin -p start -d HCMDEMO</pre> | PeopleSoft amministratore | 
| Crea uno script per installare il server Elasticsearch. | Nell'`SRCH_TEMPLATE`istanza Amazon EC2, come utente Elasticsearch, crea lo script seguente. Assegnagli un nome `srchstart.sh` e inseriscilo nella directory. `HOME`<pre>#!/bin/ksh<br />/* The following line ensures that the correct IP is indicated in the elasticsearch.yaml file. */<br />sed -i "s/.*network.host.*/`hostname  -I | awk '{print "host:"$0}'`/" $ES_HOME_DIR/config/elasticsearch.yaml<br />nohup $ES_HOME_DIR/bin/elasticsearch &</pre> | PeopleSoft amministratore | 
| Crea uno script per installare il server web. | Nell'`WEB_TEMPLATE`istanza Amazon EC2, come utente del server Web, crea i seguenti script nella directory. `HOME``renip.sh`: questo script garantisce che il server Web abbia l'IP corretto quando viene clonato dall'AMI.<pre>#!/bin/ksh<br />hn=`hostname`<br />/* On the following line, change the IP with the hostname with the hostname of the web template. */<br />for text_file in `find  *  -type f -exec grep -l '<hostname-of-the-web-template>' {} \;`<br />do<br />sed -e 's/<hostname-of-the-web-template>/'$hn'/g' $text_file > temp<br />mv -f temp $text_file<br />done</pre>`psstrsetup.sh`: Questo script garantisce che il server Web utilizzi il server delle applicazioni corretto attualmente in IPs esecuzione. Tenta di connettersi a ciascun server delle applicazioni sulla porta jolt e lo aggiunge al file di configurazione.<pre>#!/bin/ksh<br />c2=""<br />for ctr in `ls -1 /psftmnt/*.internal`<br />do<br />c1=`echo $ctr | awk -F "/" '{print $3}'`<br />/* In the following lines, 9000 is the jolt port. Change it if necessary. */<br />if nc -z $c1 9000 2> /dev/null; then<br />if [[ $c2 = "" ]]; then<br />c2="psserver="`echo $c1`":9000"<br />else<br />c2=`echo $c2`","`echo $c1`":9000"<br />fi<br />fi<br />done</pre>`webstart.sh`: Questo script esegue i due script precedenti e avvia i server Web.<pre>#!/bin/ksh<br />/* Change the path in the following if necessary. */<br />cd  /usr/homes/hcmdemo <br />./renip.sh<br />./psstrsetup.sh<br />webserv/peoplesoft/bin/startPIA.sh</pre> | PeopleSoft amministratore | 
| Aggiungi una voce crontab. | **Nell'`WEB_TEMPLATE`istanza Amazon EC2, come utente del server Web, aggiungi la riga seguente a crontab.** Modifica l'ora e il percorso in modo che rispecchino i valori di cui hai bisogno. Questa voce garantisce che il server Web contenga sempre le voci corrette del server delle applicazioni nel `configuration.properties` file.<pre>* * * * * /usr/homes/hcmdemo/psstrsetup.sh</pre> | PeopleSoft amministratore | 

### Creazione AMIs e Auto Scaling di modelli di gruppo
<a name="create-amis-and-auto-scaling-group-templates"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un AMI per il modello di server delle applicazioni. | Sulla console Amazon EC2, crea un'immagine AMI dell'istanza Amazon `APP_TEMPLATE` EC2. Dai un nome all'AMI`PSAPPSRV-SCG-VER1`. Per istruzioni, consulta la documentazione di [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html). | Amministratore cloud, PeopleSoft amministratore | 
| Crea AMIs per gli altri server. | Ripeti il passaggio precedente AMIs per creare per lo scheduler di processo, il server Elasticsearch e il server web. | Amministratore del cloud, amministratore PeopleSoft  | 
| Crea un modello di avvio per il gruppo Auto Scaling del server di applicazioni. | Crea un modello di avvio per il gruppo Auto Scaling del server di applicazioni. Assegna un nome al modello `PSAPPSRV_TEMPLATE.` Nel modello, scegli l'AMI che hai creato per l'`APP_TEMPLATE`istanza. Per istruzioni, consulta la documentazione di [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#create-launch-template-from-instance).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore cloud, PeopleSoft amministratore | 
| Crea un modello di avvio per il gruppo Auto Scaling del server Process Scheduler. | Ripetere il passaggio precedente per creare un modello di avvio per il gruppo Auto Scaling del server Process Scheduler. Assegna un nome al modello. `PSPRCS_TEMPLATE` Nel modello, scegli l'AMI che hai creato per lo scheduler dei processi.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore cloud, PeopleSoft amministratore | 
| Crea un modello di lancio per il gruppo Auto Scaling del server Elasticsearch. | Ripeti i passaggi precedenti per creare un modello di avvio per il gruppo Auto Scaling del server Elasticsearch. Assegna un nome al modello. `SRCH_TEMPLATE` Nel modello, scegli l'AMI che hai creato per il server di ricerca.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore cloud, PeopleSoft amministratore | 
| Crea un modello di avvio per il gruppo Auto Scaling del server web. | Ripetere i passaggi precedenti per creare un modello di avvio per il gruppo Auto Scaling del server Web. Assegna un nome al modello`WEB_TEMPLATE`. Nel modello, scegli l'AMI che hai creato per il server web.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore cloud, PeopleSoft amministratore | 

### Creare gruppi di Auto Scaling
<a name="create-auto-scaling-groups"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un gruppo Auto Scaling per il server delle applicazioni. | Sulla console Amazon EC2, crea un gruppo Auto Scaling `PSAPPSRV_ASG` chiamato per il server delle applicazioni utilizzando il modello. `PSAPPSRV_TEMPLATE` Per istruzioni, consulta la documentazione di [Amazon EC2](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template.html).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore del cloud, amministratore PeopleSoft  | 
| Crea gruppi di Auto Scaling per gli altri server. | Ripetere il passaggio precedente per creare gruppi di Auto Scaling per il process scheduler, il server Elasticsearch e il server web. | Amministratore del cloud, amministratore PeopleSoft  | 

### Crea e configura gruppi target
<a name="create-and-configure-target-groups"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un gruppo target per il server web. | Sulla console Amazon EC2, crea un gruppo target per il server Web. Per istruzioni, consulta la documentazione di [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-target-group.html). Imposta la porta sulla porta su cui il server Web è in ascolto. | Amministratore cloud | 
| Configura i controlli sanitari. | Verifica che i controlli sanitari abbiano i valori corretti per riflettere i tuoi requisiti aziendali. Per ulteriori informazioni, consulta la [Guida per l'utente di Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html). | Amministratore cloud | 
| Crea un gruppo target per il server Elasticsearch. | Ripeti i passaggi precedenti per creare un gruppo target chiamato `PSFTSRCH` per il server Elasticsearch e imposta la porta Elasticsearch corretta. | Amministratore cloud | 
| Aggiungi gruppi target ai gruppi di Auto Scaling. | Apri il gruppo Auto Scaling del server web chiamato `PSPIA_ASG` che hai creato in precedenza. Nella scheda **Bilanciamento del carico**, scegli **Modifica**, quindi aggiungi il gruppo `PSFTWEB` target al gruppo Auto Scaling.Ripeti questo passaggio per il gruppo Elasticsearch Auto Scaling per aggiungere il `PSSRCH_ASG` `PSFTSRCH` gruppo target creato in precedenza. | Amministratore cloud | 
| Imposta la persistenza della sessione. | Nel gruppo target`PSFTWEB`, scegli la scheda **Attributi**, scegli **Modifica** e imposta la persistenza della sessione. Per il tipo di adesività, scegli **Load Balancer generated cookie** e imposta la durata su 1. Per ulteriori informazioni, consulta la [Guida per l'utente di Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html).Ripeti questo passaggio per il gruppo target. `PSFTSRCH` | Amministratore cloud | 

### Crea e configura i sistemi di bilanciamento del carico delle applicazioni
<a name="create-and-configure-application-load-balancers"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un sistema di bilanciamento del carico per i server Web. | Crea un Application Load Balancer denominato `PSFTLB` per bilanciare il carico del traffico verso i server Web. Per istruzioni, consulta la documentazione di [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html#configure-load-balancer).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore cloud | 
| Crea un sistema di bilanciamento del carico per i server Elasticsearch. | Crea un Application Load Balancer denominato `PSFTSCH` per bilanciare il carico del traffico verso i server Elasticsearch.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | Amministratore cloud | 
| Configura Route 53. | Sulla [console Amazon Route 53](https://console.aws.amazon.com/route53/), crea un record nella zona ospitata che servirà l' PeopleSoft applicazione. Per istruzioni, consulta la [documentazione di Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-creating.html). Ciò garantisce che tutto il traffico passi attraverso il sistema di `PSFTLB` bilanciamento del carico. | Amministratore cloud | 

## Risorse correlate
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-resources"></a>
+ [ PeopleSoft Sito web Oracle](https://www.oracle.com/applications/peoplesoft/)
+ [Documentazione AWS](https://docs.aws.amazon.com/)

# Configura il disaster recovery per Oracle JD Edwards con EnterpriseOne AWS Elastic Disaster Recovery
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery"></a>

*Thanigaivel Thirumalai, Amazon Web Services*

## Riepilogo
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-summary"></a>

I disastri causati da catastrofi naturali, guasti delle applicazioni o interruzioni dei servizi danneggiano i ricavi e causano interruzioni delle applicazioni aziendali. Per ridurre le ripercussioni di tali eventi, la pianificazione del disaster recovery (DR) è fondamentale per le aziende che adottano i sistemi ERP ( EnterpriseOne Enterprise Resource Planning) di JD Edwards e altri software mission critical e aziendali. 

Questo modello spiega come le aziende possono utilizzare AWS Elastic Disaster Recovery come opzione di DR per le loro applicazioni JD Edwards. EnterpriseOne Descrive inoltre i passaggi per utilizzare il failover e il failback di Elastic Disaster Recovery per creare una strategia di DR interregionale per i database ospitati su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) nel cloud AWS.

**Nota**  
Questo modello richiede che le regioni primarie e secondarie per l'implementazione del DR tra regioni siano ospitate su AWS.

[Oracle JD Edwards EnterpriseOne](https://www.oracle.com/applications/jd-edwards-enterpriseone/) è una soluzione software ERP integrata per aziende di medie e grandi dimensioni in un'ampia gamma di settori.

AWS Elastic Disaster Recovery riduce al minimo i tempi di inattività e la perdita di dati con un ripristino rapido e affidabile di applicazioni locali e basate sul cloud utilizzando storage conveniente, elaborazione e ripristino minimi. point-in-time

AWS fornisce [quattro modelli di architettura DR di base](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html). Questo documento si concentra su configurazione, configurazione e ottimizzazione utilizzando la [strategia Pilot Light](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html). Questa strategia consente di creare un ambiente di ripristino di emergenza a basso costo in cui si fornisce inizialmente un server di replica per la replica dei dati dal database di origine e il provisioning del server di database effettivo solo quando si avvia un'operazione di drill and recovery. Questa strategia elimina i costi di manutenzione di un server di database nella regione DR. Invece, paghi per un'istanza EC2 più piccola che funge da server di replica.

## Prerequisiti e limitazioni
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un' EnterpriseOne applicazione JD Edwards in esecuzione su Oracle Database o Microsoft SQL Server con un database supportato in uno stato di esecuzione su un'istanza EC2 gestita. Questa applicazione deve includere tutti i componenti di EnterpriseOne base di JD Edwards (Enterprise Server, HTML Server e Database Server) installati in una regione AWS.
+ Un ruolo AWS Identity and Access Management (IAM) per configurare il servizio Elastic Disaster Recovery.
+ La rete per l'esecuzione di Elastic Disaster Recovery è configurata in base alle [impostazioni di connettività](https://docs.aws.amazon.com/drs/latest/userguide/Network-Requirements.html) richieste.

**Limitazioni**
+ Puoi utilizzare questo modello per replicare tutti i livelli, a meno che il database non sia ospitato su Amazon Relational Database Service (Amazon RDS), nel qual caso ti consigliamo di utilizzare la funzionalità di [copia interregionale](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) di Amazon RDS.
+ Elastic Disaster Recovery non è compatibile con CloudEndure Disaster Recovery, ma puoi eseguire l'aggiornamento da Disaster Recovery. CloudEndure Per ulteriori informazioni, consulta le [domande frequenti](https://docs.aws.amazon.com/drs/latest/userguide/cedr-to-drs.html) nella documentazione di Elastic Disaster Recovery.
+ Amazon Elastic Block Store (Amazon EBS) limita la velocità con cui è possibile scattare istantanee. Puoi replicare un numero massimo di 300 server in un singolo account AWS utilizzando Elastic Disaster Recovery. Per replicare più server, puoi utilizzare più account AWS o più regioni AWS di destinazione. (Dovrai configurare Elastic Disaster Recovery separatamente per ogni account e regione). Per ulteriori informazioni, consulta [le best practice](https://docs.aws.amazon.com/drs/latest/userguide/best_practices_drs.html) nella documentazione di Elastic Disaster Recovery.
+ I carichi di lavoro di origine (l' EnterpriseOne applicazione e il database JD Edwards) devono essere ospitati su istanze EC2. Questo modello non supporta carichi di lavoro on-premise o in altri ambienti cloud.
+ Questo modello si concentra sui componenti JD EnterpriseOne Edwards. Un piano completo di disaster recovery e business continuity (BCP) dovrebbe includere altri servizi di base, tra cui:
  + Rete (cloud privato virtuale, sottoreti e gruppi di sicurezza)
  + Active Directory
  + Amazon WorkSpaces
  + Elastic Load Balancing
  + Un servizio di database gestito come Amazon Relational Database Service (Amazon RDS)

Per ulteriori informazioni su prerequisiti, configurazioni e limitazioni, consulta la documentazione di [Elastic](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html) Disaster Recovery.

**Versioni del prodotto**
+ Oracle JD Edwards EnterpriseOne (versioni supportate da Oracle e SQL Server basate sui requisiti tecnici minimi di Oracle)

## Architecture
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-architecture"></a>

**Stack tecnologico Target**
+ Un'unica regione e un singolo cloud privato virtuale (VPC) per la produzione e la non produzione e una seconda regione per il DR
+ Zone di disponibilità singole per garantire una bassa latenza tra i server
+ Un Application Load Balancer che distribuisce il traffico di rete per migliorare la scalabilità e la disponibilità delle applicazioni su più zone di disponibilità
+ Amazon Route 53 per fornire la configurazione DNS (Domain Name System)
+ Amazon fornirà WorkSpaces agli utenti un'esperienza desktop nel cloud
+ Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) per l'archiviazione di backup, file e oggetti
+ Amazon CloudWatch per la registrazione, il monitoraggio e gli allarmi delle applicazioni
+ Amazon Elastic Disaster Recovery per il disaster recovery

**Architettura di destinazione**

Il diagramma seguente mostra l'architettura di disaster recovery interregionale per JD Edwards che EnterpriseOne utilizza Elastic Disaster Recovery.

![\[Architettura per il ripristino di emergenza EnterpriseOne interregionale di JD Edwards su AWS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/9b0de5f0-f211-4086-a044-321d081604f9/images/978b7219-e54e-4e31-b3ff-4885784e2971.png)


**Procedura**

Ecco una revisione di alto livello del processo. Per i dettagli, consulta la sezione *Epics*.
+ La replica di Elastic Disaster Recovery inizia con una sincronizzazione iniziale. Durante la sincronizzazione iniziale, AWS Replication Agent replica tutti i dati dai dischi di origine alla risorsa appropriata nella sottorete dell'area di staging.
+ La replica continua continua a tempo indeterminato dopo il completamento della sincronizzazione iniziale.
+ Dopo l'installazione dell'agente e l'avvio della replica, si esaminano i parametri di avvio, che includono configurazioni specifiche del servizio e un modello di lancio di Amazon EC2. Quando il server di origine viene indicato come pronto per il ripristino, puoi avviare le istanze.
+ Quando Elastic Disaster Recovery emette una serie di chiamate API per iniziare l'operazione di avvio, l'istanza di ripristino viene immediatamente avviata su AWS in base alle impostazioni di avvio. Il servizio attiva automaticamente un server di conversione durante l'avvio.
+ La nuova istanza viene avviata su AWS al termine della conversione ed è pronta per l'uso. Lo stato del server di origine al momento del lancio è rappresentato dai volumi associati all'istanza lanciata. Il processo di conversione prevede modifiche ai driver, alla rete e alla licenza del sistema operativo per garantire che l'istanza si avvii nativamente su AWS.
+ Dopo il lancio, i volumi appena creati non vengono più sincronizzati con i server di origine. AWS Replication Agent continua a replicare regolarmente le modifiche apportate ai server di origine nei volumi dell'area di staging, ma le istanze avviate non riflettono tali modifiche.
+ Quando avvii una nuova istanza drill o recovery, i dati si riflettono sempre nello stato più recente che è stato replicato dal server di origine alla sottorete dell'area di staging.
+ Quando il server di origine è contrassegnato come pronto per il ripristino, è possibile avviare le istanze.

**Nota**  
Il processo funziona in entrambi i modi: per il failover da una regione AWS primaria a una regione DR e per il failback sul sito primario, una volta ripristinato. Puoi prepararti al failback invertendo la direzione della replica dei dati dal computer di destinazione al computer di origine in modo completamente orchestrato.

I vantaggi di questo processo descritto in questo modello includono:
+ Flessibilità: i server di replica sono scalabili e scalabili in base al set di dati e al tempo di replica, in modo da poter eseguire test di DR senza interrompere i carichi di lavoro o la replica di origine.
+ Affidabilità: la replica è solida, senza interruzioni e continua.
+ Automazione: questa soluzione fornisce un processo unificato e automatizzato per test, ripristino e failback.
+ Ottimizzazione dei costi: è possibile replicare solo i volumi necessari e pagarli, e pagare le risorse di elaborazione presso il sito DR solo quando tali risorse vengono attivate. È possibile utilizzare un'istanza di replica ottimizzata in termini di costi (si consiglia di utilizzare un tipo di istanza ottimizzata per il calcolo) per più fonti o un'unica fonte con un volume EBS di grandi dimensioni.

**Automazione e scalabilità**

Quando si esegue il disaster recovery su larga scala, i EnterpriseOne server JD Edwards dipenderanno da altri server dell'ambiente. Esempio:
+ Gli EnterpriseOne application server JD Edwards che si connettono a un database EnterpriseOne supportato da JD Edwards all'avvio hanno dipendenze da quel database.
+  EnterpriseOne I server JD Edwards che richiedono l'autenticazione e devono connettersi a un controller di dominio all'avvio per avviare i servizi dipendono dal controller di dominio.

Per questo motivo, si consiglia di automatizzare le attività di failover. Ad esempio, puoi utilizzare AWS Lambda o AWS Step Functions per automatizzare gli script di EnterpriseOne avvio di JD Edwards e le modifiche al bilanciamento del carico per automatizzare il processo di failover. end-to-end Per ulteriori informazioni, consulta il post sul blog [Creazione di un piano di disaster recovery scalabile con AWS Elastic Disaster Recovery](https://aws.amazon.com/blogs/storage/creating-a-scalable-disaster-recovery-plan-with-aws-elastic-disaster-recovery/).

## Tools (Strumenti)
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-tools"></a>

**Servizi AWS**
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) fornisce volumi di archiviazione a livello di blocchi da utilizzare con le istanze EC2.
+ [Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute Cloud (Amazon EC2](https://aws.amazon.com/products/compute/)) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [AWS Elastic Disaster Recovery](https://aws.amazon.com/disaster-recovery/) riduce al minimo i tempi di inattività e la perdita di dati con un ripristino rapido e affidabile di applicazioni locali e basate sul cloud utilizzando storage conveniente, elaborazione e ripristino minimi. point-in-time
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://aws.amazon.com/vpc/) ti offre il pieno controllo del tuo ambiente di rete virtuale, inclusi posizionamento delle risorse, connettività e sicurezza.

## Best practice
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-best-practices"></a>

**Le migliori pratiche generali**
+ Prepara un piano scritto su cosa fare in caso di un vero evento di recupero.
+ Dopo aver configurato correttamente Elastic Disaster Recovery, crea un CloudFormation modello AWS in grado di creare la configurazione su richiesta, in caso di necessità. Determina l'ordine in cui i server e le applicazioni devono essere avviati e registralo nel piano di ripristino.
+ Esegui un'analisi regolare (si applicano le tariffe standard di Amazon EC2).
+ Monitora lo stato della replica in corso utilizzando la console Elastic Disaster Recovery o a livello di programmazione.
+ Proteggi le point-in-time istantanee e conferma prima di chiudere le istanze.
+ Crea un ruolo IAM per l'installazione di AWS Replication Agent.
+ Abilita la protezione dalla terminazione per le istanze di ripristino in uno scenario di DR reale.
+ Non utilizzare l'azione **Disconnect from AWS** nella console Elastic Disaster Recovery per i server per i quali hai avviato le istanze di ripristino, anche nel caso di un evento di ripristino reale. L'esecuzione di una disconnessione interrompe tutte le risorse di replica relative a questi server di origine, inclusi i punti di ripristino point-in-time (PIT).
+ Modificate la policy PIT per modificare il numero di giorni per la conservazione delle istantanee.
+ Modifica il modello di avvio nelle impostazioni di avvio di Elastic Disaster Recovery per impostare la sottorete, il gruppo di sicurezza e il tipo di istanza corretti per il server di destinazione.
+ Automatizza il processo di end-to-end failover utilizzando Lambda o Step Functions per automatizzare gli script di avvio di JD Edwards EnterpriseOne e le modifiche al load balancer.

** EnterpriseOne Ottimizzazione e considerazioni su JD Edwards**
+ Passa al **PrintQueue**database.
+ **MediaObjects**Spostatevi nel database.
+ Escludi i log e la cartella temporanea dai server batch e logici.
+ Escludi la cartella temporanea da Oracle. WebLogic
+ Crea script per l'avvio dopo il failover.
+ Escludere il tempdb per SQL Server.
+ Escludi il file temporaneo per Oracle.

## Epiche
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-epics"></a>

### Esegui le attività e la configurazione iniziali
<a name="perform-initial-tasks-and-configuration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configurare la rete di replica.  | Implementa il tuo EnterpriseOne sistema JD Edwards nella regione AWS principale e identifica la regione AWS per il DR. Segui i passaggi nella sezione [Requisiti della rete di replica](https://docs.aws.amazon.com/drs/latest/userguide/preparing-environments.html) della documentazione di Elastic Disaster Recovery per pianificare e configurare la tua rete di replica e DR. | Amministratore AWS | 
| Determina RPO e RTO. | Identifica il Recovery Time Objective (RTO) e il Recovery Point Objective (RPO) per i server delle applicazioni e il database. | Architetto cloud, architetto DR | 
| Abilita la replica per Amazon EFS. | Se applicabile, abilita la replica dalla regione AWS primaria a quella DR per file system condivisi come Amazon Elastic File System (Amazon EFS) utilizzando AWS DataSync, **rsync** o un altro strumento appropriato. | Amministratore del cloud | 
| Gestisci il DNS in caso di DR. | Identifica il processo di aggiornamento del Domain Name System (DNS) durante l'esercitazione di DR o il DR. effettivo | Amministratore cloud | 
| Crea un ruolo IAM per la configurazione. | Segui le istruzioni nella sezione [Inizializzazione e autorizzazioni di Elastic Disaster Recovery](https://docs.aws.amazon.com/drs/latest/userguide/getting-started-initializing.html) della documentazione di Elastic Disaster Recovery per creare un ruolo IAM per inizializzare e gestire il servizio AWS. | Amministratore del cloud | 
| Configura il peering VPC. | Assicurati che l'origine e la destinazione VPCs siano peer e accessibili l'una all'altra. Per istruzioni di configurazione, consulta la documentazione di [Amazon VPC.](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) | Amministratore AWS | 

### Configura le impostazioni di replica di Elastic Disaster Recovery
<a name="configure-elastic-disaster-recovery-replication-settings"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Inizializza Elastic Disaster Recovery. | Apri la [console Elastic Disaster Recovery](https://console.aws.amazon.com/drs/home), scegli la regione AWS di destinazione (dove replicherai i dati e lancerai le istanze di ripristino), quindi scegli **Imposta impostazioni di replica predefinite**. | Amministratore AWS | 
| Configura i server di replica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html) | Amministratore AWS | 
| Configura volumi e gruppi di sicurezza. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html) | Amministratore AWS | 
| Configura impostazioni aggiuntive. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html) | Amministratore AWS | 

### Installa l'agente di replica AWS
<a name="install-the-aws-replication-agent"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un ruolo IAM. | Crea un ruolo IAM che contenga la `AWSElasticDisasterRecoveryAgentInstallationPolicy` policy. Nella sezione **Seleziona il tipo di accesso AWS**, abilita l'accesso programmatico. Annota l'ID della chiave di accesso e la chiave di accesso segreta. Queste informazioni ti serviranno durante l'installazione di AWS Replication Agent. | Amministratore AWS | 
| Verifica i requisiti. | Verifica e completa i [prerequisiti](https://docs.aws.amazon.com/drs/latest/userguide/installation-requiremets.html) nella documentazione di Elastic Disaster Recovery per l'installazione di AWS Replication Agent. | Amministratore AWS | 
| Installa l'agente di replica AWS. | Segui le [istruzioni di installazione](https://docs.aws.amazon.com/drs/latest/userguide/agent-installation-instructions.html) per il tuo sistema operativo e installa AWS Replication Agent.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html)Ripeti questi passaggi per il server rimanente. | Amministratore AWS | 
| Monitora la replica. | Torna al riquadro Elastic Disaster Recovery **Source servers** per monitorare lo stato della replica. La sincronizzazione iniziale richiederà del tempo a seconda delle dimensioni del trasferimento dei dati.Quando il server di origine è completamente sincronizzato, lo stato del server verrà aggiornato a **Ready**. Ciò significa che è stato creato un server di replica nell'area di gestione temporanea e che i volumi EBS sono stati replicati dal server di origine all'area di gestione temporanea. | Amministratore AWS | 

### Configura le impostazioni di avvio
<a name="configure-launch-settings"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Modifica le impostazioni di avvio. | Per aggiornare le impostazioni di avvio per le istanze di drill e recovery, nella [console Elastic Disaster Recovery](https://console.aws.amazon.com/drs/home), seleziona il server di origine, quindi scegli **Azioni**, **Modifica impostazioni di avvio**. In alternativa, puoi scegliere le macchine di origine che si replicano dalla pagina **Server di origine**, quindi scegliere la scheda Impostazioni di **avvio**. Questa scheda è composta da due sezioni: **Impostazioni generali di avvio** e Modello di **avvio EC2**. | Amministratore AWS | 
| Configura le impostazioni generali di avvio. | Modifica le impostazioni generali di avvio in base alle tue esigenze.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html)Per ulteriori informazioni, consulta [Impostazioni generali di avvio nella documentazione](https://docs.aws.amazon.com/drs/latest/userguide/launch-general-settings.html) di Elastic Disaster Recovery. | Amministratore AWS | 
| Configura il modello di lancio di Amazon EC2. | Elastic Disaster Recovery utilizza i modelli di lancio di Amazon EC2 per avviare istanze di drill and recovery per ogni server di origine. Il modello di lancio viene creato automaticamente per ogni server di origine che aggiungi a Elastic Disaster Recovery dopo l'installazione di AWS Replication Agent.È necessario impostare il modello di lancio di Amazon EC2 come modello di avvio predefinito se si desidera utilizzarlo con Elastic Disaster Recovery.Per ulteriori informazioni, consulta [EC2 Launch Template nella documentazione](https://docs.aws.amazon.com/drs/latest/userguide/ec2-launch.html) di Elastic Disaster Recovery. | Amministratore AWS | 

### Avvia il drill and failover del DR
<a name="initiate-dr-drill-and-failover"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia Drill | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html)Per ulteriori informazioni, consulta [Preparazione per il failover](https://docs.aws.amazon.com/drs/latest/userguide/failback-preparing.html) nella documentazione di Elastic Disaster Recovery. | Amministratore AWS | 
| Convalida l'esercitazione. | Nel passaggio precedente, hai lanciato nuove istanze target nella regione DR. Le istanze di destinazione sono repliche dei server di origine basate sull'istantanea scattata al momento dell'avvio.In questa procedura, ti connetti ai tuoi computer di destinazione Amazon EC2 per confermare che funzionino come previsto.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html) |  | 
| Avvia un failover. | Un failover è il reindirizzamento del traffico da un sistema primario a un sistema secondario. Elastic Disaster Recovery ti aiuta a eseguire un failover avviando istanze di ripristino su AWS. Una volta avviate le istanze di ripristino, il traffico dai sistemi primari viene reindirizzato a queste istanze.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html)Per ulteriori informazioni, consulta [Esecuzione di un failover](https://docs.aws.amazon.com/drs/latest/userguide/failback-preparing-failover.html) nella documentazione di Elastic Disaster Recovery. | Amministratore AWS | 
| Avvia un failback. | Il processo di avvio di un failback è simile al processo di avvio del failover.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html)Per ulteriori informazioni, consulta [Esecuzione di un failback](https://docs.aws.amazon.com/drs/latest/userguide/failback-performing-main.html) nella documentazione di Elastic Disaster Recovery. | Amministratore AWS | 
| Avvia i componenti di JD Edwards. EnterpriseOne  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.html)È necessario incorporare le modifiche in Route 53 e Application Load Balancer affinché il collegamento JD Edwards funzioni. EnterpriseOne È possibile automatizzare questi passaggi utilizzando Lambda, Step Functions e Systems Manager (Run Command).Elastic Disaster Recovery esegue la replica a livello di blocco dei volumi EBS dell'istanza EC2 di origine che ospitano il sistema operativo e i file system. I file system condivisi creati utilizzando Amazon EFS non fanno parte di questa replica. Puoi replicare i file system condivisi nella regione DR utilizzando AWS DataSync, come indicato nella prima epic, e poi montare questi file system replicati nel sistema DR. | J.D. Edwards CNC EnterpriseOne  | 

## Risoluzione dei problemi
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Lo stato di replica dei dati del server di origine è in fase di **stallo** e la replica è in ritardo. **Se si controllano i dettagli, lo stato di replica dei dati visualizza Agente non visualizzato.** | Verificare che il server di origine bloccato sia in esecuzione.Se il server di origine non funziona, il server di replica viene chiuso automaticamente.Per ulteriori informazioni sui problemi di ritardo, consulta Problemi di ritardo nella [replica nella documentazione di Elastic Disaster](https://docs.aws.amazon.com/drs/latest/userguide/Other-Troubleshooting-Topics.html#Replication-Lag-Issues) Recovery. | 
| L'installazione di AWS Replication Agent nell'istanza EC2 di origine non riesce in RHEL 8.2 dopo la scansione dei dischi. `aws_replication_agent_installer.log`rivela che mancano gli header del kernel. | Prima di installare AWS Replication Agent su RHEL 8, CentOS 8 o Oracle Linux 8, esegui:<pre>sudo yum install elfutils-libelf-devel</pre>Per ulteriori informazioni, consulta i [requisiti di installazione di Linux nella documentazione](https://docs.aws.amazon.com/mgn/latest/ug/installation-requirements.html#linux-requirements) di Elastic Disaster Recovery. | 
| **Nella console Elastic Disaster Recovery, il server di origine viene visualizzato come **Pronto** con un ritardo e lo stato di replica dei dati è impostato su Stallato.**A seconda di quanto tempo l'AWS Replication Agent non è disponibile, lo stato potrebbe indicare un ritardo elevato, ma il problema rimane lo stesso. | Utilizza un comando del sistema operativo per confermare che l'agente AWS Replication è in esecuzione nell'istanza EC2 di origine o conferma che l'istanza è in esecuzione.Dopo aver corretto eventuali problemi, Elastic Disaster Recovery riavvierà la scansione. Attendi che tutti i dati siano stati sincronizzati e che lo stato della replica sia **integro** prima di iniziare un'esercitazione di DR. | 
| Replica iniziale con elevato ritardo. Sulla console Elastic Disaster Recovery, puoi vedere che lo stato di sincronizzazione iniziale è estremamente lento per un server di origine. | Verifica i problemi di ritardo di replica documentati nella sezione [Problemi di ritardo di replica](https://docs.aws.amazon.com/drs/latest/userguide/Other-Troubleshooting-Topics.html#Replication-Lag-Issues) della documentazione di Elastic Disaster Recovery.Il server di replica potrebbe non essere in grado di gestire il carico a causa di operazioni di elaborazione intrinseche. In tal caso, prova ad aggiornare il tipo di istanza dopo aver consultato il team di [AWS Technical Support](https://support.console.aws.amazon.com/support/). | 

## Risorse correlate
<a name="set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery-resources"></a>
+ [Guida per l'utente di AWS Elastic Disaster Recovery](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html)
+ [Creazione di un piano di disaster recovery scalabile con AWS Elastic Disaster Recovery](https://aws.amazon.com/blogs/storage/creating-a-scalable-disaster-recovery-plan-with-aws-elastic-disaster-recovery/) (post sul blog AWS)
+ [AWS Elastic Disaster Recovery: un'introduzione tecnica](https://explore.skillbuilder.aws/learn/course/internal/view/elearning/11123/aws-elastic-disaster-recovery-a-technical-introduction) (corso AWS Skill Builder; richiede l'accesso)
+ [Guida introduttiva rapida di AWS Elastic Disaster Recovery](https://docs.aws.amazon.com/drs/latest/userguide/quick-start-guide-gs.html)

# Imposta il rilevamento della CloudFormation deriva in un'organizzazione multiregionale e con più account
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization"></a>

*Ram Kandaswamy, Amazon Web Services*

## Riepilogo
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization-summary"></a>

Gli utenti di Amazon Web Services (AWS) spesso cercano un modo efficiente per rilevare le discrepanze nella configurazione delle risorse, tra cui la deriva negli AWS CloudFormation stack, e correggerle il prima possibile. Questo è particolarmente vero quando AWS Control Tower viene utilizzato.

Questo modello fornisce una soluzione prescrittiva che risolve efficacemente il problema utilizzando modifiche consolidate alla configurazione delle risorse e agendo su tali modifiche per generare risultati. La soluzione è progettata per scenari in cui sono presenti diversi CloudFormation stack creati in più di uno Regione AWS, in più di un account o in una combinazione di entrambi. Gli obiettivi della soluzione sono i seguenti:
+ Semplifica il processo di rilevamento della deriva
+ Imposta notifiche e avvisi
+ Configura il reporting consolidato

## Prerequisiti e limitazioni
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization-prereqs"></a>

**Prerequisiti**
+ AWS Config abilitato in tutte le regioni e gli account che devono essere monitorati

**Limitazioni**
+ Il report generato supporta solo i formati di output con valori separati da virgole (CSV) e JSON.

## Architecture
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization-architecture"></a>

Il diagramma seguente mostra AWS Organizations la configurazione con più account. AWS Config le regole comunicano tra gli account.  

![\[Processo in cinque fasi per il monitoraggio degli stack in due account AWS Organizations.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/735d0987-b953-47f8-a9bc-b02a88957ee5/images/340cee9a-5a4e-49ea-bd73-d37dcea5e098.png)


 Il flusso di lavoro include i seguenti passaggi:

1. La AWS Config regola rileva la deriva.

1. I risultati del rilevamento della deriva trovati in altri account vengono inviati all'account di gestione.

1. La CloudWatch regola Amazon chiama una AWS Lambda funzione.

1. La funzione Lambda interroga la AWS Config regola per ottenere risultati aggregati.

1. La funzione Lambda notifica Amazon Simple Notification Service (Amazon SNS), che invia una notifica via e-mail della deriva.

**Automazione e scalabilità**

La soluzione qui presentata è scalabile sia per le regioni che per gli account aggiuntivi.

## Tools (Strumenti)
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization-tools"></a>

**Servizi AWS**
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)fornisce una visualizzazione dettagliata della configurazione delle AWS risorse del tuo Account AWS. Questo include le relazioni tra le risorse e la maniera in cui sono state configurate in passato, in modo che tu possa vedere come le configurazioni e le relazioni cambiano nel corso del tempo.
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ti CloudWatch aiuta a monitorare i parametri delle tue AWS risorse e delle applicazioni su cui esegui AWS in tempo reale.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.

## Epiche
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization-epics"></a>

### Automatizza il rilevamento della deriva per CloudFormation
<a name="automate-drift-detection-for-cfn"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'aggregatore. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization.html) | Architetto del cloud | 
| Crea una regola AWS gestita. | Aggiungi la regola `cloudformation-stack-drift-detection-check` AWS**** gestita. La regola richiede un valore di parametro:`cloudformationArn`. Inserisci il ruolo IAM Amazon Resource Name (ARN) che dispone delle autorizzazioni per rilevare la deriva dello stack. Il ruolo deve avere una politica di fiducia che AWS Config consenta di assumerlo. | Architetto del cloud | 
| Crea la sezione di interrogazione avanzata dell'aggregatore. | Per recuperare pile alla deriva da più fonti, crea la seguente query:<pre>SELECT resourceId, configuration.driftInformation.stackDriftStatus WHERE resourceType = 'AWS::CloudFormation::Stack'  AND configuration.driftInformation.stackDriftStatus IN ('DRIFTED')</pre> | Architetto del cloud, sviluppatore | 
| Automatizza l'esecuzione della query e la pubblicazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization.html) | Architetto del cloud, sviluppatore | 
| Crea una CloudWatch regola. | Crea una CloudWatch regola basata sulla pianificazione per chiamare la funzione Lambda, responsabile degli avvisi. | Architetto del cloud | 

## Risorse correlate
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization-resources"></a>

**Risorse**
+ [Che cos'è AWS Config?](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)
+ [Aggregazione di dati multiaccount e più regioni](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html)
+ [Rilevamento delle modifiche di configurazione non gestite agli stack e alle risorse](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
+ [IAM: passa un ruolo IAM a uno specifico Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam-passrole-service.html)
+ [Cos'è Amazon SNS?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)

## Informazioni aggiuntive
<a name="set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization-additional"></a>

**Considerazioni**

Consigliamo di utilizzare la soluzione presentata in questo schema anziché soluzioni personalizzate che prevedono chiamate API a intervalli specifici per avviare il rilevamento delle deviazioni su ogni CloudFormation stack o set di stack. Le soluzioni personalizzate che utilizzano chiamate API a intervalli specifici possono portare a un numero elevato di chiamate API e influire sulle prestazioni. A causa del numero di chiamate API, può verificarsi una limitazione. Un altro potenziale problema è il ritardo nel rilevamento se le modifiche alle risorse vengono identificate solo in base alla pianificazione.

Poiché i set di stack sono costituiti da pile, puoi utilizzare questa soluzione. Come parte della soluzione sono disponibili anche i dettagli delle istanze dello stack.

## Allegati
<a name="attachments-735d0987-b953-47f8-a9bc-b02a88957ee5"></a>

[Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/735d0987-b953-47f8-a9bc-b02a88957ee5/attachments/attachment.zip)

# Importa con successo un bucket S3 come stack AWS CloudFormation
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack"></a>

*Ram Kandaswamy, Amazon Web Services*

## Riepilogo
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-summary"></a>

Se utilizzi risorse Amazon Web Services (AWS), come i bucket Amazon Simple Storage Service (Amazon S3), e desideri utilizzare un approccio infrastructure-as code (IaC), puoi importare le tue risorse in CloudFormation AWS e gestirle come uno stack.

Questo modello fornisce i passaggi per importare correttamente un bucket S3 come stack CloudFormation AWS. Utilizzando l'approccio di questo modello, puoi evitare possibili errori che potrebbero verificarsi se importi il bucket S3 con una singola azione.

## Prerequisiti e limitazioni
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Una policy esistente per i bucket S3 e i bucket S3. Per ulteriori informazioni su questo argomento, consulta [Quale policy sui bucket S3 devo usare per rispettare la regola AWS Config s3- bucket-ssl-requests-only nell'AWS](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/) Knowledge Center.
+ Una chiave AWS Key Management Service (AWS KMS) esistente e il relativo alias. Per ulteriori informazioni su questo argomento, consulta [Lavorare con gli alias](https://docs.aws.amazon.com/kms/latest/developerguide/programming-aliases.html) nella documentazione di AWS KMS.
+ Il CloudFormation modello `CloudFormation-template-S3-bucket` AWS di esempio (allegato), scaricato sul tuo computer locale.

## Architecture
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-architecture"></a>

![\[Flusso di lavoro per utilizzare il CloudFormation modello per creare uno CloudFormation stack per importare un bucket S3.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/aea7f6fe-8e67-46c4-8b90-1ab06b879111/images/ee143374-a0a4-42d9-b7ca-16593a597a84.png)


 

Il diagramma mostra il flusso di lavoro seguente:

1. L'utente crea un modello AWS in formato JSON o YAML. CloudFormation 

1. Il modello crea uno CloudFormation stack AWS per importare il bucket S3.

1. Lo CloudFormation stack AWS gestisce il bucket S3 specificato nel modello.

**Stack tecnologico**
+ AWS CloudFormation
+ AWS Identity and Access Management (IAM)
+ AWS KMS
+ Simple Storage Service (Amazon S3)

 

**Strumenti**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html): AWS ti CloudFormation aiuta a creare e fornire distribuzioni di infrastrutture AWS in modo prevedibile e ripetuto.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html): IAM è un servizio Web per controllare in modo sicuro l'accesso ai servizi AWS.
+ [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) — AWS Key Management Service (AWS KMS) è un servizio di crittografia e gestione delle chiavi scalato per il cloud.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) — Amazon Simple Storage Service (Amazon S3) è uno storage per Internet.

## Epiche
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-epics"></a>

### Importa un bucket S3 con crittografia AWS KMS key basata su uno stack AWS CloudFormation
<a name="import-an-s3-bucket-with-kms-key-long--based-encryption-as-an-aws-cloudformation-stack"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un modello per importare il bucket S3 e la chiave KMS. | Sul tuo computer locale, crea un modello per importare il bucket S3 e la chiave KMS utilizzando il seguente modello di esempio:<pre>AWSTemplateFormatVersion: 2010-09-09<br /><br />Parameters:<br /><br />  bucketName:<br /><br />    Type: String<br /><br />Resources:<br /><br />  S3Bucket:<br /><br />    Type: 'AWS::S3::Bucket'<br /><br />    DeletionPolicy: Retain<br /><br />    Properties:<br /><br />      BucketName: !Ref bucketName<br /><br />      BucketEncryption:<br /><br />        ServerSideEncryptionConfiguration:<br /><br />          - ServerSideEncryptionByDefault:<br /><br />              SSEAlgorithm: 'aws:kms'<br /><br />              KMSMasterKeyID: !GetAtt <br /><br />                - KMSS3Encryption<br /><br />                - Arn<br /><br />  KMSS3Encryption:<br /><br />    Type: 'AWS::KMS::Key'<br /><br />    DeletionPolicy: Retain<br /><br />    Properties:<br /><br />      Enabled: true<br /><br />      KeyPolicy: !Sub |-<br /><br />        {<br /><br />            "Id": "key-consolepolicy-3",<br /><br />            "Version": "2012-10-17",		 	 	 <br /><br />            "Statement": [<br /><br />                {<br /><br />                    "Sid": "Enable IAM User Permissions",<br /><br />                    "Effect": "Allow",<br /><br />                    "Principal": {<br /><br />                        "AWS": ["arn:aws:iam::${AWS::AccountId}:root"]<br /><br />                    },<br /><br />                    "Action": "kms:*",<br /><br />                    "Resource": "*"<br /><br />                }<br /><br />                }<br /><br />            ]<br /><br />        }<br /><br />      EnableKeyRotation: true</pre> | AWS DevOps | 
| Creare lo stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html) | AWS DevOps | 
| Crea l'alias della chiave KMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)<pre>KMSS3EncryptionAlias:<br /><br />    Type: 'AWS::KMS::Alias'<br /><br />    DeletionPolicy: Retain<br /><br />    Properties: <br /><br />    AliasName: alias/S3BucketKey<br /><br />    TargetKeyId: !Ref KMSS3Encryption</pre>Per ulteriori informazioni a riguardo, consulta [AWS CloudFormation stack updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) nella CloudFormation documentazione AWS.  | AWS DevOps | 
| Aggiorna lo stack per includere la policy sui bucket S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)<pre>S3BucketPolicy:<br /><br />  Type: 'AWS::S3::BucketPolicy'<br /><br />  Properties:<br /><br />    Bucket: !Ref S3Bucket<br /><br />    PolicyDocument: !Sub |-<br /><br />      {<br /><br />                  "Version": "2008-10-17",		 	 	 <br /><br />                  "Id": "restricthttp",<br /><br />                  "Statement": [<br /><br />                      {<br /><br />                          "Sid": "denyhttp",<br /><br />                          "Effect": "Deny",<br /><br />                          "Principal": {<br /><br />                              "AWS": "*"<br /><br />                          },<br /><br />                          "Action": "s3:*",<br /><br />                          "Resource": ["arn:aws:s3:::${S3Bucket}","arn:aws:s3:::${S3Bucket}/*"],<br /><br />                          "Condition": {<br /><br />                              "Bool": {<br /><br />                                  "aws:SecureTransport": "false"<br /><br />                              }<br /><br />                          }<br /><br />                      }<br /><br />                  ]<br /><br />              }</pre>Questa policy sui bucket S3 include una dichiarazione di negazione che limita le chiamate API che non sono sicure.  | AWS DevOps | 
| Aggiorna la politica chiave. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)Per ulteriori informazioni, consulta [le politiche chiave AWS KMS nella](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) documentazione di AWS KMS. | Amministratore AWS | 
| Aggiungi tag a livello di risorsa. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)<pre>Tags:<br /><br />  - Key: createdBy<br /><br />    Value: Cloudformation</pre> | AWS DevOps | 

## Risorse correlate
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-resources"></a>
+ [Inserimento delle risorse esistenti nella CloudFormation gestione di AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html)
+ [AWS re:Invent 2017: approfondimento su CloudFormation AWS](https://www.youtube.com/watch?v=01hy48R9Kr8) (video)

## Allegati
<a name="attachments-aea7f6fe-8e67-46c4-8b90-1ab06b879111"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/aea7f6fe-8e67-46c4-8b90-1ab06b879111/attachments/attachment.zip)

# Sincronizza i dati tra i file system Amazon EFS in diverse regioni AWS utilizzando AWS DataSync
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync"></a>

*Sarat Chandra Pothula e Aditya Ambati, Amazon Web Services*

## Riepilogo
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-summary"></a>

Questa soluzione fornisce un framework robusto per una sincronizzazione dei dati efficiente e sicura tra istanze Amazon Elastic File System (Amazon EFS) in diverse regioni AWS. Questo approccio è scalabile e fornisce una replica dei dati controllata in più regioni. Questa soluzione può migliorare le strategie di disaster recovery e ridondanza dei dati.

Utilizzando l'AWS Cloud Development Kit (AWS CDK), questo modello utilizza un approccio infrastructure-as code (IaC) per distribuire le risorse della soluzione. L'applicazione AWS CDK distribuisce le risorse essenziali di AWS, DataSync Amazon EFS, Amazon Virtual Private Cloud (Amazon VPC) e Amazon Elastic Compute Cloud (Amazon). EC2 Questo IaC fornisce un processo di distribuzione ripetibile e controllato dalla versione, completamente allineato con le best practice di AWS.

## Prerequisiti e limitazioni
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)
+ [https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install)
+ [NodeJS versione 20.8.0 o successiva, installata](https://nodejs.org/en/download)

**Limitazioni**
+ La soluzione eredita limitazioni da DataSync Amazon EFS, come velocità di trasferimento dei dati, limiti di dimensione e disponibilità regionale. Per ulteriori informazioni, consulta le [ DataSync quote AWS e le quote](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html) [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/limits.html).
+ Questa soluzione supporta solo Amazon EFS. DataSync supporta [altri servizi AWS](https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html), come Amazon Simple Storage Service (Amazon S3) e FSx Amazon for Lustre. Tuttavia, questa soluzione richiede modifiche per sincronizzare i dati con questi altri servizi.

## Architecture
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-architecture"></a>

![\[Diagramma dell'architettura per la replica dei dati su un file system EFS in una regione diversa\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e28ba6c2-ab8b-4812-932e-f038106d5496/images/18b35ae9-a22e-43e7-b7a3-30e40321c44e.png)


Questa soluzione implementa i seguenti stack CDK AWS:
+ Stack **Amazon VPC: questo stack** configura risorse di cloud privato virtuale (VPC), tra cui sottoreti, un gateway Internet e un gateway NAT nelle regioni AWS primarie e secondarie.
+ **Stack Amazon EFS**: questo stack distribuisce i file system Amazon EFS nelle regioni primarie e secondarie e li collega alle rispettive. VPCs
+ **Amazon EC2 stack**: questo stack avvia EC2 istanze nelle regioni primarie e secondarie. Queste istanze sono configurate per montare il file system Amazon EFS, che consente loro di accedere allo storage condiviso.
+ **DataSync location stack**: questo stack utilizza un costrutto personalizzato chiamato `DataSyncLocationConstruct` a creare risorse di DataSync localizzazione nelle regioni primarie e secondarie. Queste risorse definiscono gli endpoint per la sincronizzazione dei dati.
+ **DataSync stack di attività**: questo stack utilizza un costrutto personalizzato chiamato `DataSyncTaskConstruct` per creare un' DataSync attività nella regione principale. Questa attività è configurata per sincronizzare i dati tra le regioni primarie e secondarie utilizzando le posizioni di DataSync origine e di destinazione.

## Tools (Strumenti)
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-tools"></a>

**Servizi AWS**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) è un framework di sviluppo software che aiuta a definire e fornire l'infrastruttura cloud AWS in codice.
+ [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html) è un servizio di trasferimento e scoperta di dati online che ti aiuta a spostare file o dati di oggetti da, verso e tra i servizi di storage AWS.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ti aiuta a creare e configurare file system condivisi nel cloud AWS.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare le risorse AWS in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di AWS.

**Repository di codice**

Il codice per questo modello è disponibile nel repository GitHub [Amazon EFS Cross-Region DataSync Project](https://github.com/aws-samples/aws-efs-crossregion-datasync/tree/main).

## Best practice
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-best-practices"></a>

Segui le best practice descritte nella sezione [Best practice per l'utilizzo del CDK AWS TypeScript per creare progetti IaC](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/introduction.html).

## Epiche
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-epics"></a>

### Distribuisci l'app AWS CDK
<a name="deploy-the-aws-cdk-app"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il repository del progetto. | Immetti il seguente comando per clonare il repository [Amazon EFS Cross-Region DataSync Project](https://github.com/aws-samples/aws-efs-crossregion-datasync/tree/main).<pre>git clone https://github.com/aws-samples/aws-efs-crossregion-datasync.git</pre> | AWS DevOps | 
| Installa le dipendenze npm. | Inserire il seguente comando.<pre>npm ci</pre> | AWS DevOps | 
| Scegli le regioni primarie e secondarie. | Nel repository clonato, accedi alla directory. `src/infa` Nel `Launcher.ts` file, aggiorna i valori and. `PRIMARY_AWS_REGION` `SECONDARY_AWS_REGION` Usa i [codici regionali](https://docs.aws.amazon.com/general/latest/gr/datasync.html#datasync-region) corrispondenti.<pre>const primaryRegion = { account: account, region: '<PRIMARY_AWS_REGION>' };<br />const secondaryRegion = { account: account, region: '<SECONDARY_AWS_REGION>' };</pre> | AWS DevOps | 
| Avvia l'ambiente. | Inserisci il seguente comando per avviare l'account AWS e la regione AWS che desideri utilizzare.<pre>cdk bootstrap <aws_account>/<aws_region></pre>Per ulteriori informazioni, consulta [Bootstrapping nella documentazione](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) di AWS CDK. | AWS DevOps | 
| Elenca gli stack CDK AWS. | Immetti il seguente comando per visualizzare un elenco degli stack CDK AWS nell'app.<pre>cdk ls</pre> | AWS DevOps | 
| Sintetizza gli stack CDK AWS. | Inserisci il seguente comando per creare un CloudFormation modello AWS per ogni stack definito nell'app AWS CDK.<pre>cdk synth</pre> | AWS DevOps | 
| Distribuisci l'app AWS CDK. | Inserisci il seguente comando per distribuire tutti gli stack nel tuo account AWS, senza richiedere l'approvazione manuale per eventuali modifiche.<pre>cdk deploy --all --require-approval never</pre> | AWS DevOps | 

### Convalida la distribuzione
<a name="validate-the-deployment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Accedi all' EC2 istanza nella regione principale. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync.html) | AWS DevOps | 
| Crea un file temporaneo. | Immetti il seguente comando per creare un file temporaneo nel percorso di montaggio di Amazon EFS.<pre>sudo dd if=/dev/zero \<br />of=tmptst.dat \<br />bs=1G \<br />seek=5 \<br />count=0<br /><br />ls -lrt tmptst.dat</pre> | AWS DevOps | 
| Avvia l' DataSync attività. | Inserisci il seguente comando per replicare il file temporaneo dalla regione principale alla regione secondaria, dove si `<ARN-task>` trova l'Amazon Resource Name (ARN) della DataSync tua attività.<pre>aws datasync start-task-execution \<br />    --task-arn <ARN-task></pre>Il comando restituisce l'ARN dell'esecuzione dell'attività nel formato seguente.`arn:aws:datasync:<region>:<account-ID>:task/task-execution/<exec-ID>` | AWS DevOps | 
| Controlla lo stato del trasferimento dei dati. | Immettere il comando seguente per descrivere l'attività di DataSync esecuzione, `<ARN-task-execution>` dov'è l'ARN dell'esecuzione dell'attività.<pre>aws datasync describe-task-execution \<br />    --task-execution-arn <ARN-task-execution></pre>L' DataSync attività è completa quando `PrepareStatus``TransferStatus`, e `VerifyStatus` tutte hanno il valore`SUCCESS`. | AWS DevOps | 
| Accedi all' EC2 istanza nella regione secondaria. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync.html) | AWS DevOps | 
| Convalida la replica. | Inserisci il seguente comando per verificare che il file temporaneo esista nel file system Amazon EFS.<pre>ls -lrt<br />tmptst.dat</pre> | AWS DevOps | 

## Risorse correlate
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-resources"></a>

**Documentazione AWS**
+ [Riferimento all'API CDK AWS](https://docs.aws.amazon.com/cdk/api/v2/python/modules.html)
+ [Configurazione dei DataSync trasferimenti AWS con Amazon EFS](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html)
+ [Risoluzione dei problemi relativi ai DataSync trasferimenti AWS](https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html)

**Altre risorse AWS**
+ [AWS DataSync FAQs](https://aws.amazon.com/datasync/faqs/)

# AWS Infrastruttura di test utilizzando LocalStack e Terraform Tests
<a name="test-aws-infra-localstack-terraform"></a>

*Ivan Girardi e Ioannis Kalyvas, Amazon Web Services*

## Riepilogo
<a name="test-aws-infra-localstack-terraform-summary"></a>

Questo modello ti aiuta a testare localmente l'infrastruttura come codice (IaC) AWS in Terraform senza la necessità di fornire l'infrastruttura nel tuo ambiente. AWS Integra il framework [Terraform](https://developer.hashicorp.com/terraform/language/tests) Tests con. [LocalStack](https://github.com/localstack/localstack) Il contenitore LocalStack Docker fornisce un ambiente di sviluppo locale che emula vari. Servizi AWS Questo ti aiuta a testare e iterare le implementazioni dell'infrastruttura senza incorrere in costi di. Cloud AWS

Questa soluzione offre i seguenti vantaggi:
+ **Ottimizzazione dei costi**: l'esecuzione di test LocalStack elimina la necessità di utilizzo Servizi AWS. In questo modo si evitano i costi associati alla creazione, al funzionamento e alla modifica di tali risorse. AWS 
+ **Velocità ed efficienza**: i test locali sono inoltre in genere più rapidi rispetto alla distribuzione delle risorse. AWS Questo ciclo di feedback rapido accelera lo sviluppo e il debug. Poiché LocalStack funziona localmente, puoi sviluppare e testare i tuoi file di configurazione Terraform senza una connessione Internet. È possibile eseguire il debug dei file di configurazione Terraform localmente e ricevere un feedback immediato, il che semplifica il processo di sviluppo.
+ **Coerenza e riproducibilità**: LocalStack fornisce un ambiente coerente per i test. Questa coerenza aiuta a garantire che i test producano gli stessi risultati, indipendentemente dalle AWS modifiche esterne o dai problemi di rete.
+ **Isolamento**: Testing with LocalStack impedisce di influire accidentalmente sulle AWS risorse attive o sugli ambienti di produzione. Questo isolamento consente di sperimentare e testare diverse configurazioni in tutta sicurezza.
+ **Automazione**[: l'integrazione con una pipeline di integrazione e distribuzione continua (CI/CD) consente di testare automaticamente i file di configurazione Terraform.](https://developer.hashicorp.com/terraform/language/files) La pipeline testa a fondo l'IaC prima dell'implementazione.
+ **Flessibilità**: è possibile simulare diverse Regioni AWS configurazioni e servizi per adattarle meglio agli ambienti di produzione. Account AWS

## Prerequisiti e limitazioni
<a name="test-aws-infra-localstack-terraform-prereqs"></a>

**Prerequisiti**
+ [Installa Docker](https://docs.docker.com/get-started/get-docker/)
+ [Abilita l'accesso](https://docs.docker.com/reference/cli/dockerd/#daemon-socket-option) al socket Docker predefinito (). `/var/run/docker.sock` Per ulteriori informazioni, consulta la [documentazione relativa ad LocalStack ](https://docs.localstack.cloud/user-guide/aws/lambda/#migrating-to-lambda-v2).
+ [Installa Docker](https://docs.docker.com/compose/install/) Compose
+ [Installa](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) Terraform versione 1.6.0 o successiva
+ [Installa](https://developer.hashicorp.com/terraform/cli) Terraform CLI
+ [Configura il provider Terraform](https://hashicorp.github.io/terraform-provider-aws/) AWS 
+ (Facoltativo) [Installa](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [configura](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) AWS Command Line Interface (AWS CLI). Per un esempio di come utilizzare AWS CLI with LocalStack, consulta il repository GitHub [Test AWS infrastructure using LocalStack and Terraform Tests](https://github.com/aws-samples/localstack-terraform-test).

**Limitazioni**
+ Questo modello fornisce esempi espliciti per testare le risorse di Amazon Simple Storage Service (Amazon S3) AWS Lambda e AWS Step Functions Amazon DynamoDB. Tuttavia, puoi estendere questa soluzione per includere risorse aggiuntive. AWS 
+ Questo modello fornisce istruzioni per eseguire Terraform Tests localmente, ma è possibile integrare i test in qualsiasi CI/CD pipeline.
+ Questo modello fornisce istruzioni per l'uso dell'immagine LocalStack comunitaria. Se stai usando l'immagine LocalStack Pro, consulta la [documentazione LocalStack Pro](https://hub.docker.com/r/localstack/localstack-pro).
+ LocalStack fornisce servizi di emulazione per diversi. AWS APIs Per un elenco completo, vedere [AWS Service Feature Coverage](https://docs.localstack.cloud/user-guide/aws/feature-coverage/). Alcune funzionalità avanzate potrebbero richiedere un abbonamento a LocalStack Pro.

## Architecture
<a name="test-aws-infra-localstack-terraform-architecture"></a>

Il diagramma seguente mostra l'architettura di questa soluzione. I componenti principali sono un repository di codice sorgente, una CI/CD pipeline e un LocalStack contenitore Docker. Il LocalStack Docker Container ospita localmente quanto segue: Servizi AWS 
+ Un bucket Amazon S3 per l'archiviazione di file
+ Amazon CloudWatch per il monitoraggio e la registrazione
+ Una AWS Lambda funzione per l'esecuzione di codice serverless
+ Una macchina a AWS Step Functions stati per orchestrare flussi di lavoro in più fasi
+ Una tabella Amazon DynamoDB per l'archiviazione di dati NoSQL

![\[Una CI/CD pipeline crea e testa il contenitore LocalStack Docker e le risorse AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/34bfbdbf-14e7-42a0-9022-c85a9c30cdcd/images/dc61fac9-b92c-4841-9132-ff8bb865eed9.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Si aggiunge e si esegue il commit di un file di configurazione Terraform nel repository del codice sorgente.

1. La CI/CD pipeline rileva le modifiche e avvia un processo di compilazione per l'analisi statica del codice Terraform. La pipeline crea ed esegue il contenitore Docker. LocalStack Quindi la pipeline avvia il processo di test.

1. La pipeline carica un oggetto in un bucket Amazon S3 ospitato nel contenitore Docker. LocalStack 

1. Il caricamento dell'oggetto richiama una funzione. AWS Lambda 

1. La funzione Lambda memorizza la notifica degli eventi di Amazon S3 in un registro. CloudWatch 

1. La funzione Lambda avvia una macchina a AWS Step Functions stati.

1. La macchina a stati scrive il nome dell'oggetto Amazon S3 in una tabella DynamoDB.

1. Il processo di test nella CI/CD pipeline verifica che il nome dell'oggetto caricato corrisponda alla voce nella tabella DynamoDB. Verifica inoltre che il bucket S3 sia distribuito con il nome specificato e che la funzione sia stata implementata correttamente. AWS Lambda 

## Tools (Strumenti)
<a name="test-aws-infra-localstack-terraform-tools"></a>

**Servizi AWS**
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ti CloudWatch aiuta a monitorare i parametri delle tue AWS risorse e delle applicazioni su cui esegui AWS in tempo reale.
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) è un servizio di database NoSQL interamente gestito che offre prestazioni elevate, prevedibili e scalabili.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)è un servizio di orchestrazione senza server che consente di combinare AWS Lambda funzioni e altro Servizi AWS per creare applicazioni aziendali critiche.

**Altri strumenti**
+ [Docker](https://www.docker.com/) è un insieme di prodotti Platform as a Service (PaaS) che utilizzano la virtualizzazione a livello di sistema operativo per fornire software in container.
+ [Docker Compose è uno strumento per definire ed eseguire](https://docs.docker.com/compose/) applicazioni multi-contenitore.
+ [LocalStack](https://localstack.cloud)è un emulatore di servizi cloud che viene eseguito in un unico contenitore. Utilizzando LocalStack, è possibile eseguire carichi di lavoro sul computer locale che utilizzano Servizi AWS, senza connettersi a. Cloud AWS
+ [Terraform](https://www.terraform.io/) è uno strumento IaC HashiCorp che ti aiuta a creare e gestire risorse cloud e locali.
+ [Terraform Tests](https://developer.hashicorp.com/terraform/language/tests) ti aiuta a convalidare gli aggiornamenti della configurazione dei moduli Terraform attraverso test analoghi all'integrazione o al test unitario.

**Archivio di codice**

Il codice per questo modello è disponibile nell'[AWS infrastruttura di GitHub test utilizzando LocalStack il repository Terraform Tests](https://github.com/aws-samples/localstack-terraform-test).

## Best practice
<a name="test-aws-infra-localstack-terraform-best-practices"></a>
+ Questa soluzione verifica AWS l'infrastruttura specificata nei file di configurazione Terraform e non distribuisce tali risorse in. Cloud AWS Se desideri distribuire le risorse, segui il [principio del privilegio minimo (documentazione IAM) e [configura](https://developer.hashicorp.com/terraform/language/backend) correttamente il backend](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) Terraform (documentazione Terraform).
+ Durante l'integrazione LocalStack in una CI/CD pipeline, ti consigliamo di non eseguire il contenitore Docker in modalità privilegio. LocalStack Per ulteriori informazioni, consulta [Privilegi di runtime e funzionalità Linux](https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities) (documentazione Docker) e [Sicurezza per](https://docs.gitlab.com/runner/security/) i runner autogestiti (documentazione). GitLab 

## Epiche
<a name="test-aws-infra-localstack-terraform-epics"></a>

### Implementazione della soluzione
<a name="deploy-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clonare il repository. | In una shell bash, inserisci il seguente comando. Questo clona l'[AWS infrastruttura di test utilizzando LocalStack il repository Terraform Tests](https://github.com/aws-samples/localstack-terraform-test) da: GitHub<pre>git clone https://github.com/aws-samples/localstack-terraform-test.git</pre> | DevOps ingegnere | 
| Esegui il LocalStack contenitore. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/test-aws-infra-localstack-terraform.html) | DevOps ingegnere | 
| Inizializza Terraform. | Inserisci il seguente comando per inizializzare Terraform:<pre>terraform init</pre> | DevOps ingegnere | 
| Esegui test Terraform. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/test-aws-infra-localstack-terraform.html) | DevOps ingegnere | 
| Eliminare le risorse. | Inserisci il seguente comando per distruggere il LocalStack contenitore:<pre>docker-compose down</pre> | DevOps ingegnere | 

## risoluzione dei problemi
<a name="test-aws-infra-localstack-terraform-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| `Error: reading DynamoDB Table Item (Files\|README.md): empty`risultato durante l'esecuzione del `terraform test` comando. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/test-aws-infra-localstack-terraform.html) | 

## Risorse correlate
<a name="test-aws-infra-localstack-terraform-resources"></a>
+ [Guida introduttiva a Terraform: Guida per AWS CDK ed AWS CloudFormation](https://docs.aws.amazon.com/prescriptive-guidance/latest/getting-started-terraform/introduction.html) esperti (Prescriptive Guidance)AWS 
+ [Migliori pratiche per l'utilizzo di Terraform AWS Provider](https://docs.aws.amazon.com/prescriptive-guidance/latest/terraform-aws-provider-best-practices/introduction.html) (Prescriptive Guidance)AWS 
+ [Terraform CI/CD e continuazione dei test AWS con il nuovo Terraform Test](https://aws.amazon.com/blogs/devops/terraform-ci-cd-and-testing-on-aws-with-the-new-terraform-test-framework/) Framework (post sul blog)AWS 
+ [Accelerazione della distribuzione del software utilizzando LocalStack Cloud Emulator da Marketplace AWS](https://aws.amazon.com/blogs/awsmarketplace/accelerating-software-delivery-localstack-cloud-emulator-aws-marketplace/) (post sul blog)AWS 

## Informazioni aggiuntive
<a name="test-aws-infra-localstack-terraform-additional"></a>

**Integrazione con Actions GitHub **

È possibile integrare LocalStack e Terraform Tests in una CI/CD pipeline utilizzando GitHub Actions. Per ulteriori informazioni, consulta la documentazione di [GitHub Actions](https://docs.github.com/en/actions). Di seguito è riportato un esempio di file di configurazione di GitHub Actions:

```
name: LocalStack Terraform Test

on:
  push:
    branches:
      - '**'

  workflow_dispatch: {}

jobs:
  localstack-terraform-test:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: Build and Start LocalStack Container
      run: |
        docker compose up -d

    - name: Setup Terraform
      uses: hashicorp/setup-terraform@v3
      with:
        terraform_version: latest

    - name: Run Terraform Init and Validation
      run: |
        terraform init
        terraform validate
        terraform fmt --recursive --check
        terraform plan
        terraform show

    - name: Run Terraform Test
      run: |
        terraform test

    - name: Stop and Delete LocalStack Container
      if: always()
      run: docker compose down
```

# Aggiornamento dei cluster SAP Pacemaker da a ENSA1 ENSA2
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2"></a>

*Gergely Cserdi e Balazs Sandor Skublics, Amazon Web Services*

## Riepilogo
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-summary"></a>

Questo modello spiega i passaggi e le considerazioni per l'aggiornamento di un cluster SAP Pacemaker basato su Standalone Enqueue Server () a. ENSA1 ENSA2 Le informazioni contenute in questo modello si applicano ai sistemi operativi SUSE Linux Enterprise Server (SLES) e Red Hat Enterprise Linux (RHEL).

I cluster Pacemaker su SAP NetWeaver 7.52 o S/4HANA 1709 e versioni precedenti funzionano su un'architettura e sono configurati specificamente per. ENSA1 ENSA1 Se esegui i tuoi carichi di lavoro SAP su Amazon Web Services (AWS) e sei interessato a passare a questi ENSA2, potresti scoprire che la documentazione di SAP, SUSE e RHEL non fornisce informazioni complete. Questo modello descrive i passaggi tecnici necessari per riconfigurare i parametri SAP e i cluster Pacemaker da cui eseguire l'aggiornamento a. ENSA1 ENSA2 Fornisce esempi di sistemi SUSE, ma il concetto è lo stesso per i cluster RHEL.

**Nota**  
ENSA1 e ENSA2 sono concetti che riguardano solo le applicazioni SAP, quindi le informazioni contenute in questo modello non si applicano a SAP HANA o ad altri tipi di cluster.

**Nota**  
Tecnicamente, ENSA2 può essere utilizzato con o senza Enqueue Replicator 2. Tuttavia, l'alta disponibilità (HA) e l'automazione del failover (tramite una soluzione cluster) richiedono Enqueue Replicator 2. Questo modello utilizza il termine *ENSA2 cluster per fare riferimento ai cluster* con Standalone Enqueue Server 2 ed Enqueue Replicator 2.

## Prerequisiti e limitazioni
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-prereqs"></a>

**Prerequisiti**
+ Un cluster funzionante ENSA1 che utilizza Pacemaker e Corosync su SLES o RHEL.
+ Almeno due istanze Amazon Elastic Compute Cloud (Amazon EC2) in cui sono in esecuzione le istanze (ABAP) SAP Central Services (ASCS/SCS) ed Enqueue Replication Server (ERS).
+ Conoscenza della gestione di applicazioni e cluster SAP.
+ Accesso all'ambiente Linux come utente root.

**Limitazioni**
+ ENSA1i cluster basati supportano solo un'architettura a due nodi.
+ ENSA2i cluster basati non possono essere distribuiti su versioni NetWeaver SAP precedenti alla 7.52.
+ EC2 le istanze nei cluster devono trovarsi in zone di disponibilità AWS diverse.

**Versioni del prodotto**
+ SAP NetWeaver versione 7.52 o successiva
+ A partire da S/4HANA 2020, sono supportati solo i cluster ENSA2 
+ Kernel 7.53 o successivo, che supporta Enqueue Replicator 2 ENSA2 
+ SLES per applicazioni SAP versione 12 o successiva
+ RHEL per SAP con High Availability (HA) versione 7.9 o successiva

## Architecture
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-architecture"></a>

**Stack tecnologico di origine**
+ SAP NetWeaver 7.52 con SAP Kernel 7.53 o successivo
+ Sistema operativo SLES o RHEL

**Stack tecnologico Target**
+ SAP NetWeaver 7.52 con SAP Kernel 7.53 o successivo, incluso S/4HANA 2020 con piattaforma ABAP
+ Sistema operativo SLES o RHEL

**Architettura Target**

Il diagramma seguente mostra una configurazione HA ASCS/SCS e istanze ERS basate su un ENSA2 cluster.

![\[Architettura HA per istanze ERS ASCS/SCS e istanze ERS su un cluster ENSA2\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c32560de-901f-4796-a6b3-c08c109b22c8/images/19501713-0ddf-4242-9ea3-90478200a19e.png)


**Confronto tra cluster ENSA1 e cluster ENSA2 **

SAP è stato introdotto ENSA2 come successore di. ENSA1 Un cluster ENSA1 basato sul sistema supporta un'architettura a due nodi in cui l' ASCS/SCS istanza esegue il failover su ERS quando si verifica un errore. Questa limitazione deriva dal modo in cui l' ASCS/SCS istanza recupera le informazioni della tabella di blocco dalla memoria condivisa del nodo ERS dopo il failover. ENSA2i cluster basati su Enqueue Replicator 2 eliminano questa limitazione, poiché l' ASCS/SCS istanza può raccogliere le informazioni di blocco dall'istanza ERS attraverso la rete. ENSA2i cluster basati possono avere più di due nodi, poiché non è più necessario eseguire il failover dell' ASCS/SCS istanza sul nodo ERS. (Tuttavia, in un ambiente ENSA2 cluster a due nodi, l' ASCS/SCS istanza continuerà a eseguire il failover sul nodo ERS perché non ci sono altri nodi nel cluster su cui eseguire il failover). ENSA2 è supportato a partire da SAP Kernel 7.50 con alcune limitazioni. [Per una configurazione HA che supporta Enqueue Replicator 2, il requisito minimo è NetWeaver 7,52 (vedere SAP OSS Note 2630416).](https://launchpad.support.sap.com/#/notes/2630416) S/4HANA 1809 viene fornito con l' ENSA2 architettura consigliata per impostazione predefinita, mentre S/4HANA supporta solo a partire dalla versione 2020. ENSA2 

**Automazione e scalabilità**

Il cluster HA nell'architettura di destinazione esegue automaticamente il failover ASCS su altri nodi.

**Scenari per il passaggio a cluster ENSA2 basati**

Esistono due scenari principali per l'aggiornamento ai ENSA2 cluster basati: 
+ Scenario 1: si sceglie di eseguire l'aggiornamento ENSA2 senza un aggiornamento SAP o una conversione S/4HANA, presupponendo che la versione SAP e la versione del kernel supportino. ENSA2
+ Scenario 2: si passa a ENSA2 come parte di un aggiornamento o di una conversione (ad esempio, a S/4HANA 1809 o versione successiva) utilizzando SUM.

La sezione [Epics](#upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-epics) illustra i passaggi per questi due scenari. Il primo scenario richiede la configurazione manuale dei parametri relativi a SAP prima di modificare la configurazione del cluster per. ENSA2 Nel secondo scenario, i file binari e i parametri relativi a SAP vengono distribuiti da SUM e l'unica attività rimanente è aggiornare la configurazione del cluster per HA. Si consiglia comunque di convalidare i parametri SAP dopo aver utilizzato SUM. Nella maggior parte dei casi, la conversione S/4HANA è il motivo principale per l'aggiornamento del cluster.

## Tools (Strumenti)
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-tools"></a>
+ Per i gestori di pacchetti del sistema operativo, consigliamo gli strumenti Zypper (per SLES) o YUM (per RHEL).
+ **Per la gestione dei cluster, consigliamo le shell **crm** (per SLES) o pcs (per RHEL).**
+ Strumenti di gestione delle istanze SAP come. SAPControl
+ (Opzionale) Strumento SUM per l'aggiornamento della conversione S/4HANA.

## Best practice
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-best-practices"></a>
+ Per le best practice per l'utilizzo dei carichi di lavoro SAP su AWS, consulta [SAP Lens](https://docs.aws.amazon.com/wellarchitected/latest/sap-lens/sap-lens.html) per AWS Well-Architected Framework.
+ Considera il numero di nodi del cluster (pari o dispari) nella tua architettura multinodo. ENSA2 
+ Configura il ENSA2 cluster per SLES 15 in linea con lo standard di certificazione SAP S/4-HA-CLU 1.0.
+ Salva o esegui sempre il backup dello stato esistente del cluster e dell'applicazione prima di eseguire l'aggiornamento a. ENSA2

## Epiche
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-epics"></a>

### Configura manualmente i parametri SAP per ENSA2 (solo scenario 1)
<a name="configure-sap-parameters-manually-for-ensa2-scenario-1-only"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura i parametri nel profilo predefinito. | Se desideri eseguire l'aggiornamento ENSA2 mantenendo la stessa versione SAP o se la versione di destinazione è predefinita ENSA1, imposta i parametri nel profilo predefinito (file DEFAULT.PFL) sui seguenti valori.<pre>enq/enable=TRUE<br />enq/serverhost=sapascsvirt<br />enq/serverinst=10        (instance number of ASCS/SCS instance)<br />enque/process_location=REMOTESA<br />enq/replicatorhost=sapersvirt<br />enq/replicatorinst=11    (instance number of ERS instance)<br />  </pre>dove `sapascsvirt` è il nome host virtuale per le istanze ASCS ed è il nome host virtuale per le istanze ERS. `sapersvirt` È possibile modificarli per adattarli all'ambiente di destinazione.Per utilizzare questa opzione di aggiornamento, la versione SAP e la versione del kernel devono supportare Enqueue ENSA2 Replicator 2. | SAP | 
| Configura il profilo dell'istanza. ASCS/SCS  | Se desideri eseguire l'aggiornamento ENSA2 mantenendo la stessa versione SAP o se la versione di destinazione è predefinita ENSA1, imposta i seguenti parametri nel profilo dell'istanza. ASCS/SCS  La sezione del profilo in cui ENSA1 è definito ha un aspetto simile alla seguente.<pre>#--------------------------------------------------------------<br />Start SAP enqueue server<br />#-------------------------------------------------------------- <br />_EN = en.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_04 = local rm -f $(_EN) <br />Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enserver$(FT_EXE) $(_EN) <br />Start_Program_01 = local $(_EN) pf=$(_PF)<br />  </pre>Per riconfigurare questa sezione per ENSA2:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2.html)Questa sezione del profilo avrebbe un aspetto simile alla seguente dopo le modifiche.<pre>#--------------------------------------------------------------<br />Start SAP enqueue server<br />#-------------------------------------------------------------- <br />_ENQ = enq.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_04 = local rm -f $(_ENQ) <br />Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enq_server$(FT_EXE) $(_ENQ) <br />Start_Program_01 = local $(_ENQ) pf=$(_PF) <br />... <br />enq/server/replication/enable = TRUE <br />Autostart = 0</pre>`_ENQ`non deve avere l'opzione di riavvio abilitata. Se `RestartProgram_01` è impostato per`_ENQ`, cambialo in`StartProgram_01`. Ciò impedisce a SAP di riavviare il servizio o di interferire con le risorse gestite dal cluster. | SAP | 
| Configura il profilo ERS. | Se desideri eseguire l'aggiornamento ENSA2 mantenendo la stessa versione SAP o se la versione di destinazione è predefinita ENSA1, imposta i seguenti parametri nel profilo dell'istanza ERS.Trova la sezione in cui è definito il replicatore di enqueue. Sarà simile al seguente.<pre>#------------------------------------------------------<br />Start enqueue replication server<br />#------------------------------------------------------ <br />_ER = er.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_03 = local rm -f $(_ER) <br />Execute_04 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver$(FT_EXE) $(_ER) <br />Start_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID)<br />  </pre>Per riconfigurare questa sezione per Enqueue Replicator 2:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2.html)Dopo le modifiche, questa sezione del profilo dovrebbe avere un aspetto simile alla seguente.<pre>#------------------------------------------------------<br />Start enqueue replication server<br />#------------------------------------------------------ <br />_ENQR = enqr.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_01 = local rm -f $(_ENQR) <br />Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enq_replicator$(FT_EXE) $(_ENQR) <br />Start_Program_00 = local $(_ENQR) pf=$(_PF) NR=$(SCSID) <br />… <br />Autostart = 0</pre>`_ENQR`non deve avere l'opzione di riavvio abilitata. Se `RestartProgram_01` è impostato per`_ENQR`, cambialo in`StartProgram_01`. Ciò impedisce a SAP di riavviare il servizio o di interferire con i servizi gestiti dal cluster. | SAP | 
| Riavviare SAP Start Services. | Dopo aver modificato i profili descritti in precedenza in questa epopea, riavvia SAP Start Services per entrambi ASCS/SCS e ERS.`sapcontrol -nr 10 -function RestartService SCT``sapcontrol -nr 11 -function RestartService SCT`dove `SCT` si riferisce all'ID del sistema SAP e supponendo che 10 e 11 siano i numeri di istanza delle istanze ERS, ASCS/SCS rispettivamente. | SAP | 

### Riconfigurazione del cluster per ENSA2 (richiesto per entrambi gli scenari)
<a name="reconfigure-the-cluster-for-ensa2-required-for-both-scenarios"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verifica i numeri di versione nei Resource Agent SAP. | Quando si utilizza SUM per aggiornare SAP a S/4HANA 1809 o versioni successive, SUM gestisce le modifiche dei parametri nei profili SAP. Solo il cluster richiede una regolazione manuale. Tuttavia, si consiglia di verificare le impostazioni dei parametri prima di apportare modifiche al cluster.Gli esempi di questo libro epico presuppongono che tu stia utilizzando il sistema operativo SUSE. **Se utilizzi RHEL, dovrai usare strumenti come YUM e la shell **pcs** invece di Zypper e crm.**Controlla entrambi i nodi dell'architettura per confermare che il `resource-agents` pacchetto corrisponda alla versione minima consigliata da SAP. Per SLES, controlla SAP OSS Note 2641019. Per RHEL, controlla SAP OSS Note 2641322. (SAP Notes richiede un account utente [SAP ONE Support Launchpad](https://support.sap.com/en/my-support/knowledge-base.html)).<pre>sapers:sctadm 23> zypper search -s -i resource-agents<br />Loading repository data...<br />Reading installed packages...<br />S | Name | Type | Version | Arch | Repository<br />--+-----------------+---------+------------------------------------+--------+-----------------------------<br />i | resource-agents | package | 4.8.0+git30.d0077df0-150300.8.28.1 | x86_64 | SLE-Product-HA15-SP3-Updates</pre>Aggiorna la versione se necessario. `resource-agents` | Amministratore di sistema AWS | 
| Configurazione di backup del cluster. | Esegui il backup della configurazione del cluster CRM come segue.`crm configure show > /tmp/cluster_config_backup.txt` | Amministratore di sistema AWS | 
| Imposta la modalità di manutenzione. | Imposta il cluster in modalità di manutenzione.`crm configure property maintenance-mode="true"` | Amministratore di sistema AWS | 
| Controlla la configurazione del cluster. | Controlla la configurazione attuale del cluster.`crm configure show`Ecco un estratto dell'output completo:<pre>node 1: sapascs<br />node 2: sapers<br />...<br />primitive rsc_sap_SCT_ASCS10 SAPInstance \<br />operations $id=rsc_sap_SCT_ASCS10-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \ <br />   AUTOMATIC_RECOVER=false \<br />meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10<br />primitive rsc_sap_SCT_ERS11 SAPInstance \<br />operations $id=rsc_sap_SCT_ERS11-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \<br />   AUTOMATIC_RECOVER=false IS_ERS=true \<br />meta priority=1000<br />...<br />colocation col_sap_SCT_no_both -5000: grp_SCT_ERS11 grp_SCT_ASCS10<br />location loc_sap_SCT_failover_to_ers rsc_sap_SCT_ASCS10 \<br />rule 2000: runs_ers_SCT eq 1<br />order ord_sap_SCT_first_start_ascs Optional: rsc_sap_SCT_ASCS10:start rsc_sap_SCT_ERS11:stop symmetrical=false<br />...</pre>dove `sapascsvirt` si riferisce al nome host virtuale per le istanze ASCS, `sapersvirt` si riferisce al nome host virtuale per le istanze ERS e `SCT` si riferisce all'ID del sistema SAP. | Amministratore di sistema AWS | 
| Rimuovi il vincolo di colocation del failover. | Nell'esempio precedente, il vincolo di posizione `loc_sap_SCT_failover_to_ers` specifica che la ENSA1 funzionalità di ASCS deve sempre seguire l'istanza ERS in caso di failover. Con ENSA2, ASCS dovrebbe essere in grado di eseguire il failover liberamente su tutti i nodi partecipanti, in modo da poter rimuovere questo vincolo.`crm configure delete loc_sap_SCT_failover_to_ers` | Amministratore di sistema AWS | 
| Modifica le primitive. | Dovrai anche apportare piccole modifiche alle primitive ASCS ed ERS. SAPInstance Ecco un esempio di SAPInstance primitiva ASCS configurata per. ENSA1<pre>primitive rsc_sap_SCT_ASCS10 SAPInstance \<br />operations $id=rsc_sap_SCT_ASCS10-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \<br />   AUTOMATIC_RECOVER=false \<br />meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10</pre>Per eseguire l'aggiornamento a ENSA2, modifica questa configurazione nel modo seguente.<pre>primitive rsc_sap_SCT_ASCS10 SAPInstance \<br />operations $id=rsc_sap_SCT_ASCS10-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \<br />   AUTOMATIC_RECOVER=false \<br />meta resource-stickiness=3000 </pre>Questo è un esempio di SAPInstance primitiva ERS configurata per ENSA1.<pre>primitive rsc_sap_SCT_ERS11 SAPInstance \<br />operations $id=rsc_sap_SCT_ERS11-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \<br />   AUTOMATIC_RECOVER=false IS_ERS=true \<br />meta priority=1000</pre>Per eseguire l'aggiornamento a ENSA2, modifica questa configurazione nel modo seguente.<pre>primitive rsc_sap_SCT_ERS11 SAPInstance \<br />operations $id=rsc_sap_SCT_ERS11-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \<br />   AUTOMATIC_RECOVER=false IS_ERS=true</pre>È possibile modificare le primitive in vari modi. Ad esempio, è possibile modificarle in un editor come vi, come nell'esempio seguente.`crm configure edit rsc_sap_SCT_ERS11` | Amministratore di sistema AWS | 
| Disabilita la modalità di manutenzione. | Disabilita la modalità di manutenzione sul cluster.`crm configure property maintenance-mode="false"`Quando il cluster non è in modalità di manutenzione, tenta di portare online le istanze ASCS ed ERS con le nuove ENSA2 impostazioni. | Amministratore di sistema AWS | 

### (Facoltativo) Aggiungi nodi del cluster
<a name="optional-add-cluster-nodes"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rivedi le migliori pratiche. | Prima di aggiungere altri nodi, assicurati di comprendere le migliori pratiche, ad esempio se utilizzare un numero pari o dispari di nodi. | Amministratore di sistema AWS | 
| Aggiungi nodi. | L'aggiunta di altri nodi comporta una serie di attività, come l'aggiornamento del sistema operativo, l'installazione di pacchetti software corrispondenti ai nodi esistenti e la disponibilità dei mount. È possibile utilizzare l'opzione **Prepare Additional Host** in SAP Software Provisioning Manager (SWPM) per creare una baseline dell'host specifica per SAP. Per ulteriori informazioni, consulta le guide SAP elencate nella sezione successiva. | Amministratore di sistema AWS | 

## Risorse correlate
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-resources"></a>

**Riferimenti SAP e SUSE**

Per accedere a SAP Notes, è necessario disporre di un account utente SAP ONE Support Launchpad. Per ulteriori informazioni, vedere il [sito Web del supporto SAP](https://support.sap.com/en/my-support/knowledge-base.html).
+ [SAP Note 2501860 ‒ Documentazione per SAP Application Server per ABAP 7.52 NetWeaver ](https://launchpad.support.sap.com/#/notes/2501860)
+ [SAP Note 2641019 ‒ Installazione e aggiornamento da a in ambiente SUSE HA ENSA2 ENSA1 ENSA2 ](https://launchpad.support.sap.com/#/notes/2641019)
+ [SAP Note 2641322 ‒ Installazione ENSA2 e aggiornamento da a ENSA2 quando si utilizzano le soluzioni Red Hat HA ENSA1 per SAP](https://launchpad.support.sap.com/#/notes/2641322)
+ [SAP Note 2711036 ‒ Utilizzo dello standalone Enqueue Server 2 in un ambiente HA](https://launchpad.support.sap.com/#/notes/2711036)
+ [Enqueue Server 2 standalone](https://help.sap.com/docs/ABAP_PLATFORM/cff8531bc1d9416d91bb6781e628d4e0/902412f09e134f5bb875adb6db585c92.html) (documentazione SAP)
+ [SAP S/4 HANA ‒ Enqueue Replication 2 High Availability Cluster - Guida all'installazione (documentazione SUSE](https://documentation.suse.com/sbp/all/html/SAP_S4HA10_SetupGuide-SLE12/index.html))

**Riferimenti AWS**
+ [SAP HANA su AWS: guida alla configurazione ad alta disponibilità per SLES e RHEL](https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana-on-aws-ha-configuration.html)
+ [Lente SAP - AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/sap-lens/sap-lens.html)

# Usa zone di disponibilità coerenti in VPCs diversi account AWS
<a name="use-consistent-availability-zones-in-vpcs-across-different-aws-accounts"></a>

*Adam Spicer, Amazon Web Services*

## Riepilogo
<a name="use-consistent-availability-zones-in-vpcs-across-different-aws-accounts-summary"></a>

Sul cloud Amazon Web Services (AWS), una zona di disponibilità ha un nome che può variare tra i tuoi account AWS e un ID della [zona di disponibilità (ID AZ)](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) che ne identifica la posizione. Se utilizzi AWS CloudFormation per creare cloud privati virtuali (VPCs), devi specificare il nome o l'ID della zona di disponibilità durante la creazione delle sottoreti. Se VPCs crei più account, il nome della zona di disponibilità viene randomizzato, il che significa che le sottoreti utilizzano zone di disponibilità diverse in ciascun account. 

Per utilizzare la stessa zona di disponibilità in tutti gli account, è necessario mappare il nome della zona di disponibilità di ciascun account allo stesso ID AZ. Ad esempio, il diagramma seguente mostra che l'ID `use1-az6` AZ è denominato `us-east-1a` nell'account AWS A e `us-east-1c` nell'account AWS Z.

![\[L'ID AZ use1-az6 è denominato us-east-1a nell'account AWS A e us-east-1c nell'account AWS Z.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/9954e7f9-d6ce-44bd-af99-0c6bb7cd3cb0/images/23c8a37b-2408-4534-a1e0-bccfa4d7fbe3.png)


 

Questo modello aiuta a garantire la coerenza zonale fornendo una soluzione scalabile e multiaccount per l'utilizzo delle stesse zone di disponibilità nelle sottoreti. La coerenza zonale assicura che il traffico di rete tra account eviti i percorsi di rete tra zone di disponibilità, il che aiuta a ridurre i costi di trasferimento dei dati e a ridurre la latenza di rete tra i carichi di lavoro.

Questo modello è un approccio alternativo alla CloudFormation [AvailabilityZoneId proprietà](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-availabilityzoneid) AWS.

## Prerequisiti e limitazioni
<a name="use-consistent-availability-zones-in-vpcs-across-different-aws-accounts-prereqs"></a>

**Prerequisiti**
+ Almeno due account AWS attivi nella stessa regione AWS.
+ Valuta quante zone di disponibilità sono necessarie per supportare i requisiti VPC nella regione.
+ Identifica e registra l'ID AZ per ogni zona di disponibilità che devi supportare. Per ulteriori informazioni su questo argomento, consulta [la zona di disponibilità IDs per le tue risorse AWS](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) nella documentazione di AWS Resource Access Manager.  
+ Un elenco ordinato e separato da virgole della tua AZ. IDs Ad esempio, la prima zona di disponibilità dell'elenco è mappata come`az1`, la seconda zona di disponibilità è mappata come e questa struttura di mappatura continua fino a quando l'elenco `az2` separato da virgole non è completamente mappato. Non esiste un numero massimo di AZ che è possibile mappare. IDs  
+ Il `az-mapping.yaml` file dal repository di [mappatura GitHub Multi-account Availability Zone](https://github.com/aws-samples/multi-account-az-mapping/), copiato sul computer locale

## Architecture
<a name="use-consistent-availability-zones-in-vpcs-across-different-aws-accounts-architecture"></a>

Il diagramma seguente mostra l'architettura che viene distribuita in un account e che crea i valori di AWS Systems Manager Parameter Store. Questi valori di Parameter Store vengono utilizzati quando si crea un VPC nell'account.

![\[Flusso di lavoro per creare valori di Systems Manager Parameter Store per ogni ID AZ e memorizzare il nome AZ.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/9954e7f9-d6ce-44bd-af99-0c6bb7cd3cb0/images/f1168464-55f8-4efc-9b28-6a0cda668b9e.png)


Il diagramma mostra il flusso di lavoro seguente:

1. La soluzione di questo modello viene implementata su tutti gli account che richiedono la coerenza zonale per un VPC. 

1. La soluzione crea valori di Parameter Store per ogni ID AZ e memorizza il nuovo nome della zona di disponibilità. 

1. Il CloudFormation modello AWS utilizza il nome della zona di disponibilità memorizzato in ogni valore di Parameter Store e ciò garantisce la coerenza zonale.

Il diagramma seguente mostra il flusso di lavoro per la creazione di un VPC con la soluzione di questo pattern.

 

![\[Workflow invia un CloudFormation modello per creare un VPC con la corretta AZ. IDs\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/9954e7f9-d6ce-44bd-af99-0c6bb7cd3cb0/images/cd859430-ac25-479f-b56a-21da24cddf21.png)


 

Il diagramma mostra il flusso di lavoro seguente:

1. Invia un modello per creare un VPC ad AWS. CloudFormation

1. AWS CloudFormation risolve i valori del Parameter Store per ogni zona di disponibilità e restituisce il nome della zona di disponibilità per ogni ID AZ.

1. Viene creato un VPC con l'AZ corretta IDs richiesta per la coerenza zonale.

Dopo aver distribuito la soluzione di questo pattern, è possibile creare sottoreti che fanno riferimento ai valori del Parameter Store. Se usi AWS CloudFormation, puoi fare riferimento ai valori dei parametri di mappatura della zona di disponibilità dal seguente codice di esempio in formato YAML:

```
Resources:
    PrivateSubnet1AZ1: 
        Type: AWS::EC2::Subnet 
        Properties: 
            VpcId: !Ref VPC
            CidrBlock: !Ref PrivateSubnetAZ1CIDR
            AvailabilityZone: 
                !Join 
                    - ''
                    - - '{{resolve:ssm:/az-mapping/az1:1}}'
```

Questo codice di esempio è contenuto nel `vpc-example.yaml ` file del repository di mappatura GitHub [Multi-account](https://github.com/aws-samples/multi-account-az-mapping/) Availability Zone. Mostra come creare un VPC e delle sottoreti allineati ai valori del Parameter Store per garantire la coerenza zonale.

**Stack tecnologico**
+ AWS CloudFormation
+ AWS Lambda
+ AWS Systems Manager Parameter Store

**Automazione e scalabilità**

Puoi implementare questo modello su tutti i tuoi account AWS utilizzando AWS CloudFormation StackSets o la soluzione Customizations for AWS Control Tower. Per ulteriori informazioni, consulta [Working with AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) nella documentazione di AWS Cloudformation e [Customizations for AWS Control Tower nella libreria](https://aws.amazon.com/solutions/implementations/customizations-for-aws-control-tower/) di soluzioni AWS. 

Dopo aver distribuito il CloudFormation modello AWS, puoi aggiornarlo per utilizzare i valori di Parameter Store e distribuirlo VPCs in pipeline o in base alle tue esigenze. 

## Tools (Strumenti)
<a name="use-consistent-availability-zones-in-vpcs-across-different-aws-accounts-tools"></a>

**Servizi AWS**
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) ti CloudFormation aiuta a modellare e configurare le tue risorse AWS, effettuarne il provisioning in modo rapido e coerente e gestirle per tutto il loro ciclo di vita. Puoi utilizzare un modello per descrivere le tue risorse e le loro dipendenze e lanciarle e configurarle insieme come uno stack, invece di gestire le risorse singolarmente. Puoi gestire e fornire stack su più account AWS e regioni AWS.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di elaborazione che supporta l'esecuzione di codice senza effettuare il provisioning o la gestione di server. Lambda esegue il codice solo quando è necessario e si dimensiona automaticamente, da poche richieste al giorno a migliaia al secondo. Verrà addebitato soltanto il tempo di calcolo consumato e non verrà addebitato alcun costo quando il codice non è in esecuzione.
+ [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) è una funzionalità di AWS Systems Manager. Fornisce uno storage sicuro e gerarchico per la gestione dei dati di configurazione e la gestione dei segreti.

**Codice**

Il codice per questo pattern è fornito nell'archivio di mappatura GitHub [Multi-account Availability Zone](https://github.com/aws-samples/multi-account-az-mapping/).

## Epiche
<a name="use-consistent-availability-zones-in-vpcs-across-different-aws-accounts-epics"></a>

### Distribuisci il file az-mapping.yaml
<a name="deploy-the-az-mapping-yaml-file"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Determina le zone di disponibilità richieste per la regione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/use-consistent-availability-zones-in-vpcs-across-different-aws-accounts.html) | Architetto del cloud | 
| Distribuisci il file az-mapping.yaml. | Usa il `az-mapping.yaml` file per creare uno CloudFormation stack AWS in tutti gli account AWS richiesti. Nel `AZIds` parametro, usa l'elenco separato da virgole che hai creato in precedenza. Ti consigliamo di utilizzare [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) o la [soluzione Customizations for AWS Control Tower](https://aws.amazon.com/solutions/implementations/customizations-for-aws-control-tower/). | Architetto del cloud | 

### Implementali VPCs nei tuoi account
<a name="deploy-the-vpcs-in-your-accounts"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Personalizza i CloudFormation modelli AWS. | Quando crei le sottoreti utilizzando AWS CloudFormation, personalizza i modelli per utilizzare i valori di Parameter Store che hai creato in precedenza.Per un modello di esempio, consulta il `vpc-example.yaml` file nel repository di mappatura GitHub [Multi-account Availability Zone](https://github.com/aws-samples/multi-account-az-mapping/). | Architetto del cloud | 
| Implementa il. VPCs | Implementa i CloudFormation modelli AWS personalizzati nei tuoi account. Ogni VPC nella regione ha quindi una coerenza zonale nelle zone di disponibilità utilizzate per le sottoreti. | Architetto del cloud | 

## Risorse correlate
<a name="use-consistent-availability-zones-in-vpcs-across-different-aws-accounts-resources"></a>
+ [Zona di disponibilità IDs per le tue risorse AWS](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) (documentazione di AWS Resource Access Manager)
+ [AWS::EC2::Subnet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)( CloudFormation documentazione AWS)

# Usa l'utente IDs nelle policy IAM per il controllo e l'automazione degli accessi
<a name="use-user-ids-iam-policies-access-control-automation"></a>

*Srinivas Ananda Babu e Ram Kandaswamy, Amazon Web Services*

## Riepilogo
<a name="use-user-ids-iam-policies-access-control-automation-summary"></a>

Questo modello spiega le potenziali insidie dell'utilizzo di politiche basate sul nome utente in AWS Identity and Access Management (IAM), i vantaggi dell'utilizzo degli utenti e come integrare questo approccio con l'automazione. IDs AWS CloudFormation 

Nel Cloud AWS, il servizio IAM ti aiuta a gestire le identità degli utenti e il controllo degli accessi con precisione. Tuttavia, fare affidamento sui nomi utente nella creazione delle policy IAM può portare a rischi imprevisti per la sicurezza e problemi di controllo degli accessi. Ad esempio, considera questo scenario: un nuovo dipendente, John Doe, entra a far parte del tuo team e tu crei un account utente IAM con il nome utente`j.doe`, che concede loro le autorizzazioni tramite le policy IAM che fanno riferimento ai nomi utente. Quando John lascia l'azienda, l'account viene eliminato. Il problema inizia quando una nuova dipendente, Jane Doe, si unisce al team e il `j.doe` nome utente viene ricreato. Le politiche esistenti ora concedono a Jane Doe le stesse autorizzazioni di John Doe. Ciò crea un potenziale incubo in materia di sicurezza e conformità.

L'aggiornamento manuale di ogni policy in modo che rifletta i nuovi dettagli degli utenti è un processo lungo e soggetto a errori, soprattutto man mano che l'organizzazione cresce. La soluzione consiste nell'utilizzare un ID utente unico e immutabile. Quando crei un account utente IAM, AWS assegna all'utente IAM un ID utente univoco (o ID principale). Puoi utilizzare questi utenti IDs nelle tue policy IAM per garantire un controllo degli accessi coerente e affidabile, che non sia influenzato dalla modifica o dal riutilizzo del nome utente.

Ad esempio, una policy IAM che utilizza un ID utente potrebbe avere il seguente aspetto:

```
{ 
    "Version": "2012-10-17",		 	 	  
    "Statement": [ 
        { 
            "Effect": "Allow", 
            "Action": "s3:ListBucket", 
            "Resource": "arn:aws:s3:::example-bucket", 
            "Principal": { "AWS": "arn:aws:iam::123456789012:user/abcdef01234567890" } 
        } 
      ] 
}
```

I vantaggi dell'utilizzo dell'utente IDs nelle politiche IAM includono:
+ **Unicità.** IDs Gli utenti sono unici in tutto Account AWS, quindi forniscono una richiesta di autorizzazione corretta e coerente.
+ **Immutabilità.** Gli utenti IDs non possono essere modificati, quindi forniscono un identificatore stabile per fare riferimento agli utenti nelle politiche.
+ **Controllo e conformità.** Servizi AWS spesso includono l'utente IDs nei log e negli audit trail, il che semplifica la riconducibilità delle azioni a utenti specifici.
+ **Automazione e integrazione.** L'utilizzo di script IDs di AWS APIs accesso SDKs utente o di automazione garantisce che i processi rimangano inalterati dalle modifiche al nome utente.
+ **A prova di futuro.** L'utilizzo dell'utente IDs nelle politiche sin dall'inizio può prevenire potenziali problemi di controllo degli accessi o aggiornamenti estesi delle politiche.

**Automazione**

Quando si utilizzano strumenti di infrastruttura come codice (IaC), ad esempio AWS CloudFormation, le insidie delle policy IAM basate sui nomi utente possono ancora causare problemi. La risorsa utente IAM restituisce il nome utente quando si chiama la funzione intrinseca. `Ref` Man mano che l'infrastruttura dell'organizzazione si evolve, il ciclo di creazione ed eliminazione delle risorse, inclusi gli account utente IAM, può portare a problemi involontari di controllo degli accessi se si riutilizzano i nomi utente.

Per risolvere questo problema, ti consigliamo di incorporare l'utente nei tuoi modelli. IDs CloudFormation Tuttavia, ottenere un utente IDs per questo scopo può essere difficile. È qui che le risorse personalizzate possono essere utili. È possibile utilizzare risorse CloudFormation personalizzate per estendere le funzionalità del servizio mediante l'integrazione con AWS APIs i nostri servizi esterni. Creando una risorsa personalizzata che recupera l'ID utente di un determinato utente IAM, puoi rendere l'ID utente disponibile all'interno dei tuoi CloudFormation modelli. Questo approccio semplifica il processo di riferimento dell'utente IDs e garantisce che i flussi di lavoro di automazione rimangano solidi e a prova di futuro.

## Prerequisiti e limitazioni
<a name="use-user-ids-iam-policies-access-control-automation-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un ruolo IAM per un amministratore cloud per eseguire il CloudFormation modello

**Limitazioni**
+ Alcuni Servizi AWS non sono disponibili in tutti Regioni AWS. Per la disponibilità per regione, vedi [Servizi AWS per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta la pagina [Endpoint e quote del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

## Architecture
<a name="use-user-ids-iam-policies-access-control-automation-architecture"></a>

**Architettura di Target**

Il diagramma seguente mostra come CloudFormation utilizza una risorsa personalizzata supportata da AWS Lambda per recuperare l'ID utente IAM.

![\[Ottenere l'ID utente IAM utilizzando una risorsa CloudFormation personalizzata.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/71698647-274e-4911-92f0-549e444b53f6/images/7e507df4-f597-499e-bd5b-6d7a55e64146.png)


**Automazione e scalabilità**

Puoi utilizzare il CloudFormation modello più volte per diversi Regioni AWS account. È necessario eseguirlo solo una volta in ogni regione o account.

## Tools (Strumenti)
<a name="use-user-ids-iam-policies-access-control-automation-tools"></a>

**Servizi AWS**
+ [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) — AWS Identity and Access Management (IAM) è un servizio web che ti aiuta a controllare in modo sicuro l'accesso alle AWS risorse. Utilizza IAM per controllare chi è autenticato (accesso effettuato) e autorizzato (dispone di autorizzazioni) per l’utilizzo di risorse.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)— ti AWS CloudFormation aiuta a modellare e configurare AWS le tue risorse in modo da poter dedicare meno tempo alla gestione di tali risorse e più tempo a concentrarti sulle applicazioni che girano. AWS Crei un modello che descrive le AWS risorse che desideri e si CloudFormation occupa del provisioning e della configurazione di tali risorse per te.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)— AWS Lambda è un servizio di elaborazione che supporta l'esecuzione di codice senza fornire o gestire server. Lambda esegue il codice solo quando è necessario e si dimensiona automaticamente, da poche richieste al giorno a migliaia al secondo. 

## Best practice
<a name="use-user-ids-iam-policies-access-control-automation-best-practices"></a>

Se stai partendo da zero o stai pianificando un'implementazione senza precedenti, ti consigliamo vivamente di utilizzarla [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)per la gestione centralizzata degli utenti. IAM Identity Center si integra con i provider di identità esistenti (come Active Directory o Okta) per federare le identità degli utenti AWS, eliminando così la necessità di creare e gestire direttamente gli utenti IAM. Questo approccio non solo garantisce un controllo coerente degli accessi, ma semplifica anche la gestione del ciclo di vita degli utenti e aiuta a migliorare la sicurezza e la conformità in tutto l'ambiente. AWS 

## Epiche
<a name="use-user-ids-iam-policies-access-control-automation-epics"></a>

### Convalida le autorizzazioni
<a name="validate-permissions"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida il tuo ruolo Account AWS e quello di IAM. | Conferma di avere un ruolo IAM con le autorizzazioni per distribuire CloudFormation modelli nel tuo. Account AWSSe hai intenzione di utilizzare AWS CLI invece della CloudFormation console per distribuire il modello nell'ultimo passaggio di questa procedura, dovresti anche impostare credenziali temporanee per eseguire i comandi. AWS CLI Per istruzioni, consulta la documentazione [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html#using-temp-creds-sdk-cli). | Architetto del cloud | 

### Crea un CloudFormation modello
<a name="build-a-cfnshort-template"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un CloudFormation modello. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/use-user-ids-iam-policies-access-control-automation.html) | AWS DevOps, architetto del cloud | 
| Aggiungi un parametro di input per il nome utente. | Aggiungi il codice seguente alla `Parameters` sezione del CloudFormation modello:<pre>Parameters:<br />  NewIamUserName:<br />    Type: String<br />    Description: Unique username for the new IAM user<br /></pre>Questo parametro richiede all'utente il nome utente. | AWS DevOps, architetto del cloud | 
| Aggiungi una risorsa personalizzata per creare un utente IAM. | Aggiungi il codice seguente alla `Resources` sezione del CloudFormation modello:<pre>Resources:<br />  rNewIamUser:<br />    Type: 'AWS::IAM::User'<br />    Properties:<br />      UserName: !Ref NewIamUserName<br /></pre>Questo codice aggiunge una CloudFormation risorsa che crea un utente IAM con il nome fornito dal `NewIamUserName` parametro. | AWS DevOps, architetto del cloud | 
| Aggiungi un ruolo di esecuzione per la funzione Lambda. | In questo passaggio, crei un ruolo IAM che concede a una AWS Lambda funzione l'autorizzazione a ottenere l'IAM. `UserId` Specificate le seguenti autorizzazioni minime richieste per l'esecuzione di Lambda:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/use-user-ids-iam-policies-access-control-automation.html)Per istruzioni sulla creazione di un ruolo di esecuzione, consulta la documentazione [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). Farai riferimento a questo ruolo nel passaggio successivo, quando creerai la funzione Lambda. | Amministratore AWS, architetto cloud | 
| Aggiungi una funzione Lambda per ottenere l'IAM unico. `UserId` | In questo passaggio, definisci una funzione Lambda con un runtime Python per ottenere l'IAM unico. `UserId` A tale scopo, aggiungete il codice seguente alla `Resources` sezione del CloudFormation modello. Sostituiscilo `<<ROLENAME>>` con il nome del ruolo di esecuzione che hai creato nell'ultimo passaggio.<pre>  GetUserLambdaFunction:<br />    Type: 'AWS::Lambda::Function'<br />    Properties:<br />      Handler: index.handler<br />      Role: <<ROLENAME>><br />      Timeout: 30<br />      Runtime: python3.11<br />      Code:<br />        ZipFile: |<br />          import cfnresponse, boto3<br />          def handler(event, context):<br />            try:<br />              print(event)<br />              user = boto3.client('iam').get_user(UserName=event['ResourceProperties']['NewIamUserName'])['User']<br />              cfnresponse.send(event, context, cfnresponse.SUCCESS, {'NewIamUserId': user['UserId'], 'NewIamUserPath': user['Path'], 'NewIamUserArn': user['Arn']})<br />            except Exception as e:<br />              cfnresponse.send(event, context, cfnresponse.FAILED, {'NewIamUser': str(e)})<br /></pre> | AWS DevOps, architetto del cloud | 
| Aggiungi una risorsa personalizzata. | Aggiungi il codice seguente alla `Resources` sezione del CloudFormation modello:<pre>  rCustomGetUniqueUserId:<br />    Type: 'Custom::rCustomGetUniqueUserIdWithLambda'<br />    Properties:<br />      ServiceToken: !GetAtt GetUserLambdaFunction.Arn<br />      NewIamUserName: !Ref NewIamUserName<br /></pre>Questa risorsa personalizzata chiama la funzione Lambda per ottenere l'IAM. `UserID` | AWS DevOps, architetto del cloud | 
| Definisci CloudFormation gli output. | Aggiungi il codice seguente alla `Outputs` sezione del CloudFormation modello:<pre>Outputs:<br />  NewIamUserId:<br />    Value: !GetAtt rCustomGetUniqueUserId.NewIamUserId<br /></pre>Questo mostra l'IAM `UserID` per il nuovo utente IAM. | AWS DevOps, architetto del cloud | 
| Salva il modello. | Salva le modifiche al CloudFormation modello. | AWS DevOps, architetto del cloud | 

### Implementa il modello CloudFormation
<a name="deploy-the-cfnshort-template"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa il CloudFormation modello. | [Per distribuire il `get_unique_user_id.yaml` modello utilizzando la CloudFormation console, segui le istruzioni nella CloudFormation documentazione.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)In alternativa, puoi eseguire il AWS CLI comando seguente per distribuire il modello:<pre>aws cloudformation create-stack \<br />--stack-name DemoNewUser \<br />--template-body file://get_unique_user_id.yaml \<br />--parameters ParameterKey=NewIamUserName,ParameterValue=demouser \<br />--capabilities CAPABILITY_NAMED_IAM</pre> | AWS DevOps, architetto del cloud | 

## Risorse correlate
<a name="use-user-ids-iam-policies-access-control-automation-resources"></a>
+ [Crea uno stack dalla CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) (CloudFormation documentazione)
+ [Risorse personalizzate supportate da Lambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources-lambda.html) (documentazione) CloudFormation 
+ [Identificatori univoci](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) (documentazione IAM)
+ [Utilizza credenziali temporanee con le AWS risorse (documentazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) IAM)

# Convalida il codice Account Factory for Terraform (AFT) localmente
<a name="validate-account-factory-for-terraform-aft-code-locally"></a>

*Alexandru Pop e Michal Gorniak, Amazon Web Services*

## Riepilogo
<a name="validate-account-factory-for-terraform-aft-code-locally-summary"></a>

Questo modello mostra come testare localmente il codice HashiCorp Terraform gestito da AWS Control Tower Account Factory for Terraform (AFT). Terraform è uno strumento Infrastructure as Code (IaC) che ti aiuta a utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud. AFT configura una pipeline Terraform che ti aiuta a fornire e personalizzare più in. Account AWS AWS Control Tower

Durante lo sviluppo del codice, può essere utile testare l'infrastruttura Terraform as code (IaC) localmente, al di fuori della pipeline AFT. Questo modello mostra come eseguire le seguenti operazioni:
+ Recupera una copia locale del codice Terraform archiviato nei AWS CodeCommit repository del tuo account di gestione AFT.
+ Simula la pipeline AFT localmente utilizzando il codice recuperato.

Questa procedura può essere utilizzata anche per eseguire comandi Terraform che non fanno parte della normale pipeline AFT. Ad esempio, è possibile utilizzare questo metodo per eseguire comandi come`terraform validate`, `terraform plan``terraform destroy`, e. `terraform import`

## Prerequisiti e limitazioni
<a name="validate-account-factory-for-terraform-aft-code-locally-prereqs"></a>

**Prerequisiti**
+ Un ambiente AWS multi-account attivo che utilizza [AWS Control Tower](https://aws.amazon.com/controltower)
+ [Un ambiente AFT completamente distribuito](https://docs.aws.amazon.com/controltower/latest/userguide/taf-account-provisioning.html)
+ AWS Command Line Interface [(AWS CLI), [installato e configurato](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [AWS CLI credenziali helper per AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html), installato e configurato
+ Python 3.x
+ [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git), installato e configurato sul tuo computer locale
+ `git-remote-commit`utilità, [installata e configurata](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-git-remote-codecommit.html#setting-up-git-remote-codecommit-install)
+ [Terraform](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS), installato e configurato (la versione locale del pacchetto Terraform deve corrispondere alla versione utilizzata nella distribuzione AFT)

**Limitazioni**
+ Questo modello non copre le fasi di implementazione richieste per AWS Control Tower AFT o altri moduli Terraform specifici.
+ L'output generato localmente durante questa procedura non viene salvato nei log di runtime della pipeline AFT.

## Architecture
<a name="validate-account-factory-for-terraform-aft-code-locally-architecture"></a>

**Stack tecnologico Target**
+ Infrastruttura AFT implementata all'interno di un'implementazione AWS Control Tower 
+ Terraform
+ Git
+ AWS CLI versione 2

**Automazione e scalabilità**

Questo modello mostra come richiamare localmente il codice Terraform per le personalizzazioni degli account globali AFT in un unico AFT gestito. Account AWS Dopo aver convalidato il codice Terraform, puoi applicarlo agli account rimanenti nel tuo ambiente multi-account. Per ulteriori informazioni, consulta [Re-invoke](https://docs.aws.amazon.com/controltower/latest/userguide/aft-account-customization-options.html#aft-re-invoke-customizations) customizations nella documentazione. AWS Control Tower 

È inoltre possibile utilizzare un processo simile per eseguire personalizzazioni dell'account AFT in un terminale locale. Per richiamare localmente il codice Terraform dalle personalizzazioni dell'account AFT, clona il repository anziché il **aft-account-customizations**repository dal tuo account di gestione **aft-global-account-customizations**AFT. CodeCommit 

## Tools (Strumenti)
<a name="validate-account-factory-for-terraform-aft-code-locally-tools"></a>

**Servizi AWS**
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)ti aiuta a configurare e gestire un ambiente AWS multi-account, seguendo le migliori pratiche prescrittive.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che consente di interagire Servizi AWS tramite comandi nella shell della riga di comando.

**Altri servizi**
+ [HashiCorp Terraform](https://www.terraform.io/docs) è uno strumento Infrastructure as Code (IaC) che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud.
+ [Git](https://git-scm.com/docs) è un sistema di controllo delle versioni distribuito e open source.

**Codice**

Di seguito è riportato un esempio di script bash che può essere utilizzato per eseguire localmente il codice Terraform gestito da AFT. Per utilizzare lo script, segui le istruzioni nella sezione [Epics](#validate-account-factory-for-terraform-aft-code-locally-epics) di questo modello.

```
#! /bin/bash
# Version: 1.1 2022-06-24 Unsetting AWS_PROFILE since, when set, it interferes with script operation
#          1.0 2022-02-02 Initial Version
#
# Purpose: For use with AFT: This script runs the local copy of TF code as if it were running within AFT pipeline.
#        * Facilitates testing of what the AFT pipline will do 
#           * Provides the ability to run terraform with custom arguments (like 'plan' or 'move') which are currently not supported within the pipeline.
#
# © 2021 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
# This AWS Content is provided subject to the terms of the AWS Customer Agreement
# available at http://aws.amazon.com/agreement or other written agreement between
# Customer and either Amazon Web Services, Inc. or Amazon Web Services EMEA SARL or both.
#
# Note: Arguments to this script are passed directly to 'terraform' without parsing nor validation by this script.
#
# Prerequisites:
#    1. local copy of ct GIT repositories
#    2. local backend.tf and aft-providers.tf filled with data for the target account on which terraform is to be run
#       Hint: The contents of above files can be obtain from the logs of a previous execution of the AFT pipeline for the target account.
#    3. 'terraform' binary is available in local PATH
#    4. Recommended: .gitignore file containing 'backend.tf', 'aft_providers.tf' so the local copy of these files are not pushed back to git

readonly credentials=$(aws sts assume-role \
    --role-arn arn:aws:iam::$(aws sts get-caller-identity --query "Account" --output text ):role/AWSAFTAdmin \
    --role-session-name AWSAFT-Session \
    --query Credentials )

unset AWS_PROFILE
export AWS_ACCESS_KEY_ID=$(echo $credentials | jq -r '.AccessKeyId')
export AWS_SECRET_ACCESS_KEY=$(echo $credentials | jq -r '.SecretAccessKey')
export AWS_SESSION_TOKEN=$(echo $credentials | jq -r '.SessionToken')
terraform "$@"
```

## Epiche
<a name="validate-account-factory-for-terraform-aft-code-locally-epics"></a>

### Salva il codice di esempio come file locale
<a name="save-the-example-code-as-a-local-file"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Salva il codice di esempio come file locale. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html) | Amministratore AWS | 
| Rendi eseguibile il codice di esempio. | Apri una finestra di terminale ed esegui l'autenticazione nel tuo account di gestione AWS AFT effettuando una delle seguenti operazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html)L'organizzazione potrebbe anche disporre di uno strumento personalizzato per fornire credenziali di autenticazione al proprio ambiente. AWS  | Amministratore AWS | 
| Verifica che l'accesso all'account di gestione AFT sia corretto Regione AWS. | Assicurati di utilizzare la stessa sessione di terminale con cui ti sei autenticato nel tuo account di gestione AFT.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html) | Amministratore AWS | 
| Crea una nuova directory locale per archiviare il codice del repository AFT. | Nella stessa sessione di terminale, esegui i seguenti comandi:<pre>mkdir my_aft <br />cd my_aft</pre> | Amministratore AWS | 
| Clona il codice del repository AFT remoto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html) | Amministratore AWS | 

### Crea i file di configurazione Terraform necessari per l'esecuzione locale della pipeline AFT
<a name="create-the-terraform-configuration-files-required-for-the-aft-pipeline-to-run-locally"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Apri una pipeline AFT precedentemente eseguita e copia i file di configurazione Terraform in una cartella locale. | I file di `aft-providers.tf` configurazione `backend.tf` e creati in questa epopea sono necessari per l'esecuzione locale della pipeline AFT. Questi file vengono creati automaticamente all'interno della pipeline AFT basata sul cloud, ma devono essere creati manualmente affinché la pipeline possa essere eseguita localmente. L'esecuzione locale della pipeline AFT richiede un set di file che rappresentino l'esecuzione della pipeline all'interno di un unico set. Account AWS[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html)**Esempio di istruzione backend.tf generata automaticamente**<pre>## Autogenerated backend.tf ##<br />## Updated on: 2022-05-31 16:27:45 ##<br />terraform {<br />  required_version = ">= 0.15.0"<br />  backend "s3" {<br />    region         = "us-east-2"<br />    bucket         = "aft-backend-############-primary-region"<br />    key            = "############-aft-global-customizations/terraform.tfstate"<br />    dynamodb_table = "aft-backend-############"<br />    encrypt        = "true"<br />    kms_key_id     = "########-####-####-####-############"<br />    role_arn       = "arn:aws:iam::#############:role/AWSAFTExecution"<br />  }<br />}</pre>****I `aft-providers.tf` file `backend.tf` and sono collegati a una distribuzione AFT e a una Account AWS cartella specifiche. Questi file sono inoltre diversi, a seconda che si trovino nel **aft-account-customizations**repository **aft-global-customizations**and all'interno della stessa distribuzione AFT. Assicuratevi di generare entrambi i file dallo stesso elenco di runtime. | Amministratore AWS | 

### Esegui la pipeline AFT localmente utilizzando lo script bash di esempio
<a name="run-the-aft-pipeline-locally-by-using-the-example-bash-script"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa le modifiche alla configurazione di Terraform che desideri convalidare. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html) | Amministratore AWS | 
| Esegui lo `ct_terraform.sh` script ed esamina l'output. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html)** **[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html) | Amministratore AWS | 

### Invia le modifiche al codice locale nell'archivio AFT
<a name="push-your-local-code-changes-back-to-the-aft-repository"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiungere riferimenti a `backend.tf` e `aft-providers.tf` file a un `.gitignore` file. | Aggiungi i `aft-providers.tf` file `backend.tf`**** and che hai creato a un `.gitignore` file eseguendo i seguenti comandi:<pre>echo backend.tf >> .gitignore<br />echo aft-providers.tf >>.gitignore</pre>Lo spostamento dei `.gitignore`**** file nel file garantisce che non vengano sottoposti a commit e reinseriti nell'archivio AFT remoto. | Amministratore AWS | 
| Conferma e invia le modifiche al codice nell'archivio AFT remoto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/validate-account-factory-for-terraform-aft-code-locally.html)Le modifiche al codice introdotte seguendo questa procedura fino a questo punto vengono applicate a una Account AWS sola persona. | Amministratore AWS | 

### Implementa le modifiche a più account
<a name="roll-out-the-changes-to-multiple-accounts"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa le modifiche a tutti i tuoi account gestiti da AFT. | Per implementare le modifiche a più Account AWS personalizzazioni gestite da AFT, segui le istruzioni in [Re-invoke customizations nella documentazione](https://docs.aws.amazon.com/controltower/latest/userguide/aft-account-customization-options.html#aft-re-invoke-customizations). AWS Control Tower  | Amministratore AWS | 

# Altri modelli
<a name="infrastructure-more-patterns-pattern-list"></a>

**Topics**
+ [Aggiungi HA a Oracle PeopleSoft su Amazon RDS Custom utilizzando una replica di lettura](add-ha-to-oracle-peoplesoft-on-amazon-rds-custom-by-using-a-read-replica.md)
+ [Controlla automaticamente i gruppi AWS di sicurezza che consentono l'accesso da indirizzi IP pubblici](audit-security-groups-access-public-ip.md)
+ [Automatizza la creazione di account utilizzando Landing Zone Accelerator su AWS](automate-account-creation-lza.md)
+ [Automatizza l'aggiunta o l'aggiornamento delle voci di registro di Windows utilizzando AWS Systems Manager](automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager.md)
+ [Automatizza la valutazione delle risorse AWS](automate-aws-resource-assessment.md)
+ [Automatizza il portafoglio e la distribuzione dei prodotti di AWS Service Catalog utilizzando AWS CDK](automate-aws-service-catalog-portfolio-and-product-deployment-by-using-aws-cdk.md)
+ [Automatizza il failover e il failback tra regioni utilizzando DR Orchestrator Framework](automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.md)
+ [Eliminazione automatica degli AWS CloudFormation stack e delle risorse associate](automate-deletion-cloudformation-stacks-associated-resources.md)
+ [Automatizza l'inserimento e la visualizzazione di metriche personalizzate di Amazon MWAA su Amazon Managed Grafana utilizzando Terraform](automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.md)
+ [Automatizza la configurazione di RabbitMQ in Amazon MQ](automate-rabbitmq-configuration-in-amazon-mq.md)
+ [Automatizza l'implementazione Catena di approvvigionamento di AWS dei data lake in una configurazione multi-repository](automate-the-deployment-of-aws-supply-chain-data-lakes.md)
+ [Automatizza la replica delle istanze Amazon RDS su Account AWS](automate-the-replication-of-amazon-rds-instances-across-aws-accounts.md)
+ [Associa automaticamente una policy gestita da AWS per Systems Manager ai profili di EC2 istanza utilizzando Cloud Custodian e AWS CDK](automatically-attach-an-aws-managed-policy-for-systems-manager-to-ec2-instance-profiles-using-cloud-custodian-and-aws-cdk.md)
+ [Crea automaticamente CI/CD pipeline e cluster Amazon ECS per microservizi utilizzando AWS CDK](automatically-build-ci-cd-pipelines-and-amazon-ecs-clusters-for-microservices-using-aws-cdk.md)
+ [Rileva automaticamente le modifiche e avvia diverse CodePipeline pipeline per un monorepo in CodeCommit](automatically-detect-changes-and-initiate-different-codepipeline-pipelines-for-a-monorepo-in-codecommit.md)
+ [Crea una pipeline di dati per importare, trasformare e analizzare i dati di Google Analytics utilizzando il AWS DataOps Development Kit](build-a-data-pipeline-to-ingest-transform-and-analyze-google-analytics-data-using-the-aws-dataops-development-kit.md)
+ [Create un Micro Focus Enterprise Server PAC con Amazon EC2 Auto Scaling e Systems Manager](build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager.md)
+ [Crea e invia immagini Docker ad Amazon ECR utilizzando GitHub Actions e Terraform](build-and-push-docker-images-to-amazon-ecr-using-github-actions-and-terraform.md)
+ [Crea una AWS landing zone che includa MongoDB Atlas](build-aws-landing-zone-that-includes-mongodb-atlas.md)
+ [Centralizza la gestione delle chiavi di accesso IAM in AWS Organizations utilizzando Terraform](centralize-iam-access-key-management-in-aws-organizations-by-using-terraform.md)
+ [Centralizza la distribuzione dei pacchetti software in AWS Organizations utilizzando Terraform](centralize-software-package-distribution-in-aws-organizations-by-using-terraform.md)
+ [Configura la registrazione delle chiamate dei modelli in Amazon Bedrock utilizzando AWS CloudFormation](configure-bedrock-invocation-logging-cloudformation.md)
+ [Configurare il routing di sola lettura nei gruppi di disponibilità Always On in SQL Server su AWS](configure-read-only-routing-in-an-always-on-availability-group-in-sql-server-on-aws.md)
+ [Crea un portale per micro-frontend utilizzando Angular e AWS Amplify Module Federation](create-amplify-micro-frontend-portal.md)
+ [Crea un framework di orchestrazione delle risorse basato su API utilizzando Actions e Terragrunt GitHub](create-an-api-driven-resource-orchestration-framework-using-github-actions-and-terragrunt.md)
+ [Crea una EventBridge connessione Amazon tra più account in un'organizzazione](create-cross-account-amazon-eventbridge-connection-organization.md)
+ [Crea automaticamente pipeline CI dinamiche per progetti Java e Python](create-dynamic-ci-pipelines-for-java-and-python-projects-automatically.md)
+ [Implementa un'API Amazon API Gateway su un sito Web interno utilizzando endpoint privati e un Application Load Balancer](deploy-an-amazon-api-gateway-api-on-an-internal-website-using-private-endpoints-and-an-application-load-balancer.md)
+ [Implementa e gestisci AWS Control Tower i controlli utilizzando AWS CDK e CloudFormation](deploy-and-manage-aws-control-tower-controls-by-using-aws-cdk-and-aws-cloudformation.md)
+ [Implementa e gestisci AWS Control Tower i controlli utilizzando Terraform](deploy-and-manage-aws-control-tower-controls-by-using-terraform.md)
+ [Implementa i canarini CloudWatch Synthetics utilizzando Terraform](deploy-cloudwatch-synthetics-canaries-by-using-terraform.md)
+ [Implementa un cluster CockroachDB in Amazon EKS utilizzando Terraform](deploy-cockroachdb-on-eks-using-terraform.md)
+ [Implementa un file system Lustre per l'elaborazione dei dati ad alte prestazioni utilizzando Terraform e DRA](deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.md)
+ [Implementa uno use case RAG AWS utilizzando Terraform e Amazon Bedrock](deploy-rag-use-case-on-aws.md)
+ [Distribuisci risorse in una AWS Wavelength zona utilizzando Terraform](deploy-resources-wavelength-zone-using-terraform.md)
+ [Distribuisci istanze di cluster di failover di SQL Server su Amazon e EC2 Amazon FSx utilizzando Terraform](deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.md)
+ [Implementa le automazioni di sicurezza per la AWS WAF soluzione utilizzando Terraform](deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.md)
+ [Rileva le istanze di database Amazon RDS e Aurora con certificati CA in scadenza](detect-rds-instances-expiring-certificates.md)
+ [Documenta il progetto della tua landing zone AWS](document-your-aws-landing-zone-design.md)
+ [Esporta i report di AWS Backup da tutta l'organizzazione in AWS Organizations come file CSV](export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file.md)
+ [Genera consigli personalizzati e riclassificati con Amazon Personalize](generate-personalized-and-re-ranked-recommendations-using-amazon-personalize.md)
+ [Gestisci i set di autorizzazioni per più account utilizzando Account Factory for Terraform](govern-permission-sets-aft.md)
+ [Identifica e avvisa quando le risorse Amazon Data Firehose non sono crittografate con una chiave AWS KMS](identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key.md)
+ [Implementa Account Factory for Terraform (AFT) utilizzando una pipeline bootstrap](implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.md)
+ [Implementa il controllo delle versioni delle API basato sul percorso utilizzando domini personalizzati in Amazon API Gateway](implement-path-based-api-versioning-by-using-custom-domains.md)
+ [Installa SSM Agent sui nodi di lavoro Amazon EKS utilizzando Kubernetes DaemonSet](install-ssm-agent-on-amazon-eks-worker-nodes-by-using-kubernetes-daemonset.md)
+ [Installa l'agente SSM e l' CloudWatch agente sui nodi di lavoro Amazon EKS utilizzando preBootstrapCommands](install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands.md)
+ [Gestisci i set di AWS IAM Identity Center autorizzazioni come codice utilizzando AWS CodePipeline](manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline.md)
+ [Gestisci i set di AWS autorizzazioni in modo dinamico utilizzando Terraform](manage-aws-permission-sets-dynamically-by-using-terraform.md)
+ [Gestisci i prodotti AWS Service Catalog in più account AWS e regioni AWS](manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions.md)
+ [Gestisci le applicazioni container locali configurando Amazon ECS Anywhere con AWS CDK](manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk.md)
+ [Gestisci AWS Organizations le policy come codice utilizzando AWS CodePipeline Amazon Bedrock](manage-organizations-policies-as-code.md)
+ [Esegui la migrazione di record DNS in blocco verso una zona ospitata privata di Amazon Route 53](migrate-dns-records-in-bulk-to-an-amazon-route-53-private-hosted-zone.md)
+ [Esegui la migrazione PeopleSoft da Oracle ad Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Migra i sistemi RHEL BYOL verso istanze con licenza AWS inclusa utilizzando AWS MGN](migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.md)
+ [Monitora ElastiCache i cluster Amazon per la crittografia a riposo](monitor-amazon-elasticache-clusters-for-at-rest-encryption.md)
+ [Monitora l'attività delle applicazioni utilizzando CloudWatch Logs Insights](monitor-application-activity-by-using-cloudwatch-logs-insights.md)
+ [Monitora i cluster SAP RHEL Pacemaker utilizzando i servizi AWS](monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.md)
+ [Crea un'architettura IPAM gerarchica e multiregionale utilizzando Terraform AWS](multi-region-ipam-architecture.md)
+ [Ottimizza le implementazioni serverless multi-account utilizzando i flussi di lavoro e Actions AWS CDK GitHub](optimize-multi-account-serverless-deployments.md)
+ [Esegui il provisioning di AWS Service Catalog prodotti basati su AWS CloudFormation modelli utilizzando GitHub Actions](provision-aws-service-catalog-products-using-github-actions.md)
+ [Fornisci ruoli IAM con privilegi minimi implementando una soluzione di distribuzione automatica di ruoli](provision-least-privilege-iam-roles-by-deploying-a-role-vending-machine-solution.md)
+ [Rimuovi Amazon EC2 Entries Account AWS dall'altra AWS Managed Microsoft AD parte utilizzando l' AWS Lambda automazione](remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.md)
+ [Rimuovi EC2 le voci Amazon nello stesso Account AWS modulo AWS Managed Microsoft AD utilizzando l' AWS Lambda automazione](remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.md)
+ [Trasferimenti sicuri di file utilizzando Transfer Family, Amazon Cognito e GuardDuty](secure-file-transfers.md)
+ [Invia una notifica quando viene creato un utente IAM](send-a-notification-when-an-iam-user-is-created.md)
+ [Configura un router cellulare serverless per un'architettura basata su celle](serverless-cell-router-architecture.md)
+ [Configura una CI/CD pipeline per carichi di lavoro ibridi su Amazon ECS Anywhere utilizzando AWS CDK e GitLab](set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.md)
+ [Configurare un' HA/DR architettura per Oracle E-Business Suite su Amazon RDS Custom con un database di standby attivo](set-up-an-ha-dr-architecture-for-oracle-e-business-suite-on-amazon-rds-custom-with-an-active-standby-database.md)
+ [Configura la risoluzione DNS per reti ibride in un ambiente multi-account AWS](set-up-dns-resolution-for-hybrid-networks-in-a-multi-account-aws-environment.md)
+ [Configura un'infrastruttura Multi-AZ per SQL Server Always On FCI utilizzando Amazon FSx](set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.md)
+ [Configura la funzionalità Oracle UTL\$1FILE su Aurora, compatibile con PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Semplifica l'autenticazione delle applicazioni con TLS reciproco in Amazon ECS utilizzando Application Load Balancer](simplify-application-authentication-with-mutual-tls-in-amazon-ecs.md)
+ [Semplifica la gestione privata dei certificati utilizzando AWS Private CA e AWS RAM](simplify-private-certificate-management-by-using-aws-private-ca-and-aws-ram.md)
+ [Semplifica i flussi di lavoro di machine learning dallo sviluppo locale agli esperimenti scalabili utilizzando SageMaker AI e Hydra](streamline-machine-learning-workflows-by-using-amazon-sagemaker.md)
+ [Etichetta automaticamente gli allegati Transit Gateway utilizzando AWS Organizations](tag-transit-gateway-attachments-automatically-using-aws-organizations.md)
+ [Ruoli di transizione per un' PeopleSoft applicazione Oracle su Amazon RDS Custom for Oracle](transition-roles-for-an-oracle-peoplesoft-application-on-amazon-rds-custom-for-oracle.md)
+ [Usa Amazon Q Developer come assistente di programmazione per aumentare la tua produttività](use-q-developer-as-coding-assistant-to-increase-productivity.md)