

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

# Migrazione
<a name="migration-pattern-list"></a>

**Topics**
+ [Crea CloudFormation modelli AWS per attività AWS DMS utilizzando Microsoft Excel e Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Inizia con l'individuazione automatica del portafoglio](get-started-with-automated-portfolio-discovery.md)
+ [Esegui la migrazione dei carichi di lavoro Cloudera locali a Cloudera Data Platform su AWS](migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.md)
+ [Risolvi gli errori di connessione dopo la migrazione di Microsoft SQL Server al cloud AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.md)
+ [Riavvia automaticamente l'AWS Replication Agent senza disabilitarlo SELinux dopo il riavvio di un server di origine RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Re-architetto](migration-rearchitect-pattern-list.md)
+ [Riospitare](migration-rehost-pattern-list.md)
+ [Trasferisci](migration-relocate-pattern-list.md)
+ [Conversione piattaforma](migration-replatform-pattern-list.md)
+ [Modelli di migrazione per carico di lavoro](migration-migration-patterns-by-workload-pattern-list.md)
+ [Altri modelli](migration-more-patterns-pattern-list.md)

# Crea CloudFormation modelli AWS per attività AWS DMS utilizzando Microsoft Excel e Python
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python"></a>

*Venkata Naveen Koppula, Amazon Web Services*

## Riepilogo
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-summary"></a>

Questo modello descrive i passaggi per la creazione automatica di CloudFormation modelli AWS per [AWS Database Migration Service](https://aws.amazon.com/dms/) (AWS DMS) utilizzando Microsoft Excel e Python.

La migrazione dei database con AWS DMS spesso implica la creazione di CloudFormation modelli AWS per il provisioning delle attività AWS DMS. In precedenza, la creazione di CloudFormation modelli AWS richiedeva la conoscenza del linguaggio di programmazione JSON o YAML. Con questo strumento, è necessaria solo una conoscenza di base di Excel e di come eseguire uno script Python utilizzando un terminale o una finestra di comando.

Come input, lo strumento utilizza una cartella di lavoro di Excel che include i nomi delle tabelle da migrare, Amazon Resource Names (ARNs) degli endpoint AWS DMS e le istanze di replica AWS DMS. Lo strumento genera quindi CloudFormation modelli AWS per le attività AWS DMS richieste.

Per passaggi dettagliati e informazioni di base, consulta il post del blog [Create AWS CloudFormation templates for AWS DMS tasks using Microsoft Excel](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/) nel blog AWS Database.

## Prerequisiti e limitazioni
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Microsoft Excel versione 2016 o successiva
+ Python versione 2.7 o successiva
+ **Il modulo **Python xlrd** (installato al prompt dei comandi con il comando: pip install xlrd)**
+ Endpoint di origine e destinazione di AWS DMS e istanza di replica AWS DMS

**Limitazioni**
+ I nomi degli schemi, delle tabelle e delle colonne associate vengono trasformati in caratteri minuscoli negli endpoint di destinazione.
+ Questo strumento non si occupa della creazione di endpoint e istanze di replica AWS DMS.
+ Attualmente, lo strumento supporta solo uno schema per ogni attività AWS DMS.

## Architecture
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-architecture"></a>

**Stack tecnologico di origine**
+ Un database locale
+ Microsoft Excel

**Stack tecnologico Target**
+  CloudFormation Modelli AWS
+ Un database nel cloud AWS 

**Architettura**

![\[Flusso di lavoro per utilizzare Excel e Python per creare automaticamente CloudFormation modelli per AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/778c7c1e-2647-496f-8afd-52ff1ef02489/images/8fe1550d-8966-41aa-a480-5f7bef20629f.png)


## Tools (Strumenti)
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-tools"></a>
+ [Pycharm IDE](https://aws.amazon.com/pycharm/) o qualsiasi ambiente di sviluppo integrato (IDE) che supporti Python versione 3.6
+ Microsoft Office 2016 (per Microsoft Excel)

## Epiche
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-epics"></a>

### Configura la rete, l'istanza di replica AWS DMS e gli endpoint
<a name="configure-the-network-aws-dms-replication-instance-and-endpoints"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Se necessario, richiedi un aumento della quota di servizio. | Richiedi un aumento della quota di servizio per le attività di AWS DMS, se necessario. | Informazioni generali su AWS | 
| Configura la regione AWS, i cloud privati virtuali (VPCs), gli intervalli CIDR, le zone di disponibilità e le sottoreti. |  | Informazioni generali su AWS | 
| Configura l'istanza di replica AWS DMS. | L'istanza di replica AWS DMS può connettersi sia ai database locali che a quelli AWS. | Informazioni generali su AWS | 
| Configura gli endpoint AWS DMS. | Configura gli endpoint per i database di origine e di destinazione. | Informazioni generali su AWS | 

### Prepara i fogli di lavoro per le attività e i tag di AWS DMS
<a name="prepare-the-worksheets-for-aws-dms-tasks-and-tags"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura l'elenco delle tabelle. | Elenca tutte le tabelle coinvolte nella migrazione. | Database | 
| Prepara il foglio di lavoro delle attività. | Prepara il foglio di lavoro di Excel utilizzando l'elenco delle tabelle che hai configurato. | Informazioni generali su AWS, Microsoft Excel | 
| Prepara il foglio di lavoro per i tag. | Dettagli i tag delle risorse AWS da allegare alle attività di AWS DMS. | Informazioni generali su AWS, Microsoft Excel | 

### Scarica ed esegui lo strumento
<a name="download-and-run-the-tool"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica ed estrai lo strumento di generazione dei modelli dal GitHub repository. | GitHub archivio:/ https://github.com/aws-samples/dms-cloudformation-templates-generator |  | 
| Esegui lo strumento. | Segui le istruzioni dettagliate nel post del blog elencato nella sezione «Riferimenti e aiuto». |  | 

## Risorse correlate
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-resources"></a>
+ [Crea CloudFormation modelli AWS per attività AWS DMS utilizzando Microsoft Excel (post sul blog)](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/)
+ [Generatore di CloudFormation modelli DMS (repository) GitHub ](https://github.com/aws-samples/dms-cloudformation-templates-generator/tree/v1.0)
+ [Documentazione in Python](https://www.python.org/)
+ [descrizione e download in formato xlrd](https://pypi.org/project/xlrd/)
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/)
+ [ CloudFormation Documentazione AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)

# Inizia con l'individuazione automatica del portafoglio
<a name="get-started-with-automated-portfolio-discovery"></a>

*Pratik Chunawala e Rodolfo Jr. Cerrada, Amazon Web Services*

## Riepilogo
<a name="get-started-with-automated-portfolio-discovery-summary"></a>

La valutazione del portafoglio e la raccolta dei metadati rappresentano una sfida fondamentale durante la migrazione di applicazioni e server su Amazon Web Services (AWS) Cloud, in particolare per le migrazioni di grandi dimensioni con più di 300 server. L'utilizzo di uno strumento di rilevamento automatico del portafoglio può aiutarti a raccogliere informazioni sulle tue applicazioni, come il numero di utenti, la frequenza di utilizzo, le dipendenze e le informazioni sull'infrastruttura dell'applicazione. Queste informazioni sono essenziali per pianificare le ondate di migrazione, in modo da poter assegnare priorità e raggruppare correttamente le applicazioni con caratteristiche simili. L'utilizzo di uno strumento di rilevamento semplifica la comunicazione tra il team del portfolio e i proprietari delle applicazioni, poiché il team del portfolio può convalidare i risultati dello strumento di rilevamento anziché raccogliere manualmente i metadati. Questo modello illustra le considerazioni chiave per la scelta di uno strumento di rilevamento automatizzato e le informazioni su come implementarne e testarne uno nel proprio ambiente.

Questo modello include un modello, che è un punto di partenza per creare la propria lista di controllo di attività di alto livello. Accanto alla lista di controllo c'è un modello per una matrice RACI (responsabile, responsabile, consultata, informata). È possibile utilizzare questa matrice RACI per determinare chi è responsabile di ogni attività inclusa nella lista di controllo.

## Epiche
<a name="get-started-with-automated-portfolio-discovery-epics"></a>

### Seleziona uno strumento di scoperta
<a name="select-a-discovery-tool"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Determina se uno strumento di rilevamento è appropriato per il tuo caso d'uso. | Uno strumento di scoperta potrebbe non essere la soluzione migliore per il tuo caso d'uso. Considerate la quantità di tempo necessaria per selezionare, procurare, preparare e implementare uno strumento di scoperta. Possono essere necessarie dalle 4 alle 8 settimane per configurare l'appliance di scansione per uno strumento di rilevamento senza agenti nell'ambiente in uso o per installare gli agenti per tutti i carichi di lavoro pertinenti. Una volta implementato, è necessario attendere 4-12 settimane prima che lo strumento di rilevamento raccolga i metadati mediante la scansione dei carichi di lavoro delle applicazioni e l'analisi dello stack delle applicazioni. Se state migrando meno di 100 server, potreste essere in grado di raccogliere manualmente i metadati e analizzare le dipendenze più velocemente del tempo necessario per distribuire e raccogliere i metadati con uno strumento di rilevamento automatico.  | Responsabile della migrazione, ingegnere addetto alla migrazione | 
| Seleziona uno strumento di scoperta. | Consulta le **considerazioni sulla selezione di uno strumento di rilevamento automatico** nella sezione [Informazioni aggiuntive](#get-started-with-automated-portfolio-discovery-additional). Determina i criteri appropriati per la selezione di uno strumento di rilevamento per il tuo caso d'uso, quindi valuta ogni strumento in base a tali criteri. Per un elenco completo degli strumenti di rilevamento automatizzato, consulta Strumenti di [migrazione Discovery, Planning e Recommendation](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/). | Responsabile della migrazione, ingegnere addetto alla migrazione | 

### Prepararsi per l'installazione
<a name="prepare-for-installation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare la lista di controllo prima dell'implementazione.  | Crea una lista di controllo delle attività da completare prima di distribuire lo strumento. Per un esempio, consulta [Predeployment Checklist](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_Predeployment.htm) sul sito Web della documentazione di Flexera. | Responsabile della costruzione, ingegnere addetto alla migrazione, responsabile della migrazione, amministratore di rete | 
| Prepara i requisiti di rete. | Fornisci le porte, i protocolli, gli indirizzi IP e il routing necessari per l'esecuzione dello strumento e l'accesso ai server di destinazione. Per ulteriori informazioni, consulta la guida all'installazione del tuo strumento di rilevamento. Per un esempio, consulta [Requisiti di implementazione](https://docs.flexera.com/foundationcloudscape/help/RCDeployReq.htm) sul sito Web della documentazione di Flexera. | Ingegnere addetto alla migrazione, amministratore di rete, architetto cloud | 
| Prepara i requisiti relativi all'account e alle credenziali. | Identifica le credenziali necessarie per accedere ai server di destinazione e installare tutti i componenti dello strumento. | Amministratore cloud, General AWS, ingegnere addetto alla migrazione, responsabile della migrazione, amministratore di rete, amministratore AWS | 
| Prepara le appliance su cui installerai lo strumento. | Assicuratevi che i dispositivi su cui installerete i componenti dell'utensile soddisfino le specifiche e i requisiti di piattaforma dello strumento. | Ingegnere addetto alla migrazione, responsabile della migrazione, amministratore di rete | 
| Prepara gli ordini di modifica. | In base al processo di gestione delle modifiche in atto nell'organizzazione, preparate gli eventuali ordini di modifica necessari e assicuratevi che tali ordini di modifica siano approvati. | Costruisci lead, migrazioni leader | 
| Invia i requisiti alle parti interessate. | Invia la checklist di pre-implementazione e i requisiti di rete alle parti interessate. Le parti interessate devono esaminare, valutare e preparare i requisiti necessari prima di procedere con l'implementazione. | Crea un vantaggio, guida la migrazione | 

### Implementa lo strumento
<a name="deploy-the-tool"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica il programma di installazione. | Scarica il programma di installazione o l'immagine della macchina virtuale. Le immagini delle macchine virtuali sono generalmente disponibili in formato Open Virtualization Format (OVF). | Crea un lead, un responsabile della migrazione | 
| Estrai i file. | Se si utilizza un programma di installazione, è necessario scaricare ed eseguire il programma di installazione su un server locale. | Crea un lead, un responsabile della migrazione | 
| Implementa lo strumento sui server. | Implementa lo strumento di rilevamento sui server locali di destinazione come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/get-started-with-automated-portfolio-discovery.html) | Responsabile build, responsabile della migrazione, amministratore di rete | 
| Accedi allo strumento di scoperta. | Segui le istruzioni sullo schermo e accedi per iniziare a usare lo strumento. | Responsabile della migrazione, crea lead | 
| Attiva il prodotto. | Inserisci la tua chiave di licenza. | Crea un lead, un responsabile della migrazione | 
| Configurare lo strumento. | Immettere le credenziali necessarie per accedere ai server di destinazione, ad esempio credenziali per Windows VMware, Simple Network Management Protocol (SNMP) e Secure Shell Protocol (SSH) o database. | Crea lead, responsabile della migrazione | 

### Prova lo strumento
<a name="test-the-tool"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Seleziona i server di test. | Identifica un piccolo set di sottoreti o indirizzi IP non di produzione da utilizzare per testare lo strumento di rilevamento. Ciò consente di convalidare rapidamente le scansioni, identificare e risolvere rapidamente eventuali errori e isolare i test dagli ambienti di produzione. | Crea lead, responsabile della migrazione, amministratore di rete | 
| Inizia la scansione dei server di test selezionati. | Per uno strumento di rilevamento senza agente, inserisci le sottoreti o gli indirizzi IP per i server di test selezionati nella console dello strumento di rilevamento e avvia la scansione.Per uno strumento di rilevamento basato su agenti, installa l'agente sui server di test selezionati. | Responsabile build, responsabile della migrazione, amministratore di rete | 
| Esamina i risultati della scansione. | Esamina i risultati della scansione per i server di test. Se vengono rilevati errori, risolvili e correggili. Documenta gli errori e le soluzioni. Utilizzerai queste informazioni in futuro e potrai aggiungerle al tuo portfolio runbook. | Responsabile build, responsabile della migrazione, amministratore di rete | 
| Scansiona nuovamente i server di test. | Una volta completata la nuova scansione, ripeti la scansione fino a eliminare gli errori. | Responsabile build, responsabile della migrazione, amministratore di rete | 

## Risorse correlate
<a name="get-started-with-automated-portfolio-discovery-resources"></a>

**AWS resources**
+ [Guida alla valutazione del portafoglio di applicazioni per la Cloud AWS migrazione](https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/introduction.html)
+ [Strumenti di migrazione Discovery, Planning e Recommendation](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/)

**Guide all'implementazione per strumenti di rilevamento comunemente selezionati**
+ [Implementa l'appliance virtuale RN15 0 (documentazione](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_QSG_DeployRN150.htm) Flexera)
+ [Installazione di Gatherer (documentazione ModelizeIT](https://www.modelizeit.com/documentation/ADC-Gatherer-Install.html))
+ [Installazione On-Prem Analysis](https://www.modelizeit.com/documentation/RejuvenApptor-Install.html) Server (documentazione ModelizeIT)

## Informazioni aggiuntive
<a name="get-started-with-automated-portfolio-discovery-additional"></a>

**Considerazioni sulla scelta di uno strumento di rilevamento automatico**

Ogni strumento di scoperta presenta vantaggi e limiti. Quando selezionate lo strumento appropriato per il vostro caso d'uso, tenete presente quanto segue:
+ Scegliete uno strumento di scoperta in grado di raccogliere la maggior parte, se non tutti, i metadati necessari per raggiungere l'obiettivo di valutazione del portafoglio.
+ Identifica i metadati che devi raccogliere manualmente perché lo strumento non li supporta.
+ Fornisci i requisiti dello strumento di rilevamento alle parti interessate in modo che possano esaminarlo e valutarlo in base ai requisiti interni di sicurezza e conformità, come i requisiti di server, rete e credenziali.
  + Lo strumento richiede l'installazione di un agente nel carico di lavoro pertinente?
  + Lo strumento richiede la configurazione di un'appliance virtuale nel proprio ambiente?
+ Determina i requisiti di residenza dei dati. Alcune organizzazioni non vogliono archiviare i propri dati al di fuori del proprio ambiente. Per risolvere questo problema, potrebbe essere necessario installare alcuni componenti dello strumento nell'ambiente locale.
+ Assicurati che lo strumento supporti il sistema operativo (OS) e la versione del sistema operativo del carico di lavoro pertinente.
+ Determina se il tuo portafoglio include server mainframe, di fascia media e legacy. La maggior parte degli strumenti di rilevamento è in grado di rilevare questi carichi di lavoro come dipendenze, ma alcuni strumenti potrebbero non essere in grado di ottenere dettagli sul dispositivo, come l'utilizzo e le dipendenze del server. Gli strumenti di rilevamento Device42 e ModernizeIT supportano entrambi server mainframe e di fascia media.

## Allegati
<a name="attachments-8c9d84de-e84a-4b0c-bcaa-389cd90be1f0"></a>

[Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/8c9d84de-e84a-4b0c-bcaa-389cd90be1f0/attachments/attachment.zip)

# Esegui la migrazione dei carichi di lavoro Cloudera locali a Cloudera Data Platform su AWS
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws"></a>

*Battulga Purevragchaa e Nidhi Gupta, Amazon Web Services*

*Nijjwol Lamsal, Cloudera, Inc.*

## Riepilogo
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-summary"></a>

Questo modello descrive i passaggi di alto livello per la migrazione dei carichi di lavoro Cloudera Distributed Hadoop (CDH), Hortonworks Data Platform (HDP) e Cloudera Data Platform (CDP) locali su CDP Public Cloud su AWS. Ti consigliamo di collaborare con Cloudera Professional Services e un integratore di sistemi (SI) per implementare questi passaggi.

Ci sono molte ragioni per cui i clienti Cloudera vogliono spostare i carichi di lavoro CDH, HDP e CDP locali sul cloud. Alcuni motivi tipici includono:
+ Semplifica l'adozione di nuovi paradigmi di piattaforme dati come data lakehouse o data mesh
+ Aumenta l'agilità aziendale, democratizza l'accesso e l'inferenza sugli asset di dati esistenti
+ Riduci il costo totale di proprietà (TCO)
+ Migliora l'elasticità del carico di lavoro
+ Consenti una maggiore scalabilità; riduci drasticamente i tempi di fornitura dei servizi dati rispetto alla base di installazioni legacy in locale
+ Ritirate l'hardware obsoleto; riducete in modo significativo i cicli di aggiornamento dell'hardware
+ Sfrutta pay-as-you-go i prezzi, che sono estesi ai carichi di lavoro Cloudera su AWS con il modello di licenza Cloudera (CCU)
+ Sfrutta i vantaggi di una distribuzione più rapida e di una migliore integrazione con piattaforme di integrazione continua e distribuzione continua (CI/CD)
+ Utilizza un'unica piattaforma unificata (CDP) per più carichi di lavoro

Cloudera supporta tutti i principali carichi di lavoro, tra cui Machine Learning, Data Engineering, Data Warehouse, Operational Database, Stream Processing (CSP) e sicurezza e governance dei dati. Cloudera offre questi carichi di lavoro in locale da molti anni e puoi migrarli sul cloud AWS utilizzando CDP Public Cloud con Workload Manager e Replication Manager. 

Cloudera Shared Data Experience (SDX) fornisce un catalogo di metadati condiviso tra questi carichi di lavoro per facilitare la gestione e le operazioni coerenti dei dati. SDX include anche una sicurezza completa e granulare per la protezione dalle minacce e una governance unificata per funzionalità di audit e ricerca per la conformità a standard come Payment Card Industry Data Security Standard (PCI DSS) e GDPR. 

**La migrazione CDP a colpo d'occhio**


|  |  | 
| --- |--- |
|    Carico di lavoro | Carico di lavoro di origine | CDH, HDP e CDP Private Cloud | 
| --- |--- |--- |
| Ambiente di origine | Windows, LinuxIn locale, in colocation o in qualsiasi ambiente non AWS | 
| Carico di lavoro di destinazione | Cloud pubblico CDP su AWS | 
| Ambiente di destinazione | Modello di implementazione: account clienteModello operativo: piano customer/Cloudera di controllo | 
| ** **** ****Migrazione** | Strategia di migrazione (7R) | Rehost, ripiattaforma o refactor | 
| Si tratta di un aggiornamento della versione Workload? | Sì | 
| Durata della migrazione | Implementazione: circa 1 settimana per creare un account cliente, un cloud privato virtuale (VPC) e un ambiente gestito dai clienti CDP Public Cloud.Durata della migrazione: 1-4 mesi, a seconda della complessità e delle dimensioni del carico di lavoro. | 
| **Costo** | Costo di esecuzione del carico di lavoro su AWS | Ad un livello elevato, il costo di una migrazione del carico di lavoro CDH verso AWS presuppone la creazione di un nuovo ambiente su AWS. Include la contabilizzazione del tempo e dell'impegno del personale, nonché la fornitura di risorse informatiche e la concessione di licenze software per il nuovo ambiente.Il modello di prezzo basato sul consumo del cloud di Cloudera ti offre la flessibilità necessaria per sfruttare le funzionalità di espansione e di scalabilità automatica. Per ulteriori informazioni, consulta le tariffe dei servizi [CDP Public Cloud](https://www.cloudera.com/products/pricing/cdp-public-cloud-service-rates.html) sul sito Web di Cloudera.Cloudera Enterprise [Data Hub](https://www.cloudera.com/products/enterprise-data-hub.html) si basa su Amazon Elastic Compute Cloud EC2 (Amazon) e modella fedelmente i cluster tradizionali. Data Hub può essere [personalizzato](https://docs.cloudera.com/data-hub/cloud/create-cluster-aws/topics/mc-creating-a-cluster.html), ma ciò influirà sui costi.[CDP Public Cloud Data Warehouse](https://docs.cloudera.com/data-warehouse/cloud/index.html), [Cloudera Machine Learning](https://docs.cloudera.com/machine-learning/cloud/product/topics/ml-product-overview.html) e [Cloudera Data Engineering (CDE)](https://docs.cloudera.com/data-engineering/cloud/index.html) sono basati su contenitori e possono essere configurati per scalare automaticamente. | 
| ** **** ****Accordi e quadro di infrastruttura** | Requisiti di sistema | Vedi la sezione [Prerequisiti](#migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs). | 
| SLA | Consulta l'[accordo sul livello di servizio di Cloudera per CDP Public](https://www.cloudera.com/legal/terms-and-conditions/cdp-public-cloud-sla.html) Cloud. | 
| DOTT. | Vedi [Disaster Recovery](https://docs.cloudera.com/cdp-reference-architectures/latest/cdp-ra-operations/topics/cdp-ra-abstract.html) nella documentazione di Cloudera. | 
| Modello operativo e di licenza (per l'account AWS di destinazione) | Modello Bring Your Own License (BYOL) | 
| ** ****Conformità** | Requisiti in materia di sicurezza | Consulta la [panoramica sulla sicurezza di Cloudera nella documentazione di](https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/security-overview/topics/cm-security-overview.html) Cloudera. | 
| [Altre certificazioni di conformità](https://aws.amazon.com/compliance/programs) | Consulta le informazioni sul sito web di Cloudera sulla conformità al [Regolamento generale sulla protezione dei dati (GDPR](https://www.cloudera.com/solutions/lower-business-risks/general-data-protection-regulation.html)) e sul [CDP](https://www.cloudera.com/products/trust-center.html) Trust Center. | 

## Prerequisiti e limitazioni
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs"></a>

**Prerequisiti**
+ [Requisiti dell'account AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html), inclusi account, risorse, servizi e autorizzazioni, come la configurazione di ruoli e policy di AWS Identity and Access Management (IAM)
+ [Prerequisiti per la distribuzione di CDP](https://docs.cloudera.com/cdp-public-cloud/cloud/getting-started/topics/cdp-set_up_cdp_prerequisites.html) dal sito Web di Cloudera

La migrazione richiede i seguenti ruoli e competenze:


| 
| 
| Ruolo | Competenze e responsabilità | 
| --- |--- |
| Responsabile della migrazione | Garantisce il supporto esecutivo, la collaborazione tra i team, la pianificazione, l'implementazione e la valutazione | 
| Cloudera SME | Competenze specialistiche in amministrazione, amministrazione di sistema e architettura CDH, HDP e CDP | 
| Architetto AWS | Competenze nei servizi, nelle reti, nella sicurezza e nelle architetture AWS | 

## Architecture
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-architecture"></a>

Utilizzare l'architettura appropriata è un passaggio fondamentale per garantire che la migrazione e le prestazioni soddisfino le aspettative. Affinché la migrazione soddisfi i presupposti di questo playbook, l'ambiente di dati di destinazione nel cloud AWS, su istanze ospitate su cloud privato virtuale (VPC) o CDP, deve corrispondere all'ambiente di origine in termini di sistema operativo e versioni del software, nonché delle principali specifiche delle macchine.

Il diagramma seguente (riprodotto con l'autorizzazione della [scheda tecnica di Cloudera Shared Data Experience](https://www.cloudera.com/content/dam/www/marketing/resources/datasheets/cloudera-sdx-datasheet.pdf?daqp=true)) mostra i componenti dell'infrastruttura per l'ambiente CDP e come interagiscono i livelli o i componenti dell'infrastruttura. 

![\[Componenti dell'ambiente CDP\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/91d62277-7fde-4ec6-8e2b-86a446e2f6ee.png)


L'architettura include i seguenti componenti CDP:
+ Data Hub è un servizio per l'avvio e la gestione di cluster di carichi di lavoro basato su Cloudera Runtime. Puoi utilizzare le definizioni dei cluster in Data Hub per fornire e accedere ai cluster di carichi di lavoro per casi d'uso personalizzati e definire configurazioni di cluster personalizzate. [Per ulteriori informazioni, consulta il sito Web di Cloudera.](https://docs.cloudera.com/data-hub/cloud/index.html)
+ Data Flow and Streaming affronta le principali sfide che le aziende devono affrontare con i dati in movimento. Gestisce quanto segue:
  + Elaborazione di flussi di dati in tempo reale ad alto volume e su larga scala
  + Monitoraggio della provenienza dei dati e della provenienza dei dati in streaming
  + Gestione e monitoraggio delle applicazioni periferiche e delle fonti di streaming

  Per ulteriori informazioni, consulta [Cloudera DataFlow](https://www.cloudera.com/products/dataflow.html) e [CSP](https://www.cloudera.com/products/stream-processing.html) sul sito Web di Cloudera.
+ L'ingegneria dei dati include l'integrazione dei dati, la qualità dei dati e la governance dei dati, che aiutano le organizzazioni a creare e mantenere pipeline e flussi di lavoro di dati. Per ulteriori informazioni, consulta il sito Web di [Cloudera](https://docs.cloudera.com/data-engineering/cloud/index.html). Scopri [il supporto per le istanze spot per facilitare il risparmio sui costi sui carichi di lavoro AWS](https://docs.cloudera.com/data-engineering/cloud/cost-management/topics/cde-spot-instances.html) for Cloudera Data Engineering.
+ Data Warehouse ti**** consente di creare data warehouse e data mart indipendenti che si ridimensionano automaticamente per soddisfare le richieste di carico di lavoro. Questo servizio fornisce istanze di elaborazione isolate e ottimizzazione automatizzata per ogni data warehouse e data mart e consente di ridurre i costi durante le riunioni. SLAs Per ulteriori informazioni, consulta il sito Web di [Cloudera](https://docs.cloudera.com/data-warehouse/cloud/index.html). Scopri come [gestire i costi](https://docs.cloudera.com/data-warehouse/cloud/planning/topics/dw-manage-cloud-costs.html) e l'[auto-scaling](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-public-cloud-autoscaling-overview.html) per Cloudera Data Warehouse on AWS.
+ Il database operativo in CDP fornisce una base affidabile e flessibile per applicazioni scalabili e ad alte prestazioni. Fornisce un database scalabile in tempo reale, sempre disponibile e che serve dati strutturati tradizionali insieme a nuovi dati non strutturati all'interno di una piattaforma operativa e di magazzino unificata. [Per ulteriori informazioni, consulta il sito Web di Cloudera.](https://www.cloudera.com/products/operational-db.html)
+ Machine Learning è una piattaforma di machine learning nativa per il cloud che unisce funzionalità self-service di data science e ingegneria dei dati in un unico servizio portatile all'interno di un cloud di dati aziendale. Consente l'implementazione scalabile dell'apprendimento automatico e dell'intelligenza artificiale (AI) sui dati ovunque. Per ulteriori informazioni, consulta il sito Web di [Cloudera](https://docs.cloudera.com/machine-learning/cloud/index.html).

**CDP su AWS**

Il diagramma seguente (adattato con l'autorizzazione del sito Web di Cloudera) mostra l'architettura di alto livello di CDP su AWS. CDP implementa il [proprio modello di sicurezza per gestire sia gli account che il flusso](https://docs.cloudera.com/runtime/7.1.0/cdp-security-overview/topics/security-management-console-security.html) di dati. Questi sono integrati con [IAM](https://aws.amazon.com/iam/) tramite l'uso di ruoli [tra](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-aws-req-credential.html) account. 

![\[CDP su architettura di alto livello AWS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/54420517-38b4-4e82-bd19-9ded50ed009c.png)


Il piano di controllo CDP risiede in un account master Cloudera nel proprio VPC. Ogni account cliente ha il proprio account secondario e un VPC unico. I ruoli IAM e le tecnologie SSL su più account indirizzano il traffico di gestione da e verso il piano di controllo ai servizi clienti che risiedono su sottoreti pubbliche instradabili su Internet all'interno del VPC di ciascun cliente. Sul VPC del cliente, Cloudera Shared Data Experience (SDX) offre una sicurezza di livello aziendale con governance e conformità unificate in modo da poter ottenere informazioni dai dati più velocemente. SDX è una filosofia di progettazione incorporata in tutti i prodotti Cloudera. Per ulteriori informazioni su [SDX](https://docs.cloudera.com/cdp-public-cloud/cloud/overview/topics/cdp-services.html) e l'[architettura di rete CDP Public Cloud per AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/aws-refarch/topics/cdp-pc-aws-refarch-overview.html), consulta la documentazione di Cloudera.

## Tools (Strumenti)
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-tools"></a>

**Servizi 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 Kubernetes Service (Amazon](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) EKS) ti aiuta a eseguire Kubernetes su AWS senza dover installare o gestire il tuo piano di controllo o i tuoi nodi Kubernetes.
+ [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 risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [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 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.

**Automazione e strumenti**
+ Per strumenti aggiuntivi, puoi utilizzare [Cloudera Backup Data Recovery (BDR),](https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/cm_bdr_tutorials.html) AWS [Snowball e AWS Snowmobile](https://aws.amazon.com/snowball/) [per facilitare la migrazione dei dati da CDH](https://aws.amazon.com/snowmobile/), HDP e CDP locali a CDP ospitati da AWS.
+ Per le nuove implementazioni, ti consigliamo di utilizzare la [soluzione AWS Partner per](https://aws.amazon.com/solutions/partners/terraform-modules/cdp-public-cloud/) CDP.

## Epiche
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Coinvolgi il team di Cloudera. | Cloudera persegue un modello di coinvolgimento standardizzato con i propri clienti e può collaborare con il vostro integratore di sistemi (SI) per promuovere lo stesso approccio. Contatta il team clienti di Cloudera in modo che possa fornire indicazioni e le risorse tecniche necessarie per avviare il progetto. Contattando il team di Cloudera si garantisce che tutti i team necessari possano prepararsi per la migrazione all'avvicinarsi della data prevista. Puoi contattare Cloudera Professional Services per spostare l'implementazione di Cloudera dalla fase pilota a quella di produzione in modo rapido, a costi inferiori e con prestazioni ottimali. [Per un elenco completo delle offerte, consulta il sito Web di Cloudera.](https://www.cloudera.com/about/services-and-support/professional-services.html) | Responsabile della migrazione | 
| Crea un ambiente CDP Public Cloud su AWS per il tuo VPC. | Collabora con Cloudera Professional Services o il tuo SI per pianificare e distribuire CDP Public Cloud in un VPC su AWS. | Architetto del cloud, Cloudera SME | 
| Assegna priorità e valuta i carichi di lavoro per la migrazione. | Valuta tutti i carichi di lavoro locali per determinare i carichi di lavoro più facili da migrare. Le applicazioni che non sono mission-critical sono le migliori da spostare per prime, perché avranno un impatto minimo sui clienti. Salva i carichi di lavoro mission-critical per ultimi, dopo aver migrato con successo altri carichi di lavoro.I carichi di lavoro transitori (CDP Data Engineering) sono più facili da migrare rispetto ai carichi di lavoro persistenti (CDP Data Warehouse). È inoltre importante considerare il volume e le posizioni dei dati durante la migrazione. Le sfide possono includere la replica continua dei dati da un ambiente locale al cloud e la modifica delle pipeline di inserimento dei dati per importare i dati direttamente nel cloud. | Responsabile della migrazione | 
| Discutete delle attività di migrazione di CDH, HDP, CDP e applicazioni legacy. | Prendi in considerazione e inizia a pianificare le seguenti attività con Cloudera Workload Manager:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Responsabile della migrazione | 
| Completa i requisiti e i consigli di Cloudera Replication Manager. | Collabora con Cloudera Professional Services e il tuo SI per prepararti a migrare i carichi di lavoro nel tuo ambiente CDP Public Cloud su AWS. La comprensione dei seguenti requisiti e consigli può aiutare a evitare problemi comuni durante e dopo l'installazione del servizio Replication Manager.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Responsabile della migrazione | 

### Esegui la migrazione da CDP ad AWS
<a name="migrate-cdp-to-aws"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione del primo carico di lavoro per dev/test ambienti utilizzando Cloudera Workload Manager. | Il tuo SI può aiutarti a migrare il tuo primo carico di lavoro nel cloud AWS. Questa dovrebbe essere un'applicazione che non sia rivolta ai clienti o che non sia fondamentale per la missione. I candidati ideali per la dev/test migrazione sono le applicazioni che contengono dati che il cloud può facilmente importare, come i carichi di lavoro CDP Data Engineering. Si tratta di un carico di lavoro temporaneo a cui in genere accedono meno utenti, rispetto a un carico di lavoro persistente come un carico di lavoro CDP Data Warehouse, che potrebbe avere molti utenti che necessitano di un accesso ininterrotto. I carichi di lavoro di data engineering non sono persistenti, il che riduce al minimo l'impatto aziendale in caso di problemi. Tuttavia, questi lavori potrebbero essere fondamentali per i report di produzione, quindi dai la priorità ai carichi di lavoro di Data Engineering a basso impatto. | Responsabile della migrazione | 
| Ripetere i passaggi di migrazione se necessario. | Cloudera Workload Manager aiuta a identificare i carichi di lavoro più adatti per il cloud. Fornisce metriche come valutazioni delle prestazioni del cloud, sizing/capacity piani per l'ambiente di destinazione e piani di replica. I migliori candidati per la migrazione sono i carichi di lavoro stagionali, i report ad hoc e i lavori intermittenti che non consumano molte risorse.Cloudera Replication Manager sposta i dati dall'ambiente locale al cloud e dal cloud all'ambiente locale.Ottimizza in modo proattivo carichi di lavoro, applicazioni, prestazioni e capacità dell'infrastruttura per il data warehousing, l'ingegneria dei dati e l'apprendimento automatico utilizzando Workload Manager. [Per una guida completa su come modernizzare un data warehouse, consulta il sito Web di Cloudera.](https://www.cloudera.com/content/dam/www/marketing/resources/webinars/modern-data-warehouse-fundamentals.png.landing.html) | Cloudera PMI | 

## Risorse correlate
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-resources"></a>

Documentazione Cloudera:
+ [Registrazione di cluster classici con CDP, Cloudera Manager e Replication Manager:](https://docs.cloudera.com/replication-manager/cloud/operations/topics/rm-requirements-for-bdr-cdh-clusters.html)
  + [Console di gestione](https://docs.cloudera.com/management-console/cloud/overview/topics/mc-management-console.html)
  + [Replica dell'hive di Replication Manager](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-replication-of-data-using-hive.html)
+ [Replica Sentry](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-policy-replication.html) 
+ [Autorizzazioni Sentry](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-ranger-permissions.html)
+ [Lista di controllo per la pianificazione dei cluster Data Hub](https://docs.cloudera.com/data-hub/cloud/cluster-planning/topics/dh-cluster-checklist.html)
+ [Architettura di Workload Manager](https://docs.cloudera.com/workload-manager/cloud/configuration/topics/wm-public-architecture-wm.html)
+ [Requisiti di Replication Manager](https://docs.cloudera.com/replication-manager/cloud/index.html)
+ [Osservabilità della piattaforma dati di Cloudera](https://www.cloudera.com/products/observability.html)
+ [Requisiti AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html)

Documentazione AWS:
+ [Migrazione dei dati del cloud](https://aws.amazon.com/cloud-data-migration/)

# Risolvi gli errori di connessione dopo la migrazione di Microsoft SQL Server al cloud AWS
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud"></a>

*Premkumar Chelladurai, Amazon Web Services*

## Riepilogo
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-summary"></a>

Dopo aver migrato Microsoft SQL Server in esecuzione su Windows Server 2008 R2, 2012 o 2012 R2 su istanze Amazon Elastic Compute Cloud (Amazon EC2) sul cloud Amazon Web Services (AWS), la connessione a SQL Server non riesce e vengono visualizzati i seguenti errori: 
+ `[Microsoft][ODBC SQL Server Driver][DBNETLIB] General Network error`
+ `ERROR [08S01] [Microsoft][SQL Native Client]Communication link failure. System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)`
+ `TCP Provider: The semaphore timeout period has expired`

Questo modello descrive come risolvere questi errori disattivando le funzionalità di Windows Scalable Networking Pack (SNP) a livello di sistema operativo (OS) e interfaccia di rete per SQL Server in esecuzione su Windows Server 2008 R2, 2012 o 2012 R2.

## Prerequisiti e limitazioni
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-prereqs"></a>

**Prerequisiti**
+ Privilegi di amministratore per Windows Server.
+ Se hai utilizzato AWS Application Migration Service come strumento di migrazione, hai bisogno di una delle seguenti versioni di Windows Server:
  + Windows Server 2008 R2 Service Pack 1, 2012 o 2012 R2
+ Se hai utilizzato CloudEndure Migration come strumento di migrazione, hai bisogno di una delle seguenti versioni di Windows Server:
  + Windows Server 2003 R2 Service Pack 3, 2008, 2008 R2 Service Pack 1, 2012 o 2012 R2

## Tools (Strumenti)
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-tools"></a>
+ [Amazon EC2](https://docs.aws.amazon.com/ec2/index.html) — Amazon Elastic Compute Cloud (Amazon EC2) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi usare Amazon EC2 per lanciare tutti o pochi server virtuali di cui hai bisogno, con scalabilità orizzontale o orizzontale. 
+ [Windows Server](https://docs.microsoft.com/en-us/windows-server/): Windows Server è una piattaforma per la creazione di un'infrastruttura di applicazioni, reti e servizi Web connessi.

## Epiche
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-epics"></a>

### Disattiva le funzionalità SNP a livello di sistema operativo e elastic network interface
<a name="turn-off-snp-features-at-the-os-and-elastic-network-interface-levels"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Disattiva le funzionalità SNP a livello di sistema operativo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Amministratore AWS, amministratore di sistema AWS, ingegnere addetto alla migrazione, amministratore cloud | 
| Disattiva le funzionalità SNP a livello di elastic network interface. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Amministratore AWS, amministratore cloud, amministratore di sistema AWS | 

## Risorse correlate
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-resources"></a>
+ [Come risolvere i problemi relativi a funzionalità avanzate di prestazioni di rete come RSS e NetDMA](https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/troubleshoot-network-performance-features-rss-netdma)

# Riavvia automaticamente l'AWS Replication Agent senza disabilitarlo SELinux dopo il riavvio di un server di origine RHEL
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server"></a>

*Anil Kunapareddy, Venkatramana Chintha e Shanmugam Shanker, Amazon Web Services*

## Riepilogo
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-summary"></a>

AWS Application Migration Service aiuta a semplificare, accelerare e automatizzare la migrazione del carico di lavoro Red Hat Enterprise Linux (RHEL) al cloud Amazon Web Services (AWS). Per aggiungere server di origine a Application Migration Service, installa l'AWS Replication Agent sui server.

Application Migration Service fornisce una replica asincrona a livello di blocco in tempo reale. Ciò significa che è possibile continuare le normali operazioni IT durante l'intero processo di replica. Queste operazioni IT potrebbero richiedere il riavvio o il riavvio del server di origine RHEL durante la migrazione. In tal caso, l'agente di replica AWS non si riavvierà automaticamente e la replica dei dati si interromperà. In genere, puoi impostare Security-Enhanced Linux (SELinux) in modalità **disabilitata** o **permissiva** per riavviare automaticamente AWS Replication Agent. [Tuttavia, le politiche di sicurezza della tua organizzazione potrebbero proibire la disabilitazione e potresti anche dover SELinux rietichettare i file.](https://access.redhat.com/solutions/3176)

Questo modello descrive come riavviare automaticamente AWS Replication Agent senza spegnerlo SELinux quando il server di origine RHEL si riavvia o si riavvia durante una migrazione. 

## Prerequisiti e limitazioni
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un carico di lavoro RHEL locale che desideri migrare nel cloud AWS. 
+ Application Migration Service inizializzato dalla console di Application Migration Service. L'inizializzazione è richiesta solo la prima volta che si utilizza questo servizio. Per istruzioni, consulta la [documentazione di Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mandatory-setup.html).
+ Una [policy AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) esistente per Application Migration Service. Per ulteriori informazioni, consulta la [documentazione di Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html).

**Versioni**
+ RHEL versione 7 o successiva

## Tools (Strumenti)
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-tools"></a>

**Servizi AWS**
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) è una soluzione altamente automatizzata lift-and-shift (rehosting) che semplifica, accelera e riduce i costi di migrazione delle applicazioni su AWS.

**Comandi Linux**

La tabella seguente fornisce un elenco di comandi Linux che verranno eseguiti sul server di origine RHEL. Questi sono descritti anche nei poemi epici e nelle storie di questo modello. 


| 
| 
| Comando | Description | 
| --- |--- |
| `#systemctl –version` | Identifica la versione del sistema. | 
| `#systemctl list-units --type=service` | Elenca tutti i servizi attivi disponibili sul server RHEL. | 
| `#systemctl list-units --type=service \| grep running` | Elenca tutti i servizi attualmente in esecuzione sul server RHEL. | 
| `#systemctl list-units --type=service \| grep failed` | Elenca tutti i servizi che non sono stati caricati dopo il riavvio o il riavvio del server RHEL. | 
| `restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Modifica il contesto in. `aws-replication-service` | 
| `yum install policycoreutils*` | Installa le utilità principali della policy necessarie per il funzionamento del SELinux sistema. | 
| `ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Cerca nel registro di controllo e crea un modulo per le politiche. | 
| `semodule -i my-modprobe.pp` | Attiva la politica. | 
| `cat my-modprobe.te` | Visualizza il contenuto del `my-modprobe.te` file. | 
| `semodule -l \| grep my-modprobe` | Verifica se la politica è stata caricata nel SELinux modulo. | 

## Epiche
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-epics"></a>

### Installa AWS Replication Agent e riavvia il server di origine RHEL
<a name="install-the-aws-replication-agent-and-reboot-the-rhel-source-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un utente di Application Migration Service con una chiave di accesso e una chiave di accesso segreta.  | Per installare AWS Replication Agent, devi creare un utente di Application Migration Service con le credenziali AWS richieste. Per istruzioni, consulta la documentazione di [Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | Tecnico di migrazione | 
| Installa l'agente di replica AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.html) | Tecnico di migrazione | 
| Riavvia o riavvia il server di origine RHEL. | [Riavvia o riavvia il server di origine RHEL quando **lo stato di replica dei dati** viene visualizzato **Stallato** nel dashboard di migrazione.](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html) | Ingegnere della migrazione | 
| Controlla lo stato della replica dei dati. | Attendi un'ora, quindi controlla nuovamente **lo stato della replica dei dati** nella dashboard di migrazione. Dovrebbe essere nello stato **Integro**. | Ingegnere della migrazione | 

### Verifica lo stato di AWS Replication Agent sul server di origine RHEL
<a name="check-aws-replication-agent-status-on-the-rhel-source-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica la versione del sistema. | Apri l'interfaccia a riga di comando per il tuo server di origine RHEL ed esegui il seguente comando per identificare la versione del sistema:`#systemctl –version` | Ingegnere della migrazione | 
| Elenca tutti i servizi attivi. | Per elencare tutti i servizi attivi disponibili sul server RHEL, esegui il comando:`#systemctl list-units --type=service` | Ingegnere della migrazione | 
| Elenca tutti i servizi in esecuzione. | Per elencare tutti i servizi attualmente in esecuzione sul server RHEL, utilizzare il comando:`#systemctl list-units --type=service \| grep running` | Ingegnere della migrazione | 
| Elenca tutti i servizi che non sono stati caricati. | Per elencare tutti i servizi che non sono stati caricati dopo il riavvio o il riavvio del server RHEL, esegui il comando:`#systemctl list-units --type=service \| grep failed` | Ingegnere della migrazione | 

### Crea ed esegui il SELinux modulo
<a name="create-and-run-the-selinux-module"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Cambia il contesto di sicurezza. | Nell'interfaccia a riga di comando per il tuo server di origine RHEL, esegui il seguente comando per modificare il contesto di sicurezza nel servizio di replica AWS:`restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Ingegnere della migrazione | 
| Installa le utilità principali. | Per installare le principali utilità necessarie per il funzionamento del SELinux sistema e le relative politiche, esegui il comando:`yum install policycoreutils*` | Ingegnere della migrazione | 
| Cerca nel registro di controllo e crea un modulo per le politiche. | Eseguire il comando :`ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Ingegnere della migrazione | 
| Visualizza il contenuto del my-modprobe-te file.  | Il `my-modprobe.te` file viene generato dal comando **audit2allow**. Include i SELinux domini, la directory di origine delle politiche e le sottodirectory e specifica le regole e le transizioni dei vettori di accesso associate ai domini. Per visualizzare il contenuto del file, esegui il comando:`cat my modprobe.te` | Ingegnere della migrazione | 
| Attiva la politica. | Per inserire il modulo e rendere attivo il pacchetto di policy, esegui il comando:`semodule -i my-modprobe.pp` | Ingegnere della migrazione | 
| Controlla se il modulo è stato caricato.  | Eseguire il comando :`semodule -l \| grep my-modprobe`Dopo aver caricato il SELinux modulo, non sarà più necessario SELinux impostarlo sulla modalità **disabilitata** o **permissiva** durante la migrazione. | Ingegnere della migrazione | 
| Riavviare o riavviare il server di origine RHEL e verificare lo stato della replica dei dati. | Apri la console AWS Migration Service, passa all'**avanzamento della replica dei dati**, quindi riavvia o riavvia il server di origine RHEL. La replica dei dati dovrebbe ora riprendere automaticamente dopo il riavvio del server di origine RHEL. | Ingegnere della migrazione | 

## Risorse correlate
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-resources"></a>
+ [Documentazione sul servizio di migrazione delle applicazioni](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Materiali per la formazione tecnica](https://docs.aws.amazon.com/mgn/latest/ug/mgn-training.html)
+ [Risoluzione dei problemi di AWS Replication Agent](https://docs.aws.amazon.com/mgn/latest/ug/Troubleshooting-Agent-Issues.html)
+ [Politiche del servizio di migrazione delle applicazioni](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html)

# Re-architetto
<a name="migration-rearchitect-pattern-list"></a>

**Topics**
+ [Converti VARCHAR2 (1) il tipo di dati per Oracle in tipo di dati booleano per Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Crea utenti e ruoli delle applicazioni in Aurora, compatibile con PostgreSQL](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Emula Oracle DR utilizzando un database globale Aurora compatibile con PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [SHA1 Implementa l'hashing per i dati PII durante la migrazione da SQL Server a PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Migrazione incrementale da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL utilizzando Oracle SQL Developer e AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Carica i file BLOB in formato TEXT utilizzando la codifica dei file in Aurora, compatibile con PostgreSQL](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL con e utilizzando e AWS SCT AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL in modalità SSL utilizzando AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migrazione dei pacchetti pragma Oracle SERIALLY\$1REUSABLE in PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Esegui la migrazione di tabelle esterne Oracle verso Amazon Aurora, compatibile con PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Migrazione di indici basati su funzioni da Oracle a PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migrazione delle funzioni native di Oracle su PostgreSQL utilizzando le estensioni](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Esegui la migrazione di un database Db2 da Amazon a EC2 Aurora compatibile con MySQL utilizzando AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Esegui la migrazione di un database Microsoft SQL Server da Amazon EC2 ad Amazon DocumentDB utilizzando AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Esegui la migrazione di un database ThoughtSpot Falcon locale su Amazon Redshift](migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift.md)
+ [Esegui la migrazione da Oracle Database ad Amazon RDS for PostgreSQL utilizzando Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Esegui la migrazione di una tabella partizionata Oracle su PostgreSQL utilizzando AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Esegui la migrazione da IBM Db2 su Amazon a EC2 Aurora PostgreSQL compatibile con AWS DMS e AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando viste materializzate e AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Esegui la migrazione da Oracle su Amazon EC2 ad Amazon RDS for MySQL utilizzando AWS DMS e AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle da Amazon EC2 ad Amazon RDS for MariaDB utilizzando AWS DMS e AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for MySQL utilizzando AWS DMS e AWS SCT](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for PostgreSQL utilizzando un bystander Oracle e AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Esegui la migrazione di un database Oracle ad Amazon Redshift utilizzando AWS DMS e AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle ad Aurora PostgreSQL utilizzando AWS DMS e AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione dei dati da un database Oracle locale ad Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Esegui la migrazione da SAP ASE ad Amazon RDS per SQL Server utilizzando AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon Redshift utilizzando AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon Redshift utilizzando gli agenti di estrazione dati AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Migrazione delle applicazioni legacy da Oracle Pro\$1C a ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Migra le colonne virtuali generate da Oracle a PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configura la funzionalità Oracle UTL\$1FILE su Aurora, compatibile con PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Convalida gli oggetti del database dopo la migrazione da Oracle ad Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# Converti VARCHAR2 (1) il tipo di dati per Oracle in tipo di dati booleano per Amazon Aurora PostgreSQL
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql"></a>

*Fotocamera Naresh, Amazon Web Services*

## Riepilogo
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-summary"></a>

Durante una migrazione da Amazon Relational Database Service (Amazon RDS) per Oracle a Amazon Aurora PostgreSQL Compatible Edition, potresti riscontrare una mancata corrispondenza dei dati durante la convalida della migrazione in (). AWS Database Migration Service AWS DMS Per evitare questa mancata corrispondenza, puoi convertire il tipo di dati (1) in un tipo di dati booleano. VARCHAR2

VARCHAR2 il tipo di dati memorizza stringhe di testo a lunghezza variabile e VARCHAR2 (1) indica che la stringa è lunga 1 carattere o 1 byte. Per ulteriori informazioni su VARCHAR2, vedere i [tipi di dati integrati in Oracle](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) (documentazione Oracle).

In questo modello, nella colonna della tabella dei dati di origine di esempio, i dati VARCHAR2 (1) sono o **Y**, per *Sì*, o **N**, per *No*.  Questo modello include istruzioni per utilizzare AWS DMS and AWS Schema Conversion Tool (AWS SCT) per convertire questo tipo di dati dai valori **Y** e **N** in VARCHAR2 (1) in valori **veri** o **falsi** in booleano.

**Destinatari**

Questo modello è consigliato a coloro che hanno esperienza nella migrazione di database Oracle ad Aurora compatibili con PostgreSQL utilizzando. AWS DMS Una volta completata la migrazione, segui i consigli in [Conversione da Oracle ad Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentazione).AWS SCT 

## Prerequisiti e limitazioni
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-prereqs"></a>

**Prerequisiti**
+ Un attivo. Account AWS
+ Verifica che il tuo ambiente sia pronto per Aurora, inclusa la configurazione di credenziali, autorizzazioni e un gruppo di sicurezza. Per ulteriori informazioni, consulta [Configurazione dell'ambiente per Amazon Aurora (documentazione Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_SettingUp_Aurora.html)).
+ Un database Amazon RDS for Oracle di origine che contiene una colonna di tabella VARCHAR2 con (1) dati.
+ Un'istanza di database di destinazione compatibile con Amazon Aurora PostgreSQL. Per ulteriori informazioni, vedere [Creazione di un cluster di database e connessione a un database su un cluster di database Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster) (documentazione Aurora).

**Versioni del prodotto**
+ Amazon RDS for Oracle versione 12.1.0.2 o successiva.
+ AWS DMS versione 3.1.4 o successiva. Per ulteriori informazioni, vedere [Utilizzo di un database Oracle come origine AWS DMS e [Utilizzo di un database PostgreSQL come destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) per](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) (documentazione). AWS DMSAWS DMS Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità.
+ AWS Schema Conversion Tool (AWS SCT) versione 1.0.632 o successiva. Ti consigliamo di utilizzare la versione più recente di AWS SCT per il supporto più completo della versione e delle funzionalità.
+ Aurora supporta le versioni di PostgreSQL elencate in Database Engine [Versions for Aurora PostgreSQL compatible (documentazione Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html)).

## Architecture
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-architecture"></a>

**Stack tecnologico di origine**

Istanza di database Amazon RDS per Oracle

**Stack tecnologico Target**

Istanza di database compatibile con Amazon Aurora PostgreSQL

**Architettura di origine e destinazione**

![\[Modifica dei tipi di dati da VARCHAR2 (1) a booleano\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5d4dc568-20d8-4883-a942-21c81039d8e6/images/9fd82ae2-56e6-439c-b4cd-9e74fe77b480.png)


## Tools (Strumenti)
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-tools"></a>

**Servizi AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [AWS Database Migration Service () ti aiuta a migrare gli archivi di dati all'interno o tra combinazioni di AWS DMS configurazioni](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) cloud e locali. Cloud AWS 
+ [Amazon Relational Database Service (Amazon RDS) per](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) Oracle ti aiuta a configurare, gestire e scalare un database relazionale Oracle in. Cloud AWS
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenee convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.

**Altri servizi**
+ [Oracle SQL Developer](https://docs.oracle.com/en/database/oracle/sql-developer/) è un ambiente di sviluppo integrato che semplifica lo sviluppo e la gestione dei database Oracle nelle implementazioni tradizionali e basate sul cloud. In questo modello, utilizzi questo strumento per connetterti all'istanza di database Amazon RDS for Oracle e interrogare i dati.
+ [pgAdmin](https://www.pgadmin.org/docs/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database. In questo modello, si utilizza questo strumento per connettersi all'istanza del database Aurora e interrogare i dati.

## Epiche
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un rapporto sulla migrazione del database. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | DBA, Sviluppatore | 
| Disabilita i vincoli di chiave esterna sul database di destinazione. | In PostgreSQL, le chiavi esterne vengono implementate utilizzando i trigger. Durante la fase di caricamento completo, AWS DMS carica ogni tabella una alla volta. Si consiglia vivamente di disabilitare i vincoli di chiave esterna durante un caricamento completo utilizzando uno dei seguenti metodi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)Se la disabilitazione dei vincoli di chiave esterna non è possibile, create un'attività di AWS DMS migrazione per i dati primari specifica della tabella principale e della tabella figlio. | DBA, Sviluppatore | 
| Disabilita le chiavi primarie e le chiavi univoche sul database di destinazione. | Utilizzando i seguenti comandi, disabilitate le chiavi primarie e i vincoli sul database di destinazione. Ciò consente di migliorare le prestazioni dell'attività di caricamento iniziale.<pre>ALTER TABLE <table> DISABLE PRIMARY KEY;</pre><pre>ALTER TABLE <table> DISABLE CONSTRAINT <constraint_name>;</pre> | DBA, Sviluppatore | 
| Crea l'attività di caricamento iniziale. | In AWS DMS, crea l'attività di migrazione per il caricamento iniziale. Per istruzioni, consulta [Creazione di un'attività](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Per il metodo di migrazione, scegli **Migra dati esistenti**. Questo metodo di migrazione viene**** richiamato `Full Load` nell'API. Non avviare ancora questa attività. | DBA, Sviluppatore | 
| Modifica le impostazioni dell'attività per l'attività di caricamento iniziale. | Modifica le impostazioni dell'attività per aggiungere la convalida dei dati. Queste impostazioni di convalida devono essere create in un file JSON. Per istruzioni ed esempi, vedere [Specificazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html) delle impostazioni delle attività. Aggiungi le seguenti convalide:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)Per convalidare il resto della migrazione dei dati, abilita la convalida dei dati nell'attività. Per ulteriori informazioni, consulta Impostazioni dell'attività di [convalida dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.html). | Amministratore AWS, DBA | 
| Crea l'attività di replica continua. | In AWS DMS, crea l'attività di migrazione che mantiene il database di destinazione sincronizzato con il database di origine. Per istruzioni, consulta [Creazione di un'attività](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Per il metodo di migrazione, scegli **Replica solo le modifiche ai dati**. Non iniziate ancora questa attività. | DBA | 

### Verifica le attività di migrazione
<a name="test-the-migration-tasks"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea dati di esempio per i test. | Nel database di origine, crea una tabella di esempio con dati a scopo di test. | Developer | 
| Verifica che non vi siano attività in conflitto. | Utilizza il `pg_stat_activity` per verificare eventuali attività sul server che potrebbero influire sulla migrazione. Per ulteriori informazioni, vedere [The Statistics Collector (documentazione](https://www.postgresql.org/docs/current/monitoring-stats.html) PostgreSQL). | Amministratore AWS | 
| Avvia le attività di AWS DMS migrazione. | Nella AWS DMS console, nella pagina **Dashboard**, avvia le attività di caricamento iniziale e di replica in corso che hai creato nell'epic precedente. | Amministratore AWS | 
| Monitora le attività e gli stati di caricamento delle tabelle. | Durante la migrazione, monitora lo [stato delle attività](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.Status) e gli [stati della tabella](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.CustomizingTasks.TableState). Una volta completata l'attività di caricamento iniziale, nella scheda **Statistiche della tabella**:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | Amministratore AWS | 
| Verifica i risultati della migrazione. | Utilizzando pgAdmin, interroga la tabella sul database di destinazione. Una query riuscita indica che i dati sono stati migrati correttamente. | Developer | 
| Aggiungi chiavi primarie e chiavi esterne nel database di destinazione. | Crea la chiave primaria e la chiave esterna nel database di destinazione. Per ulteriori informazioni, vedere [ALTER TABLE](https://www.postgresql.org/docs/current/sql-altertable.html) (sito Web PostgreSQL). | DBA | 
| Pulisci i dati del test. | Nei database di origine e di destinazione, pulisci i dati creati per il test unitario. | Developer | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Completa la migrazione. | Ripeti l'epopea precedente, *testa le attività di migrazione* utilizzando i dati di origine reale. In questo modo i dati vengono migrati dal database di origine a quello di destinazione. | Developer | 
| Verifica che i database di origine e di destinazione siano sincronizzati. | Verifica che i database di origine e di destinazione siano sincronizzati. Per ulteriori informazioni e istruzioni, consulta la sezione [Convalida AWS DMS dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Developer | 
| Arresta il database di origine. | Arresta il database Amazon RDS for Oracle. Per istruzioni, consulta [Arresto temporaneo di un'istanza DB Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html). Quando si arresta il database di origine, il caricamento iniziale e le attività di replica in corso AWS DMS vengono interrotte automaticamente. Non è richiesta alcuna azione aggiuntiva per interrompere queste attività. | Developer | 

## Risorse correlate
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-resources"></a>

**AWS riferimenti**
+ Esegui la [migrazione di un database Oracle ad Aurora AWS DMSAWS SCT PostgreSQL](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.html) utilizzando e (Prescriptive Guidance)AWS 
+ [Conversione da Oracle ad Amazon RDS per PostgreSQL o Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentazione)AWS SCT 
+ [AWS DMSAWS DMS Come](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.html) funziona (documentazione)

**Altri riferimenti**
+ [Tipo di dati booleano (documentazione](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-boolean/) PostgreSQL)
+ Tipi di [dati Oracle integrati](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) (documentazione Oracle)
+ [pgAdmin (sito](https://www.pgadmin.org/) web pgAdmin)
+ [SQL Developer](https://www.oracle.com/database/technologies/appdev/sql-developer.html) (sito web Oracle)

**Tutorial e video**
+ [Guida introduttiva con AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Guida introduttiva ad Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Introduzione a AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (video)
+ [Informazioni su Amazon RDS](https://www.youtube.com/watch?v=eMzCI7S1P9M) (video)

## Informazioni aggiuntive
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-additional"></a>

**Script di convalida dei dati**

**Il seguente script di convalida dei dati converte **1** in **Y** e **0** in N.** Ciò consente di completare correttamente l' AWS DMS attività e di superare la convalida della tabella.

```
{
"rule-type": "validation",
"rule-id": "5",
"rule-name": "5",
"rule-target": "column",
"object-locator": {
"schema-name": "ADMIN",
"table-name": "TEMP_CHRA_BOOL",
"column-name": "GRADE"
},
"rule-action": "override-validation-function",
"target-function": "case grade when '1' then 'Y' else 'N' end"
        }
```

L'`case`istruzione nello script esegue la convalida. Se la convalida fallisce, AWS DMS inserisce un record nella tabella **public.awsdms\$1validation\$1failures\$1v1** sull'istanza del database di destinazione. Questo record include il nome della tabella, l'ora dell'errore e i dettagli sui valori non corrispondenti nelle tabelle di origine e di destinazione.

**Se non si aggiunge questo script di convalida dei dati all' AWS DMS attività e i dati vengono inseriti nella tabella di destinazione, l' AWS DMS attività mostra lo stato di convalida come Record non corrispondenti.**

Durante la AWS SCT conversione, il task di AWS DMS migrazione modifica il tipo di dati del tipo di dati VARCHAR2 (1) in Boolean e aggiunge un vincolo di chiave primaria sulla colonna. `"NO"`

# Crea utenti e ruoli delle applicazioni in Aurora, compatibile con PostgreSQL
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

## Riepilogo
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-summary"></a>

Quando esegui la migrazione ad Amazon Aurora PostgreSQL Compatible Edition, gli utenti e i ruoli del database esistenti nel database di origine devono essere creati nel database compatibile con Aurora PostgreSQL. È possibile creare utenti e ruoli in Aurora compatibili con PostgreSQL utilizzando due approcci diversi:
+ Utilizzate utenti e ruoli simili nel database di destinazione e nel database di origine. In questo approccio, i linguaggi di definizione dei dati (DDLs) vengono estratti per utenti e ruoli dal database di origine. Quindi vengono trasformati e applicati al database Aurora di destinazione compatibile con PostgreSQL. Ad esempio, il post sul blog [Use SQL to map users, roles and grants from Oracle to PostgreSQL](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) tratta l'utilizzo dell'estrazione da un motore di database sorgente Oracle.
+ Utilizza utenti e ruoli standardizzati che vengono comunemente utilizzati durante lo sviluppo, l'amministrazione e per l'esecuzione di altre operazioni correlate nel database. Ciò include le operazioni di sola lettura, lettura/scrittura, di sviluppo, amministrazione e distribuzione eseguite dai rispettivi utenti.

Questo modello contiene le sovvenzioni necessarie per la creazione di utenti e ruoli in Aurora, compatibile con PostgreSQL, necessarie per l'approccio standardizzato di utenti e ruoli. Le fasi di creazione di utenti e ruoli sono allineate alla politica di sicurezza che prevede la concessione dei privilegi minimi agli utenti del database. La tabella seguente elenca gli utenti, i ruoli corrispondenti e i relativi dettagli nel database.


| 
| 
| Utenti | Roles | Scopo | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Utilizzato per l'accesso in sola lettura allo schema `APP` | 
| `APP_WRITE` | `APP_RW` | Utilizzato per le operazioni di scrittura e lettura sullo schema `APP` | 
| `APP_dev_user` | `APP_DEV` | Utilizzato a scopo di sviluppo sullo schema`APP_DEV`, con accesso in sola lettura allo schema `APP` | 
| `Admin_User` | `rds_superuser` | Utilizzato per eseguire operazioni di amministratore sul database | 
| `APP` | `APP_DEP` | Utilizzato per creare gli oggetti nell'ambito dello `APP` schema e per la distribuzione degli oggetti nello `APP` schema | 

## Prerequisiti e limitazioni
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Prerequisiti**
+ Un account Amazon Web Services (AWS) attivo
+ Un database PostgreSQL, un database Edition compatibile con Amazon Aurora PostgreSQL o un database Amazon Relational Database Service (Amazon RDS) per PostgreSQL

**Versioni del prodotto**
+ Tutte le versioni di PostgreSQL

## Architecture
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-architecture"></a>

**Stack tecnologico di origine**
+ Qualsiasi database

**Stack tecnologico Target**
+ Compatibile con Amazon Aurora PostgreSQL

**Architettura Target**

Il diagramma seguente mostra i ruoli utente e l'architettura dello schema nel database Aurora compatibile con PostgreSQL.

![\[Ruoli utente e architettura dello schema per il database Aurora compatibile con PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automazione e scalabilità**

Questo modello contiene gli utenti, i ruoli e lo script di creazione dello schema, che è possibile eseguire più volte senza alcun impatto sugli utenti esistenti del database di origine o di destinazione.

## Tools (Strumenti)
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-tools"></a>

**Servizi AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.

**Altri servizi**
+ [psql](https://www.postgresql.org/docs/current/app-psql.html) è uno strumento front-end basato su terminale che viene installato con ogni installazione del database PostgreSQL. Dispone di un'interfaccia a riga di comando per l'esecuzione di comandi SQL, PL-PGSQL e del sistema operativo.
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.

## Epiche
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Crea gli utenti e i ruoli
<a name="create-the-users-and-roles"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'utente di distribuzione. | L'utente di distribuzione `APP` verrà utilizzato per creare e modificare gli oggetti del database durante le distribuzioni. Utilizza gli script seguenti per creare il ruolo utente di distribuzione `APP_DEP` nello schema. `APP` Convalida i diritti di accesso per assicurarti che questo utente abbia solo il privilegio di creare oggetti nello schema richiesto. `APP`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crea l'utente di sola lettura. | L'utente di sola lettura `APP_read` verrà utilizzato per eseguire l'operazione di sola lettura nello schema. `APP` Utilizzare gli script seguenti per creare l'utente di sola lettura. Convalida i diritti di accesso per assicurarti che questo utente abbia il privilegio solo di leggere gli oggetti nello schema `APP` e di concedere automaticamente l'accesso in lettura per tutti i nuovi oggetti creati nello schema. `APP`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crea l' read/write utente. | L' read/write utente `APP_WRITE` verrà utilizzato per eseguire operazioni di lettura e scrittura sullo schema`APP`. Usa i seguenti script per creare l' read/write utente e concedergli il `APP_RW` ruolo. Convalida i diritti di accesso per assicurarti che questo utente disponga dei privilegi di lettura e scrittura solo sugli oggetti dello schema `APP` e per concedere automaticamente l'accesso in lettura e scrittura per ogni nuovo oggetto creato nello schema. `APP`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Crea l'utente amministratore. | L'utente amministratore `Admin_User` verrà utilizzato per eseguire operazioni di amministrazione sul database. Esempi di queste operazioni sono `CREATE ROLE` e`CREATE DATABASE`. `Admin_User`utilizza il ruolo integrato `rds_superuser` per eseguire operazioni di amministrazione sul database. Utilizza gli script seguenti per creare e testare il privilegio per l'utente amministratore `Admin_User` nel database.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crea l'utente di sviluppo. | L'utente di sviluppo `APP_dev_user` avrà il diritto di creare gli oggetti nel suo schema locale `APP_DEV` e di leggere l'accesso allo schema`APP`. Utilizzate i seguenti script per creare e testare i privilegi dell'utente `APP_dev_user` nel database.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 

## Risorse correlate
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**Documentazione PostgreSQL**
+ [CREA RUOLO](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [CREA UTENTE](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Ruoli predefiniti](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Informazioni aggiuntive
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Miglioramento di PostgreSQL 14**

PostgreSQL 14 fornisce una serie di ruoli predefiniti che danno accesso a determinate funzionalità e informazioni privilegiate di uso comune. Gli amministratori (compresi i ruoli che dispongono del `CREATE ROLE` privilegio) possono concedere questi ruoli o altri ruoli nel loro ambiente agli utenti, fornendo loro l'accesso alle funzionalità e alle informazioni specificate.

Gli amministratori possono concedere agli utenti l'accesso a questi ruoli utilizzando il comando. `GRANT` Ad esempio, per concedere il `pg_signal_backend` ruolo a`Admin_User`, è possibile eseguire il comando seguente.

```
GRANT pg_signal_backend TO Admin_User;
```

Il `pg_signal_backend` ruolo ha lo scopo di consentire agli amministratori di abilitare ruoli affidabili e non superutente per inviare segnali ad altri backend. Per ulteriori informazioni, consulta Miglioramento di [PostgreSQL 14](https://www.postgresql.org/docs/14/predefined-roles.html).

**Ottimizzazione dell'accesso**

In alcuni casi, potrebbe essere necessario fornire un accesso più granulare agli utenti (ad esempio, accesso basato su tabelle o accesso basato su colonne). In questi casi, è possibile creare ruoli aggiuntivi per concedere tali privilegi agli utenti. Per ulteriori informazioni, vedere [PostgreSQL Grants](https://www.postgresql.org/docs/8.4/sql-grant.html).

# Emula Oracle DR utilizzando un database globale Aurora compatibile con PostgreSQL
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database"></a>

*HariKrishna Boorgadda, Amazon Web Services*

## Riepilogo
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-summary"></a>

Le migliori pratiche per il disaster recovery (DR) aziendale consistono fondamentalmente nella progettazione e implementazione di sistemi hardware e software con tolleranza ai guasti in grado di sopravvivere a un disastro (*continuità aziendale*) e riprendere le normali operazioni (ripresa *aziendale), con un intervento minimo e, idealmente, senza* perdita di dati. La creazione di ambienti con tolleranza ai guasti per soddisfare gli obiettivi aziendali di disaster recovery può essere costosa e dispendiosa in termini di tempo e richiede un forte impegno da parte dell'azienda.

Oracle Database offre tre diversi approcci al DR che offrono il massimo livello di protezione e disponibilità dei dati rispetto a qualsiasi altro approccio per la protezione dei dati Oracle.
+ Dispositivo di ripristino Oracle Zero Data Loss
+ Oracle Active Data Guard
+ Oracle GoldenGate

Questo modello fornisce un modo per emulare Oracle GoldenGate DR utilizzando un database globale Amazon Aurora. L'architettura di riferimento utilizza Oracle GoldenGate for DR in tre regioni AWS. Lo schema illustra la ripiattaforma dell'architettura di origine nel database globale Aurora nativo per il cloud basato su Amazon Aurora PostgreSQL — Compatible Edition.

I database globali Aurora sono progettati per applicazioni con un'impronta globale. Un singolo database Aurora si estende su più regioni AWS con un massimo di cinque regioni secondarie. I database globali Aurora offrono le seguenti funzionalità:
+ Replica fisica a livello di storage
+ Letture globali a bassa latenza
+ Ripristino di emergenza rapido in caso di interruzioni a livello regionale
+ Migrazioni rapide tra regioni
+ Basso ritardo di replica tra le regioni
+ Little-to-no impatto sulle prestazioni del database

Per ulteriori informazioni sulle caratteristiche e i vantaggi dei database globali di Aurora, consulta [Utilizzo dei database globali di Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-overview). Per ulteriori informazioni sui failover non pianificati e gestiti, consulta [Uso del failover in un database globale Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-failover).

## Prerequisiti e limitazioni
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo 
+ Un driver PostgreSQL Java Database Connectivity (JDBC) per la connettività delle applicazioni
+ Un database globale Aurora basato su Amazon Aurora PostgreSQL Compatible Edition
+ Un database Oracle Real Application Clusters (RAC) migrato al database globale Aurora basato sulla compatibilità con Aurora PostgreSQL

**Limitazioni dei database globali Aurora**
+ I database globali Aurora non sono disponibili in tutte le regioni AWS. Per un elenco delle regioni supportate, consulta [Database globali Aurora con Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.html#Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.apg).
+ Per informazioni sulle funzionalità non supportate e altre limitazioni dei database globali di Aurora, consulta le [Limitazioni dei database globali di Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations).

**Versioni del prodotto**
+ Amazon Aurora PostgreSQL — Compatible Edition versione 10.14 o successiva

## Architecture
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-architecture"></a>

**Stack tecnologico di origine******
+ Database Oracle RAC a quattro nodi
+ Oracle GoldenGate

**Architettura di origine******

Il diagramma seguente mostra tre cluster con Oracle RAC a quattro nodi in diverse regioni AWS replicati utilizzando Oracle. GoldenGate 

![\[Oracle RAC in una regione principale e due regioni secondarie.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/9fc740fc-d339-422e-beaf-1f65690c9d14.png)


**Stack tecnologico Target**
+ Un database globale Amazon Aurora a tre cluster basato su Aurora PostgreSQL, compatibile con un cluster nella regione principale, due cluster in diverse regioni secondarie

**Architettura Target**

![\[Amazon Aurora in una regione principale e due regioni secondarie.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/8e3deca9-03f2-437c-9341-795ac17e2b42.png)


## Tools (Strumenti)
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-tools"></a>

**Servizi AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ I [database globali di Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) si estendono su più regioni AWS, fornendo letture globali a bassa latenza e ripristino rapido da rare interruzioni che potrebbero interessare un'intera regione AWS.

## Epiche
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-epics"></a>

### Aggiungi regioni con istanze DB Reader
<a name="add-regions-with-reader-db-instances"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Collega uno o più cluster Aurora secondari. | Nella Console di gestione AWS, scegli Amazon Aurora. Seleziona il cluster primario, scegli **Azioni** e scegli **Aggiungi regione** dall'elenco a discesa. | DBA | 
| Seleziona la classe dell'istanza. | È possibile modificare la classe di istanza del cluster secondario. Tuttavia, si consiglia di mantenerla uguale alla classe di istanza del cluster principale. | DBA | 
| Aggiungi la terza regione. | Ripeti i passaggi di questa epopea per aggiungere un cluster nella terza regione. | DBA | 

### Esegui il failover del database globale Aurora
<a name="fail-over-the-aurora-global-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimuovi il cluster primario dal database globale Aurora. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.html) | DBA | 
| Riconfigurare l'applicazione per deviare il traffico di scrittura nel nuovo cluster promosso. | Modifica l'endpoint nell'applicazione con quello del cluster appena promosso. | DBA | 
| Interrompi l'esecuzione di operazioni di scrittura sul cluster non disponibile. | Interrompi l'applicazione e qualsiasi attività DML (Data Manipulation Language) sul cluster che hai rimosso. | DBA | 
| Crea un nuovo database globale Aurora. | Ora puoi creare un database globale Aurora con il cluster appena promosso come cluster primario. | DBA | 

### Avvia il cluster primario
<a name="start-the-primary-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Seleziona il cluster primario da avviare dal database globale. | Nella console Amazon Aurora, nella configurazione di Global Database, scegli il cluster primario. | DBA | 
| Avvia il cluster. | Nell'elenco a discesa **Azioni**, scegli **Avvia**. Questo processo potrebbe richiedere del tempo. Aggiorna la schermata per visualizzare lo stato oppure controlla la colonna **Status** per lo stato corrente del cluster una volta completata l'operazione. | DBA | 

### Pulisci le risorse
<a name="clean-up-the-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare i cluster secondari rimanenti. | Una volta completato il programma pilota di failover, rimuovete i cluster secondari dal database globale. | DBA | 
| Eliminare il cluster primario. | Rimuovi il cluster. | DBA | 

## Risorse correlate
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-resources"></a>
+ [Using Amazon Aurora global databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-detaching)
+ [Soluzioni di disaster recovery Aurora PostgreSQL che utilizzano Amazon Aurora](https://aws.amazon.com/blogs/database/aurora-postgresql-disaster-recovery-solutions-using-amazon-aurora-global-database/) Global Database (post sul blog)

# SHA1 Implementa l'hashing per i dati PII durante la migrazione da SQL Server a PostgreSQL
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql"></a>

*Rajkumar Raghuwanshi e Jagadish Kantubugata, Amazon Web Services*

## Riepilogo
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-summary"></a>

Questo modello descrive come implementare l'hashing Secure Hash Algorithm 1 (SHA1) per gli indirizzi e-mail durante la migrazione da SQL Server ad Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL compatibile. *Un indirizzo e-mail è un esempio di informazioni di identificazione personale (PII).* Le PII sono informazioni che, se visualizzate direttamente o abbinate ad altri dati correlati, possono essere utilizzate per dedurre ragionevolmente l'identità di un individuo. 

Questo modello copre le sfide legate al mantenimento di valori hash coerenti tra diverse regole di confronto di database e codifiche di caratteri e fornisce una soluzione che utilizza funzioni e trigger PostgreSQL. Sebbene questo modello si concentri sull' SHA1 hashing, può essere adattato per altri algoritmi di hashing supportati dal modulo di PostgreSQL. `pgcrypto` Considerate sempre le implicazioni di sicurezza della vostra strategia di hashing e consultate gli esperti di sicurezza se gestite dati sensibili.

## Prerequisiti e limitazioni
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Database SQL Server di origine
+ Database PostgreSQL di destinazione (compatibile con Amazon RDS per PostgreSQL o Aurora PostgreSQL)
+ Esperienza nella codifica PL/PgSQL

**Limitazioni**
+ Questo modello richiede modifiche alle regole di confronto a livello di database in base ai casi d'uso.
+ L'impatto sulle prestazioni su set di dati di grandi dimensioni non è stato valutato.
+ Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità regionale, vedi [AWS Servizi per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

**Versioni del prodotto**
+ Microsoft SQL Server 2012 o versioni successive

## Architecture
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-architecture"></a>

**Stack tecnologico di origine**
+ SQL Server
+ .NET Framework

**Stack tecnologico di destinazione**
+ PostgreSQL
+ `pgcrypto`estensione

**Automazione e scalabilità**
+ Prendi in considerazione l'implementazione della funzione di hashing come procedura memorizzata per semplificare la manutenzione.
+ Per set di dati di grandi dimensioni, valuta le prestazioni e prendi in considerazione l'elaborazione in batch o le strategie di indicizzazione.

## Tools (Strumenti)
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-tools"></a>

**Servizi AWS**
+ [Amazon Aurora PostgreSQL Compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) è un motore di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [AWS Database Migration Service () ti aiuta a migrare gli archivi di dati all'interno o tra combinazioni di AWS DMS configurazioni](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) cloud e locali. Cloud AWS 
+ [Amazon Relational Database Service Amazon RDS per PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ti aiuta a configurare, gestire e scalare un database relazionale PostgreSQL in. Cloud AWS
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenee convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.

**Altri strumenti**
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.
+ [SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/sql-server-management-studio-ssms) è un ambiente integrato per la gestione di qualsiasi infrastruttura SQL.

## Best practice
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-best-practices"></a>
+ Utilizza le impostazioni di confronto appropriate per gestire i caratteri speciali sul lato del database di destinazione.
+ Esegui test approfonditi con una varietà di indirizzi e-mail, inclusi gli indirizzi con caratteri non ASCII.
+ Mantieni la coerenza nella gestione delle lettere maiuscole e minuscole tra i livelli dell'applicazione e del database.
+ Esegui il benchmark delle prestazioni delle query utilizzando i valori con hash.

## Epiche
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-epics"></a>

### Analizza l'implementazione dell'hashing dei sorgenti
<a name="analyze-source-hashing-implementation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rivedi il codice di SQL Server. | Per esaminare il codice di SQL Server che genera gli SHA1 hash, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Ingegnere dei dati, DBA, sviluppatore di app | 
| Documenta l'algoritmo di hashing e le trasformazioni dei dati. | Per documentare l'esatto algoritmo di hashing e le trasformazioni dei dati, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Sviluppatore di app, ingegnere dei dati, DBA | 

### Crea una funzione di hashing PostgreSQL
<a name="create-postgresql-hashing-function"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea `pgcrypto` estensione. | Per creare l'`pgcrypto`estensione, usa `pgAdmin/psql` per eseguire il seguente comando:<pre>CREATE EXTENSION pgcrypto;</pre> | DBA, ingegnere dei dati | 
| Implementa una funzione PostgreSQL. | Implementa la seguente funzione PostgreSQL per replicare la logica di hashing di SQL Server. A un livello elevato, questa funzione utilizza i seguenti passaggi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html)<pre>CREATE OR REPLACE FUNCTION utility.hex_to_bigint ( <br />     par_val character varying, <br />     par_upper character varying DEFAULT 'lower'::character varying) <br />RETURNS bigint <br />LANGUAGE 'plpgsql' <br />AS $BODY$ <br />DECLARE <br />    retnumber bigint; <br />    digest_bytes bytea;<br />BEGIN <br />    if lower(par_upper) = 'upper' <br />    then <br />        digest_bytes := digest(upper(par_val), 'sha1');<br />    else <br />        digest_bytes := digest((par_val), 'sha1');<br />    end if; <br />    retnumber := ('x' || encode(substring(digest_bytes, length(digest_bytes)-10+1), 'hex'))::bit(64)::bigint; <br />    RETURN retnumber; <br />END; <br />$BODY$;</pre> | Ingegnere dei dati, DBA, sviluppatore di app | 
| Esegui il test della funzione. | Per testare la funzione, utilizza dati di esempio provenienti da SQL Server per verificare i valori hash corrispondenti. Esegui il comando seguente:<pre>select 'alejandro_rosalez@example.com' as Email, utility.hex_to_bigint('alejandro_rosalez@example.com','upper') as HashValue;<br /><br />--OUTPUT<br />/*<br />email 	        hashvalue<br />"alejandro_rosalez@example.com"	451397011176045063<br />*/<br /></pre> | Sviluppatore di app, DBA, ingegnere dei dati | 

### Implementa i trigger per l'hashing automatico
<a name="implement-triggers-for-automatic-hashing"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea trigger su tabelle pertinenti. | Per creare trigger nelle tabelle pertinenti per generare automaticamente valori hash all'inserimento o all'aggiornamento, esegui il comando seguente:<pre>CREATE OR REPLACE FUNCTION update_email_hash() <br />RETURNS TRIGGER <br />AS $$ <br />BEGIN <br />    NEW.email_hash = utility.hex_to_bigint(NEW.email, 'upper'); <br />    RETURN NEW; <br />END; <br />$$ LANGUAGE plpgsql;</pre><pre>CREATE TRIGGER email_hash_trigger BEFORE INSERT OR UPDATE ON users FOR EACH ROW EXECUTE FUNCTION update_email_hash();</pre> | Sviluppatore di app, ingegnere dei dati, DBA | 

### Migrazione dei dati esistenti
<a name="migrate-existing-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Sviluppa o utilizza uno script di migrazione AWS DMS.  | Sviluppa uno script di migrazione o AWS DMS utilizzalo per compilare i valori hash per i dati esistenti (inclusi i valori hash memorizzati come `BIGINT` nel sistema di origine). Completa le seguenti operazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Ingegnere dei dati, sviluppatore di app, DBA | 
| Usa la nuova funzione di hashing PostgreSQL. | Per utilizzare la nuova funzione di hashing PostgreSQL per garantire la coerenza, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Sviluppatore di app, DBA, ingegnere DevOps  | 

### Aggiorna le interrogazioni delle applicazioni
<a name="update-application-queries"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica le domande relative all'applicazione. | Per identificare le query dell'applicazione che utilizzano valori con hash, effettuate le seguenti operazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Sviluppatore di app, DBA, ingegnere dei dati | 
| Modifica le interrogazioni. | Se necessario, modifica le query per utilizzare la nuova funzione di hashing PostgreSQL. Esegui questa operazione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Sviluppatore di app, DBA, ingegnere dei dati | 

### Testa e convalida
<a name="test-and-validate"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eseguire test. | Per eseguire test approfonditi con un sottoinsieme di dati di produzione, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Sviluppatore di app, ingegnere dei dati, DBA | 
| Verifica che i valori hash corrispondano. | Per verificare che i valori hash corrispondano tra SQL Server e PostgreSQL, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Sviluppatore di app, ingegnere dei dati, DBA | 
| Verifica la funzionalità dell'applicazione. | Per verificare la funzionalità dell'applicazione utilizzando i dati migrati e la nuova implementazione di hashing, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Sviluppatore di app, DBA, ingegnere dei dati | 

## risoluzione dei problemi
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| I valori hash non corrispondono. | Verifica le codifiche e le regole di confronto dei caratteri tra origine e destinazione. Per ulteriori informazioni, consulta [Gestire le modifiche alle regole di confronto in PostgreSQL su Amazon Aurora e Amazon RDS (Blog](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/)).AWS  | 

## Risorse correlate
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-resources"></a>

**AWS Blog**
+ [Gestisci le modifiche alle regole di confronto in PostgreSQL su Amazon Aurora e Amazon RDS](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/)
+ [Esegui la migrazione di SQL Server ad Amazon Aurora PostgreSQL utilizzando le migliori pratiche e le lezioni apprese sul campo](https://aws.amazon.com/blogs/database/migrate-sql-server-to-amazon-aurora-postgresql-using-best-practices-and-lessons-learned-from-the-field/)

**Altre risorse**
+ [Modulo PostgreSQL pgcrypto (documentazione PostgreSQL](https://www.postgresql.org/docs/current/pgcrypto.html))
+ [Funzioni di attivazione di PostgreSQL (documentazione PostgreSQL](https://www.postgresql.org/docs/current/plpgsql-trigger.html))
+ [Funzione HASHBYTES di SQL Server](https://docs.microsoft.com/en-us/sql/t-sql/functions/hashbytes-transact-sql) (documentazione Microsoft)

# Migrazione incrementale da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL utilizzando Oracle SQL Developer e AWS SCT
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct"></a>

*Pinesh Singal, Amazon Web Services*

## Riepilogo
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-summary"></a>

Molte strategie e approcci di migrazione si svolgono in più fasi che possono durare da alcune settimane a diversi mesi. Durante questo periodo, è possibile che si verifichino ritardi dovuti all'applicazione di patch o aggiornamenti nelle istanze database Oracle di origine che si desidera migrare su istanze DB PostgreSQL. Per evitare questa situazione, si consiglia di migrare in modo incrementale il codice del database Oracle rimanente al codice del database PostgreSQL.

Questo modello fornisce una strategia di migrazione incrementale senza tempi di inattività per un'istanza DB Oracle da più terabyte che ha un numero elevato di transazioni eseguite dopo la migrazione iniziale e che deve essere migrata su un database PostgreSQL. Puoi utilizzare l' step-by-stepapproccio di questo modello per migrare in modo incrementale un'istanza DB Amazon Relational Database Service (Amazon RDS) per Oracle DB verso un'istanza DB Amazon RDS for PostgreSQL senza accedere alla console di gestione Amazon Web Services (AWS).

Il modello utilizza [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) per trovare le differenze tra due schemi nel database Oracle di origine. Utilizza quindi AWS Schema Conversion Tool (AWS SCT) per convertire gli oggetti dello schema del database Amazon RDS for Oracle in oggetti dello schema del database Amazon RDS for PostgreSQL. È quindi possibile eseguire uno script Python nel prompt dei comandi di Windows per creare oggetti AWS SCT per le modifiche incrementali agli oggetti del database di origine.

**Nota**  
Prima di migrare i carichi di lavoro di produzione, ti consigliamo di eseguire un proof of concept (PoC) per l'approccio di questo modello in un ambiente di test o non di produzione.

## Prerequisiti e limitazioni
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un'istanza database Amazon RDS for Oracle esistente. 
+ Un'istanza database Amazon RDS for PostgreSQL esistente.
+ AWS SCT, installato e configurato con driver JDBC per motori di database Oracle e PostgreSQL. Per ulteriori informazioni su questo argomento, consulta [Installazione di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) e [Installazione dei driver di database richiesti](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers) nella documentazione di AWS SCT. 
+ Oracle SQL Developer, installato e configurato. Per ulteriori informazioni su questo argomento, vedere la documentazione di [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html). 
+ Il `incremental-migration-sct-sql.zip` file (allegato), scaricato sul computer locale.

**Limitazioni**
+ I requisiti minimi per l'istanza DB di origine di Amazon RDS for Oracle sono:
  + Versioni Oracle 10.2 e successive (per le versioni 10.x), 11g (versioni 11.2.0.3.v1 e successive) e fino a 12.2 e 18c per le edizioni Enterprise, Standard, Standard One e Standard Two
+ I requisiti minimi per l'istanza database Amazon RDS for PostgreSQL di destinazione sono:  
  + PostgreSQL versioni 9.4 e successive (per le versioni 9.x), 10.x e 11.x
+ Questo modello utilizza Oracle SQL Developer. I risultati potrebbero variare se si utilizzano altri strumenti per trovare ed esportare le differenze dello schema.
+ [Gli script SQL](https://docs.oracle.com/database/121/AEUTL/sql_rep.htm#AEUTL191) generati da Oracle SQL Developer possono generare errori di trasformazione, il che significa che è necessario eseguire una migrazione manuale.
+ Se le connessioni di test di origine e destinazione di AWS SCT falliscono, assicurati di configurare le versioni dei driver JDBC e le regole in entrata per il gruppo di sicurezza del cloud privato virtuale (VPC) per accettare il traffico in entrata.

**Versioni del prodotto**
+ Istanza Amazon RDS for Oracle DB versione 12.1.0.2 (versione 10.2 e successive)
+ Istanza database Amazon RDS per PostgreSQL versione 11.5 (versione 9.4 e successive)
+ Oracle SQL Developer versione 19.1 e successive
+ AWS SCT versione 1.0.632 e successive

## Architecture
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-architecture"></a>

**Stack tecnologico di origine**
+ Istanza database Amazon RDS per Oracle

**Stack tecnologico Target**
+ Istanza database Amazon RDS per PostgreSQL

**Architettura di origine e destinazione**

Il diagramma seguente mostra la migrazione di un'istanza DB Amazon RDS for Oracle verso un'istanza DB Amazon RDS for PostgreSQL.

![\[Flusso di lavoro di migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c7eed517-e496-4e8e-a520-c1e43397419e/images/bfbbed5e-db13-4a22-99aa-1a17f00f5faf.png)


Il diagramma mostra il seguente flusso di lavoro di migrazione:

1. Aprire Oracle SQL Developer e connettersi ai database di origine e di destinazione.

1. Genera un [report sulle differenze](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) e quindi genera il file di script SQL per gli oggetti di differenza dello schema. Per ulteriori informazioni sui report sulle differenze, consulta [Rapporti sulle differenze dettagliati](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) nella documentazione di Oracle.

1. Configura AWS SCT ed esegui il codice Python.

1. Il file di script SQL converte da Oracle a PostgreSQL.

1. Esegui il file di script SQL sull'istanza database PostgreSQL di destinazione. 

**Automazione e scalabilità**

Puoi automatizzare questa migrazione aggiungendo parametri aggiuntivi e modifiche relative alla sicurezza per più funzionalità in un unico programma allo script Python.

## Tools (Strumenti)
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-tools"></a>
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) — AWS Schema Conversion Tool (AWS SCT) converte lo schema di database esistente da un motore di database a un altro.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) — Oracle SQL Developer è un ambiente di sviluppo integrato (IDE) che semplifica lo sviluppo e la gestione dei database Oracle nelle implementazioni tradizionali e basate sul cloud.

**Codice**

Il `incremental-migration-sct-sql.zip` file (allegato) contiene il codice sorgente completo per questo modello.

## Epiche
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-epics"></a>

### Crea il file di script SQL per le differenze dello schema del database di origine
<a name="create-the-sql-scripts-file-for-the-source-database-schema-differences"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui Database Diff in Oracle SQL Developer.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
| Genera il file di script SQL. | Scegliete **Genera script** per generare le differenze nei file SQL. Questo genera il file di script SQL che AWS SCT utilizza per convertire il database da Oracle a PostgreSQL. | DBA | 

### Usa lo script Python per creare gli oggetti DB di destinazione in AWS SCT
<a name="use-the-python-script-to-create-the-target-db-objects-in-aws-sct"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS SCT con il prompt dei comandi di Windows.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html)<pre>#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port<br /><br />ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432</pre>4. Modifica i parametri di configurazione di AWS SCT in base alle tue esigenze, quindi copia il file degli script SQL nella tua directory di lavoro nella `input` sottodirectory. | DBA | 
| Eseguire lo script Python.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
|  Crea gli oggetti in Amazon RDS for PostgreSQL | Esegui i file SQL e crea oggetti nella tua istanza database Amazon RDS for PostgreSQL. | DBA | 

## Risorse correlate
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-resources"></a>
+ [Oracle su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [PostgreSQL su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
+ [Utilizzo dell'interfaccia utente AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilizzo di Oracle come sorgente per AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

## Allegati
<a name="attachments-c7eed517-e496-4e8e-a520-c1e43397419e"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/c7eed517-e496-4e8e-a520-c1e43397419e/attachments/attachment.zip)

# Carica i file BLOB in formato TEXT utilizzando la codifica dei file in Aurora, compatibile con PostgreSQL
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible"></a>

*Bhanu Ganesh Gudivada e Jeevan Shetty, Amazon Web Services*

## Riepilogo
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-summary"></a>

Spesso durante la migrazione, ci sono casi in cui è necessario elaborare dati strutturati e non strutturati caricati da file su un file system locale. I dati potrebbero anche essere in un set di caratteri diverso dal set di caratteri del database.

Questi file contengono i seguenti tipi di dati:
+ **Metadati**: questi dati descrivono la struttura del file.
+ **Dati semistrutturati**: si tratta di stringhe di testo in un formato specifico, come JSON o XML. Potresti essere in grado di fare affermazioni su tali dati, ad esempio «inizierà sempre con '<'" o «non contiene caratteri di nuova riga».
+ **Testo completo**: questi dati in genere contengono tutti i tipi di caratteri, inclusi i caratteri di nuova riga e le virgolette. Potrebbe anche essere costituito da caratteri multibyte in UTF-8.
+ **Dati binari: questi dati** possono contenere byte o combinazioni di byte, inclusi valori null e marcatori. end-of-file

Caricare una combinazione di questi tipi di dati può essere una sfida.

Il modello può essere utilizzato con database Oracle locali, database Oracle che si trovano su istanze Amazon Elastic Compute Cloud (Amazon EC2) sul cloud Amazon Web Services (AWS) e Amazon Relational Database Service (Amazon RDS) per database Oracle. Ad esempio, questo modello utilizza Amazon Aurora PostgreSQL Compatible Edition.

In Oracle Database, con l'aiuto di un puntatore `BFILE` (file binario), del `DBMS_LOB` pacchetto e delle funzioni di sistema Oracle, è possibile caricare da file e convertirlo in CLOB con codifica dei caratteri. Poiché PostgreSQL non supporta il tipo di dati BLOB durante la migrazione a un database Edition compatibile con Amazon Aurora PostgreSQL, queste funzioni devono essere convertite in script compatibili con PostgreSQL.

Questo modello fornisce due approcci per caricare un file in una singola colonna di database in un database compatibile con Amazon Aurora PostgreSQL:
+ Approccio 1: importi i dati dal tuo bucket Amazon Simple Storage Service (Amazon S3) utilizzando `table_import_from_s3` la funzione dell'estensione con l'opzione `aws_s3` encode.
+ Approccio 2: si codifica in formato esadecimale all'esterno del database, quindi si decodifica per visualizzare all'interno del database. `TEXT`

Si consiglia di utilizzare Approach 1 perché Aurora PostgreSQL Compatible ha un'integrazione diretta con l'estensione. `aws_s3`

Questo modello utilizza l'esempio del caricamento di un file flat contenente un modello di e-mail, con caratteri multibyte e una formattazione distinta, in un database compatibile con Amazon Aurora PostgreSQL.

## Prerequisiti e limitazioni
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un'istanza Amazon RDS o un'istanza Aurora compatibile con PostgreSQL
+ Una conoscenza di base di SQL e Relational Database Management System (RDBMS)
+ Un bucket Amazon Simple Storage Service (Amazon S3).
+ Conoscenza delle funzioni di sistema in Oracle e PostgreSQL
+ Pacchetto RPM HexDump -XXD-0.1.1 (incluso con Amazon Linux 2)
**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/).

**Limitazioni**
+ Per il tipo di `TEXT` dati, la stringa di caratteri più lunga possibile che può essere memorizzata è di circa 1 GB.

**Versioni del prodotto**
+ [Aurora supporta le versioni di PostgreSQL elencate negli aggiornamenti di Amazon Aurora PostgreSQL.](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html)

## Architecture
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-architecture"></a>

**Stack tecnologico Target**
+ Compatibile con Aurora PostgreSQL

**Architettura Target**

*Approccio 1: utilizzo di aws\$1s3.table\$1import\$1from\$1s3*

Da un server locale, un file contenente un modello di e-mail con caratteri multibyte e formattazione personalizzata viene trasferito su Amazon S3. La funzione di database personalizzata fornita da questo modello utilizza la `aws_s3.table_import_from_s3` funzione with `file_encoding` per caricare file nel database e restituire i risultati delle query come tipo di dati. `TEXT`

![\[Processo in quattro fasi dal server locale all'output TEXT dal database Aurora.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/9c46b385-e8a0-4e50-b856-d522c44d79e3.png)


1. I file vengono trasferiti nel bucket S3 di staging.

1. I file vengono caricati nel database compatibile con Amazon Aurora PostgreSQL.

1. Utilizzando il client pgAdmin, la `load_file_into_clob` funzione personalizzata viene distribuita nel database Aurora.

1. La funzione personalizzata utilizza internamente file\$1encoding. `table_import_from_s3` L'output della funzione viene ottenuto utilizzando `array_to_string` e come output. `array_agg` `TEXT`

*Approccio 2: codifica in formato esadecimale all'esterno del database e decodifica per visualizzare il TESTO all'interno del database*

Un file proveniente da un server locale o da un file system locale viene convertito in un dump esadecimale. Quindi il file viene importato in PostgreSQL come campo. `TEXT`

![\[Processo in tre fasi utilizzando Hex dump.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/563038ca-f890-4874-85df-d0f82d99800a.png)


1. Converti il file in un dump esadecimale nella riga di comando utilizzando l'opzione. `xxd -p`

1. Carica i file di dump esadecimali in Aurora PostgreSQL compatibile utilizzando `\copy` l'opzione, quindi decodifica i file di dump esadecimali in formato binario.

1. `TEXT`Codifica i dati binari per restituirli come.

## Tools (Strumenti)
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-tools"></a>

**Servizi AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [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 tua shell a riga di comando.

**Altri strumenti**
+ [pgAdmin4](https://www.pgadmin.org/) è una piattaforma di amministrazione e sviluppo open source per PostgreSQL. pgAdmin4 può essere utilizzato su Linux, Unix, mac OS e Windows per gestire PostgreSQL.  

## Epiche
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-epics"></a>

### Approccio 1: importazione di dati da Amazon S3 ad Aurora, compatibile con PostgreSQL
<a name="approach-1-import-data-from-amazon-s3-to-aurora-postgresql-compatible"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia un' EC2 istanza. | Per istruzioni sull'avvio di un'istanza, consulta [Launch your istance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | DBA | 
| Installa lo strumento pgAdmin del client PostgreSQL. | Scarica e installa [pgAdmin.](https://www.pgadmin.org/download/) | DBA | 
| Creare una policy IAM | Crea una policy AWS Identity and Access Management (IAM) denominata `aurora-s3-access-pol` che garantisca l'accesso al bucket S3 in cui verranno archiviati i file. Usa il codice seguente, sostituendolo `<bucket-name>` con il nome del tuo bucket S3.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:DeleteObject",<br />                "s3:ListMultipartUploadParts",<br />                "s3:PutObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::<bucket-name>/*",<br />                "arn:aws:s3:::<bucket-name>"<br />            ]<br />        }<br />    ]<br />}</pre> | DBA | 
| Crea un ruolo IAM per l'importazione di oggetti da Amazon S3 ad Aurora, compatibile con PostgreSQL. | Utilizza il codice seguente per creare un ruolo IAM denominato con la relazione di trust. `aurora-s3-import-role` [AssumeRole](https://docs.amazonaws.cn/en_us/STS/latest/APIReference/API_AssumeRole.html) `AssumeRole`consente ad Aurora di accedere ad altri servizi AWS per tuo conto.<pre>{<br />  "Version": "2012-10-17",		 	 	 <br />  "Statement": [<br />    {<br />      "Effect": "Allow","Principal": {<br />        "Service": "rds.amazonaws.com"<br />      },"Action": "sts:AssumeRole"<br />    }<br />  ]<br />}<br /></pre> | DBA | 
| Associa il ruolo IAM al cluster. | Per associare il ruolo IAM al cluster di database compatibile con Aurora PostgreSQL, esegui il seguente comando AWS CLI. Passa `<Account-ID>` all'ID dell'account AWS che ospita il database Aurora compatibile con PostgreSQL. Ciò consente al database compatibile con Aurora PostgreSQL di accedere al bucket S3.<pre>aws rds add-role-to-db-cluster --db-cluster-identifier aurora-postgres-cl<br />--feature-name s3Import --role-arn arn:aws:iam::<Account-ID>:role/aurora-s3-import-role</pre> | DBA | 
| Carica l'esempio su Amazon S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | DBA, proprietario dell'app | 
| Implementa la funzione personalizzata. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | Proprietario dell'app, DBA | 
| Esegui la funzione personalizzata per importare i dati nel database. | Esegui il seguente comando SQL, sostituendo gli elementi tra parentesi angolari con i valori appropriati.<pre>select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>Sostituite gli elementi tra parentesi angolari con i valori appropriati, come illustrato nell'esempio seguente, prima di eseguire il comando.<pre>Select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>Il comando carica il file da Amazon S3 e restituisce l'output come. `TEXT` | Proprietario dell'app, DBA | 

### Approccio 2: convertire il file modello in un dump esadecimale in un sistema Linux locale
<a name="approach-2-convert-the-template-file-into-a-hex-dump-in-a-local-linux-system"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Converti il file modello in un dump esadecimale. | L'utilità Hexdump visualizza il contenuto dei file binari in formato esadecimale, decimale, ottale o ASCII. Il `hexdump` comando fa parte del pacchetto e viene preinstallato nelle distribuzioni Linux. `util-linux` Anche il pacchetto RPM Hexdump fa parte di Amazon Linux 2. (: Amazon Linux 2 sta per terminare il supporto. Per ulteriori informazioni, consulta [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).)Per convertire il contenuto del file in un dump esadecimale, esegui il seguente comando shell.<pre>xxd -p </path/file.vm> | tr -d '\n' > </path/file.hex></pre>Sostituite il percorso e il file con i valori appropriati, come mostrato nell'esempio seguente.<pre>xxd -p employee.salary.event.notification.email.vm | tr -d '\n' > employee.salary.event.notification.email.vm.hex</pre> | DBA | 
| Carica il file hexdump nello schema del database. | Usa i seguenti comandi per caricare il file hexdump nel database Aurora compatibile con PostgreSQL.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | DBA | 

## Risorse correlate
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-resources"></a>

**Riferimenti**
+ [Utilizzo di un database PostgreSQL come destinazione per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Playbook sulla migrazione da Oracle Database 19c ad Amazon Aurora con compatibilità PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Creazione di politiche IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)
+ [Associazione di un ruolo IAM a un cluster Amazon Aurora MySQL DB](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html)
+ [pgAdmin](https://www.pgadmin.org/)

**Tutorial**
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Esegui la migrazione da Oracle ad Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

## Informazioni aggiuntive
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-additional"></a>

**funzione personalizzata load\$1file\$1into\$1clob**

```
CREATE OR REPLACE FUNCTION load_file_into_clob(
    s3_bucket_name text,
    s3_bucket_region text,
    file_name text,
    file_delimiter character DEFAULT '&'::bpchar,
    file_encoding text DEFAULT 'UTF8'::text)
    RETURNS text
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLARE
    blob_data BYTEA;
    clob_data TEXT;
    l_table_name CHARACTER VARYING(50) := 'file_upload_hex';
    l_column_name CHARACTER VARYING(50) := 'template';
    l_return_text TEXT;
    l_option_text CHARACTER VARYING(150);
    l_sql_stmt CHARACTER VARYING(500);
        
BEGIN
    
    EXECUTE format ('CREATE TEMPORARY TABLE %I (%I text, id_serial serial)', l_table_name, l_column_name);
    
    l_sql_stmt := 'select ''(format text, delimiter ''''' || file_delimiter || ''''', encoding ''''' || file_encoding ||  ''''')'' ';
    
    EXECUTE FORMAT(l_sql_stmt)
    INTO l_option_text;
    
    EXECUTE FORMAT('SELECT aws_s3.table_import_from_s3($1,$2,$6, aws_commons.create_s3_uri($3,$4,$5))')
    INTO l_return_text
    USING l_table_name, l_column_name, s3_bucket_name, file_name,s3_bucket_region,l_option_text;
    
    EXECUTE format('select array_to_string(array_agg(%I order by id_serial),E''\n'') from %I', l_column_name, l_table_name)
    INTO clob_data;
    
    drop table file_upload_hex;
    
    RETURN clob_data;
END;
$BODY$;
```

**Modello di email**

```
######################################################################################
##                                                                                    ##
##    johndoe Template Type: email                                                    ##
##    File: johndoe.salary.event.notification.email.vm                                ##
##    Author: Aimée Étienne    Date 1/10/2021                                                ##
##  Purpose: Email template used by EmplmanagerEJB to inform a johndoe they         ##
##        have been given access to a salary event                                    ##
##    Template Attributes:                                                             ##
##        invitedUser - PersonDetails object for the invited user                        ##
##        salaryEvent - OfferDetails object for the event the user was given access    ##
##        buyercollege - CompDetails object for the college owning the salary event    ##
##        salaryCoordinator - PersonDetails of the salary coordinator for the event    ##
##        idp - Identity Provider of the email recipient                                ##
##        httpWebRoot - HTTP address of the server                                    ##
##                                                                                    ##
######################################################################################

$!invitedUser.firstname $!invitedUser.lastname,

Ce courriel confirme que vous avez ete invite par $!salaryCoordinator.firstname $!salaryCoordinator.lastname de $buyercollege.collegeName a participer a l'evenement "$salaryEvent.offeringtitle" sur johndoeMaster Sourcing Intelligence.

Votre nom d'utilisateur est $!invitedUser.username

Veuillez suivre le lien ci-dessous pour acceder a l'evenement.

${httpWebRoot}/myDashboard.do?idp=$!{idp}

Si vous avez oublie votre mot de passe, utilisez le lien "Mot de passe oublie" situe sur l'ecran de connexion et entrez votre nom d'utilisateur ci-dessus.

Si vous avez des questions ou des preoccupations, nous vous invitons a communiquer avec le coordonnateur de l'evenement $!salaryCoordinator.firstname $!salaryCoordinator.lastname au ${salaryCoordinator.workphone}.

*******

johndoeMaster Sourcing Intelligence est une plateforme de soumission en ligne pour les equipements, les materiaux et les services.

Si vous avez des difficultes ou des questions, envoyez un courriel a support@johndoeMaster.com pour obtenir de l'aide.
```

# Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL con e utilizzando e AWS SCT AWS DMS AWS CLI CloudFormation
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation"></a>

*Pinesh Singal, Amazon Web Services*

## Riepilogo
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-summary"></a>

Questo modello mostra come migrare un'istanza DB Amazon [Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) per Oracle da più terabyte a un'istanza DB [Amazon RDS for PostgreSQL utilizzando](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) (). AWS Command Line Interface AWS CLI L'approccio offre tempi di inattività minimi e non richiede l'accesso a. Console di gestione AWS

Questo modello consente di evitare configurazioni manuali e migrazioni individuali utilizzando le console AWS Schema Conversion Tool (AWS SCT) e AWS Database Migration Service (AWS DMS). La soluzione imposta una configurazione unica per più database ed esegue le migrazioni utilizzando e in. AWS SCT AWS DMS AWS CLI

Il modello viene utilizzato AWS SCT per convertire gli oggetti dello schema del database da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL e quindi viene utilizzato per migrare i dati. AWS DMS Utilizzando gli script Python in AWS CLI, crei AWS SCT oggetti e AWS DMS attività con un modello. CloudFormation 

## Prerequisiti e limitazioni
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-prereqs"></a>

**Prerequisiti**
+ Un attivo. Account AWS
+ Un'istanza database Amazon RDS for Oracle esistente.
+ Un'istanza database Amazon RDS for PostgreSQL esistente. 
+ Un'istanza Amazon Elastic Compute Cloud (Amazon EC2) o un computer locale con sistema operativo Windows o Linux per l'esecuzione di script.
+ Comprensione dei seguenti tipi di attività di AWS DMS migrazione:`full-load`,,`cdc`. `full-load-and-cdc`  Per ulteriori informazioni, vedere [Creazione di un'attività](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) nella AWS DMS documentazione. 
+ AWS SCT, installato e configurato con i driver Java Database Connectivity (JDBC) per i motori di database Oracle e PostgreSQL. Per ulteriori informazioni, vedere [Installazione e](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) configurazione nella documentazione. AWS SCT AWS SCT  
+ Il `AWSSchemaConversionToolBatch.jar` file dalla AWS SCT cartella di installazione, copiato nella directory di lavoro.
+ Il `cli-sct-dms-cft.zip` file (allegato), scaricato ed estratto nella directory di lavoro.
+ La versione più recente del motore di istanze AWS DMS di replica. Per ulteriori informazioni, consulta [Come si crea un'istanza di AWS DMS replica](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) nella Supporto AWS documentazione e nelle note di [AWS DMS rilascio](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html). 
+ AWS CLI versione 2, installata e configurata con l'ID della chiave di accesso, la chiave di accesso segreta e Regione AWS il nome predefinito per l' EC2 istanza o il sistema operativo in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta [Installazione o aggiornamento alla versione più recente di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Configurazione delle impostazioni contenute AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) AWS CLI documentazione. 
+ Familiarità con CloudFormation i modelli. Per ulteriori informazioni, consulta [How CloudFormation works](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-overview.html) nella CloudFormation documentazione. 
+ Python versione 3, installato e configurato sull' EC2 istanza o sul sistema operativo in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta la documentazione di [Python](https://docs.python.org/3/). 

**Limitazioni**
+ I requisiti minimi per l'istanza DB di origine di Amazon RDS for Oracle sono: 
  + Versioni Oracle 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0) e 19c (19.0.0.0) per le edizioni Enterprise, Standard, Standard One e Standard Two.
  + Sebbene Amazon RDS supporti Oracle 18c (18.0.0.0), questa versione è obsoleta perché Oracle non fornisce più patch per 18c dopo tale data. end-of-support Per ulteriori informazioni, consulta [Amazon RDS for](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.Deprecate.11204) Oracle nella documentazione di Amazon RDS.
  + Amazon RDS for Oracle 11g non è più supportato.
+ I requisiti minimi per l'istanza database Amazon RDS for PostgreSQL di destinazione sono: 
  + PostgreSQL versioni 9 (9.5 e 9.6), 10.x, 11.x, 12.x e 13.x

**Versioni del prodotto**
+ Istanza database Amazon RDS for Oracle versione 12.1.0.2 e successive
+ Istanza database Amazon RDS for PostgreSQL versione 11.5 e successive
+ AWS CLI versione 2 
+ L'ultima versione di AWS SCT
+ L'ultima versione di Python 3

## Architecture
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-architecture"></a>

**Stack tecnologico di origine**
+ Amazon RDS per Oracle

**Stack tecnologico di destinazione**
+ Amazon RDS per PostgreSQL

**Architettura di origine e destinazione**

Il diagramma seguente mostra la migrazione di un'istanza DB Amazon RDS for Oracle verso un'istanza DB Amazon RDS for PostgreSQL utilizzando script Python. AWS DMS 

![\[Migrazione dell'istanza DB di RDS per Oracle all'istanza DB di RDS per PostgreSQL utilizzando AWS DMS e Python.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5e041494-2e64-4f09-b6ec-0e0cba3a4972/images/77022e13-46fb-4aa8-ab49-85b0ca4c317a.png)


 

Il diagramma mostra il seguente flusso di lavoro di migrazione:

1. Lo script Python utilizza AWS SCT per connettersi alle istanze DB di origine e di destinazione.

1. L'utente inizia AWS SCT con lo script Python, converte il codice Oracle in codice PostgreSQL e lo esegue sull'istanza DB di destinazione.

1. Lo script Python crea attività di AWS DMS replica per le istanze DB di origine e di destinazione.

1. L'utente distribuisce script Python per avviare le attività e quindi interrompe AWS DMS le attività al termine della migrazione dei dati.

**Automazione e scalabilità**

Puoi automatizzare questa migrazione aggiungendo parametri e modifiche relative alla sicurezza allo script Python, per fornire funzionalità aggiuntive. 

## Tools (Strumenti)
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-tools"></a>
+ [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.
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ti aiuta a configurare le risorse AWS, a fornirle in modo rapido e coerente e a gestirle durante tutto il loro ciclo di vita in tutte Account AWS le regioni. Questo modello converte il file `.csv` di input in un file `.json` di input utilizzando uno script Python. Il `.json` file viene utilizzato nei AWS CLI comandi per creare uno CloudFormation stack che crea più attività di AWS DMS replica con Amazon Resource Names (ARNs), tipi di migrazione, impostazioni delle attività e mappature delle tabelle.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati verso Cloud AWS o tra combinazioni di configurazioni cloud e locali. Questo modello viene utilizzato AWS DMS per creare, avviare e interrompere le attività con uno script Python eseguito sulla riga di comando e per creare il CloudFormation modello.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenee convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Questo modello richiede il `AWSSchemaConversionToolBatch.jar` file dalla directory installata. AWS SCT 

**Codice**

Il `cli-sct-dms-cft.zip` file (allegato) contiene il codice sorgente completo per questo pattern.

## Epiche
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-epics"></a>

### Configura AWS SCT e crea oggetti di database in AWS CLI
<a name="configure-awssct-and-create-database-objects-in-the-cli"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS SCT per l'esecuzione da AWS CLI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Esegui lo `run_aws_sct.py` script Python. | Esegui lo script `run_aws_sct.py` Python usando il seguente comando:`$ python run_aws_sct.py database_migration.txt`Lo script Python converte gli oggetti del database da Oracle a PostgreSQL e crea file SQL in formato PostgreSQL. Lo script crea anche il file PDF`Database migration assessment report`, che fornisce consigli dettagliati e statistiche di conversione per gli oggetti del database. | DBA | 
| Crea oggetti in Amazon RDS for PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 

### Configura e crea AWS DMS attività utilizzando e AWS CLI CloudFormation
<a name="configure-and-create-dms-tasks-by-using-the-cli-and-cfn"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza di AWS DMS replica. | Accedi a Console di gestione AWS, apri la [AWS DMS console](https://console.aws.amazon.com/dms/v2/) e crea un'istanza di replica configurata in base ai tuoi requisiti.Per ulteriori informazioni, consulta [Creazione di un'istanza di replica](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) nella AWS DMS documentazione e [Come posso creare un'istanza di AWS DMS replica](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) nella documentazione. Supporto AWS  | DBA | 
| Crea l'endpoint di origine. | Sulla AWS DMS console, scegli **Endpoints, quindi crea un endpoint** di origine per il database Oracle in base alle tue esigenze. L'attributo di connessione aggiuntivo deve avere `numberDataTypeScale` un `-2` valore.Per ulteriori informazioni, consulta [Creazione degli endpoint di origine e destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) nella AWS DMS documentazione. | DBA | 
| Crea l'endpoint di destinazione. | Sulla AWS DMS console, scegli **Endpoints e quindi crea un endpoint** di destinazione per il database PostgreSQL in base alle tue esigenze.  Per ulteriori informazioni, consulta [Creazione di endpoint di origine e destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) nella documentazione. AWS DMS  | DevOps ingegnere | 
| Configura i dettagli AWS DMS della replica da eseguire da. AWS CLI | Configurare gli endpoint di AWS DMS origine e di destinazione e i dettagli di replica nel `dms-arn-list.txt` file con l'ARN dell'endpoint di origine, l'ARN dell'endpoint di destinazione e l'ARN dell'istanza di replica utilizzando il seguente formato:<pre>#sourceARN,targetARN,repARN<br />arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ<br />arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5<br />arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G</pre> | DBA | 
| Esegui lo script `dms-create-task.py` Python per creare le AWS DMS attività. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Verifica che AWS DMS le attività siano pronte. | Sulla AWS DMS console, verifica che AWS DMS le tue attività siano in `Ready` stato nella sezione **Stato**. | DBA | 

### Avvia e interrompi le AWS DMS attività utilizzando AWS CLI
<a name="start-and-stop-the-dms-tasks-by-using-the-cli"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia le AWS DMS attività. | Esegui lo script `dms-start-task.py` Python usando il seguente comando:<pre>$ python dms-start-task.py start '<cdc-start-datetime>'</pre>La data e l'ora di inizio devono essere nel `'YYYY-MM-DDTHH:MI:SS'` formato `'DD-MON-YYYY'` o (ad esempio, `'01-Dec-2019'` o`'2018-03-08T12:12:12'`).È possibile esaminare lo stato delle AWS DMS attività nella scheda **Statistiche della tabella** nella pagina **Attività** della AWS DMS console. | DBA | 
| Convalida i dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html)Per ulteriori informazioni, consulta la [convalida AWS DMS dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) nella AWS DMS documentazione. | DBA | 
| Interrompi le AWS DMS attività. | Esegui lo script Python usando il seguente comando:<pre>$ python dms-start-task.py stop</pre>AWS DMS le attività potrebbero interrompersi con uno `failed` stato, a seconda dello stato di convalida. Per ulteriori informazioni, consulta la sezione successiva  | DBA | 

## risoluzione dei problemi
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| AWS SCT le connessioni di test di origine e destinazione falliscono. | Configura le versioni dei driver JDBC e le regole in entrata del gruppo di sicurezza VPC per accettare il traffico in entrata. | 
| L'esecuzione del test dell'endpoint di origine o di destinazione non riesce. | Controlla se le impostazioni dell'endpoint e l'istanza di replica sono in stato. `Available` Controlla se lo stato della connessione dell'endpoint è. `Successful` Per ulteriori informazioni, consulta [Come posso risolvere gli errori di connettività degli endpoint AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/dms-endpoint-connectivity-failures/) nella documentazione. Supporto AWS  | 
| L'esecuzione a pieno carico non riesce. | Controlla se i database di origine e di destinazione hanno tipi e dimensioni di dati corrispondenti. Per ulteriori informazioni, consulta [Risoluzione dei problemi di migrazione AWS DMS nella](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html) AWS DMS documentazione. | 
| Si verificano errori di esecuzione della convalida. | Controlla se la tabella ha una chiave primaria perché le tabelle a chiave non primaria non vengono convalidate.Se la tabella ha una chiave primaria e sono presenti degli errori, verifica che l'attributo di connessione aggiuntivo nell'endpoint di origine lo abbia. `numberDataTypeScale=-2`Per ulteriori informazioni, consulta [Impostazioni degli endpoint quando si utilizza Oracle come fonte](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) e [Risoluzione dei problemi](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting) nella AWS DMS documentazione. AWS DMS[OracleSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_OracleSettings.html) | 

## Risorse correlate
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-resources"></a>
+ [Installazione e configurazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)
+ [Introduzione a AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (video)
+ [Esempi di comandi di funzionamento CloudFormation dello stack per e AWS CLI PowerShell](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cli.html)
+ [Navigazione nell'interfaccia utente di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilizzo di un database Oracle come fonte per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Connessione ai database Oracle con AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilizzo di un database PostgreSQL come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [Fonti per la migrazione dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Obiettivi per la migrazione dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [cloud formation (documentazione](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html))AWS CLI 
+ [create-stack (documentazione)](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html)AWS CLI  
+ [dms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/index.html) (documentazione)AWS CLI  

## Allegati
<a name="attachments-5e041494-2e64-4f09-b6ec-0e0cba3a4972"></a>

[Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/5e041494-2e64-4f09-b6ec-0e0cba3a4972/attachments/attachment.zip)

# Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL in modalità SSL utilizzando AWS DMS
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Riepilogo
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un'istanza di database Amazon Relational Database Service (Amazon RDS) per Oracle a un database Amazon RDS for PostgreSQL sul cloud Amazon Web Services (AWS). Per crittografare le connessioni tra i database, il modello utilizza l'autorità di certificazione (CA) e la modalità SSL in Amazon RDS e AWS Database Migration Service (AWS DMS).

Il modello descrive una strategia di migrazione online con tempi di inattività minimi o nulli per un database di origine Oracle da più terabyte con un numero elevato di transazioni. Per la sicurezza dei dati, il pattern utilizza SSL per il trasferimento dei dati.

Questo modello utilizza AWS Schema Conversion Tool (AWS SCT) per convertire lo schema del database Amazon RDS for Oracle in uno schema Amazon RDS for PostgreSQL. Quindi il modello utilizza AWS DMS per migrare i dati dal database Amazon RDS for Oracle al database Amazon RDS for PostgreSQL.

## Prerequisiti e limitazioni
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo 
+ Autorità di certificazione (CA) del database Amazon RDS configurata solo con ***rds-ca-rsa2048-g1*** 
  + Il certificato ***rds-ca-2019*** è scaduto nell'agosto 2024.
  + Il certificato ***rds-ca-2015*** è scaduto il 5 marzo 2020.
+ AWS SCT
+ AWS DMS
+ pgAdmin
+ Strumenti SQL (ad esempio, SQL Developer o SQL\$1Plus)

**Limitazioni**
+ Database Amazon RDS for Oracle: il requisito minimo è per le versioni Oracle 19c per le edizioni Enterprise e Standard Two.
+ Database Amazon RDS per PostgreSQL: il requisito minimo è PostgreSQL versione 12 e successive (per le versioni 9.x e successive).

**Versioni del prodotto**
+ Istanza del database Amazon RDS per Oracle versione 12.1.0.2
+ Istanza del database Amazon RDS per PostgreSQL versione 11.5

## Architecture
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Un'istanza di database Amazon RDS for Oracle con versione 12.1.0.2.v18.

**Stack tecnologico Target**
+ AWS DMS
+ Un'istanza di database Amazon RDS for PostgreSQL con versione 11.5.

**Architettura Target**

Il diagramma seguente mostra l'architettura per l'architettura di migrazione dei dati tra i database Oracle (source) e PostgreSQL (target). L'architettura include quanto segue:
+ Un cloud privato virtuale (VPC)
+ Una zona di disponibilità
+ Una sottorete privata
+ Un database Amazon RDS per Oracle
+ Un'istanza di replica AWS DMS
+ Un database RDS per PostgreSQL

Per crittografare le connessioni per i database di origine e destinazione, è necessario abilitare la modalità CA e SSL in Amazon RDS e AWS DMS.

![\[Spostamento dei dati tra RDS per Oracle e AWS DMS e tra AWS DMS e RDS per PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7098e2a3-b456-4e14-8881-c97145aef483/images/55b50ff7-1e6a-4ff0-9bcd-2fd419d5316a.png)


## Tools (Strumenti)
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-tools"></a>

**Servizi AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [Amazon Relational Database Service (Amazon RDS) per](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle ti aiuta a configurare, gestire e scalare un database relazionale Oracle nel cloud AWS.
+ [Amazon Relational Database Service (Amazon RDS) per PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ti aiuta a configurare, gestire e scalare un database relazionale PostgreSQL nel cloud AWS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.

**Altri servizi**
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.

## Best practice
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-best-practices"></a>

Amazon RDS fornisce nuovi certificati CA come una best practice di sicurezza AWS. Per informazioni sui nuovi certificati e sulle regioni AWS supportate, consulta [Utilizzare SSL/TLS per crittografare una connessione a un'istanza o un cluster DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html).

Se la tua istanza RDS utilizza attualmente un certificato `rds-ca-2019` CA e desideri eseguire l'aggiornamento`rds-ca-rsa2048-g1`, segui le istruzioni in [Aggiornamento del certificato CA modificando l'istanza o il cluster DB o](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating) [Aggiornamento del certificato CA applicando la](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update) manutenzione.

## Epiche
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-epics"></a>

### Configurazione dell'istanza Amazon RDS for Oracle
<a name="configure-the-amazon-rds-for-oracle-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare l'istanza del database Oracle. | Accedi al tuo account AWS, apri la Console di gestione AWS e accedi alla console Amazon RDS. Sulla console, scegli **Crea database**, quindi scegli **Oracle**. | Informazioni generali su AWS, DBA | 
| Configura i gruppi di sicurezza. | Configura i gruppi di sicurezza in entrata e in uscita. | Informazioni generali su AWS | 
| Crea un gruppo di opzioni. | Crea un gruppo di opzioni nello stesso VPC e gruppo di sicurezza del database Amazon RDS for Oracle. **Per **Opzione**, scegli SSL.** Per **Porta**, scegli **2484** (per connessioni SSL). | Informazioni generali su AWS | 
| Configura le impostazioni delle opzioni. | Utilizzare le seguenti impostazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Modifica l'istanza DB RDS for Oracle. | Imposta il certificato CA come **rds-ca-rsa2048-g1**. In Gruppo di **opzioni, allega il gruppo** di opzioni creato in precedenza. | DBA, AWS generale | 
| Verifica che l'istanza DB RDS per Oracle sia disponibile. | Assicurati che l'istanza del database Amazon RDS for Oracle sia attiva e funzionante e che lo schema del database sia accessibile.Per connetterti a RDS for Oracle DB, usa il `sqlplus` comando dalla riga di comando.<pre>$ sqlplus orcl/****@myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com:1521/ORCL<br />SQL*Plus: Release 12.1.0.2.0 Production on Tue Oct 15 18:11:07 2019<br />Copyright (c) 1982, 2016, Oracle.  All rights reserved.<br />Last Successful login time: Mon Dec 16 2019 23:17:31 +05:30<br />Connected to:<br />Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production<br />With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options<br />SQL></pre> | DBA | 
| Crea oggetti e dati nel database RDS for Oracle. | Crea oggetti e inserisci dati nello schema. | DBA | 

### Configurazione dell'istanza Amazon RDS per PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il database RDS per PostgreSQL. | Nella pagina **Crea database** della console Amazon RDS, scegli **PostgreSQL** per creare un'istanza di database Amazon RDS for PostgreSQL. | DBA, AWS generale | 
| Configura i gruppi di sicurezza. | Configura i gruppi di sicurezza in entrata e in uscita. | Informazioni generali su AWS | 
| Per creare un gruppo di parametri. | Se utilizzi PostgreSQL versione 11.x, crea un gruppo di parametri per impostare i parametri SSL. Nella versione 12 di PostgreSQL, il gruppo di parametri SSL è abilitato per impostazione predefinita. | Informazioni generali su AWS | 
| Modifica parametri. | Modificate il `rds.force_ssl` parametro in `1` (attivo).Per impostazione predefinita, il `ssl` parametro è `1` (attivo). Impostando il `rds.force_ssl` parametro su`1`, si forza la connessione di tutte le connessioni solo tramite la modalità SSL. | Informazioni generali su AWS | 
| Modifica l'istanza DB RDS per PostgreSQL. | **Imposta il certificato CA come 2048-g1. rds-ca-rsa** Allega il gruppo di parametri predefinito o il gruppo di parametri creato in precedenza, a seconda della versione di PostgreSQL in uso. | DBA, AWS generale | 
| Verifica che l'istanza DB RDS per PostgreSQL sia disponibile. | Assicurati che il database Amazon RDS for PostgreSQL sia attivo e funzionante.Il `psql` comando stabilisce una connessione SSL con `sslmode` set dalla riga di comando.Un'opzione consiste `sslmode=1` nell'impostare il parametro nel gruppo di parametri e utilizzare una `psql` connessione senza includere il `sslmode` parametro nel comando.L'output seguente mostra che la connessione SSL è stata stabilita.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser"<br />Password for user pguser:<br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre>Una seconda opzione consiste `sslmode=1` nell'impostare il gruppo di parametri e includere il `sslmode` parametro nel `psql` comando.L'output seguente mostra che la connessione SSL è stata stabilita.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser sslmode=require"<br />Password for user pguser: <br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre> | DBA | 

### Configurazione ed esecuzione di AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa AWS SCT. | Installa la versione più recente dell'applicazione AWS SCT. | Informazioni generali su AWS | 
| Configura AWS SCT con i driver JDBC. | [Scarica i driver Java Database Connectivity (JDBC) per Oracle ([ojdbc8.jar](https://download.oracle.com/otn-pub/otn_software/jdbc/233/ojdbc8.jar)) e PostgreSQL (postgresql-42.2.5.jar).](https://jdbc.postgresql.org/download/postgresql-42.2.19.jar)Per configurare i driver in AWS SCT, scegli **Impostazioni, Impostazioni** **globali**, **Driver**. | Informazioni generali su AWS | 
| Crea il progetto AWS SCT. | Crea il progetto e il report AWS SCT, utilizzando Oracle come motore DB di origine e Amazon RDS for PostgreSQL come motore DB di destinazione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Convalida gli oggetti del database. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | DBA, AWS generale | 

### Configurazione ed esecuzione di AWS DMS
<a name="configure-and-run-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un'istanza di replica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Importa il certificato. | Scarica il [pacchetto di certificati (PEM) per la tua](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions) regione AWS.Il pacchetto contiene sia i certificati `rds-ca-2019` intermedi che quelli root. Il pacchetto contiene anche i certificati `rds-ca-rsa2048-g1` CA `rds-ca-rsa4096-g1` e `rds-ca-ecc384-g1` root. L'application trust store deve registrare solo il certificato CA principale. | Informazioni generali su AWS | 
| Crea l'endpoint di origine. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Per ulteriori informazioni, consulta [Usare un database Oracle come sorgente per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). | Informazioni generali su AWS | 
| Crea l'endpoint di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Per ulteriori informazioni, consulta [Usare un database PostgreSQL come destinazione per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html). | Informazioni generali su AWS | 
| Testa gli endpoint. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Crea attività di migrazione. | Per creare un'attività di migrazione per l'acquisizione dei dati a pieno carico e modifica (CDC) o per la convalida dei dati, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Pianifica il ciclo di produzione. | Conferma i tempi di inattività con le parti interessate, come i proprietari delle applicazioni, per eseguire AWS DMS nei sistemi di produzione. | Responsabile della migrazione | 
| Esegui l'attività di migrazione di . | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Convalida i dati. | Esamina i risultati e i dati delle attività di migrazione nei database Oracle di origine e PostgreSQL di destinazione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | DBA | 
| Interrompi l'attività di migrazione. | Dopo aver completato con successo la convalida dei dati, interrompi l'attività di migrazione. | Informazioni generali su AWS | 

### Pulisci le risorse
<a name="clean-up-the-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Elimina le attività di AWS DMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Elimina gli endpoint AWS DMS. | **Seleziona gli endpoint di origine e di destinazione che hai creato, scegli **Azioni** e scegli Elimina.** | Informazioni generali su AWS | 
| Elimina l'istanza di replica AWS DMS. | **Scegli l'istanza di replica, scegli **Azioni**, quindi scegli Elimina.** | Informazioni generali su AWS | 
| Eliminare il database PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Elimina il database Oracle. | Sulla console Amazon RDS, seleziona l'istanza del database Oracle, scegli **Azioni**, quindi scegli **Elimina**. | Informazioni generali su AWS | 

## risoluzione dei problemi
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Le connessioni di test di origine e destinazione di AWS SCT non funzionano. | Configura le versioni dei driver JDBC e le regole in entrata del gruppo di sicurezza VPC per accettare il traffico in entrata. | 
| L'esecuzione del test dell'endpoint Oracle Source non riesce. | Controlla le impostazioni dell'endpoint e se l'istanza di replica è disponibile. | 
| L'esecuzione a pieno carico dell'attività AWS DMS non riesce. | Verifica se i database di origine e di destinazione hanno tipi e dimensioni di dati corrispondenti. | 
| L'attività di convalida e migrazione di AWS DMS restituisce errori. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | 

## Risorse correlate
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-resources"></a>

**Database**
+ [Amazon RDS per Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Amazon RDS per PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)

**Connessione DB SSL**
+ [Utilizzo SSL/TLS per crittografare una connessione a un'istanza DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
  + [Utilizzo di SSL con un'istanza RDS per Oracle DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.SSL.html)
  + [Protezione delle connessioni a RDS per PostgreSQL con SSL/TLS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.Security.html)
  + [Scarica pacchetti di certificati per regioni AWS specifiche](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions)
    + [Scarica il certificato principale CA-2019](https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem) (scaduto ad agosto 2024)
+ [Lavorare con i gruppi di opzioni](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html)
  + [Aggiungere opzioni alle istanze di Oracle DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)
  + [Oracle Secure Sockets Layer](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html)
+ [Lavorare con gruppi di parametri](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)
+ [Parametro di connessione PostgreSQL sslmode](https://www.postgresql.org/docs/11/libpq-connect.html#LIBPQ-CONNECT-SSLMODE)
+ [Utilizzo di SSL da JDBC](https://jdbc.postgresql.org/documentation/ssl/)
+ [Rotazione del certificato SSL/TLS ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
  + [Aggiornamento del certificato CA modificando l'istanza o il cluster di database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating)
  + [Aggiornamento del certificato CA applicando la manutenzione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update)

**AWS SCT**
+ [Strumento di conversione dello schema AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guida per l'utente di AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Utilizzo dell'interfaccia utente AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilizzo di Oracle Database come sorgente per AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

**AWS DMS**
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Guida per l'utente di AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
  + [Utilizzo di un database Oracle come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
  + [Utilizzo di un database PostgreSQL come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Utilizzo di SSL con AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.SSL.html)
+ [Migrazione di applicazioni che eseguono database relazionali su AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

## Informazioni aggiuntive
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-additional"></a>

I certificati Amazon RDS Certificate Authority sono `rds-ca-2019` scaduti nell'agosto 2024. Se utilizzi o prevedi di utilizzare SSL o TLS con verifica del certificato per connetterti alle istanze DB RDS o ai cluster DB Multi-AZ, prendi in considerazione l'utilizzo di uno dei nuovi certificati CA:,, o. `rds-ca-rsa2048-g1` `rds-ca-rsa4096-g1` `rds-ca-ecc384-g1`

# Migrazione dei pacchetti pragma Oracle SERIALLY\$1REUSABLE in PostgreSQL
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql"></a>

*Vinay Paladi, Amazon Web Services*

## Riepilogo
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-summary"></a>

Questo modello fornisce un step-by-step approccio per la migrazione dei pacchetti Oracle definiti come pragma SERIALLY\$1REUSABLE su PostgreSQL su Amazon Web Services (AWS). Questo approccio mantiene la funzionalità del pragma SERIALLY\$1REUSABLE.

PostgreSQL non supporta il concetto di pacchetti e il pragma SERIALLY\$1REUSABLE. Per ottenere funzionalità simili in PostgreSQL, puoi creare schemi per pacchetti e distribuire tutti gli oggetti correlati (come funzioni, procedure e tipi) all'interno degli schemi. Per ottenere la funzionalità del pragma SERIALLY\$1REUSABLE, lo script di funzione wrapper di esempio fornito in questo modello utilizza un pacchetto di estensione AWS [Schema](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html) Conversion Tool (AWS SCT).

[Per ulteriori informazioni, consulta SERIALLY\$1REUSABLE Pragma nella documentazione Oracle.](https://docs.oracle.com/cd/B13789_01/appdev.101/b10807/13_elems046.htm)

## Prerequisiti e limitazioni
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ La versione più recente di AWS SCT e i driver richiesti
+ Un database Amazon Aurora compatibile con PostgreSQL Edition o un database Amazon Relational Database Service (Amazon RDS) per PostgreSQL 

**Versioni del prodotto**
+ Database Oracle versione 10g e successive

## Architecture
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle locale

**Stack tecnologico Target**
+ Compatibile con [Aurora PostgreSQL o Amazon RDS per PostgreSQL](https://aws.amazon.com/rds/aurora/details/postgresql-details/)
+ AWS SCT

**Architettura di migrazione**

![\[Dati Oracle DB locali che vengono trasferiti in AWS utilizzando AWS SCT, file.sql, conversione manuale in PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/fe3c45d2-6ea4-43b5-adb1-18f068f126b9/images/2dc90708-e300-4251-9d12-de97b6588b72.png)


## Tools (Strumenti)
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-tools"></a>

**Servizi AWS**
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [Amazon Relational Database Service (Amazon RDS) per PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ti aiuta a configurare, gestire e scalare un database relazionale PostgreSQL nel cloud AWS.

**Altri strumenti**
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.

## Epiche
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-epics"></a>

### Esegui la migrazione del pacchetto Oracle utilizzando AWS SCT
<a name="migrate-the-oracle-package-by-using-aws-sct"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS SCT. | Configura la connettività AWS SCT al database di origine. Per ulteriori informazioni, consulta [Using Oracle Database as a source for AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) | DBA, Sviluppatore | 
| Converti lo script. | Usa AWS SCT per convertire il pacchetto Oracle selezionando il database di destinazione come compatibile con Aurora PostgreSQL. | DBA, Sviluppatore | 
| Salva i file.sql. | Prima di salvare il file.sql, modifica l'opzione **Project Settings** in AWS SCT su **File singolo per fase**. AWS SCT separerà il file.sql in più file.sql in base al tipo di oggetto. | DBA, Sviluppatore | 
| Cambia il codice. | Apri la `init` funzione generata da AWS SCT e modificala come mostrato nell'esempio nella sezione *Informazioni aggiuntive*. Aggiungerà una variabile per ottenere la funzionalità. `pg_serialize = 0` | DBA, Sviluppatore | 
| Prova la conversione. | Implementa la `init` funzione nel database Aurora compatibile con PostgreSQL e verifica i risultati. | DBA, Sviluppatore | 

## Risorse correlate
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-resources"></a>
+ [Strumento di conversione dello schema AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Caratteristiche di Amazon Aurora](https://aws.amazon.com/rds/aurora/postgresql-features/)
+ [SERIALLY\$1REUSABLE Pragma](https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/seriallyreusable_pragma.htm#LNPLS01346)

## Informazioni aggiuntive
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-additional"></a>

```
Source Oracle Code:

CREATE OR REPLACE PACKAGE test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
PROCEDURE function_1
 (test_id number);
PROCEDURE function_2
 (test_id number
 );
END;

CREATE OR REPLACE PACKAGE BODY test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
v_char VARCHAR2(20) := 'shared.airline';
v_num number := 123;

PROCEDURE function_1(test_id number)
IS
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
v_char:='test1';
function_2(0);
END;

PROCEDURE function_2(test_id number)
is
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
END;
END test_pkg_var;

Calling the above functions

set serveroutput on


EXEC test_pkg_var.function_1(1);


EXEC test_pkg_var.function_2(1);


Target Postgresql Code:


CREATE SCHEMA test_pkg_var;

CREATE OR REPLACE FUNCTION test_pkg_var.init(pg_serialize IN INTEGER DEFAULT 0)

RETURNS void
AS
$BODY$

DECLARE

BEGIN

if aws_oracle_ext.is_package_initialized( 'test_pkg_var' ) AND pg_serialize = 0

then

return;

end if;

PERFORM aws_oracle_ext.set_package_initialized( 'test_pkg_var' );

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'shared.airline.basecurrency'::CHARACTER

VARYING(100));

PERFORM aws_oracle_ext.set_package_variable('test_pkg_var', 'v_num', 123::integer);

END;

$BODY$

LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_1(pg_serialize int default 1)

RETURNS void
AS

$BODY$
DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'test1'::varchar);

PERFORM test_pkg_var.function_2(0);
END;

$BODY$
LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_2(IN pg_serialize integer default 1)

RETURNS void

AS

$BODY$

DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

END;
$BODY$
LANGUAGE plpgsql;


Calling the above functions

select test_pkg_var.function_1()

 select test_pkg_var.function_2()
```

# Esegui la migrazione di tabelle esterne Oracle verso Amazon Aurora, compatibile con PostgreSQL
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible"></a>

*anuradha chintha e Rakesh Raghav, Amazon Web Services*

## Riepilogo
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-summary"></a>

Le tabelle esterne offrono a Oracle la possibilità di interrogare i dati archiviati all'esterno del database in file flat. È possibile utilizzare il driver ORACLE\$1LOADER per accedere a qualsiasi dato memorizzato in qualsiasi formato che possa essere caricato dall'utilità SQL\$1Loader. Non è possibile utilizzare Data Manipulation Language (DML) su tabelle esterne, ma è possibile utilizzare tabelle esterne per operazioni di interrogazione, join e ordinamento.

Amazon Aurora PostgreSQL Compatible Edition non offre funzionalità simili alle tabelle esterne di Oracle. È invece necessario utilizzare la modernizzazione per sviluppare una soluzione scalabile che soddisfi i requisiti funzionali e sia parsimoniosa.

Questo modello fornisce i passaggi per la migrazione di diversi tipi di tabelle esterne Oracle all'edizione compatibile con Aurora PostgreSQL sul cloud Amazon Web Services (AWS) utilizzando l'estensione. `aws_s3`

Consigliamo di testare a fondo questa soluzione prima di implementarla in un ambiente di produzione.

## Prerequisiti e limitazioni
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Interfaccia a riga di comando di AWS (CLI AWS)
+ Un'istanza di database compatibile con Aurora PostgreSQL disponibile.
+ Un database Oracle locale con una tabella esterna
+ API PG.Client
+ File di dati 

**Limitazioni**
+ Questo modello non fornisce la funzionalità necessaria per sostituire le tabelle esterne Oracle. Tuttavia, i passaggi e il codice di esempio possono essere ulteriormente migliorati per raggiungere gli obiettivi di modernizzazione del database.
+ I file non devono contenere il carattere che viene utilizzato come delimitatore nelle funzioni di `aws_s3` esportazione e importazione.

**Versioni del prodotto**
+ Per importare da Amazon S3 in RDS per PostgreSQL, il database deve eseguire PostgreSQL versione 10.7 o successiva.

## Architecture
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-architecture"></a>

**Stack tecnologico di origine**
+ Oracle

**Architettura di origine**

![\[Diagramma dei file di dati inseriti in una directory e in una tabella nel database Oracle locale.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/3fbc507d-b0fa-4e05-b999-043dc7327ed7.png)


**Stack tecnologico Target**
+ Compatibile con Amazon Aurora PostgreSQL
+ Amazon CloudWatch
+ AWS Lambda
+ AWS Secrets Manager
+ Amazon Simple Notification Service (Amazon SNS)
+ Amazon Simple Storage Service (Amazon S3)

**Architettura Target**

Il diagramma seguente mostra una rappresentazione di alto livello della soluzione.

![\[La descrizione si trova dopo il diagramma.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/5421540e-d2e3-4361-89cc-d8415fcb21fd.png)


1. I file vengono caricati nel bucket S3.

1. Viene avviata la funzione Lambda.

1. La funzione Lambda avvia la chiamata alla funzione DB.

1. Secrets Manager fornisce le credenziali per l'accesso al database.

1. A seconda della funzione DB, viene creato un allarme SNS.

**Automazione e scalabilità**

Qualsiasi aggiunta o modifica alle tabelle esterne può essere gestita con la manutenzione dei metadati.

## Tools (Strumenti)
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-tools"></a>
+ Compatibile con [Amazon Aurora PostgreSQL — Amazon Aurora PostgreSQL Compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) Edition è un motore di database relazionale completamente gestito, compatibile con PostgreSQL e conforme ad ACID che combina la velocità e l'affidabilità dei database commerciali di fascia alta con l'economicità dei database open source.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) — AWS Command Line Interface (AWS CLI) è uno strumento unificato per gestire i servizi AWS. Con un solo strumento da scaricare e configurare, puoi controllare più servizi AWS dalla riga di comando e automatizzarli tramite script.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html): Amazon CloudWatch monitora le risorse e l'utilizzo di Amazon S3.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html): AWS Lambda è un servizio di elaborazione serverless che supporta l'esecuzione di codice senza effettuare il provisioning o la gestione di server, creare una logica di scalabilità del cluster in base al carico di lavoro, mantenere integrazioni di eventi o gestire i runtime. In questo modello, Lambda esegue la funzione di database ogni volta che un file viene caricato su Amazon S3.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) — AWS Secrets Manager è un servizio per l'archiviazione e il recupero delle credenziali. Utilizzando Secrets Manager, puoi sostituire le credenziali codificate nel codice, comprese le password, con una chiamata API a Secrets Manager per recuperare il segreto a livello di codice.
+ [Amazon S3 — Amazon Simple](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) Storage Service (Amazon S3) fornisce un livello di storage per ricevere e archiviare file per il consumo e la trasmissione da e verso il cluster Aurora compatibile con PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3) — L'estensione `aws_s3` integra la compatibilità con Amazon S3 e Aurora PostgreSQL.
+ [Amazon SNS — Amazon Simple](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) Notification Service (Amazon SNS) coordina e gestisce la consegna o l'invio di messaggi tra editori e clienti. In questo modello, Amazon SNS viene utilizzato per inviare notifiche.

**Codice**

Ogni volta che un file viene inserito nel bucket S3, è necessario creare e richiamare una funzione DB dall'applicazione di elaborazione o dalla funzione Lambda. Per i dettagli, consulta il codice (allegato).

## Epiche
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-epics"></a>

### Crea un file esterno
<a name="create-an-external-file"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiungere un file esterno al database di origine. | Crea un file esterno e spostalo nella `oracle` directory. | DBA | 

### Configurare la destinazione (compatibile con Aurora PostgreSQL)
<a name="configure-the-target-aurora-postgresql-compatible"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un database Aurora PostgreSQL. | Crea un'istanza DB nel tuo cluster compatibile con Amazon Aurora PostgreSQL. | DBA | 
| Crea uno schema, un'estensione aws\$1s3 e tabelle. | *Usa il codice riportato `ext_tbl_scripts` nella sezione Informazioni aggiuntive.* Le tabelle includono tabelle effettive, tabelle intermedie, tabelle di errore e di registro e una metatabella. | DBA, Sviluppatore | 
| Crea la funzione DB. | Per creare la funzione DB, utilizzate il codice sotto `load_external_table_latest` la funzione nella sezione *Informazioni aggiuntive*. | DBA, Sviluppatore | 

### Creazione e configurazione della funzione Lambda
<a name="create-and-configure-the-lambda-function"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un ruolo. | Crea un ruolo con autorizzazioni per accedere ad Amazon S3 e Amazon Relational Database Service (Amazon RDS). Questo ruolo verrà assegnato a Lambda per l'esecuzione del pattern. | DBA | 
| Creazione della funzione Lambda | Crea una funzione Lambda che legga il nome del file da Amazon S3 (ad esempio`file_key = info.get('object', {}).get('key')`) e chiami la funzione DB (ad esempio`curs.callproc("load_external_tables", [file_key])`) con il nome del file come parametro di input.A seconda del risultato della chiamata alla funzione, verrà avviata una notifica SNS (ad esempio,). `client.publish(TopicArn='arn:',Message='fileloadsuccess',Subject='fileloadsuccess')`In base alle esigenze aziendali, è possibile creare una funzione Lambda con codice aggiuntivo, se necessario. Per ulteriori informazioni, consulta la documentazione di [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html). | DBA | 
| Configura un trigger di evento del bucket S3. | Configura un meccanismo per chiamare la funzione Lambda per tutti gli eventi di creazione di oggetti nel bucket S3. | DBA | 
| Crea un segreto. | Crea un nome segreto per le credenziali del database utilizzando Secrets Manager. Passa il segreto nella funzione Lambda. | DBA | 
| Carica i file di supporto Lambda. | Carica un file.zip che contiene i pacchetti di supporto Lambda e lo script Python allegato per la connessione a Aurora PostgreSQL compatibile. Il codice Python richiama la funzione che hai creato nel database. | DBA | 
| Creare un argomento SNS. | Crea un argomento SNS per inviare posta in caso di successo o fallimento del caricamento dei dati. | DBA | 

### Aggiungi l'integrazione con Amazon S3
<a name="add-integration-with-amazon-s3"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un bucket S3. | Sulla console Amazon S3, crea un bucket S3 con un nome univoco che non contenga barre iniziali. Il nome di un bucket S3 è unico a livello globale e lo spazio dei nomi è condiviso da tutti gli account AWS. | DBA | 
| Crea politiche IAM. | Per creare le policy di AWS Identity and Access Management (IAM), usa il codice `s3bucketpolicy_for_import` nella sezione *Informazioni aggiuntive*. | DBA | 
| Crea ruoli. | Crea due ruoli per la compatibilità con Aurora PostgreSQL, un ruolo per l'importazione e un ruolo per l'esportazione. Assegna le politiche corrispondenti ai ruoli. | DBA | 
| Collega i ruoli al cluster compatibile con Aurora PostgreSQL. | In **Gestisci ruoli**, collega i ruoli di importazione ed esportazione al cluster Aurora PostgreSQL. | DBA | 
| Crea oggetti di supporto compatibili con Aurora PostgreSQL. | *Per gli script delle tabelle, usa il codice riportato nella sezione Informazioni aggiuntive. `ext_tbl_scripts`*Per la funzione personalizzata, usa il codice riportato `load_external_Table_latest` nella sezione *Informazioni aggiuntive*. | DBA | 

### Elabora un file di test
<a name="process-a-test-file"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Carica un file nel bucket S3. | Per caricare un file di test nel bucket S3, usa la console o il seguente comando nella CLI di AWS. <pre>aws s3 cp /Users/Desktop/ukpost/exttbl/"testing files"/aps s3://s3importtest/inputext/aps</pre>Non appena il file viene caricato, un evento bucket avvia la funzione Lambda, che esegue la funzione compatibile con Aurora PostgreSQL. | DBA | 
| Controlla i dati e i file di registro e di errore. | La funzione compatibile con Aurora PostgreSQL carica i file nella tabella principale e crea `.log` file nel bucket S3. `.bad` | DBA | 
| Monitora la soluzione. | Nella CloudWatch console Amazon, monitora la funzione Lambda. | DBA | 

## Risorse correlate
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-resources"></a>
+ [Integrazione con Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Utilizzo dell'edizione compatibile con Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
+ [AWS Lambda](https://aws.amazon.com/lambda/)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/)
+ [Configurazione delle notifiche Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)

## Informazioni aggiuntive
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-additional"></a>

**ext\$1table\$1scripts**

```
CREATE EXTENSION aws_s3 CASCADE;
CREATE TABLE IF NOT EXISTS meta_EXTERNAL_TABLE
(
    table_name_stg character varying(100) ,
    table_name character varying(100)  ,
    col_list character varying(1000)  ,
    data_type character varying(100)  ,
    col_order numeric,
    start_pos numeric,
    end_pos numeric,
    no_position character varying(100)  ,
    date_mask character varying(100)  ,
    delimeter character(1)  ,
    directory character varying(100)  ,
    file_name character varying(100)  ,
    header_exist character varying(5)
);
CREATE TABLE IF NOT EXISTS ext_tbl_stg
(
    col1 text
);
CREATE TABLE IF NOT EXISTS error_table
(
    error_details text,
    file_name character varying(100),
    processed_time timestamp without time zone
);
CREATE TABLE IF NOT EXISTS log_table
(
    file_name character varying(50) COLLATE pg_catalog."default",
    processed_date timestamp without time zone,
    tot_rec_count numeric,
    proc_rec_count numeric,
    error_rec_count numeric
);
sample insert scripts of meta data:
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'source_filename', 'character varying', 2, 8, 27, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'record_type_identifier', 'character varying', 3, 28, 30, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'fad_code', 'numeric', 4, 31, 36, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'session_sequence_number', 'numeric', 5, 37, 42, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'transaction_sequence_number', 'numeric', 6, 43, 48, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
```

**s3bucketpolicy\$1for import**

```
---Import role policy
--Create an IAM policy to allow, Get,  and list actions on S3 bucket
 {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3import",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest",
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
--Export Role policy
--Create an IAM policy to allow, put,  and list actions on S3 bucket
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3export",
            "Action": [
                "S3:PutObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
```

**Esempio di funzione DB load\$1external\$1tables\$1latest**

```
CREATE OR REPLACE FUNCTION public.load_external_tables(pi_filename text)
 RETURNS character varying
 LANGUAGE plpgsql
AS $function$
/* Loading data from S3 bucket into a APG table */
DECLARE
 v_final_sql TEXT;
 pi_ext_table TEXT;
 r refCURSOR;
 v_sqlerrm text;
 v_chunk numeric;
 i integer;
 v_col_list TEXT;
 v_postion_list CHARACTER VARYING(1000);
 v_len  integer;
 v_delim varchar;
 v_file_name CHARACTER VARYING(1000);
 v_directory CHARACTER VARYING(1000);
 v_table_name_stg CHARACTER VARYING(1000);
 v_sql_col TEXT;
 v_sql TEXT;
 v_sql1 TEXT;
 v_sql2 TEXT;
 v_sql3 TEXT;
 v_cnt integer;
 v_sql_dynamic TEXT;
 v_sql_ins TEXT;
 proc_rec_COUNT integer;
 error_rec_COUNT integer;
 tot_rec_COUNT integer;
 v_rec_val integer;
 rec record;
 v_col_cnt integer;
 kv record;
 v_val text;
 v_header text;
 j integer;
 ERCODE VARCHAR(5);
 v_region text;
 cr CURSOR FOR
 SELECT distinct DELIMETER,
   FILE_NAME,
   DIRECTORY
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
   AND DELIMETER IS NOT NULL;


 cr1 CURSOR FOR
   SELECT   col_list,
   data_type,
   start_pos,
   END_pos,
   concat_ws('',' ',TABLE_NAME_STG) as TABLE_NAME_STG,
   no_position,date_mask
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
 order by col_order asc;
cr2 cursor FOR
SELECT  distinct table_name,table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);


BEGIN
 -- PERFORM utl_file_utility.init();
   v_region := 'us-east-1';
   /* find tab details from file name */


   --DELETE FROM  ERROR_TABLE WHERE file_name= pi_filename;
  -- DELETE FROM  log_table WHERE file_name= pi_filename;


 BEGIN


   SELECT distinct table_name,table_name_stg INTO strict pi_ext_table,v_table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);
 EXCEPTION
   WHEN NO_DATA_FOUND THEN
    raise notice 'error 1,%',sqlerrm;
    pi_ext_table := null;
    v_table_name_stg := null;
      RAISE USING errcode = 'NTFIP' ;
    when others then
        raise notice 'error others,%',sqlerrm;
 END;
 j :=1 ;
  
for rec in  cr2
 LOOP




  pi_ext_table     := rec.table_name;
  v_table_name_stg := rec.table_name_stg;
  v_col_list := null;


 IF pi_ext_table IS NOT NULL
  THEN
    --EXECUTE concat_ws('','truncate table  ' ,pi_ext_table) ;
   EXECUTE concat_ws('','truncate table  ' ,v_table_name_stg) ;




       SELECT distinct DELIMETER INTO STRICT v_delim
       FROM  meta_EXTERNAL_TABLE
       WHERE table_name = pi_ext_table;


       IF v_delim IS NOT NULL THEN
     SELECT distinct DELIMETER,
       FILE_NAME,
       DIRECTORY ,
       concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
     INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table
       AND DELIMETER IS NOT NULL;


     IF    upper(v_delim) = 'CSV'
     THEN
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3 ( ''',
       v_table_name_stg,''','''',
       ''DELIMITER '''','''' CSV HEADER QUOTE ''''"'''''', aws_commons.create_s3_uri ( ''',
       v_directory,''',''',v_file_name,''', ''',v_region,'''))');
       ELSE
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
           v_table_name_stg, ''','''', ''DELIMITER AS ''''^''''',''',','
          aws_commons.create_s3_uri
           ( ''',v_directory, ''',''',
           v_file_name, ''',',
            '''',v_region,''')
          )');
          raise notice 'v_sql , %',v_sql;
       begin
        EXECUTE  v_sql;
       EXCEPTION
         WHEN OTHERS THEN
           raise notice 'error 1';
         RAISE USING errcode = 'S3IMP' ;
       END;


       select count(col_list) INTO v_col_cnt
       from  meta_EXTERNAL_TABLE where table_name = pi_ext_table;






        -- raise notice 'v_sql 2, %',concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');


       execute concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');




       i :=1;
       FOR rec in cr1
       loop
       v_sql1 := concat_ws('',v_sql1,'split_part(col1,''',v_delim,''',', i,')',' as ',rec.col_list,',');
       v_sql2 := concat_ws('',v_sql2,rec.col_list,',');
   --    v_sql3 := concat_ws('',v_sql3,'rec.',rec.col_list,'::',rec.data_type,',');


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 coalesce((trim(split_part(col1,''',v_delim,''',', i,')))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask =  'MM/DD/YYYY hh24:mi:ss'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''01/01/9999 0024:00:00''),''MM/DD/YYYY hh24:mi:ss'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                  coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


       i :=i+1;
       end loop;


         -- raise notice 'v_sql 3, %',v_sql3;


       SELECT trim(trailing ' ' FROM v_sql1) INTO v_sql1;
       SELECT trim(trailing ',' FROM v_sql1) INTO v_sql1;


       SELECT trim(trailing ' ' FROM v_sql2) INTO v_sql2;
       SELECT trim(trailing ',' FROM v_sql2) INTO v_sql2;


       SELECT trim(trailing ' ' FROM v_sql3) INTO v_sql3;
       SELECT trim(trailing ',' FROM v_sql3) INTO v_sql3;


       END IF;
      raise notice 'v_delim , %',v_delim;


     EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)  INTO v_cnt;


    raise notice 'stg cnt , %',v_cnt;


    /* if upper(v_delim) = 'CSV' then
       v_sql_ins := concat_ws('', ' SELECT * from ' ,v_table_name_stg );
     else
      -- v_sql_ins := concat_ws('',' SELECT ',v_sql1,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       END IF;*/


v_chunk := v_cnt/100;




for i in 1..101
loop
     BEGIN
    -- raise notice 'v_sql , %',v_sql;
       -- raise notice 'Chunk number , %',i;
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ' offset ',v_chunk*(i-1), ' limit ',v_chunk,') sub ');


     v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
     -- raise notice 'select statement , %',v_sql_ins;
          -- v_sql := null;
     -- EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins, 'offset ',v_chunk*(i-1), ' limit ',v_chunk );
     --v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins );


     -- raise notice 'insert statement , %',v_sql;


    raise NOTICE 'CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'CHUNK END %',v_chunk;


     EXECUTE v_sql;


  EXCEPTION
       WHEN OTHERS THEN
       -- v_sql_ins := concat_ws('',' SELECT ',v_sql1, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');
         -- raise notice 'Chunk number for cursor , %',i;


    raise NOTICE 'Cursor - CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'Cursor -  CHUNK END %',v_chunk;
         v_sql_ins := concat_ws('',' SELECT ',v_sql3, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');


         v_final_sql := REPLACE (v_sql_ins, ''''::text, ''''''::text);
        -- raise notice 'v_final_sql %',v_final_sql;
         v_sql :=concat_ws('','do $a$ declare  r refcursor;v_sql text; i numeric;v_conname text;  v_typ  ',pi_ext_table,'[]; v_rec  ','record',';
           begin






           open r for execute ''select col1 from ',v_table_name_stg ,'  offset ',v_chunk*(i-1), ' limit ',v_chunk,''';
           loop
           begin
           fetch r into v_rec;
           EXIT WHEN NOT FOUND;




           v_sql := concat_ws('''',''insert into  ',pi_ext_table,' SELECT ',REPLACE (v_sql3, ''''::text, ''''''::text) , '  from ( select '''''',v_rec.col1,'''''' as col1) v'');
            execute v_sql;


           exception
            when others then
          v_sql := ''INSERT INTO  ERROR_TABLE VALUES (concat_ws('''''''',''''Error Name: '''',$$''||SQLERRM||''$$,''''Error State: '''',''''''||SQLSTATE||'''''',''''record : '''',$$''||v_rec.col1||''$$),'''''||pi_filename||''''',now())'';


               execute v_sql;
             continue;
           end ;
           end loop;
           close r;
           exception
           when others then
         raise;
           end ; $a$');
      -- raise notice ' inside excp v_sql %',v_sql;
          execute v_sql;
      --  raise notice 'v_sql %',v_sql;
       END;
  END LOOP;
     ELSE


     SELECT distinct DELIMETER,FILE_NAME,DIRECTORY ,concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
       INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table                  ;
     v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
       v_table_name_stg, ''','''', ''DELIMITER AS ''''#'''' ',v_header,' '',','
      aws_commons.create_s3_uri
       ( ''',v_directory, ''',''',
       v_file_name, ''',',
        '''',v_region,''')
      )');
         EXECUTE  v_sql;


     FOR rec in cr1
     LOOP


      IF rec.start_pos IS NULL AND rec.END_pos IS NULL AND rec.no_position = 'recnum'
      THEN
        v_rec_val := 1;
      ELSE


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1)))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDDHH24MISS'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''9999010100240000''),''YYYYMMDDHH24MISS'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                  coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


      END IF;
      v_col_list := concat_ws('',v_col_list ,v_sql1);
     END LOOP;




           SELECT trim(trailing ' ' FROM v_col_list) INTO v_col_list;
           SELECT trim(trailing ',' FROM v_col_list) INTO v_col_list;


           v_sql_col   :=  concat_ws('',trim(trailing ',' FROM v_col_list) , ' FROM  ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 ');




           v_sql_dynamic := v_sql_col;


           EXECUTE  concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg) INTO v_cnt;




         IF v_rec_val = 1 THEN
             v_sql_ins := concat_ws('',' select row_number() over(order by ctid) as line_number ,' ,v_sql_dynamic) ;


         ELSE
               v_sql_ins := concat_ws('',' SELECT' ,v_sql_dynamic) ;
           END IF;


     BEGIN
       EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
           EXCEPTION
              WHEN OTHERS THEN
          IF v_rec_val = 1 THEN
                  v_final_sql := ' select row_number() over(order by ctid) as line_number ,col1 from ';
                ELSE
                 v_final_sql := ' SELECT col1 from';
               END IF;
       v_sql :=concat_ws('','do $a$ declare  r refcursor;v_rec_val numeric := ',coalesce(v_rec_val,0),';line_number numeric; col1 text; v_typ  ',pi_ext_table,'[]; v_rec  ',pi_ext_table,';
             begin
             open r for execute ''',v_final_sql, ' ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 '' ;
             loop
             begin
             if   v_rec_val = 1 then
             fetch r into line_number,col1;
             else
             fetch r into col1;
             end if;


             EXIT WHEN NOT FOUND;
              if v_rec_val = 1 then
              select line_number,',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              else
                select ',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              end if;


             insert into  ',pi_ext_table,' select v_rec.*;
              exception
              when others then
               INSERT INTO  ERROR_TABLE VALUES (concat_ws('''',''Error Name: '',SQLERRM,''Error State: '',SQLSTATE,''record : '',v_rec),''',pi_filename,''',now());
               continue;
              end ;
               end loop;
             close r;
              exception
              when others then
              raise;
              end ; $a$');
         execute v_sql;


     END;


         END IF;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  ' ,pi_ext_table)   INTO proc_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  error_table WHERE file_name =''',pi_filename,''' and processed_time::date = clock_timestamp()::date')  INTO error_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)   INTO tot_rec_COUNT;


   INSERT INTO  log_table values(pi_filename,now(),tot_rec_COUNT,proc_rec_COUNT, error_rec_COUNT);


   raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT replace(trim(substring(error_details,position(''('' in error_details)+1),'')''),'','','';''),file_name,processed_time FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );


raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  log_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.log', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );




   END IF;
 j := j+1;
 END LOOP;


       RETURN 'OK';
EXCEPTION
    WHEN  OTHERS THEN
  raise notice 'error %',sqlerrm;
   ERCODE=SQLSTATE;
   IF ERCODE = 'NTFIP' THEN
     v_sqlerrm := concat_Ws('',sqlerrm,'No data for the filename');
   ELSIF ERCODE = 'S3IMP' THEN
    v_sqlerrm := concat_Ws('',sqlerrm,'Error While exporting the file from S3');
   ELSE
      v_sqlerrm := sqlerrm;
   END IF;


 select distinct directory into v_directory from  meta_EXTERNAL_TABLE;




 raise notice 'exc v_directory, %',v_directory;


   raise notice 'exc pi_filename, %',pi_filename;


   raise notice 'exc v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );
    RETURN null;
END;
$function$
```

# Migrazione di indici basati su funzioni da Oracle a PostgreSQL
<a name="migrate-function-based-indexes-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi e Navakanth Talluri, Amazon Web Services*

## Riepilogo
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-summary"></a>

Gli indici sono un modo comune per migliorare le prestazioni del database. Un indice consente al server del database di trovare e recuperare righe specifiche molto più velocemente di quanto potrebbe fare senza un indice. Ma gli indici aggiungono anche un sovraccarico all'intero sistema di database, quindi devono essere usati in modo sensato. Gli indici basati su funzioni, che si basano su una funzione o un'espressione, possono includere più colonne ed espressioni matematiche. Un indice basato su funzioni migliora le prestazioni delle query che utilizzano l'espressione dell'indice. 

A livello nativo, PostgreSQL non supporta la creazione di indici basati su funzioni utilizzando funzioni la cui volatilità è definita stabile. Tuttavia, è possibile creare funzioni simili con volatilità e utilizzarle nella creazione di indici. `IMMUTABLE`

Una `IMMUTABLE` funzione non può modificare il database ed è garantito che restituirà gli stessi risultati con gli stessi argomenti per sempre. Questa categoria consente all'ottimizzatore di valutare preventivamente la funzione quando una query la richiama con argomenti costanti. 

Questo modello aiuta a migrare gli indici basati sulle funzioni Oracle quando vengono utilizzati con funzioni come `to_char``to_date`, e verso `to_number` l'equivalente PostgreSQL.

## Prerequisiti e limitazioni
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-prereqs"></a>

**Prerequisiti**
+ Un account Amazon Web Services (AWS) attivo
+ Un'istanza di database Oracle di origine con il servizio listener configurato e funzionante
+ Familiarità con i database PostgreSQL

**Limitazioni**
+ Il limite di dimensione del database è di 64 TB.
+ Le funzioni utilizzate nella creazione dell'indice devono essere IMMUTABILI.

**Versioni del prodotto**
+ Tutte le edizioni del database Oracle per le versioni 11g (versioni 11.2.0.3.v1 e successive) e fino a 12.2 e 18c
+ PostgreSQL 9.6 e versioni successive

## Architecture
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-architecture"></a>

**Stack tecnologico di origine**
+ Un database Oracle in locale o su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) o un'istanza Amazon RDS for Oracle DB

**Stack tecnologico Target**
+ Qualsiasi motore PostgreSQL

## Tools (Strumenti)
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-tools"></a>
+ **pGAdmin** 4 è uno strumento di gestione open source per Postgres. Lo strumento pgAdmin 4 fornisce un'interfaccia grafica per la creazione, la manutenzione e l'utilizzo di oggetti di database.
+ **Oracle SQL Developer** è un ambiente di sviluppo integrato (IDE) per lo sviluppo e la gestione di database Oracle in implementazioni tradizionali e cloud.

## Epiche
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-epics"></a>

### Crea un indice basato su funzioni utilizzando una funzione predefinita
<a name="create-a-function-based-index-using-a-default-function"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un indice basato su funzioni su una colonna utilizzando la funzione to\$1char. | Utilizzate il codice seguente per creare l'indice basato sulle funzioni.<pre>postgres=# create table funcindex( col1 timestamp without time zone);<br />CREATE TABLE<br />postgres=# insert into funcindex values (now());<br />INSERT 0 1<br />postgres=# select * from funcindex;<br />            col1<br />----------------------------<br /> 2022-08-09 16:00:57.77414<br />(1 rows)<br /> <br />postgres=# create index funcindex_idx on funcindex(to_char(col1,'DD-MM-YYYY HH24:MI:SS'));<br />ERROR:  functions in index expression must be marked IMMUTABLE</pre> PostgreSQL non consente la creazione di un indice basato su funzioni senza la clausola. `IMMUTABLE` | DBA, sviluppatore di app | 
| Verifica la volatilità della funzione. | Per controllare la volatilità della funzione, usa il codice nella sezione *Informazioni aggiuntive*.   | DBA | 

### Crea indici basati su funzioni utilizzando una funzione wrapper
<a name="create-function-based-indexes-using-a-wrapper-function"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una funzione wrapper. | *Per creare una funzione wrapper, usa il codice nella sezione Informazioni aggiuntive.* | Sviluppatore PostgreSQL | 
| Crea un indice utilizzando la funzione wrapper. | Utilizzate il codice nella sezione *Informazioni aggiuntive* per creare una funzione definita dall'utente con la parola chiave `IMMUTABLE` nello stesso schema dell'applicazione e fate riferimento ad essa nello script di creazione dell'indice.Se una funzione definita dall'utente viene creata in uno schema comune (dall'esempio precedente), aggiornatela come illustrato. `search_path`<pre>ALTER ROLE <ROLENAME> set search_path=$user, COMMON;</pre> | DBA, sviluppatore PostgreSQL | 

### Convalida la creazione dell'indice
<a name="validate-index-creation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la creazione dell'indice. | Verifica che l'indice debba essere creato, in base ai modelli di accesso alle query. | DBA | 
| Verifica che l'indice possa essere usato. | Per verificare se l'indice basato sulla funzione viene rilevato da PostgreSQL Optimizer, esegui un'istruzione SQL utilizzando explain o explain analyze. *Usa il codice nella sezione Informazioni aggiuntive.* Se possibile, raccogli anche le statistiche della tabella.Se notate il piano di spiegazione, l'ottimizzatore PostgreSQL ha scelto un indice basato sulle funzioni a causa della condizione del predicato. | DBA | 

## Risorse correlate
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-resources"></a>
+ [Indici basati sulle funzioni (documentazione Oracle)](https://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_indexes.htm#ADFNS00505)
+ [Indici sulle espressioni (documentazione](https://www.postgresql.org/docs/9.4/indexes-expressional.html) PostgreSQL)
+ [Volatilità di PostgreSQL (documentazione PostgreSQL](https://www.postgresql.org/docs/current/xfunc-volatility.html))
+ [PostgreSQL search\$1path (documentazione PostgreSQL](https://www.postgresql.org/docs/current/ddl-schemas.html#DDL-SCHEMAS-PATH))
+ [Playbook sulla migrazione da Oracle Database 19c ad Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/dms/latest/oracle-to-aurora-postgresql-migration-playbook/chap-oracle-aurora-pg.html) 

## Informazioni aggiuntive
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-additional"></a>

**Crea una funzione wrapper**

```
CREATE OR REPLACE FUNCTION myschema.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
```

**Crea un indice utilizzando la funzione wrapper**

```
postgres=# create function common.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
CREATE FUNCTION
postgres=# create index funcindex_idx on funcindex(common.to_char(col1,'DD-MM-YYYY HH24:MI:SS'));
CREATE INDEX
```

**Controlla la volatilità della funzione**

```
SELECT DISTINCT p.proname as "Name",p.provolatile as "volatility" FROM pg_catalog.pg_proc p
 LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
 LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang
 WHERE n.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.default AND p.proname='to_char'GROUP BY p.proname,p.provolatile
ORDER BY 1;
```

**Verifica che l'indice possa essere utilizzato**

```
explain analyze <SQL>
 
 
postgres=# explain select col1 from funcindex where common.to_char(col1,'DD-MM-YYYY HH24:MI:SS') = '09-08-2022 16:00:57';
                                                       QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
 Index Scan using funcindex_idx on funcindex  (cost=0.42..8.44 rows=1 width=8)
   Index Cond: ((common.to_char(col1, 'DD-MM-YYYY HH24:MI:SS'::character varying))::text = '09-08-2022 16:00:57'::text)
(2 rows)
```

# Migrazione delle funzioni native di Oracle su PostgreSQL utilizzando le estensioni
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions"></a>

*Pinesh Singal, Amazon Web Services*

## Riepilogo
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-summary"></a>

Questo modello di migrazione fornisce step-by-step indicazioni per la migrazione di un'istanza di database Amazon Relational Database Service (Amazon RDS) per Oracle verso un database Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL Edition modificando le estensioni and nel codice integrato nativo di PostgreSQL (). `aws_oracle_ext` `orafce` `psql` Ciò consentirà di risparmiare tempo di elaborazione.

Il modello descrive una strategia di migrazione manuale offline senza tempi di inattività per un database di origine Oracle da più terabyte con un numero elevato di transazioni.

Il processo di migrazione utilizza AWS Schema Conversion Tool (AWS SCT) con le `orafce` estensioni `aws_oracle_ext` e per convertire uno schema di database Amazon RDS for Oracle in uno schema di database compatibile con Amazon RDS for PostgreSQL o Aurora PostgreSQL. Quindi il codice viene modificato manualmente in codice integrato nativo supportato da PostgreSQL. `psql` Questo perché le chiamate di estensione influiscono sull'elaborazione del codice sul server di database PostgreSQL e non tutto il codice di estensione è completamente conforme o compatibile con il codice PostgreSQL.

Questo modello si concentra principalmente sulla migrazione manuale dei codici SQL utilizzando AWS SCT e le estensioni `aws_oracle_ext` e. `orafce` Le estensioni già utilizzate vengono convertite in funzionalità integrate native di `psql` PostgreSQL (). Quindi rimuovete tutti i riferimenti alle estensioni e convertite i codici di conseguenza.

## Prerequisiti e limitazioni
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo 
+ Sistema operativo (Windows o Mac) o EC2 istanza Amazon (attiva e funzionante) 
+ Oracle

**Limitazioni**

Non tutte le funzioni Oracle che utilizzano `aws_oracle_ext` o `orafce` le estensioni possono essere convertite in funzioni PostgreSQL native. Potrebbe essere necessario rielaborarlo manualmente per compilarlo con le librerie PostgreSQL.

Uno svantaggio dell'utilizzo delle estensioni AWS SCT è la lentezza delle prestazioni nell'esecuzione e nel recupero dei risultati. *Il suo costo può essere compreso dal semplice piano EXPLAIN di [PostgreSQL (piano di esecuzione di una dichiarazione) sulla migrazione delle funzioni Oracle alla `SYSDATE` funzione `NOW()` PostgreSQL tra tutti e tre i codici `aws_oracle_ext` (`orafce`, `psql` e predefinito), come spiegato](https://www.postgresql.org/docs/current/sql-explain.html) nella sezione Controllo del confronto delle prestazioni del documento allegato.*

**Versioni del prodotto**
+ **Fonte:** database Amazon RDS for Oracle 10.2 e versioni successive (per 10.x), 11g (11.2.0.3.v1 e versioni successive) e fino a 12.2, 18c e 19c (e versioni successive) per Enterprise Edition, Standard Edition, Standard Edition 1 e Standard Edition 2
+ **Target**: database compatibile con Amazon RDS for PostgreSQL o Aurora PostgreSQL 9.4 e versioni successive (per 9.x), 10.x, 11.x, 12.x, 13.x e 14.x (e versioni successive)
+ **AWS SCT**: versione più recente (questo modello è stato testato con 1.0.632)
+ **Oracle**: ultima versione (questo pattern è stato testato con 3.9.0)

## Architecture
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-architecture"></a>

**Stack di tecnologia di origine**
+ Un'istanza di database Amazon RDS for Oracle con la versione 12.1.0.2.v18

**Stack tecnologico Target**
+ Un'istanza di database compatibile con Amazon RDS for PostgreSQL o Aurora PostgreSQL con versione 11.5

**Architettura di migrazione del database**

Il diagramma seguente rappresenta l'architettura di migrazione del database tra i database Oracle di origine e PostgreSQL di destinazione. L'architettura include AWS Cloud, un cloud privato virtuale (VPC), zone di disponibilità, una sottorete privata, un database Amazon RDS per Oracle, AWS SCT, Amazon RDS per PostgreSQL o Aurora PostgreSQL, estensioni per Oracle (and) e file SQL (Structured Query Language). `aws_oracle_ext` `orafce`

![\[Il processo è spiegato nell'elenco seguente.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/158847bb-27ef-4915-a9ca-7d87073792c1/images/234b824a-bfe5-4ef0-9fa7-8401370b92a5.png)


1. Avvia l'istanza DB di Amazon RDS for Oracle (database di origine).

1. Usa AWS SCT con `aws_oracle_ext` i pacchetti di `orafce` estensione per convertire il codice sorgente da Oracle a PostreSQL.

1. La conversione produce file.sql migrati supportati da PostgreSQL.

1. Converti manualmente i codici di estensione Oracle non convertiti in codici `psql` PostgreSQL ().

1. La conversione manuale produce file.sql convertiti supportati da PostgreSQL.

1. Esegui questi file.sql sulla tua istanza database Amazon RDS for PostgreSQL (DB di destinazione).

## Tools (Strumenti)
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-tools"></a>

**Strumenti**

*Servizi AWS*
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) - AWS Schema Conversion Tool (AWS SCT) converte lo schema di database esistente da un motore di database a un altro. Puoi convertire lo schema relazionale OLTP (Online Transactional Processing) o lo schema di data warehouse. Lo schema convertito è adatto per un'istanza DB Amazon RDS for MySQL, un cluster DB Amazon Aurora, un'istanza DB Amazon RDS for PostgreSQL o un cluster Amazon Redshift. Lo schema convertito può essere utilizzato anche con un database su un' EC2 istanza Amazon o archiviato come dati in un bucket Amazon S3.

  AWS SCT fornisce un'interfaccia utente basata su progetti per convertire automaticamente lo schema del database di origine in un formato compatibile con l'istanza Amazon RDS di destinazione. 

  Puoi utilizzare AWS SCT per eseguire la migrazione da un database di origine Oracle a uno qualsiasi degli obiettivi elencati in precedenza. Utilizzando AWS SCT, puoi esportare le definizioni degli oggetti del database di origine come schema, viste, stored procedure e funzioni. 

  Puoi usare AWS SCT per convertire i dati da Oracle ad Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL Compatible Edition. 

  In questo modello, usi AWS SCT per convertire e migrare il codice Oracle in PostgreSQL utilizzando le estensioni `aws_oracle_ext` e `orafce` migrando manualmente i codici di estensione in codice integrato predefinito o nativo. `psql`
+ Il pacchetto di estensione [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html) è un modulo aggiuntivo che emula le funzioni presenti nel database di origine necessarie per la conversione degli oggetti nel database di destinazione. Prima di poter installare il pacchetto di estensione AWS SCT, devi convertire lo schema del database.

  Quando converti lo schema del database o del data warehouse, AWS SCT aggiunge uno schema aggiuntivo al database di destinazione. Questo schema implementa le funzioni di sistema SQL del database di origine richieste durante la scrittura dello schema convertito nel database di destinazione. Lo schema aggiuntivo viene chiamato schema del pacchetto di estensione.

  Lo schema del pacchetto di estensione per i database OLTP è denominato in base al database di origine. Per i database Oracle, lo schema del pacchetto di estensione è`AWS_ORACLE_EXT`.

*Altri strumenti*
+ [Oracle: Orafce](https://github.com/orafce/orafce) è un modulo che implementa funzioni, tipi di dati e pacchetti compatibili con Oracle. È uno strumento open source con una licenza Berkeley Source Distribution (BSD) in modo che chiunque possa utilizzarlo. Il `orafce` modulo è utile per la migrazione da Oracle a PostgreSQL perché ha molte funzioni Oracle implementate in PostgreSQL.

 

**Codice**

Per un elenco di tutto il codice comunemente usato e migrato da Oracle a PostgreSQL per evitare l'uso del codice di estensione AWS SCT, consulta il documento allegato.

## Epiche
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-epics"></a>

### Configurazione del database di origine Amazon RDS for Oracle
<a name="configure-the-amazon-rds-for-oracle-source-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare l'istanza del database Oracle. | Crea un'istanza di database compatibile con Amazon RDS for Oracle o Aurora PostgreSQL dalla console Amazon RDS. | Informazioni generali su AWS, DBA | 
| Configura i gruppi di sicurezza. | Configura i gruppi di sicurezza in entrata e in uscita. | Informazioni generali su AWS | 
| Crea il database. | Crea il database Oracle con gli utenti e gli schemi necessari. | Informazioni generali su AWS, DBA | 
| Crea gli oggetti. | Crea oggetti e inserisci dati nello schema. | DBA | 

### Configurazione del database di destinazione Amazon RDS for PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'istanza del database PostgreSQL. | Crea un'istanza di database Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL dalla console Amazon RDS. | Informazioni generali su AWS, DBA | 
| Configura i gruppi di sicurezza. | Configura i gruppi di sicurezza in entrata e in uscita. | Informazioni generali su AWS | 
| Crea il database. | Crea il database PostgreSQL con gli utenti e gli schemi necessari. | Informazioni generali su AWS, DBA | 
| Convalida le estensioni. | Assicurati che `aws_oracle_ext` e `orafce` siano installati e configurati correttamente nel database PostgreSQL. | DBA | 
| Verifica che il database PostgreSQL sia disponibile. | Assicurati che il database PostgreSQL sia attivo e funzionante. | DBA | 

### Migra lo schema Oracle in PostgreSQL utilizzando AWS SCT e le estensioni
<a name="migrate-the-oracle-schema-into-postgresql-using-aws-sct-and-the-extensions"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa AWS SCT. | Installa la versione più recente di AWS SCT. | DBA | 
| Configura AWS SCT. | Configura AWS SCT con i driver Java Database Connectivity (JDBC) per Oracle () `ojdbc8.jar` e PostgreSQL (). `postgresql-42.2.5.jar` | DBA | 
| Abilita il pacchetto di estensione o il modello di estensione AWS SCT. | In AWS SCT **Project Settings**, abilita l'implementazione di funzioni integrate con `aws_oracle_ext` ed `orafce` estensioni per lo schema del database Oracle. | DBA | 
| Convertire lo schema. | In AWS SCT, scegli **Converti schema** per convertire lo schema da Oracle a PostgreSQL e generare i file.sql. | DBA | 

### Converti il codice di estensione AWS SCT in codice psql
<a name="convert-aws-sct-extension-code-to-psql-code"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convertire manualmente il codice. | Converti manualmente ogni riga di codice supportato dall'estensione in codice integrato `psql` predefinito, come dettagliato nel documento allegato. Ad esempio, change `AWS_ORACLE_EXT.SYSDATE()` o `ORACLE.SYSDATE()` to. `NOW()` | DBA | 
| Convalida il codice | (Facoltativo) Convalida ogni riga di codice eseguendola temporaneamente nel database PostgreSQL. | DBA | 
| Crea oggetti nel database PostgreSQL. | Per creare oggetti nel database PostgreSQL, esegui i file.sql generati da AWS SCT e modificati nei due passaggi precedenti. | DBA | 

## Risorse correlate
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-resources"></a>
+ Database
  + [Oracle su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)
  + [PostgreSQL su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
  + [Lavorare con Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
  + [Piano PostgreSQL EXPLAIN](https://www.postgresql.org/docs/current/sql-explain.html)
+ AWS SCT
  + [Panoramica dello Schema Conversion Tool di AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
  + [Guida per l'utente di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
  + [Utilizzo dell'interfaccia utente AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
  + [Utilizzo di Oracle Database come sorgente per AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ Estensioni per AWS SCT
  + [Utilizzo del pacchetto di estensione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html)
  + [Funzionalità Oracle (en)](https://postgres.cz/wiki/Oracle_functionality_(en))
  + [Oracle PGXN](https://pgxn.org/dist/orafce/)
  + [GitHub orafce](https://github.com/orafce/orafce)

## Informazioni aggiuntive
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-additional"></a>

Per ulteriori informazioni, segui i comandi dettagliati, con sintassi ed esempi, per convertire manualmente il codice nel documento allegato.

## Allegati
<a name="attachments-158847bb-27ef-4915-a9ca-7d87073792c1"></a>

[Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/158847bb-27ef-4915-a9ca-7d87073792c1/attachments/attachment.zip)

# Esegui la migrazione di un database Db2 da Amazon a EC2 Aurora compatibile con MySQL utilizzando AWS DMS
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Riepilogo
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-summary"></a>

Dopo aver migrato il [database IBM Db2 for LUW](https://www.ibm.com/docs/en/db2/11.5?topic=federation) su Amazon [Elastic Compute Cloud ( EC2Amazon](https://docs.aws.amazon.com/ec2/)), prendi in considerazione la possibilità di riprogettare il database passando a un database nativo per il cloud di Amazon Web Services (AWS). Questo modello riguarda la migrazione di un database IBM [Db2](https://www.ibm.com/docs/en/db2/11.5) for LUW in esecuzione su un' EC2 istanza Amazon verso un database [Edition](https://docs.aws.amazon.com/ec2/) compatibile con [Amazon Aurora MySQL su AWS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html).  

Il modello descrive una strategia di migrazione online con tempi di inattività minimi per un database di origine Db2 da più terabyte con un numero elevato di transazioni. 

Questo modello utilizza [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) per convertire lo schema del database Db2 in uno schema compatibile con Aurora MySQL. Quindi il modello utilizza [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) per migrare i dati dal database Db2 al database Aurora compatibile con MySQL. Saranno necessarie conversioni manuali per il codice che non viene convertito da AWS SCT.

## Prerequisiti e limitazioni
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo con un cloud privato virtuale (VPC)
+ AWS SCT
+ AWS DMS

**Versioni del prodotto**
+ Versione più recente di AWS SCT
+ Db2 per Linux versione 11.1.4.4 e successive

## Architecture
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ DB2/Linux x86-64 bit montato su un'istanza EC2  

**Stack tecnologico Target**
+ Un'istanza di database Edition compatibile con Amazon Aurora MySQL

**Architettura di origine e destinazione**

Il diagramma seguente mostra l'architettura di migrazione dei dati tra i database Aurora compatibili con MySQL di origine e Db2 di destinazione. L'architettura sul cloud AWS include un cloud privato virtuale (VPC) (Virtual Private Cloud), una zona di disponibilità, una sottorete pubblica per l'istanza Db2 e l'istanza di replica AWS DMS e una sottorete privata per il database Aurora compatibile con MySQL.

![\[Architettura di migrazione dei dati tra database compatibili con MySQL di origine e Aurora di destinazione.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5abfccc4-148c-4794-8d80-e3c122679125/images/f30664f8-2d6a-4448-8d5c-cff3988a52c7.png)


## Tools (Strumenti)
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-tools"></a>

**Servizi AWS**
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) è un motore di database relazionale completamente gestito creato per il cloud e compatibile con MySQL e PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [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.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. AWS SCT supporta come sorgente IBM Db2 per le versioni LUW 9.1, 9.5, 9.7, 10.1, 10.5, 11.1 e 11.5.

## Best practice
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-best-practices"></a>

Per le best practice, consulta [Best practice for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html).

## Epiche
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-epics"></a>

### Configura il database IBM Db2 di origine
<a name="configure-the-source-ibm-db2-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il database IBM Db2 su Amazon. EC2 | Puoi creare un database IBM Db2 su un' EC2 istanza utilizzando un'Amazon Machine Image (AMI) da AWS Marketplace o installando il software Db2 su un'istanza. EC2 Avvia un' EC2 istanza selezionando un AMI per IBM Db2 (ad esempio, [IBM Db2 v11.5.7 RHEL 7.9](https://aws.amazon.com/marketplace/pp/prodview-aclrjj4hq2ols?sr=0-1&ref_=beagle&applicationId=AWS-EC2-Console)), che è simile a un database locale. | DBA, AWS generale | 
| Configura i gruppi di sicurezza. | Configura le regole in entrata del gruppo di sicurezza VPC per SSH (Secure Shell) e TCP con le porte 22 e 50000, rispettivamente. | Informazioni generali su AWS | 
| Crea l'istanza del database. | Crea una nuova istanza (utente) e un database (schema) oppure usa l'`db2inst1`istanza e il database di esempio predefiniti.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 
| Verifica che l'istanza DB Db2 sia disponibile. | Per confermare che l'istanza del database Db2 è attiva e in esecuzione, usa il `Db2pd -` comando. | DBA | 

### Configurare il database Aurora di destinazione compatibile con MySQL
<a name="configure-the-target-aurora-mysql-compatible-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il database Aurora compatibile con MySQL. | Crea un database di compatibilità Amazon Aurora con MySQL dal servizio AWS RDS[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA, AWS generale | 
| Configura i gruppi di sicurezza. | Configura le regole in entrata del gruppo di sicurezza VPC per le connessioni SSH e TCP. | Informazioni generali su AWS | 
| Verifica che il database Aurora sia disponibile. | Per assicurarti che il database Aurora compatibile con MySQL sia attivo e funzionante, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 

### Configurazione ed esecuzione di AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa AWS SCT. | Scarica e installa l'ultima versione di [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) (l'ultima versione corrente 1.0.628). | Informazioni generali su AWS | 
| Configura AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Crea un progetto AWS SCT. | Crea un progetto e un report AWS SCT che utilizzi Db2 per LUW come motore DB di origine e compatibile con Aurora MySQL per il motore DB di destinazione.Per identificare i privilegi necessari per connettersi a un database Db2 for LUW, consulta [Usare Db2 LUW come sorgente per AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html). | Informazioni generali su AWS | 
| Convalida gli oggetti. | Scegli **Carica schema**, convalida gli oggetti. Aggiorna eventuali oggetti errati sul database di destinazione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA, AWS generale | 

### Configurazione ed esecuzione di AWS DMS
<a name="configure-and-run-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un'istanza di replica. | Accedi alla Console di gestione AWS, accedi al servizio AWS DMS e crea un'istanza di replica con impostazioni valide per il gruppo di sicurezza VPC che hai configurato per i database di origine e di destinazione. | Informazioni generali su AWS | 
| Crea endpoint. | Crea l'endpoint di origine per il database Db2 e crea l'endpoint di destinazione per il database Aurora compatibile con MySQL:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Crea attività di migrazione. | Crea una singola attività di migrazione o più attività di migrazione per il pieno carico e la convalida CDC o dei dati:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Pianifica il ciclo di produzione. | Conferma i tempi di inattività con le parti interessate, come i proprietari delle applicazioni, per eseguire AWS DMS nei sistemi di produzione. | Responsabile della migrazione | 
| Esegui le attività di migrazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Informazioni generali su AWS | 
| Convalida i dati. | Esamina i risultati e i dati delle attività di migrazione nei database Db2 di origine e MySQL di destinazione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 
| Interrompi le attività di migrazione. | Una volta completata correttamente la convalida dei dati, interrompi le attività di migrazione di convalida. | Informazioni generali su AWS | 

## risoluzione dei problemi
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Le connessioni di test di origine e destinazione di AWS SCT non funzionano. | Configura le versioni dei driver JDBC e le regole in entrata del gruppo di sicurezza VPC per accettare il traffico in entrata. | 
| L'esecuzione del test dell'endpoint sorgente Db2 non riesce. | Configura l'impostazione di connessione aggiuntiva. `CurrentLSN=<scan>;` | 
| L' AWSDMS operazione non riesce a connettersi alla sorgente Db2 e viene restituito il seguente errore.`database is recoverable if either or both of the database configuration parameters LOGARCHMETH1 and LOGARCHMETH2 are set to ON` | Per evitare l'errore, esegui i seguenti comandi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 

## Risorse correlate
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-resources"></a>

**Amazon EC2**
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Guide EC2 per gli utenti di Amazon](https://docs.aws.amazon.com/ec2/)

**Database**
+ [Database IBM Db2](https://www.ibm.com/products/db2-database)
+ [Amazon Aurora](https://aws.amazon.com/rds/aurora/)
+ [Lavorare con Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html)

**AWS SCT**
+ [Conversione dello schema AWS DMS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guida per l'utente di AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Utilizzo dell'interfaccia utente AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilizzo di IBM Db2 LUW come sorgente per AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html)

**AWS DMS**
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Guida per l'utente di AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Fonti per la migrazione dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Obiettivi per la migrazione dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [AWS Database Migration Service e AWS Schema Conversion Tool ora supportano IBM Db2 LUW come sorgente (post](https://aws.amazon.com/blogs/database/aws-database-migration-service-and-aws-schema-conversion-tool-now-support-ibm-db2-as-a-source/) di blog)
+ [Migrazione di applicazioni che eseguono database relazionali su AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

# Esegui la migrazione di un database Microsoft SQL Server da Amazon EC2 ad Amazon DocumentDB utilizzando AWS DMS
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms"></a>

*Umamaheswara Nooka, Amazon Web Services*

## Riepilogo
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-summary"></a>

Questo modello descrive come utilizzare AWS Database Migration Service (AWS DMS) per migrare un database Microsoft SQL Server ospitato su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) verso un database Amazon DocumentDB (con compatibilità MongoDB).

Il task di replica AWS DMS legge la struttura delle tabelle del database SQL Server, crea la raccolta corrispondente in Amazon DocumentDB ed esegue una migrazione a pieno carico.

Puoi anche utilizzare questo modello per migrare un'istanza DB SQL Server o Amazon Relational Database Service (Amazon RDS) per SQL Server locale su Amazon DocumentDB. Per ulteriori informazioni, consulta la guida [Migrazione dei database Microsoft SQL Server al cloud AWS sul sito Web AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/welcome.html) Prescriptive Guidance.

## Prerequisiti e limitazioni
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un database SQL Server esistente su un'istanza. EC2 
+ Ruolo fisso del database (**db\$1owner**) assegnato ad AWS DMS nel database SQL Server. Per ulteriori informazioni, consulta [Ruoli a livello di database nella documentazione](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-ver15) di SQL Server. 
+ Familiarità con l'uso delle `mongoimport` utilità `mongodump``mongorestore`,`mongoexport`, e per [spostare dati da e verso un cluster Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html).
+ [Microsoft SQL Server Management Studio](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15), installato e configurato.

**Limitazioni**
+ Il limite di dimensione del cluster in Amazon DocumentDB è di 64 TB. Per ulteriori informazioni, consulta [Limiti del cluster](https://docs.aws.amazon.com/documentdb/latest/developerguide/limits.html#limits-cluster) nella documentazione di Amazon DocumentDB. 
+ AWS DMS non supporta l'unione di più tabelle di origine in un'unica raccolta Amazon DocumentDB.
+ Se AWS DMS elabora modifiche da una tabella di origine senza una chiave primaria, ignorerà le colonne LOB (Large Object) nella tabella di origine.

## Architecture
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Amazon EC2

**Stack tecnologico Target**
+ Amazon DocumentDB

**Architettura di destinazione**

![\[Cloud AWS architecture showing VPC with private DB subnet and components for SQL Server and DocumentDB.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f186220b-5a94-48b2-840d-f04aedf51651/images/00962b85-8b71-49df-b84a-3adcbc9ad3a3.png)


## Tools (Strumenti)
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) — AWS Database Migration Service (AWS DMS) ti aiuta a migrare i database in modo semplice e sicuro.
+ [Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html) — Amazon DocumentDB (con compatibilità MongoDB) è un servizio di database veloce, affidabile e completamente gestito.
+ [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) — Amazon Elastic Compute Cloud (Amazon EC2) fornisce capacità di calcolo scalabile nel cloud AWS.
+ [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15): SQL Server è un sistema di gestione di database relazionali.
+ [SQL Server Management Studio (SSMS): SSMS](https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms?view=sql-server-ver15) è uno strumento per la gestione di SQL Server, incluso l'accesso, la configurazione e l'amministrazione dei componenti di SQL Server.

## Epiche
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-epics"></a>

### Creare e configurare un VPC
<a name="create-and-configure-a-vpc"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un VPC. | Accedi alla Console di gestione AWS e apri la console Amazon VPC. Crea un cloud privato virtuale (VPC) con un intervallo di blocchi IPv4 CIDR. | Amministratore di sistema | 
| Crea gruppi di sicurezza e rete. ACLs | Sulla console Amazon VPC, crea gruppi di sicurezza e liste di controllo degli accessi alla rete (rete ACLs) per il tuo VPC, in base alle tue esigenze. Puoi anche utilizzare le impostazioni predefinite per queste configurazioni. Per ulteriori informazioni su questa e altre storie, consulta la sezione «Risorse correlate». | Amministratore di sistema | 

### Creare e configurare il cluster Amazon DocumentDB
<a name="create-and-configure-the-amazon-documentdb-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
|  Crea un cluster Amazon DocumentDB. | Apri la console Amazon DocumentDB e scegli «Clusters». Scegli «Crea» e crea un cluster Amazon DocumentDB con un'istanza. Importante: assicurati di configurare questo cluster con i gruppi di sicurezza del tuo VPC. | Amministratore di sistema  | 
|  Installa la shell mongo. | La shell mongo è un'utilità da riga di comando che si utilizza per connettersi al cluster Amazon DocumentDB e interrogarlo. Per installarlo, esegui il comando «/etc/yum.repos.d/mongodb-org-3.6.repo» per creare il file del repository. Esegui il comando «sudo yum install mongodb-org-shell -y" per installare la shell mongo. Per crittografare i dati in transito, scarica la chiave pubblica per Amazon DocumentDB, quindi connettiti alla tua istanza Amazon DocumentDB. Per ulteriori informazioni su questi passaggi, consulta la sezione «Risorse correlate». | Amministratore di sistema  | 
| Crea un database nel cluster Amazon DocumentDB.  | Esegui il comando «use» con il nome del tuo database per creare un database nel tuo cluster Amazon DocumentDB. | Amministratore di sistema  | 

### Crea e configura l'istanza di replica AWS DMS
<a name="create-and-configure-the-aws-dms-replication-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'istanza di replica AWS DMS. | Apri la console AWS DMS e scegli «Crea istanza di replica». Inserisci un nome e una descrizione per l'attività di replica. Scegli la classe di istanza, la versione del motore, lo storage, il VPC, Multi-AZ e rendili accessibili al pubblico. Scegli la scheda «Avanzate» per configurare le impostazioni di rete e crittografia. Specificate le impostazioni di manutenzione, quindi scegliete «Crea istanza di replica». | Amministratore di sistema  | 
| Configura il database SQL Server.  | Accedi a Microsoft SQL Server e aggiungi una regola in entrata per la comunicazione tra l'endpoint di origine e l'istanza di replica AWS DMS. Utilizza l'indirizzo IP privato dell'istanza di replica come origine. Importante: l'istanza di replica e l'endpoint di destinazione devono trovarsi sullo stesso VPC. Utilizza una fonte alternativa nel gruppo di sicurezza se VPCs sono diverse per l'origine e le istanze di replica. | Amministratore di sistema  | 

### Crea e testa gli endpoint di origine e di destinazione in AWS DMS
<a name="create-and-test-the-source-and-target-endpoints-in-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea gli endpoint del database di origine e di destinazione. | Apri la console AWS DMS e scegli «Connetti gli endpoint del database di origine e di destinazione». Specificate le informazioni di connessione per i database di origine e di destinazione. Se necessario, scegli la scheda «Avanzate» per impostare i valori per «Attributi di connessione aggiuntivi». Scarica e usa il pacchetto di certificati nella configurazione del tuo endpoint. | Amministratore di sistema  | 
| Verifica la connessione dell'endpoint.  | Scegli «Esegui test» per testare la connessione. Risolvi eventuali messaggi di errore verificando le impostazioni del gruppo di sicurezza e le connessioni all'istanza di replica AWS DMS sia dall'istanza del database di origine che da quella di destinazione. | Amministratore di sistema  | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'attività di migrazione AWS DMS.  | Nella console AWS DMS, scegli «Attività», «Crea attività». Specificate le opzioni dell'attività, inclusi i nomi degli endpoint di origine e di destinazione e i nomi delle istanze di replica. In «Tipo di migrazione» scegli «Migra i dati esistenti» e «Replica solo le modifiche ai dati». Scegli «Avvia attività». | Amministratore di sistema  | 
| Esegui l'attività di migrazione di AWS DMS. | In «Impostazioni attività», specifica le impostazioni per la modalità di preparazione della tabella, ad esempio «Non fare nulla», «Elimina tabelle sulla destinazione», «Truncate» e «Includi colonne LOB nella replica». Imposta una dimensione LOB massima che AWS DMS accetterà e scegli «Abilita registrazione». Lascia le «Impostazioni avanzate» ai valori predefiniti e scegli «Crea attività». | Amministratore di sistema  | 
| Monitora la migrazione. | Nella console AWS DMS, scegli «Attività» e scegli l'attività di migrazione. Scegli «Task monitoring» per monitorare la tua attività. L'attività si interrompe quando la migrazione a pieno carico è completa e vengono applicate le modifiche memorizzate nella cache. | Amministratore di sistema  | 

### Testa e verifica la migrazione
<a name="test-and-verify-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
|  Connettiti al cluster Amazon DocumentDB utilizzando la shell mongo. | Apri la console Amazon DocumentDB, scegli il tuo cluster in «Clusters». Nella scheda «Connettività e sicurezza», scegli «Connettiti a questo cluster con la shell mongo». | Amministratore di sistema  | 
| Verifica i risultati della migrazione. | Esegui il comando «use» con il nome del tuo database, quindi esegui il comando «show collections». Esegui il comando «db. .count ();» con il nome del tuo database. Se i risultati corrispondono al database di origine, la migrazione è avvenuta con successo. | Amministratore di sistema  | 

## Risorse correlate
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-resources"></a>

**Creare e configurare un VPC**
+ [Crea un gruppo di sicurezza per il tuo VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups)
+ [Crea un ACL di rete](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)

** **

**Creare e configurare il cluster Amazon DocumentDB**
+ [Crea un cluster Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-cluster)
+ [Installa la shell mongo per Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-mongoshell)
+ [Connettiti al tuo cluster Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-connectcluster)

** **

**Crea e configura l'istanza di replica AWS DMS**
+ [Usa istanze di replica pubbliche e private](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.PublicPrivate)

** **

**Crea e testa gli endpoint di origine e di destinazione in AWS DMS**
+ [Usa Amazon DocumentDB come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/target.docdb.html)
+ [Usa un database SQL Server come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)
+ [Usa gli endpoint AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html)

** **

**Migra i dati**
+ [Migrazione ad Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-migration.html)

** **

**Altre risorse**
+ [Limitazioni all'uso di SQL Server come sorgente per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.Limitations) 
+ [Come usare Amazon DocumentDB per creare e gestire applicazioni su larga scala](https://aws.amazon.com/blogs/database/how-to-use-amazon-documentdb-with-mongodb-compatibility-to-build-and-manage-applications-at-scale/)

# Esegui la migrazione di un database ThoughtSpot Falcon locale su Amazon Redshift
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift"></a>

*Battulga Purevragcha e Antony Prasad Thevaraj, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-summary"></a>

I data warehouse locali richiedono tempi e risorse di amministrazione significativi, in particolare per set di dati di grandi dimensioni. Anche il costo finanziario della costruzione, della manutenzione e della crescita di questi magazzini è molto elevato. Per aiutare a gestire i costi, mantenere bassa la complessità di estrazione, trasformazione e caricamento (ETL) e fornire prestazioni man mano che i dati crescono, è necessario scegliere costantemente quali dati caricare e quali archiviare.

Migrando i [database ThoughtSpot Falcon](https://docs.thoughtspot.com/software/latest/data-caching) locali sul cloud Amazon Web Services (AWS), puoi accedere a data lake e data warehouse basati sul cloud che aumentano l'agilità aziendale, la sicurezza e l'affidabilità delle applicazioni, oltre a ridurre i costi complessivi dell'infrastruttura. Amazon Redshift aiuta a ridurre in modo significativo i costi e le spese operative di un data warehouse. Puoi anche utilizzare Amazon Redshift Spectrum per analizzare grandi quantità di dati nel suo formato nativo senza caricarli.

Questo modello descrive i passaggi e il processo per la migrazione di un database ThoughtSpot Falcon da un data center locale a un database Amazon Redshift sul cloud AWS.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database ThoughtSpot Falcon ospitato in un data center locale

**Versioni del prodotto**
+ ThoughtSpot versione 7.0.1 

## Architecture
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-architecture"></a>

![\[Migrazione di un database ThoughtSpot Falcon da un data center locale ad Amazon Redshift.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/b0ca29f4-b269-4b57-b386-738693a6b334/images/2b483990-1f30-439c-ba13-dc0cb0650360.png)


 

Il diagramma mostra il flusso di lavoro seguente:

1. I dati sono ospitati in un database relazionale locale.

1. AWS Schema Conversion Tool (AWS SCT) converte il linguaggio di definizione dei dati (DDL) compatibile con Amazon Redshift.

1. Dopo aver creato le tabelle, puoi migrare i dati utilizzando AWS Database Migration Service (AWS DMS).

1. I dati vengono caricati in Amazon Redshift.

1. I dati vengono archiviati in Amazon Simple Storage Service (Amazon S3) se utilizzi Redshift Spectrum o se hai già ospitato i dati in Amazon S3.

## Tools (Strumenti)
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html): AWS Data Migration Service (AWS DMS) ti aiuta a migrare i database in modo rapido e sicuro su AWS.
+ [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html) — Amazon Redshift è un servizio di data warehouse veloce, completamente gestito e su scala petabyte che semplifica ed economica l'analisi efficiente di tutti i dati utilizzando gli strumenti di business intelligence esistenti.
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) — AWS Schema Conversion Tool (AWS SCT) converte lo schema di database esistente da un motore di database a un altro.

## Epiche
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica la configurazione Amazon Redshift appropriata. | Identifica la configurazione del cluster Amazon Redshift appropriata in base ai tuoi requisiti e al volume di dati. Per ulteriori informazioni, consulta i [cluster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) nella documentazione di Amazon Redshift. | DBA | 
| Cerca Amazon Redshift per valutare se soddisfa i tuoi requisiti. | Usa [Amazon Redshift FAQs](https://aws.amazon.com/redshift/faqs/) per capire e valutare se Amazon Redshift soddisfa i tuoi requisiti. | DBA | 

### Prepara il cluster Amazon Redshift di destinazione
<a name="prepare-the-target-amazon-redshift-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cluster Amazon Redshift. | Accedi alla Console di gestione AWS, apri la console Amazon Redshift e crea un cluster Amazon Redshift in un cloud privato virtuale (VPC). Per ulteriori informazioni, consulta [Creazione di un cluster in un VPC nella documentazione](https://docs.aws.amazon.com/redshift/latest/mgmt/getting-started-cluster-in-vpc.html) di Amazon Redshift. | DBA | 
| Esegui un PoC per la progettazione del tuo database Amazon Redshift. | Segui le best practice di Amazon Redshift eseguendo un proof of concept (PoC) per la progettazione del tuo database. Per ulteriori informazioni, consulta [Condurre un proof of concept per Amazon](https://docs.aws.amazon.com/redshift/latest/dg/proof-of-concept-playbook.html) Redshift nella documentazione di Amazon Redshift. | DBA | 
| Crea utenti del database. | Crea gli utenti nel tuo database Amazon Redshift e concedi i ruoli appropriati per l'accesso allo schema e alle tabelle.  Per ulteriori informazioni, consulta [Concedere i privilegi di accesso per un utente o un gruppo](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) di utenti nella documentazione di Amazon Redshift. | DBA | 
| Applica le impostazioni di configurazione al database di destinazione. | Applica le impostazioni di configurazione al database Amazon Redshift in base ai tuoi requisiti. Per ulteriori informazioni sull'abilitazione dei parametri a livello di database, sessione e server, consulta il [riferimento alla configurazione nella documentazione di](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) Amazon Redshift. | DBA | 

### Crea oggetti nel cluster Amazon Redshift
<a name="create-objects-in-the-amazon-redshift-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea manualmente tabelle con DDL in Amazon Redshift. | (Facoltativo) Se utilizzi AWS SCT, le tabelle vengono create automaticamente. Tuttavia, se si verificano errori durante la replica DDLs, è necessario creare manualmente le tabelle | DBA | 
| Crea tabelle esterne per Redshift Spectrum. | Crea una tabella esterna con uno schema esterno per Amazon Redshift Spectrum. Per creare tabelle esterne, devi essere il proprietario dello schema esterno o un [superutente del database](https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html). Per ulteriori informazioni, consulta [Creazione di tabelle esterne per Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html) Spectrum nella documentazione di Amazon Redshift. | DBA | 

### Migrazione dei dati con AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Usa AWS DMS per migrare i dati. | Dopo aver creato il DDL delle tabelle nel database Amazon Redshift, migra i dati su Amazon Redshift utilizzando AWS DMS.Per passaggi e istruzioni dettagliate, consulta [Usare un database Amazon Redshift come destinazione per AWS DMS nella documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html). | DBA | 
| Utilizzate il comando COPY per caricare i dati. | Usa il `COPY` comando Amazon Redshift per caricare i dati da Amazon S3 ad Amazon Redshift.Per ulteriori informazioni, consulta [Utilizzo del comando COPY per il caricamento da Amazon S3 nella documentazione](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-tables-from-s3.html) di Amazon Redshift. | DBA | 

### Convalida il cluster Amazon Redshift
<a name="validate-the-amazon-redshift-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida i record di origine e di destinazione.  | Convalida il conteggio delle tabelle per i record di origine e di destinazione che sono stati caricati dal sistema di origine. | DBA | 
| Implementa le best practice di Amazon Redshift per l'ottimizzazione delle prestazioni. | Implementa le best practice di Amazon Redshift per la progettazione di tabelle e database. Per ulteriori informazioni, consulta il post sul blog [Le 10 migliori tecniche di ottimizzazione delle prestazioni per Amazon Redshift](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-techniques-for-amazon-redshift/). | DBA | 
| Ottimizza le prestazioni delle query. | Amazon Redshift utilizza query basate su SQL per interagire con dati e oggetti nel sistema. Il linguaggio di manipolazione dei dati (DML) è il sottoinsieme di SQL che puoi utilizzare per visualizzare, aggiungere, modificare ed eliminare dati. DDL è il sottoinsieme di SQL utilizzato per aggiungere, modificare ed eliminare oggetti di database come tabelle e viste.Per ulteriori informazioni, consulta [Tuning query performance](https://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html) nella documentazione di Amazon Redshift. | DBA | 
| Implementa WLM.  | È possibile utilizzare la gestione del carico di lavoro (WLM) per definire più code di interrogazioni e indirizzare le query alle code appropriate in fase di esecuzione.Per ulteriori informazioni, consulta [Implementazione della gestione del carico di lavoro](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html) nella documentazione di Amazon Redshift. | DBA | 
| Lavora con il ridimensionamento simultaneo. | Utilizzando la funzionalità Concurrency Scaling, è possibile supportare un numero virtualmente illimitato di utenti e query simultanee, con prestazioni di query costantemente elevate.Per ulteriori informazioni, consulta [Working with concurrency scaling nella documentazione di](https://docs.aws.amazon.com/redshift/latest/dg/concurrency-scaling.html) Amazon Redshift. | DBA | 
| Utilizza le best practice di Amazon Redshift per la progettazione di tabelle. | Quando pianifichi il tuo database, alcune importanti decisioni sulla progettazione delle tabelle possono influenzare fortemente le prestazioni complessive delle query.Per ulteriori informazioni sulla scelta dell'opzione di progettazione delle tabelle più appropriata, consulta le [best practice di Amazon Redshift per la progettazione di tabelle nella documentazione](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html) di Amazon Redshift. | DBA | 
| Crea viste materializzate in Amazon Redshift. | Una vista materializzata contiene un set di risultati precalcolato basato su una query SQL su una o più tabelle di base. È possibile emettere `SELECT` istruzioni per interrogare una vista materializzata nello stesso modo in cui si esegue una query su altre tabelle o viste del database.Per ulteriori informazioni, consulta [Creazione di viste materializzate in Amazon](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) Redshift nella documentazione di Amazon Redshift. | DBA | 
| Definire le giunzioni tra le tabelle. | Per cercare più di una tabella contemporaneamente ThoughtSpot, è necessario definire i join tra le tabelle specificando le colonne che contengono i dati corrispondenti su due tabelle. Queste colonne rappresentano la fine `primary key` `foreign key` del join.Puoi definirli utilizzando il `ALTER TABLE` comando in Amazon Redshift o. ThoughtSpot Per ulteriori informazioni, consulta [ALTER TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_TABLE.html) nella documentazione di Amazon Redshift. | DBA | 

### Configura ThoughtSpot la connessione ad Amazon Redshift
<a name="set-up-thoughtspot-connection-to-amazon-redshift"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
|  Aggiungi una connessione Amazon Redshift. | Aggiungi una connessione Amazon Redshift al tuo database Falcon locale ThoughtSpot .Per ulteriori informazioni, consulta [Aggiungere una connessione Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-add-connection.html) nella ThoughtSpot documentazione. | DBA | 
| Modifica la connessione Amazon Redshift. | Puoi modificare la connessione Amazon Redshift per aggiungere tabelle e colonne.Per ulteriori informazioni, consulta [Modificare una connessione Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-edit-connection.html) nella ThoughtSpot documentazione. | DBA | 
| Rimappa la connessione Amazon Redshift. | Modifica i parametri di connessione modificando il file di mappatura dei sorgenti .yaml creato quando hai aggiunto la connessione Amazon Redshift. Ad esempio, puoi rimappare la tabella o la colonna esistente su una tabella o colonna diversa in una connessione al database esistente. ThoughtSpot consiglia di controllare le dipendenze prima e dopo aver rimappato una tabella o una colonna in una connessione per assicurarsi che vengano visualizzate come richiesto.Per ulteriori informazioni, consulta [Rimappare una connessione Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-remap-connection.html) nella ThoughtSpot documentazione. | DBA | 
| Elimina una tabella dalla connessione Amazon Redshift.  | (Facoltativo) Se tenti di rimuovere una tabella in una connessione Amazon Redshift, ThoughtSpot verifica le dipendenze e mostra un elenco di oggetti dipendenti. Puoi scegliere gli oggetti elencati per eliminarli o rimuovere la dipendenza. È quindi possibile rimuovere la tabella.Per ulteriori informazioni, consulta [Eliminare una tabella da una connessione Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table.html) nella ThoughtSpot documentazione. | DBA | 
|  Elimina una tabella con oggetti dipendenti da una connessione Amazon Redshift. | (Facoltativo) Se tenti di eliminare una tabella con oggetti dipendenti, l'operazione viene bloccata. Viene visualizzata una `Cannot delete` finestra con un elenco di collegamenti agli oggetti dipendenti. Una volta rimosse tutte le dipendenze, è possibile eliminare la tabellaPer ulteriori informazioni, consulta [Eliminare una tabella con oggetti dipendenti da una connessione Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table-dependencies.html) nella ThoughtSpot documentazione. | DBA | 
| Elimina una connessione Amazon Redshift. | (Facoltativo) Poiché una connessione può essere utilizzata in più sorgenti di dati o visualizzazioni, è necessario eliminare tutte le fonti e le attività che utilizzano tale connessione prima di poter eliminare la connessione Amazon Redshift.Per ulteriori informazioni, consulta [Eliminare una connessione Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-connection.html) nella ThoughtSpot documentazione. | DBA | 
|  Controlla il riferimento di connessione per Amazon Redshift. | Assicurati di fornire le informazioni richieste per la tua connessione Amazon Redshift utilizzando il [riferimento Connection](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-connection-reference.html) nella ThoughtSpot documentazione. | DBA | 

## Informazioni aggiuntive
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-additional"></a>
+ [Analisi basata sull'intelligenza artificiale su qualsiasi scala con Amazon ThoughtSpot Redshift](https://aws.amazon.com/blogs/apn/ai-driven-analytics-at-any-scale-with-thoughtspot-and-amazon-redshift/)
+ [Prezzi di Amazon Redshift](https://aws.amazon.com/redshift/pricing/)
+ [Guida introduttiva ad AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html) 
+ [Guida introduttiva ad Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Utilizzo di agenti di estrazione dei dati](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Chick-fil-A migliora la velocità di acquisizione delle informazioni con ThoughtSpot e AWS](https://www.thoughtspot.com/sites/default/files/pdf/ThoughtSpot-Chick-fil-A-AWS-Case-Study.pdf) 

# Esegui la migrazione da Oracle Database ad Amazon RDS for PostgreSQL utilizzando Oracle GoldenGate
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate"></a>

*Dhairya Jindani, Sindhusha Paturu e Rajeshkumar Sabankar, Amazon Web Services*

## Riepilogo
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-summary"></a>

Questo modello mostra come migrare un database Oracle su Amazon Relational Database Service (Amazon RDS) per PostgreSQL utilizzando Oracle Cloud Infrastructure (OCI). GoldenGate

Utilizzando Oracle GoldenGate, puoi replicare i dati tra il tuo database di origine e uno o più database di destinazione con tempi di inattività minimi.

**Nota**  
Il database Oracle di origine può essere locale o su un'istanza Amazon Elastic Compute Cloud EC2 (Amazon). È possibile utilizzare una procedura simile quando si utilizzano strumenti di replica locali.

## Prerequisiti e limitazioni
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Una GoldenGate licenza Oracle
+ Driver Java Database Connectivity (JDBC) per la connessione al database PostgreSQL
+ Schema e tabelle creati con [AWS Schema Conversion Tool (AWS SCT)](https://aws.amazon.com/dms/schema-conversion-tool/) sul database Amazon RDS for PostgreSQL di destinazione

**Limitazioni**
+ Oracle GoldenGate può replicare solo i dati delle tabelle esistenti (caricamento iniziale) e le modifiche in corso (acquisizione dei dati di modifica)

**Versioni del prodotto**
+ Oracle Database Enterprise Edition 10g o versioni successive 
+ Oracle GoldenGate 12.2.0.1.1 per Oracle o versioni più recenti
+ Oracle GoldenGate 12.2.0.1.1 per PostgreSQL o versioni più recenti

## Architecture
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-architecture"></a>

Il diagramma seguente mostra un esempio di flusso di lavoro per la migrazione di un database Oracle ad Amazon RDS for PostgreSQL utilizzando Oracle: GoldenGate

![\[Flusso di lavoro di migrazione dal database Oracle locale ad Amazon RDS for PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/384f0eaf-8582-474a-a7f4-ec1048a4feb3/images/de541887-0d5f-4a9a-b136-ce2599355cb8.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Il [processo Oracle GoldenGate Extract](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-6419F3A9-71EC-4D14-9C41-3BAA1E3CA19C) viene eseguito sul database di origine per estrarre i dati.

1. Il [processo Oracle GoldenGate Replicat](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-5EF0326C-9058-4C40-8925-98A223388C95) fornisce i dati estratti al database Amazon RDS for PostgreSQL di destinazione.

## Tools (Strumenti)
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-tools"></a>
+ [Oracle](https://www.oracle.com/integration/goldengate/#:~:text=OCI%20GoldenGate%20is%20a%20real,in%20the%20Oracle%20Cloud%20Infrastructure.) ti GoldenGate aiuta a progettare, eseguire, orchestrare e monitorare la replica dei dati e le soluzioni di elaborazione dei dati in streaming nell'infrastruttura Oracle Cloud.
+ [Amazon Relational Database Service (Amazon RDS) per PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ti aiuta a configurare, gestire e scalare un database relazionale PostgreSQL nel cloud AWS.

## Epiche
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-epics"></a>

### Scarica e installa Oracle GoldenGate
<a name="download-and-install-oracle-goldengate"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica Oracle GoldenGate. | Scarica le seguenti versioni di Oracle GoldenGate:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html)[Per scaricare il software, consulta Oracle Downloads sul sito Web di Oracle. GoldenGate ](https://www.oracle.com/middleware/technologies/goldengate-downloads.html) | DBA | 
| Installa Oracle GoldenGate for Oracle sul server Oracle Database di origine. | Per istruzioni, consulta la [ GoldenGate documentazione di Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm). | DBA | 
| Installa il database Oracle GoldenGate per PostgreSQL sull'istanza Amazon. EC2  | [Per istruzioni, consulta la documentazione di Oracle. GoldenGate ](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm) | DBA | 

### Configura Oracle GoldenGate sui database di origine e di destinazione
<a name="configure-oracle-goldengate-on-the-source-and-target-databases"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura Oracle GoldenGate for Oracle Database sul database di origine. | Per istruzioni, consulta la [ GoldenGate documentazione di Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm).Assicurati di configurare quanto segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | DBA | 
| Configura Oracle GoldenGate per PostgreSQL sul database di destinazione. | Per istruzioni, vedere la [Parte VI Uso di Oracle GoldenGate per PostgreSQL](https://docs.oracle.com/en/middleware/goldengate/core/19.1/gghdb/using-oracle-goldengate-postgresql.html) sul sito Web di Oracle.Assicurati di configurare quanto segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | DBA | 

### Configura l'acquisizione dei dati
<a name="configure-the-data-capture"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il processo di estrazione nel database di origine. | Nel database Oracle di origine, crea un file di estrazione per estrarre i dati.Per istruzioni, consulta [ADD EXTRACT](https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/ggsci_commands006.htm#GWURF122) nella documentazione di Oracle.Il file di estrazione include la creazione del file dei parametri di estrazione e della directory del file trail. | DBA | 
| Configura una pompa di dati per trasferire il file trail dal database di origine al database di destinazione. | Crea un file di parametri EXTRACT e una directory di file trail seguendo le istruzioni in [PARFILE](https://docs.oracle.com/database/121/SUTIL/GUID-7A045C82-5993-44EB-AFAD-B7D39C34BCCD.htm#SUTIL859) in *Database Utilities* sul sito Web di Oracle.Per ulteriori informazioni, consulta [What is a](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-88674F53-1E07-4C00-9868-598F82D7113C) Trail? in *Fusion Middleware Understanding Oracle GoldenGate sul sito* Web di Oracle. | DBA | 
| Configura la replica sull' EC2 istanza Amazon. | Crea un file dei parametri di replica e una directory dei file trail.Per ulteriori informazioni sulla creazione di file di parametri di replica, vedere la sezione [3.5 Convalida di un file di parametri](https://docs.oracle.com/en/middleware/goldengate/core/21.3/admin/using-oracle-goldengate-parameter-files.html#GUID-1E32A9AD-25DB-4243-93CD-E643E7116215) nella documentazione di Oracle Database.Per ulteriori informazioni sulla creazione di una directory di file trail, vedere [Creazione di un trail nella documentazione](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/creating-trail.html) di Oracle Cloud.Assicurati di aggiungere una voce della tabella dei checkpoint nel file GLOBALS nella destinazione.Per ulteriori informazioni, consulta [Cos'è un replicato](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GGCON-GUID-5EF0326C-9058-4C40-8925-98A223388C95)? in *Fusion Middleware Understanding Oracle GoldenGate sul sito Web di Oracle*. | DBA | 

### Configurare la replica dei dati
<a name="configure-the-data-replication"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Nel database di origine, create un file di parametri per estrarre i dati per il caricamento iniziale. | Segui le istruzioni in [Creazione di un file di parametri in GGSCI nella documentazione](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) di Oracle Cloud.Assicurati che il Manager sia in esecuzione sulla destinazione. | DBA | 
| Nel database di destinazione, create un file di parametri per replicare i dati per il caricamento iniziale. | Segui le istruzioni in [Creazione di un file di parametri in GGSCI](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) nella documentazione di Oracle Cloud.Assicurati di aggiungere e avviare il processo Replicat. | DBA | 

### Passare al database Amazon RDS for PostgreSQL
<a name="cut-over-to-the-amazon-rds-for-postgresql-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Interrompi il processo Replicat e assicurati che i database di origine e di destinazione siano sincronizzati. | Confronta il numero di righe tra i database di origine e di destinazione per assicurarti che la replica dei dati abbia avuto successo. | DBA | 
| Configura il supporto del linguaggio di definizione dei dati (DDL). | Esegui lo script DDL per creare trigger, sequenze, sinonimi e chiavi referenziali su PostgreSQL.È possibile utilizzare qualsiasi applicazione client SQL standard per connettersi a un database nel cluster DB. Ad esempio, puoi usare [pgAdmin](https://www.pgadmin.org/) per connetterti alla tua istanza DB. | DBA | 

## Risorse correlate
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-resources"></a>
+ [Amazon RDS per *PostgreSQL* (Guida per l'utente di Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) RDS)
+ [ EC2 Documentazione Amazon](https://docs.aws.amazon.com/ec2/)
+ [Metodi e database di elaborazione GoldenGate supportati](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD112) da Oracle (documentazione Oracle)

# Esegui la migrazione di una tabella partizionata Oracle su PostgreSQL utilizzando AWS DMS
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms"></a>

*Saurav Mishra e Eduardo Valentim, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-summary"></a>

Questo modello descrive come velocizzare il caricamento di una tabella partizionata da Oracle a PostgreSQL utilizzando AWS Database Migration Service (AWS DMS), che non supporta il partizionamento nativo. Il database PostgreSQL di destinazione può essere installato su Amazon Elastic Compute Cloud (Amazon) oppure può essere un'istanza DB Edition compatibile con EC2 Amazon PostgreSQL o Amazon Aurora Edition Service (Amazon RDS) per PostgreSQL. 

Il caricamento di una tabella partizionata include i seguenti passaggi:

1. Crea una tabella principale simile alla tabella delle partizioni di Oracle, ma non include alcuna partizione.

1. Crea tabelle secondarie che erediteranno dalla tabella principale creata nel passaggio 1.

1. Create una funzione di procedura e un trigger per gestire gli inserti nella tabella principale.

Tuttavia, poiché il trigger viene attivato per ogni inserto, il caricamento iniziale con AWS DMS può essere molto lento.

Per velocizzare i caricamenti iniziali da Oracle a PostgreSQL 9.0, questo modello crea un task AWS DMS separato per ogni partizione e carica le tabelle secondarie corrispondenti. Si crea quindi un trigger durante il cutover. 

La versione 10 di PostgreSQL supporta il partizionamento nativo. Tuttavia, in alcuni casi potresti decidere di utilizzare il partizionamento ereditato. Per ulteriori informazioni, vedere la sezione Informazioni [aggiuntive](#migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional).

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle di origine con una tabella partizionata
+ Un database PostgreSQL su AWS

**Versioni del prodotto**
+ PostgreSQL 9.0

## Architecture
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Una tabella partizionata in Oracle

**Stack tecnologico Target**
+ Una tabella partizionata in PostgreSQL (su Amazon, Amazon RDS for PostgreSQL o Aurora PostgreSQL EC2)

**Architettura Target**

![\[I dati delle tabelle partizionati in Oracle vengono spostati su un task AWS DMS per ogni partizione, quindi in PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7fa2898e-3308-436a-aec8-ab6f680d7bac/images/1b9742ea-a13d-434c-83a7-56686cf76ea0.png)


## Tools (Strumenti)
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.

## Epiche
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-epics"></a>

### Configura AWS DMS
<a name="set-up-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea le tabelle in PostgreSQL. | Crea le tabelle principali e secondarie corrispondenti in PostgreSQL con le condizioni di controllo richieste per le partizioni. | DBA | 
| Crea il task AWS DMS per ogni partizione. | Includi la condizione di filtro della partizione nel task AWS DMS. Mappare le partizioni alle tabelle secondarie PostgreSQL corrispondenti. | DBA | 
| Esegui le attività di AWS DMS utilizzando l'acquisizione dei dati a pieno carico e modifica (CDC). | Assicurati che il `StopTaskCachedChangesApplied` parametro sia impostato su `true` e che il `StopTaskCachedChangesNotApplied` parametro sia impostato su. `false` | DBA | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Interrompi le attività di replica. | Prima di interrompere le attività, verificate che l'origine e la destinazione siano sincronizzate. | DBA | 
| Crea un trigger nella tabella principale. | Poiché la tabella principale riceverà tutti i comandi di inserimento e aggiornamento, create un trigger che indirizzerà questi comandi alle rispettive tabelle secondarie in base alla condizione di partizionamento. | DBA | 

## Risorse correlate
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Partizionamento delle tabelle (documentazione PostgreSQL)](https://www.postgresql.org/docs/10/ddl-partitioning.html)

## Informazioni aggiuntive
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional"></a>

Sebbene la versione 10 di PostgreSQL supporti il partizionamento nativo, potresti decidere di utilizzare il partizionamento ereditato per i seguenti casi d'uso:
+ Il partizionamento impone una regola secondo cui tutte le partizioni devono avere lo stesso set di colonne del set principale, ma l'ereditarietà delle tabelle supporta i figli con colonne aggiuntive.
+ L'ereditarietà delle tabelle supporta ereditarietà multiple.
+ Il partizionamento dichiarativo supporta solo il partizionamento di elenchi e intervalli. Con l'ereditarietà delle tabelle, puoi dividere i dati come desideri. Tuttavia, se l'esclusione dei vincoli non è in grado di eliminare efficacemente le partizioni, le prestazioni delle query ne risentiranno.
+ Alcune operazioni richiedono un blocco più forte quando si utilizza il partizionamento dichiarativo rispetto a quando si utilizza l'ereditarietà delle tabelle. Ad esempio, l'aggiunta o la rimozione di una partizione da o verso una tabella partizionata richiede un `ACCESS EXCLUSIVE` blocco sulla tabella principale, mentre un blocco è sufficiente per l'ereditarietà regolare. `SHARE UPDATE EXCLUSIVE`

Quando utilizzi partizioni di lavoro separate, puoi anche ricaricare le partizioni in caso di problemi di convalida di AWS DMS. Per un migliore controllo delle prestazioni e della replica, esegui attività su istanze di replica separate.

# Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for MySQL
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql"></a>

*Jitender Kumar, Srini Ramaswamy e Neha Sharma, Amazon Web Services*

## Riepilogo
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un'istanza Amazon Relational Database Service (Amazon RDS) per Oracle DB a un'istanza DB Amazon RDS for MySQL su Amazon Web Services (AWS). Il modello utilizza AWS Database Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT). 

Il modello fornisce le migliori pratiche per gestire la migrazione delle procedure archiviate. Inoltre, illustra le modifiche al codice per supportare il livello applicativo. 

## Prerequisiti e limitazioni
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un database sorgente Amazon RDS for Oracle.
+ Un database di destinazione Amazon RDS for MySQL. I database di origine e di destinazione devono trovarsi nello stesso cloud privato virtuale (VPC). Se ne utilizzi più VPCs o devi disporre delle autorizzazioni di accesso richieste.
+ Gruppi di sicurezza che consentono la connettività tra i database di origine e di destinazione, AWS SCT, il server delle applicazioni e AWS DMS.
+ Un account utente con il privilegio richiesto per eseguire AWS SCT sul database di origine.
+ Registrazione supplementare abilitata per l'esecuzione di AWS DMS sul database di origine.

**Limitazioni**
+ Il limite di dimensione del database Amazon RDS di origine e destinazione è di 64 TB. Per informazioni sulle dimensioni di Amazon RDS, consulta la [documentazione AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html).
+ Oracle non fa distinzione tra maiuscole e minuscole per gli oggetti del database, ma MySQL no. AWS SCT può gestire questo problema durante la creazione di un oggetto. Tuttavia, è necessario un po' di lavoro manuale per supportare la totale indistinzione tra maiuscole e minuscole.
+ Questa migrazione non utilizza le estensioni MySQL per abilitare le funzioni native di Oracle. AWS SCT gestisce la maggior parte della conversione, ma è necessario del lavoro per modificare il codice manualmente.
+ Nell'applicazione sono necessarie modifiche al driver Java Database Connectivity (JDBC).

**Versioni del prodotto**
+ Amazon RDS for Oracle 12.2.0.1 e versioni successive. Per le versioni di RDS for Oracle attualmente supportate, consulta la [documentazione AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.database-versions.html).
+ Amazon RDS for MySQL 8.0.15 e versioni successive. [Per le versioni RDS for MySQL attualmente supportate, consulta la documentazione AWS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html)
+ AWS DMS versione 3.3.0 e successive. Consulta la documentazione AWS per ulteriori informazioni sugli [endpoint di origine](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html) e di [destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) supportati da AWS DMS.
+ AWS SCT versione 1.0.628 e successive.  Consulta la [matrice di supporto degli endpoint di origine e destinazione di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) nella documentazione AWS.

## Architecture
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-architecture"></a>

**Stack tecnologico di origine**
+ Amazon RDS per Oracle. Per ulteriori informazioni, consulta [Usare un database Oracle come sorgente per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). 

**Stack tecnologico Target**
+ Amazon RDS per MySQL. Per ulteriori informazioni, consulta [Usare un database compatibile con MySQL come destinazione per](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) AWS DMS.

**Architettura di migrazione**

Nel diagramma seguente, AWS SCT copia e converte gli oggetti dello schema dal database di origine Amazon RDS for Oracle e invia gli oggetti al database di destinazione Amazon RDS for MySQL. AWS DMS replica i dati dal database di origine e li invia all'istanza Amazon RDS for MySQL.

![\[AWS SCT, AWS DMS e Amazon RDS distribuiti in una sottorete privata.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e1efa7c2-47c1-4677-80bc-6b19250fc0d6/images/b54a8442-9ab9-4074-b8f6-a08f87fa2f52.jpeg)


## Tools (Strumenti)
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-tools"></a>
+ [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [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. Questo modello utilizza [Amazon RDS for](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle [e Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html).
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.

## Epiche
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni e i motori del database di origine e di destinazione. |  | DBA | 
|  Identifica i requisiti hardware per l'istanza del server di destinazione. |  | DBA, SysAdmin | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, SysAdmin | 
| Scegli il tipo di istanza corretto (capacità, funzionalità di archiviazione, funzionalità di rete). |  | DBA, SysAdmin | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, SysAdmin  | 
| Scegli una strategia di migrazione delle applicazioni. | Valuta se preferisci un periodo di inattività totale o parziale per le attività successive. | DBA, proprietario dell'app SysAdmin | 

### Configurare l'infrastruttura
<a name="configure-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un VPC e delle sottoreti. |  | SysAdmin | 
| Crea gruppi di sicurezza e liste di controllo degli accessi alla rete (). ACLs |  | SysAdmin | 
| Configura e avvia l'istanza Amazon RDS for Oracle. |  | DBA, SysAdmin | 
| Configura e avvia l'istanza Amazon RDS for MySQL.  |  | DBA, SysAdmin | 
| Preparare un test case per la convalida della conversione del codice. | Ciò contribuirà al test unitario del codice convertito. | DBA, Sviluppatore | 
| Configura l'istanza AWS DMS. |  |  | 
| Configura gli endpoint di origine e destinazione in AWS DMS. |  |  | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera lo script del database di destinazione utilizzando AWS SCT. | Verifica l'accuratezza del codice convertito da AWS SCT. Sarà necessario un po' di lavoro manuale. | DBA, Sviluppatore | 
| In AWS SCT, scegli l'impostazione «Case Insensitive». | In AWS SCT, scegli Project Settings, Target Case Sensitivity, Case Insensitive. | DBA, Sviluppatore | 
| In AWS SCT, scegli di non utilizzare la funzione nativa Oracle. | In Project Settings, controlla le funzioni TO\$1 CHAR/TO\$1NUMBER/TO \$1DATE. | DBA, Sviluppatore | 
| Apporta modifiche al codice «sql%notfound». | Potrebbe essere necessario convertire il codice manualmente. |  | 
| Interrogazione su tabelle e oggetti nelle stored procedure (utilizzare query minuscole). |  | DBA, Sviluppatore | 
| Crea lo script principale dopo aver apportato tutte le modifiche, quindi distribuisci lo script principale nel database di destinazione. |  | DBA, Sviluppatore | 
| Esegui il test unitario delle procedure memorizzate e delle chiamate alle applicazioni utilizzando dati di esempio.  |  |  | 
| Pulisci i dati creati durante il test unitario. |  | DBA, Sviluppatore | 
| Elimina i vincoli di chiave esterna sul database di destinazione. | Questo passaggio è necessario per caricare i dati iniziali. Se non vuoi eliminare i vincoli di chiave esterna, devi creare un'attività di migrazione per i dati specifici delle tabelle primarie e secondarie. | DBA, Sviluppatore | 
| Rilascia le chiavi primarie e le chiavi univoche sul database di destinazione. | Questo passaggio consente di ottenere prestazioni migliori per il carico iniziale. | DBA, Sviluppatore | 
| Abilita la registrazione supplementare sul database di origine.  |  | DBA | 
| Crea un'attività di migrazione per il carico iniziale in AWS DMS, quindi eseguila. | Scegli l'opzione per migrare i dati esistenti. | DBA | 
| Aggiungi le chiavi primarie e le chiavi esterne al database di destinazione. | I vincoli devono essere aggiunti dopo il caricamento iniziale. | DBA, Sviluppatore | 
| Crea un'attività di migrazione per la replica continua. | La replica continua mantiene il database di destinazione sincronizzato con il database di origine. | DBA | 

### Migrazione delle applicazioni
<a name="migrate-applications"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Sostituisci le funzioni native di Oracle con le funzioni native di MySQL. |  | Proprietario dell'app | 
| Assicurati che vengano utilizzati solo nomi in minuscolo per gli oggetti del database nelle query SQL. |  | DBA, proprietario dell'app SysAdmin | 

### Passa al database di destinazione
<a name="cut-over-to-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Arresta il server delle applicazioni. |  | Proprietario dell'app | 
| Verifica che i database di origine e di destinazione siano sincronizzati. |  | DBA, proprietario dell'app | 
| Arresta l'istanza DB di Amazon RDS for Oracle. |  | DBA | 
| Interrompi l'attività di migrazione. | Questa operazione si interromperà automaticamente dopo aver completato il passaggio precedente. | DBA | 
| Cambia la connessione JDBC da Oracle a MySQL. |  | Proprietario dell'app, DBA | 
| Avvia l'applicazione. |  | DBA SysAdmin, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rivedi e convalida i documenti del progetto. |  | DBA, SysAdmin | 
| Raccogli le metriche relative ai tempi di migrazione, alla percentuale di attività manuali rispetto a quelle eseguite con strumenti, ai risparmi sui costi, ecc. |  | DBA, SysAdmin | 
| Blocca ed elimina le istanze AWS DMS. |  | DBA | 
| Rimuovi gli endpoint di origine e di destinazione. |  | DBA | 
| Rimuovi le attività di migrazione. |  | DBA | 
| Scatta uno snapshot dell'istanza DB di Amazon RDS for Oracle. |  | DBA | 
| Elimina l'istanza DB di Amazon RDS for Oracle. |  | DBA | 
| Chiudi ed elimina tutte le altre risorse AWS temporanee che hai utilizzato. |  | DBA, SysAdmin | 
| Chiudi il progetto e fornisci eventuali feedback. |  | DBA | 

## Risorse correlate
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html)
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Esegui la migrazione da IBM Db2 su Amazon a EC2 Aurora PostgreSQL compatibile con AWS DMS e AWS SCT
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct"></a>

*Sirsendu Halder e Abhimanyu Chhabra, Amazon Web Services*

## Riepilogo
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un database IBM Db2 su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) verso un'istanza DB Edition compatibile con Amazon Aurora PostgreSQL. Questo modello utilizza AWS Database Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT) per la migrazione dei dati e la conversione dello schema.

Il modello mira a una strategia di migrazione online con tempi di inattività minimi o nulli per un database IBM Db2 da più terabyte con un numero elevato di transazioni. Ti consigliamo di convertire le colonne in chiavi primarie (PKs) e chiavi esterne (FKs) con il tipo di dati `BIGINT` in `INT` o in PostgreSQL `NUMERIC` per prestazioni migliori. 

## Prerequisiti e limitazioni
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo 
+ Un database IBM Db2 di origine su un'istanza EC2 

**Versioni del prodotto**
+ DB2/LINUXX8664 versione 11.1.4.4 e successive

## Architecture
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-architecture"></a>

**Stack tecnologico di origine******
+ Un database Db2 su un'istanza EC2  

**Stack tecnologico Target**
+ Un'istanza DB Aurora compatibile con PostgreSQL versione 10.18 o successiva

**Architettura di migrazione del database******

![\[Utilizzo di AWS DMS per migrare da IMB Db2 su Amazon EC2 a Aurora compatibile con PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5e737fab-3e04-4887-9fb0-d1c88503b57d/images/789fabcc-8052-40d5-a746-986d799576e9.png)


## Tools (Strumenti)
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare i database nel cloud AWS o tra combinazioni di configurazioni cloud e locali. Il database di origine rimane pienamente operativo durante la migrazione, riducendo al minimo i tempi di inattività delle applicazioni che si basano sul database. Puoi utilizzare AWS DMS per migrare i tuoi dati da e verso i database commerciali e open source più utilizzati. AWS DMS supporta migrazioni eterogenee tra diverse piattaforme di database, come IBM Db2 verso Aurora PostgreSQL versione 10.18 o superiore. Per i dettagli, consulta [Sources for Data Migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) e [Targets for Data Migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) nella documentazione di AWS DMS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenee convertendo automaticamente lo schema del database di origine e la maggior parte degli oggetti del codice del database, tra cui viste, stored procedure e funzioni, in un formato compatibile con il database di destinazione. Tutti gli oggetti che non vengono convertiti automaticamente sono chiaramente contrassegnati in modo che possano essere convertiti manualmente per completare la migrazione. AWS SCT può anche scansionare il codice sorgente dell'applicazione alla ricerca di istruzioni SQL incorporate e convertirle. 

## Epiche
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-epics"></a>

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza DB compatibile con Aurora PostgreSQL. | Per creare l'istanza DB, segui le istruzioni nella [documentazione AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). Per il tipo di motore, scegli **Amazon Aurora**. Per l'edizione, scegli l'edizione compatibile con **Amazon Aurora PostgreSQL**.L'istanza DB Aurora compatibile con PostgreSQL versione 10.18 o successiva deve trovarsi nello stesso cloud privato virtuale (VPC) del database IBM Db2 di origine. | Amazon RDS | 

### Converti lo schema del tuo database
<a name="convert-your-database-schema"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa e verifica AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Amministratore AWS, DBA, ingegnere addetto alla migrazione | 
| Avvia AWS SCT e crea un progetto. | Per avviare lo strumento AWS SCT e creare un nuovo progetto per eseguire un rapporto di valutazione della migrazione del database, segui le istruzioni nella documentazione di [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Launching) | Ingegnere della migrazione | 
| Aggiungi server di database e crea una regola di mappatura. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingegnere della migrazione | 
| Crea un rapporto di valutazione della migrazione del database.  | Crea il report di valutazione della migrazione del database seguendo i passaggi nella [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) | Ingegnere della migrazione | 
| Visualizza il rapporto di valutazione. | Utilizza la scheda **Riepilogo** del rapporto di valutazione della migrazione del database per visualizzare il rapporto e analizzare i dati. Questa analisi ti aiuterà a determinare la complessità della migrazione. Per ulteriori informazioni, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html) | Ingegnere della migrazione | 
| Convertire lo schema. | Per convertire gli schemi del database di origine:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Per ulteriori informazioni, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Converting) | Ingegnere della migrazione | 
| Applica lo schema del database convertito all'istanza DB di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Per ulteriori informazioni, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.ApplyingConversion) | Ingegnere della migrazione | 

### Migra i tuoi dati
<a name="migrate-your-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura un gruppo di parametri VPC e DB.  | Configura un gruppo di parametri VPC e DB e configura le regole e i parametri in entrata necessari per la migrazione. Per istruzioni, consulta la [documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Prerequisites.html).Per il gruppo di sicurezza VPC, seleziona sia l' EC2 istanza per Db2 che l'istanza DB Aurora compatibile con PostgreSQL. Questa istanza di replica deve trovarsi nello stesso VPC delle istanze DB di origine e di destinazione. | Ingegnere della migrazione | 
| Prepara le istanze DB di origine e di destinazione. | Prepara le istanze DB di origine e di destinazione per la migrazione. In un ambiente di produzione, il database di origine esisterà già.Per il database di origine, il nome del server deve essere il Domain Name System (DNS) pubblico dell' EC2 istanza in cui è in esecuzione Db2. Come nome utente, è possibile utilizzare `db2inst1` seguito dalla porta, che sarà 5000 per IBM Db2.  | Ingegnere della migrazione | 
| Crea un EC2 client Amazon e degli endpoint. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingegnere della migrazione | 
| Crea un'istanza di replica. | Crea un'istanza di replica utilizzando la console AWS DMS e specifica gli endpoint di origine e destinazione. L'istanza di replica esegue la migrazione dei dati tra gli endpoint. Per ulteriori informazioni, consulta la [documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html).  | Ingegnere della migrazione | 
| Crea un'attività AWS DMS per migrare i dati. | [Crea un'attività per caricare le tabelle IBM Db2 di origine nell'istanza database PostgreSQL di destinazione seguendo i passaggi nella documentazione di AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingegnere della migrazione | 

## Risorse correlate
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-resources"></a>

**Riferimenti**
+ [Documentazione Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
+ [Documentazione FDW (Foreign Data Wrapper) di PostgreSQL](https://www.postgresql.org/docs/10/postgres-fdw.html) 
+ [Documentazione PostgreSQL IMPORT FOREIGN SCHEMA](https://www.postgresql.org/docs/10/sql-importforeignschema.html) 
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/index.html)  
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 

**Tutorial e video**
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/) (procedura dettagliata)
+ [Introduzione ad Amazon EC2 - Elastic Cloud Server e hosting con AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (video)

# Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando AWS DMS SharePlex
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms"></a>

*Kumar Babu PG, Amazon Web Services*

## Riepilogo
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-summary"></a>

Questo modello descrive come migrare un database Oracle 8i o 9i locale su Amazon Relational Database Service (Amazon RDS) per PostgreSQL o Amazon Aurora PostgreSQL. AWS Database Migration Service (AWS DMS) non supporta Oracle 8i o 9i come origine, quindi Quest SharePlex replica i dati da un database 8i o 9i locale a un database Oracle intermedio (Oracle 10g o 11g), compatibile con AWS DMS.

Dall'istanza Oracle intermedia, lo schema e i dati vengono migrati al database PostgreSQL su AWS utilizzando AWS Schema Conversion Tool (AWS SCT) e AWS DMS. Questo metodo consente di ottenere uno streaming continuo di dati dal database Oracle di origine all'istanza database PostgreSQL di destinazione con un ritardo di replica minimo. In questa implementazione, il downtime è limitato al tempo necessario per creare o convalidare tutte le chiavi esterne, i trigger e le sequenze sul database PostgreSQL di destinazione.

La migrazione utilizza un'istanza Amazon Elastic Compute Cloud (Amazon EC2) con Oracle 10g o 11g installato per ospitare le modifiche dal database Oracle di origine. AWS DMS utilizza questa istanza Oracle intermedia come origine per lo streaming dei dati verso Amazon RDS for PostgreSQL o Aurora PostgreSQL. La replica dei dati può essere messa in pausa e ripresa dal database Oracle locale all'istanza Oracle intermedia. Può anche essere messo in pausa e ripreso dall'istanza Oracle intermedia al database PostgreSQL di destinazione in modo da poter convalidare i dati utilizzando la convalida dei dati AWS DMS o uno strumento di convalida dei dati personalizzato.

## Prerequisiti e limitazioni
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle 8i o 9i di origine in un data center locale 
+ AWS Direct Connect configurato tra il data center locale e AWS 
+ Driver Java Database Connectivity (JDBC) per i connettori AWS SCT installati su un computer locale o sull'istanza EC2 in cui è installato AWS SCT
+ Familiarità con [l'uso di un database Oracle come sorgente AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiarità con [l'uso di un database PostgreSQL come target AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ Familiarità con la replica dei dati Quest SharePlex 

 

**Limitazioni**
+ Il limite di dimensione del database è di 64 TB
+ Il database Oracle locale deve essere Enterprise Edition

 

**Versioni del prodotto**
+ Oracle 8i o 9i per il database di origine
+ Oracle 10g o 11g per il database intermedio 
+ PostgreSQL 9.6 o versione successiva

## Architecture
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle 8i o 9i 
+ Quest SharePlex 

 

**Stack tecnologico Obiettivo**
+ Amazon RDS per PostgreSQL o Aurora PostgreSQL 

** **

**Architettura di origine e destinazione**

![\[Architecture diagram showing migration from on-premises Oracle database to AWS cloud using various services.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/b6c30668-fc2e-4293-a59a-e01fd151f4bb/images/25082670-0bf3-4b20-8c80-99c6633b046f.png)


## Tools (Strumenti)
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-tools"></a>
+ **AWS DMS** — [AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) (AWS DMS) ti aiuta a migrare i database in modo rapido e sicuro. Il database di origine rimane pienamente operativo durante la migrazione, riducendo al minimo i tempi di inattività delle applicazioni che si basano sul database. AWS DMS può migrare i dati da e verso i database commerciali e open source più utilizzati. 
+ **AWS SCT** — [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) rende prevedibili le migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte degli oggetti del codice del database, tra cui viste, stored procedure e funzioni, in un formato compatibile con il database di destinazione. Gli oggetti che non possono essere convertiti automaticamente sono chiaramente contrassegnati in modo che possano essere convertiti manualmente per completare la migrazione. AWS SCT può anche scansionare il codice sorgente dell'applicazione alla ricerca di istruzioni SQL incorporate e convertirle come parte di un progetto di conversione dello schema del database. Durante questo processo, AWS SCT esegue l'ottimizzazione del codice nativo del cloud convertendo le funzioni legacy di Oracle e SQL Server nelle loro equivalenti AWS, per aiutarti a modernizzare le tue applicazioni durante la migrazione dei database. Una volta completata la conversione dello schema, AWS SCT può aiutare a migrare i dati da una serie di data warehouse ad Amazon Redshift utilizzando agenti di migrazione dei dati integrati.
+ **Quest SharePlex** — [Quest SharePlex](https://www.quest.com/register/120420/?gclid=Cj0KCQiA6IHwBRCJARIsALNjViVSt9fHqAsf9XbWkoCwKKyQqollR_5kSxNhBagh9s3spQT4IQCaVy0aAmCnEALw_wcB) è uno strumento di replica Oracle-to-Oracle dei dati per spostare i dati con tempi di inattività minimi e nessuna perdita di dati.

## Epiche
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-epics"></a>

### Crea l' EC2 istanza e installa Oracle
<a name="create-the-ec2-instance-and-install-oracle"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la rete per Amazon EC2. | Crea il cloud privato virtuale (VPC), le sottoreti, il gateway Internet, le tabelle di routing e i gruppi di sicurezza. | AWS SysAdmin | 
| Crea la nuova EC2 istanza. | Seleziona l'Amazon Machine Image (AMI) per l' EC2 istanza. Scegli la dimensione dell'istanza e configura i dettagli dell'istanza: il numero di istanze (1), il VPC e la sottorete del passaggio precedente, assegnazione automatica dell'IP pubblico e altre opzioni. Aggiungi spazio di archiviazione, configura i gruppi di sicurezza e avvia l'istanza. Quando richiesto, create e salvate una key pair per il passaggio successivo. | AWS SysAdmin | 
| Installa Oracle sull' EC2 istanza. | Acquisisci le licenze e i file binari Oracle richiesti e installa Oracle 10g o 11g sull'istanza. EC2  | DBA | 

### Configura SharePlex su un' EC2 istanza e configura la replica dei dati
<a name="set-up-shareplex-on-an-ec2-instance-and-configure-data-replication"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configurare SharePlex. | Crea un' EC2 istanza Amazon e installa i SharePlex file binari compatibili con Oracle 8i o 9i. | AWS SysAdmin, DBA | 
| Configura la replica dei dati. | Segui le SharePlex best practice per configurare la replica dei dati da un database Oracle 8i/9i locale a un'istanza Oracle 10g/11g. | DBA | 

### Convertire lo schema del database Oracle in PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS SCT. | Crea un nuovo report, quindi connettiti a Oracle come origine e PostgreSQL come destinazione. Nelle impostazioni del progetto, apri la scheda SQL Scripting e modifica lo script SQL di destinazione in File multipli. | DBA | 
| Convertire lo schema del database Oracle. | Nella scheda Azione, scegli Genera report, Converti schema e quindi Salva come SQL. | DBA | 
| Modifica gli script SQL generati da AWS SCT. |  | DBA | 

### Crea e configura l'istanza database Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'istanza database Amazon RDS. | Nella console Amazon RDS, crea una nuova istanza DB PostgreSQL. | AWS SysAdmin, DBA | 
| Configura l'istanza DB. | Specificate la versione del motore DB, la classe dell'istanza DB, l'implementazione Multi-AZ, il tipo di storage e lo storage allocato. Immettere l'identificatore dell'istanza DB, un nome utente principale e una password principale. | AWS SysAdmin, DBA | 
| Configura rete e sicurezza. | Specificare il VPC, il gruppo di sottoreti, l'accessibilità pubblica, la preferenza della zona di disponibilità e i gruppi di sicurezza. | AWS SysAdmin, DBA | 
| Configura le opzioni del database. | Specificare il nome del database, la porta, il gruppo di parametri, la crittografia e la chiave principale. | AWS SysAdmin, DBA | 
| Configurare i backup. | Specificate il periodo di conservazione del backup, la finestra di backup, l'ora di inizio, la durata e se copiare i tag nelle istantanee. | AWS SysAdmin, DBA | 
| Configura le opzioni di monitoraggio. | Abilita o disabilita il monitoraggio avanzato e le informazioni sulle prestazioni. | AWS SysAdmin, DBA | 
| Configura le opzioni di manutenzione. | Specificare l'aggiornamento automatico della versione secondaria, la finestra di manutenzione e il giorno, l'ora e la durata di inizio. | AWS SysAdmin, DBA | 
| Esegui gli script di pre-migrazione da AWS SCT. | Nell'istanza Amazon RDS, esegui questi script: create\$1database.sql, create\$1sequence.sql, create\$1table.sql, create\$1view.sql e create\$1function.sql. | AWS SysAdmin, DBA | 

### Migra i dati utilizzando AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza di replica in AWS DMS. | Completa i campi per il nome, la classe dell'istanza, il VPC (come per l' EC2 istanza), Multi-AZ e l'accessibilità pubblica. Nella sezione di configurazione avanzata, specifica lo storage allocato, il gruppo di sottoreti, la zona di disponibilità, i gruppi di sicurezza VPC e la chiave principale di AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Crea l'endpoint del database di origine. | Specificare il nome dell'endpoint, il tipo, il motore di origine (Oracle), il nome del server (nome DNS EC2 privato Amazon), la porta, la modalità SSL, il nome utente, la password, il SID, il VPC (specifica il VPC che ha l'istanza di replica) e l'istanza di replica. Per testare la connessione, scegli Run Test, quindi crea l'endpoint. Puoi anche configurare le seguenti impostazioni avanzate: maxFileSize e numberDataType Scale. | AWS SysAdmin, DBA | 
| Crea l'attività di replica AWS DMS. | Specificare il nome dell'attività, l'istanza di replica, gli endpoint di origine e di destinazione e l'istanza di replica. Per il tipo di migrazione, scegli «Migra i dati esistenti e replica le modifiche in corso». Deseleziona la casella di controllo «Avvia attività al momento della creazione». | AWS SysAdmin, DBA | 
| Configura le impostazioni delle attività di replica di AWS DMS. | Per la modalità di preparazione della tabella di destinazione, scegli «Non fare nulla». Interrompi l'attività dopo il completamento del caricamento completo per creare le chiavi primarie. Specificate la modalità LOB limitata o completa e attivate le tabelle di controllo. Facoltativamente, è possibile configurare l'impostazione CommitRate avanzata. | DBA | 
| Configura le mappature delle tabelle. | Nella sezione mappature delle tabelle, crea una regola di inclusione per tutte le tabelle in tutti gli schemi inclusi nella migrazione, quindi crea una regola di esclusione. Aggiungi tre regole di trasformazione per convertire i nomi di schema, tabella e colonna in lettere minuscole e aggiungi tutte le altre regole necessarie per questa migrazione specifica. | DBA | 
| Avvia l’attività . | Avvia l'attività di replica. Accertatevi che il carico sia in esecuzione a pieno carico. Esegui ALTER SYSTEM SWITCH LOGFILE sul database Oracle primario per avviare l'attività. | DBA | 
| Esegui gli script di migrazione intermedia da AWS SCT. | In Amazon RDS for PostgreSQL, esegui questi script: create\$1index.sql e create\$1constraint.sql. | DBA | 
| Riavviare l'attività per continuare l'acquisizione dei dati delle modifiche (CDC). | Nell'istanza DB Amazon RDS for PostgreSQL, esegui VACUUM e riavvia l'attività AWS DMS per applicare le modifiche CDC memorizzate nella cache. | DBA | 

### Passa al database PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Controlla i log e le tabelle dei metadati di AWS DMS. | Convalida eventuali errori e correggili se necessario. | DBA | 
| Interrompi tutte le dipendenze Oracle. | Chiudi i listener sul database Oracle ed esegui ALTER SYSTEM SWITCH LOGFILE. Interrompi l'attività AWS DMS quando non mostra alcuna attività. | DBA | 
| Esegui gli script post-migrazione da AWS SCT. | In Amazon RDS for PostgreSQL, esegui questi script: create\$1foreign\$1key\$1constraint.sql e create\$1triggers.sql. | DBA | 
| Completa eventuali passaggi aggiuntivi di Amazon RDS for PostgreSQL. | Incrementa le sequenze in modo che corrispondano a quelle di Oracle, se necessario, esegui VACUUM e ANALYZE e scatta un'istantanea per verificare la conformità. | DBA | 
| Apri le connessioni ad Amazon RDS for PostgreSQL. | Rimuovi i gruppi di sicurezza AWS DMS da Amazon RDS for PostgreSQL, aggiungi gruppi di sicurezza di produzione e indirizza le tue applicazioni verso il nuovo database. | DBA | 
| Pulisci le risorse AWS DMS. | Rimuovi gli endpoint, le attività di replica, le istanze di replica e l'istanza. EC2  | SysAdmin, DBA | 

## Risorse correlate
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-resources"></a>
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Prezzi di Amazon RDS per PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Utilizzo di un database Oracle come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilizzo di un database PostgreSQL come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [Documentazione Quest SharePlex ](https://support.quest.com/shareplex/9.0.2/technical-documents)

# Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando viste materializzate e AWS DMS
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms"></a>

*Kumar Babu PG e Pragnesh Patel, Amazon Web Services*

## Riepilogo
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-summary"></a>

Questo modello descrive come migrare un database Oracle 8i o 9i legacy locale verso Amazon Relational Database Service (Amazon RDS) per PostgreSQL o Amazon Aurora PostgreSQL Compatible Edition. 

AWS Database Migration Service (AWS DMS) non supporta Oracle 8i o 9i come sorgente, quindi questo modello utilizza un'istanza di database Oracle intermedia compatibile con AWS DMS, come Oracle 10g o 11g. Utilizza anche la funzionalità di viste materializzate per migrare i dati dall'istanza Oracle 8i/9i di origine all'istanza Oracle 10g/11g intermedia.

AWS Schema Conversion Tool (AWS SCT) converte lo schema del database e AWS DMS migra i dati nel database PostgreSQL di destinazione. 

Questo modello aiuta gli utenti che desiderano migrare dai database Oracle legacy con tempi di inattività minimi del database. In questa implementazione, il tempo di inattività sarebbe limitato al tempo necessario per creare o convalidare tutte le chiavi, i trigger e le sequenze esterne sul database di destinazione. 

Il modello utilizza istanze Amazon Elastic Compute Cloud (Amazon EC2) con un database Oracle 10g/11g installato per aiutare AWS DMS a trasmettere i dati. Puoi sospendere temporaneamente la replica in streaming dal database Oracle locale all'istanza Oracle intermedia per consentire ad AWS DMS di recuperare il ritardo sulla convalida dei dati o di utilizzare un altro strumento di convalida dei dati. L'istanza DB PostgreSQL e il database Oracle intermedio avranno gli stessi dati quando AWS DMS avrà terminato la migrazione delle modifiche correnti.

## Prerequisiti e limitazioni
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle 8i o 9i di origine in un data center locale 
+ AWS Direct Connect configurato tra il data center locale e AWS
+ Driver Java Database Connectivity (JDBC) per i connettori AWS SCT installati su un computer locale o sull'istanza EC2 in cui è installato AWS SCT
+ Familiarità con [l'uso di un database Oracle come sorgente AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiarità con [l'uso di un database PostgreSQL come target AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limitazioni**
+ Il limite di dimensione del database è di 64 TB

**Versioni del prodotto**
+ Oracle 8i o 9i per il database di origine
+ Oracle 10g o 11g per il database intermedio
+ PostgreSQL 10.17 o versione successiva

## Architecture
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle 8i o 9i 

**Stack tecnologico Target**
+ Compatibile con Amazon RDS per PostgreSQL o Aurora PostgreSQL

**Architettura Target**

![\[Architettura per la migrazione da un database Oracle legacy ad Amazon RDS o Aurora\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/8add9b21-1b62-46a2-bb8e-0350f36a924a/images/f34f9b0f-f1da-4c27-a385-71b12d16c375.png)


## Tools (Strumenti)
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) aiuta a migrare i database in modo rapido e sicuro. Il database di origine rimane pienamente operativo durante la migrazione, riducendo al minimo i tempi di inattività delle applicazioni che si basano sul database. AWS DMS può migrare i tuoi dati da e verso i database commerciali e open source più utilizzati. 
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) converte automaticamente lo schema del database di origine e la maggior parte degli oggetti del codice del database, incluse viste, stored procedure e funzioni, in un formato compatibile con il database di destinazione. Gli oggetti che non possono essere convertiti automaticamente sono contrassegnati in modo chiaro in modo che possano essere convertiti manualmente per completare la migrazione. AWS SCT può anche scansionare il codice sorgente dell'applicazione alla ricerca di istruzioni SQL incorporate e convertirle come parte di un progetto di conversione dello schema del database. Durante questo processo, AWS SCT esegue l'ottimizzazione del codice nativo del cloud convertendo le funzioni legacy di Oracle e SQL Server nelle loro equivalenti AWS, per aiutarti a modernizzare le tue applicazioni durante la migrazione dei database. Una volta completata la conversione dello schema, AWS SCT può aiutare a migrare i dati da una serie di data warehouse ad Amazon Redshift utilizzando agenti di migrazione dei dati integrati.  

## Best practice
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-best-practices"></a>

Per le best practice per l'aggiornamento delle viste materializzate, consulta la seguente documentazione Oracle:
+ [Aggiornamento delle viste materializzate](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG-GUID-64068234-BDB0-4C12-AE70-75571046A586)
+ [Aggiornamento rapido per le viste materializzate](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG8361)

## Epiche
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-epics"></a>

### Installa Oracle su un' EC2 istanza e crea viste materializzate
<a name="install-oracle-on-an-ec2-instance-and-create-materialized-views"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la rete per l' EC2 istanza. | Crea il cloud privato virtuale (VPC), le sottoreti, il gateway Internet, le tabelle di routing e i gruppi di sicurezza. | AWS SysAdmin | 
| Crea l' EC2 istanza. | Seleziona l'Amazon Machine Image (AMI) per l' EC2 istanza. Scegli la dimensione dell'istanza e configura i dettagli dell'istanza: il numero di istanze (1), il VPC e la sottorete del passaggio precedente, assegnazione automatica dell'IP pubblico e altre opzioni. Aggiungi spazio di archiviazione, configura i gruppi di sicurezza e avvia l'istanza. Quando richiesto, create e salvate una key pair per il passaggio successivo. | AWS SysAdmin | 
| Installa Oracle sull' EC2 istanza. | Acquisisci le licenze e i file binari Oracle richiesti e installa Oracle 10g o 11g sull'istanza. EC2  | DBA | 
| Configurare la rete Oracle. | Modifica o aggiungi voci `listener.ora` per connetterti al database Oracle 8i/9i di origine locale, quindi crea i collegamenti al database. | DBA | 
| Crea viste materializzate. | Identifica gli oggetti del database da replicare nel database Oracle 8i/9i di origine, quindi crea viste materializzate per tutti gli oggetti utilizzando il database link. | DBA | 
| Implementa script per aggiornare le viste materializzate agli intervalli richiesti. | Sviluppa e distribuisci script per aggiornare le viste materializzate a intervalli richiesti sull'istanza Amazon EC2 Oracle 10g/11g. Utilizza l'opzione di aggiornamento incrementale per aggiornare le viste materializzate. | DBA | 

### Convertire lo schema del database Oracle in PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS SCT. | Crea un nuovo report, quindi connettiti a Oracle come origine e PostgreSQL come destinazione. Nelle impostazioni del progetto, apri la scheda **SQL** Scripting. Cambia lo script SQL di destinazione in **File multipli**. (AWS SCT non supporta i database Oracle 8i/9i, quindi è necessario ripristinare il dump basato solo sullo schema sull'istanza Oracle 10g/11g intermedia e utilizzarlo come sorgente per AWS SCT.) | DBA | 
| Convertire lo schema del database Oracle. | Nella scheda **Azione**, scegli **Genera report**, **Converti schema** e quindi **Salva come SQL**. | DBA | 
| Modifica gli script SQL. | Apporta modifiche in base alle migliori pratiche. Ad esempio, passa a tipi di dati adatti e sviluppa equivalenti PostgreSQL per funzioni specifiche di Oracle. | DBA, devDBA | 

### Crea e configura l'istanza DB di Amazon RDS per ospitare il database convertito
<a name="create-and-configure-the-amazon-rds-db-instance-to-host-the-converted-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'istanza database Amazon RDS. | Nella console Amazon RDS, crea una nuova istanza DB PostgreSQL. | AWS SysAdmin, DBA | 
| Configura l'istanza DB. | Specificate la versione del motore DB, la classe dell'istanza DB, l'implementazione Multi-AZ, il tipo di storage e lo storage allocato. Immettere l'identificatore dell'istanza DB, un nome utente principale e una password principale. | AWS SysAdmin, DBA | 
| Configura rete e sicurezza. | Specificare il VPC, il gruppo di sottoreti, l'accessibilità pubblica, la preferenza della zona di disponibilità e i gruppi di sicurezza. | DBA, SysAdmin | 
| Configurare le opzioni del database. | Specificare il nome del database, la porta, il gruppo di parametri, la crittografia e la chiave principale. | DBA, AWS SysAdmin | 
| Configurare i backup. | Specificate il periodo di conservazione del backup, la finestra di backup, l'ora di inizio, la durata e se copiare i tag nelle istantanee. | AWS SysAdmin, DBA | 
| Configura le opzioni di monitoraggio. | Abilita o disabilita il monitoraggio avanzato e gli approfondimenti sulle prestazioni. | AWS SysAdmin, DBA | 
| Configura le opzioni di manutenzione. | Specificare l'aggiornamento automatico della versione secondaria, la finestra di manutenzione e il giorno, l'ora e la durata di inizio. | AWS SysAdmin, DBA | 
| Esegui gli script di pre-migrazione da AWS SCT. | Sull'istanza Amazon RDS for PostgreSQL di destinazione, crea lo schema del database utilizzando gli script SQL di AWS SCT con altre modifiche. Queste potrebbero includere l'esecuzione di più script e includere la creazione di utenti, la creazione di database, la creazione di schemi, tabelle, viste, funzioni e altri oggetti di codice. | AWS SysAdmin, DBA | 

### Migra i dati utilizzando AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza di replica in AWS DMS. | Completa i campi per il nome, la classe dell'istanza, il VPC (come per l' EC2 istanza), Multi-AZ e l'accessibilità pubblica. Nella sezione di configurazione avanzata, specifica lo storage allocato, il gruppo di sottoreti, la zona di disponibilità, i gruppi di sicurezza VPC e la chiave AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Crea l'endpoint del database di origine. | Specificare il nome dell'endpoint, il tipo, il motore di origine (Oracle), il nome del server (il nome DNS privato dell' EC2 istanza), la porta, la modalità SSL, il nome utente, la password, il SID, il VPC (specificare il VPC che ha l'istanza di replica) e l'istanza di replica. Per testare la connessione, scegli **Esegui** test, quindi crea l'endpoint. Puoi anche configurare le seguenti impostazioni avanzate: **maxFileSize**e **numberDataTypeScale**. | AWS SysAdmin, DBA | 
| Connetti AWS DMS ad Amazon RDS per PostgreSQL. | Crea un gruppo di sicurezza per la migrazione per le connessioni VPCs, se il tuo database PostgreSQL si trova in un altro VPC. | AWS SysAdmin, DBA | 
| Crea l'endpoint del database di destinazione. | Specificare il nome dell'endpoint, il tipo, il motore di origine (PostgreSQL), il nome del server (endpoint Amazon RDS), la porta, la modalità SSL, il nome utente, la password, il nome del database, il VPC (specifica il VPC che contiene l'istanza di replica) e l'istanza di replica. **Per testare la connessione, scegli Esegui test, quindi crea l'endpoint.** Puoi anche configurare le seguenti impostazioni avanzate: **maxFileSize**e **numberDataTypeScale**. | AWS SysAdmin, DBA | 
| Crea l'attività di replica AWS DMS. | Specificare il nome dell'attività, l'istanza di replica, gli endpoint di origine e di destinazione e l'istanza di replica. Per il tipo di migrazione, scegli **Migra i dati esistenti e replica** le modifiche in corso. **Deseleziona la casella di controllo Avvia attività alla creazione**. | AWS SysAdmin, DBA | 
| Configura le impostazioni delle attività di replica di AWS DMS. | Per la modalità di preparazione della tabella di destinazione, scegli **Non fare nulla**. Interrompi l'operazione al termine del caricamento completo (per creare le chiavi primarie). Specificate la modalità LOB limitata o completa e attivate le tabelle di controllo. Facoltativamente, è possibile configurare l'impostazione **CommitRate**avanzata. | DBA | 
| Configura le mappature delle tabelle. | Nella sezione **Mappature delle tabelle**, crea una regola di inclusione per tutte le tabelle in tutti gli schemi inclusi nella migrazione, quindi crea una regola di esclusione. Aggiungi tre regole di trasformazione per convertire i nomi di schema, tabella e colonna in lettere minuscole e aggiungi tutte le altre regole necessarie per questa migrazione specifica. | DBA | 
| Avvia l’attività . | Avvia l'attività di replica. Accertatevi che il carico sia in esecuzione a pieno carico. Esegui `ALTER SYSTEM SWITCH LOGFILE` sul database Oracle primario per avviare il task. | DBA | 
| Esegui gli script di migrazione intermedia da AWS SCT. | In Amazon RDS for PostgreSQL, esegui i `create_index.sql` seguenti `create_constraint.sql` script: e (se lo schema completo non è stato inizialmente creato). | DBA | 
| Riprendi l'attività per continuare l'acquisizione dei dati delle modifiche (CDC). | Esegui `VACUUM` sull'istanza DB Amazon RDS for PostgreSQL e riavvia l'attività AWS DMS per applicare le modifiche CDC memorizzate nella cache. | DBA | 

### Passa al database PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Controlla i log e le tabelle di convalida di AWS DMS. | Controlla e correggi eventuali errori di replica o convalida. | DBA | 
| Smetti di usare il database Oracle locale e le sue dipendenze. | Arresta tutte le dipendenze Oracle, spegni i listener sul database Oracle ed esegui. `ALTER SYSTEM SWITCH LOGFILE` Interrompi l'attività AWS DMS quando non mostra alcuna attività. | DBA | 
| Esegui gli script post-migrazione da AWS SCT. | In Amazon RDS for PostgreSQL, esegui questi script:. `create_foreign_key_constraint.sql and create_triggers.sql` Assicurati che le sequenze siano aggiornate. | DBA | 
| Completa i passaggi aggiuntivi di Amazon RDS for PostgreSQL. | Incrementa le sequenze in modo che corrispondano a quelle di Oracle, se necessario, esegui `VACUUM` e scatta un'istantanea per `ANALYZE` garantire la conformità. | DBA | 
| Apri le connessioni ad Amazon RDS for PostgreSQL. | Rimuovi i gruppi di sicurezza AWS DMS da Amazon RDS for PostgreSQL, aggiungi gruppi di sicurezza di produzione e indirizza le tue applicazioni verso il nuovo database. | DBA | 
| Pulisci gli oggetti AWS DMS. | Rimuovi gli endpoint, le attività di replica, le istanze di replica e l'istanza. EC2  | SysAdmin, DBA | 

## Risorse correlate
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-resources"></a>
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Prezzi di Amazon RDS per PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Utilizzo di un database Oracle come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilizzo di un database PostgreSQL come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

# Esegui la migrazione da Oracle su Amazon EC2 ad Amazon RDS for MySQL utilizzando AWS DMS e AWS SCT
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Anil Kunapareddy, Amazon Web Services*

*Harshad Gohil, Nessuno*

## Riepilogo
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

La gestione dei database Oracle sulle istanze Amazon Elastic Compute Cloud (Amazon EC2) richiede risorse e può essere costosa. Lo spostamento di questi database su un'istanza database Amazon Relational Database Service (Amazon RDS) per MySQL semplificherà il tuo lavoro ottimizzando il budget IT complessivo. Amazon RDS for MySQL offre anche funzionalità come Multi-AZ, scalabilità e backup automatici. 

Questo modello illustra la migrazione di un database Oracle di origine su Amazon EC2 verso un'istanza database Amazon RDS for MySQL di destinazione. Utilizza AWS Database Migration Service (AWS DMS) per migrare i dati e AWS Schema Conversion Tool (AWS SCT) per convertire lo schema e gli oggetti del database di origine in un formato compatibile con Amazon RDS for MySQL. 

## Prerequisiti e limitazioni
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database di origine con servizi di istanza e listener in esecuzione, in modalità ARCHIVELOG
+ Un database Amazon RDS for MySQL di destinazione, con spazio di archiviazione sufficiente per la migrazione dei dati

**Limitazioni**
+ AWS DMS non crea uno schema sul database di destinazione; devi farlo. Il nome dello schema deve già esistere per la destinazione. Le tabelle dello schema di origine vengono importate in user/schema, che AWS DMS utilizza per connettersi all'istanza di destinazione. Per migrare più schemi, devi creare più attività di replica. 

**Versioni del prodotto**
+ Tutte le edizioni del database Oracle per le versioni 10.2 e successive, 11g e fino a 12.2 e 18c. Per l'elenco più recente delle versioni supportate, consulta [Utilizzo di un database Oracle come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Utilizzo di un database compatibile con MySQL come destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) per AWS DMS. Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità. Per informazioni sulle versioni dei database Oracle supportate da AWS SCT, consulta la documentazione di [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ AWS DMS supporta le versioni 5.5, 5.6 e 5.7 di MySQL. 

## Architecture
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Stack tecnologico di origine**
+ Un database Oracle su un'istanza EC2  

**Stack tecnologico Target**
+ Istanza database Amazon RDS per MySQL

**Architettura di migrazione dei dati**

![\[Utilizzo di AWS DMS per migrare da Oracle su Amazon EC2 ad Amazon RDS for MySQL\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/c00f908c-f348-41dd-a31c-3931b990777a.png)


**Architettura di origine e destinazione**

![\[Utilizzo di AWS DMS e AWS SCT per migrare da Oracle su Amazon EC2 ad Amazon RDS for MySQL\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/e7ba7ac0-3094-4142-b355-fb192e242432.png)


## Tools (Strumenti)
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) è un servizio Web che puoi utilizzare per migrare i dati dal tuo database locale, su un'istanza DB Amazon RDS o in un database su un'istanza EC2, verso un database su un servizio AWS come Amazon RDS for MySQL o un'istanza EC2. Puoi anche migrare un database da un servizio AWS a un database locale. È possibile migrare i dati tra motori di database eterogenei o omogenei.
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) rende prevedibili le migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte degli oggetti del codice del database, tra cui viste, stored procedure e funzioni, in un formato compatibile con il database di destinazione. Dopo aver convertito lo schema del database e gli oggetti di codice utilizzando AWS SCT, puoi utilizzare AWS DMS per migrare i dati dal database di origine al database di destinazione per completare i tuoi progetti di migrazione.

## Epiche
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica le versioni e i motori del database di origine e di destinazione. |  | DBA/Sviluppatore | 
| Identifica l'istanza di replica DMS. |  | DBA/Sviluppatore | 
| Identifica i requisiti di archiviazione come il tipo e la capacità di archiviazione. |  | DBA/Sviluppatore | 
| Identifica i requisiti di rete come latenza e larghezza di banda. |  |  DBA/Sviluppatore | 
| Identifica i requisiti hardware per le istanze del server di origine e di destinazione (in base all'elenco di compatibilità e ai requisiti di capacità di Oracle). |  | DBA/Sviluppatore | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA/Sviluppatore | 
| Installa i driver AWS SCT e Oracle. |  | DBA/Sviluppatore | 
| Determina una strategia di backup. |  | DBA/Sviluppatore | 
| Determina i requisiti di disponibilità. |  | DBA/Sviluppatore | 
| Identifica la strategia di migrazione e commutazione delle applicazioni. |  | DBA/Sviluppatore | 
| Seleziona il tipo di istanza DB corretto in base alla capacità, allo storage e alle funzionalità di rete. |  | DBA/Sviluppatore | 

### Configura l'ambiente
<a name="configure-the-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) L'origine, la destinazione e l'istanza di replica devono trovarsi nello stesso VPC. È inoltre utile averle nella stessa zona di disponibilità. |  | Developer | 
| Crea i gruppi di sicurezza necessari per l'accesso al database. |  |  Developer | 
| Genera e configura una key pair. |  | Developer | 
| Configura sottoreti, zone di disponibilità e blocchi CIDR. |  | Developer | 

### Configura l'origine: database Oracle sull'istanza EC2
<a name="configure-the-source-oracle-database-on-ec2-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa Oracle Database su Amazon EC2 con gli utenti e i ruoli richiesti. |  | DBA | 
|  Esegui i tre passaggi nella colonna successiva per accedere a Oracle dall'esterno dell'istanza EC2. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.html) | DBA | 
| Quando Amazon EC2 viene riavviato, il DNS pubblico cambia. Assicurati di aggiornare il DNS pubblico di Amazon EC2 in 'tnsnames' e 'listener' o usa un indirizzo IP elastico. |  | DBA/Sviluppatore | 
| Configura il gruppo di sicurezza dell'istanza EC2 in modo che l'istanza di replica e i client richiesti possano accedere al database di origine. |  | DBA/Sviluppatore | 

### Configurare la destinazione: Amazon RDS for MySQL
<a name="configure-the-target-amazon-rds-for-mysql"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura e avvia l'istanza DB Amazon RDS for MySQL. |  | Developer | 
| Crea il tablespace necessario nell'istanza database Amazon RDS for MySQL. |  | DBA | 
| Configurare il gruppo di sicurezza in modo che l'istanza di replica e i client richiesti possano accedere al database di destinazione. |  | Developer | 

### Configura AWS SCT e crea uno schema nel database di destinazione
<a name="configure-aws-sct-and-create-a-schema-in-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa i driver AWS SCT e Oracle. |  | Developer | 
| Inserisci i parametri appropriati e connettiti all'origine e alla destinazione. |  | Developer | 
| Genera un rapporto di conversione dello schema. |  | Developer | 
| Se necessario, correggete il codice e lo schema, in particolare tablespace e virgolette, ed eseguiteli sul database di destinazione. |  |  Developer | 
| Convalida lo schema sull'origine rispetto alla destinazione prima di migrare i dati. |  | Developer | 

### Migrazione dei dati con AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Per l'acquisizione di dati a pieno carico e modifica (CDC) o solo per CDC, è necessario impostare un attributo di connessione aggiuntivo. |  | Developer | 
| All'utente specificato nelle definizioni del database Oracle di origine AWS DMS devono essere concessi tutti i privilegi richiesti. Per un elenco completo, consulta https://docs.aws.amazon.com/dms/ latest/userguide/CHAP \$1source.oracle.html \$1CHAP\$1Source .Oracle.Self-Managed. |  | DBA/Sviluppatore | 
| Abilita la registrazione supplementare nel database di origine. |  | DBA/Sviluppatore | 
| Per l'acquisizione di dati a pieno carico e modifica (CDC) o solo per CDC, abilita la modalità ARCHIVELOG nel database di origine. |  | DBA | 
| Crea endpoint di origine e destinazione e testa le connessioni. |  | Developer | 
| Quando gli endpoint sono collegati correttamente, crea un'attività di replica. |  | Developer | 
| Seleziona solo CDC (o) a pieno carico più CDC nell'attività per acquisire le modifiche per la sola replica continua (o) a pieno carico più le modifiche in corso, rispettivamente. |  | Developer | 
| Esegui l'attività di replica e monitora i CloudWatch log di Amazon. |  |  Developer | 
| Convalida i dati nei database di origine e di destinazione. |  | Developer | 

### Migra la tua applicazione e taglia
<a name="migrate-your-application-and-cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui i passaggi per la tua strategia di migrazione delle applicazioni. |  | DBA, sviluppatore, proprietario dell'app | 
| Segui i passaggi per la tua strategia di cutover/switch-over delle applicazioni. |  | DBA, sviluppatore, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida lo schema e i dati nei database di origine e di destinazione. |  | DBA/Sviluppatore | 
| Raccogli le metriche in base alle tempistiche necessarie per la migrazione, la percentuale di utilizzo manuale rispetto agli strumenti, i risparmi sui costi, ecc. |  |  DBA/Developer/AppOwner | 
| Esamina i documenti e gli artefatti del progetto. |  | DBA/Developer/AppOwner | 
| Chiudi le risorse AWS temporanee. |  | DBA/Sviluppatore | 
| Chiudi il progetto e fornisci feedback. |  | DBA/Developer/AppOwner | 

## Risorse correlate
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-resources"></a>
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 
+ [Sito web AWS DMS](https://aws.amazon.com/dms/)
+ [Post sul blog di AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/) 
+ [Strategie di migrazione di Oracle Database su AWS](https://d1.awsstatic.com/whitepapers/strategies-for-migrating-oracle-database-to-aws.pdf) 
+ [Amazon RDS per Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/) 
+ [Domande frequenti Oracle](https://aws.amazon.com/oracle/faq/) 
+ [Amazon EC2](https://aws.amazon.com/ec2/) 
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Licenza del software Oracle nell'ambiente di cloud computing](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

# Esegui la migrazione di un database Oracle da Amazon EC2 ad Amazon RDS for MariaDB utilizzando AWS DMS e AWS SCT
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct"></a>

*Veeranjaneyulu Grandhi e vinod kumar, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-summary"></a>

Questo modello illustra i passaggi per la migrazione di un database Oracle su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) a un'istanza Amazon Relational Database Service (Amazon RDS) per MariaDB. Il modello utilizza AWS Data Migration Service (AWS DMS) per la migrazione dei dati e AWS Schema Conversion Tool (AWS SCT) per la conversione dello schema. 

La gestione dei database Oracle sulle EC2 istanze richiede più risorse ed è più costosa rispetto all'utilizzo di un database su Amazon RDS. Amazon RDS semplifica la configurazione, il funzionamento e la scalabilità di un database relazionale nel cloud. Amazon RDS offre una capacità ridimensionabile e conveniente, automatizzando al contempo attività amministrative dispendiose in termini di tempo come il provisioning dell'hardware, la configurazione del database, l'applicazione di patch e i backup.

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un database Oracle di origine con servizi di istanza e listener attivi e funzionanti. Questo database deve essere in modalità ARCHIVELOG.
+ Familiarità con [l'utilizzo di un database Oracle come sorgente per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html).
+ Familiarità con [l'uso di Oracle come fonte per AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html).

**Limitazioni**
+ Limite di dimensione del database: 64 TB 

**Versioni del prodotto**
+ Tutte le edizioni del database Oracle per le versioni 10.2 e successive, 11g e fino a 12.2 e 18c. Per l'elenco più recente delle versioni supportate, consulta [Using an Oracle Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e la [tabella delle versioni di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) nella documentazione AWS.
+ Amazon RDS supporta le versioni 10.3, 10.4, 10.5 e 10.6 di MariadB Server Community Server. Per l'elenco più recente delle versioni supportate, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html).

## Architecture
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-architecture"></a>

**Stack tecnologico di origine**
+ Un database Oracle su un'istanza EC2 

**Stack tecnologico Target**
+ Amazon RDS per MariaDB

**Architettura di migrazione dei dati**

![\[Utilizzo di AWS DMS per la migrazione.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/ed191145-e5c2-4d61-8827-31f081450c03.png)


**Architettura Target**

![\[Utilizzo di AWS SCT per la migrazione.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/0171f548-37dd-4110-851c-7e74dfff3732.png)


## Tools (Strumenti)
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) rende prevedibili le migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte degli oggetti del codice del database, tra cui viste, stored procedure e funzioni, in un formato compatibile con il database di destinazione. Dopo aver convertito lo schema del database e gli oggetti di codice utilizzando AWS SCT, puoi utilizzare AWS DMS per migrare i dati dal database di origine al database di destinazione per completare i tuoi progetti di migrazione. Per ulteriori informazioni, consulta [Using Oracle as a Source for AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) nella documentazione di AWS SCT.
+ [AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) (AWS DMS) ti aiuta a migrare i database in AWS in modo rapido e sicuro. Il database di origine rimane pienamente operativo durante la migrazione, riducendo al minimo i tempi di inattività delle applicazioni che si basano sul database. AWS DMS può migrare i tuoi dati da e verso i database commerciali e open source più utilizzati. AWS DMS supporta migrazioni omogenee da Oracle a Oracle, nonché migrazioni eterogenee tra diverse piattaforme di database, come Oracle o Microsoft SQL Server verso Amazon Aurora. Per ulteriori informazioni sulla migrazione dei database Oracle, consulta [Using an Oracle Database as a Source for AWS DMS nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) di AWS DMS.

## Epiche
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-epics"></a>

### Piano per la migrazione
<a name="plan-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica le versioni e i motori di database. | Identifica le versioni e i motori del database di origine e di destinazione. | DBA, Sviluppatore | 
| Identifica l'istanza di replica. | Identifica l'istanza di replica AWS DMS. | DBA, sviluppatore | 
| Identifica i requisiti di archiviazione. | Identifica il tipo e la capacità di storage. | DBA, sviluppatore | 
| Identifica i requisiti di rete. | Identifica la latenza e la larghezza di banda della rete. | DBA, sviluppatore | 
| Identifica i requisiti hardware. | Identifica i requisiti hardware per le istanze del server di origine e di destinazione (in base all'elenco di compatibilità e ai requisiti di capacità di Oracle). | DBA, sviluppatore | 
| Identifica i requisiti di sicurezza. | Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. | DBA, Sviluppatore | 
| Installa i driver. | Installa i driver AWS SCT e Oracle più recenti. | DBA, Sviluppatore | 
| Determina una strategia di backup. |  | DBA, Sviluppatore | 
| Determina i requisiti di disponibilità. |  | DBA, Sviluppatore | 
| Scegli una migration/switchover strategia applicativa. |  | DBA, Sviluppatore | 
| Selezionare il tipo di istanza . | Seleziona il tipo di istanza corretto in base alla capacità, allo storage e alle funzionalità di rete. | DBA, Sviluppatore | 

### Configura l'ambiente
<a name="configure-the-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC))  | Le istanze di origine, destinazione e replica devono trovarsi nello stesso VPC e nella stessa zona di disponibilità (scelta consigliata). | Developer | 
| Crea gruppi di sicurezza. | Creare i gruppi di sicurezza necessari per l'accesso al database. | Developer | 
| Genera una coppia di chiavi. | Genera e configura una key pair. | Developer | 
| Configura altre risorse. | Configura sottoreti, zone di disponibilità e blocchi CIDR. | Developer | 

### Configura la fonte
<a name="configure-the-source"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia l' EC2 istanza. | Per istruzioni, consulta la [ EC2 documentazione di Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | Developer | 
| Installa il database Oracle. | Installa il database Oracle sull' EC2 istanza, con gli utenti e i ruoli richiesti. | DBA | 
| Segui i passaggi indicati nella descrizione del task per accedere a Oracle dall'esterno dell' EC2 istanza. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.html) | DBA | 
| Aggiorna il DNS EC2 pubblico di Amazon. | Dopo il riavvio dell' EC2 istanza, il DNS pubblico cambia. Assicurati di aggiornare il DNS EC2 pubblico di Amazon in `tnsnames` e`listener`, oppure usa un indirizzo IP elastico. | DBA, Sviluppatore | 
| Configura il gruppo di sicurezza dell' EC2 istanza. | Configura il gruppo di sicurezza dell' EC2 istanza in modo che l'istanza di replica e i client richiesti possano accedere al database di origine. | DBA, Sviluppatore | 

### Configura l'ambiente Amazon RDS for MariaDB di destinazione
<a name="configure-the-target-amazon-rds-for-mariadb-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia l'istanza DB RDS. | Configura e avvia l'istanza DB Amazon RDS for MariaDB. | Developer | 
| Crea tablespace. | Crea tutti i tablespace necessari nel database Amazon RDS MariaDB. | DBA | 
| Configurare un gruppo di sicurezza. | Configura un gruppo di sicurezza in modo che l'istanza di replica e i client richiesti possano accedere al database di destinazione. | Developer | 

### Configurazione di AWS SCT
<a name="configure-aws-sct"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa i driver. | Installa i driver AWS SCT e Oracle più recenti. | Developer | 
| Connect (Connetti). | Inserisci i parametri appropriati e poi connettiti all'origine e alla destinazione. | Developer | 
| Genera un rapporto di conversione dello schema. | Genera un report di conversione dello schema AWS SCT. | Developer | 
| Correggi il codice e lo schema secondo necessità. | Apportate le correzioni necessarie al codice e allo schema (in particolare tablespace e virgolette). | DBA, Sviluppatore | 
| Convalidare lo schema. | Convalida lo schema sull'origine rispetto alla destinazione prima di caricare i dati. | Developer | 

### Migrazione dei dati con AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Imposta un attributo di connessione. | Per l'acquisizione dei dati a pieno carico e modifica (CDC) o solo per CDC, imposta un attributo di connessione aggiuntivo. Per ulteriori informazioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html). | Developer | 
| Abilita la registrazione supplementare. | Abilita la registrazione supplementare sul database di origine. | DBA, Sviluppatore | 
| Abilita la modalità di registro di archiviazione. | Per il caricamento completo e il CDC (o solo per CDC), abilita la modalità di registro di archiviazione sul database di origine. | DBA | 
| Crea e testa gli endpoint. | Crea endpoint di origine e destinazione e testa le connessioni. Per ulteriori informazioni, consulta la [documentazione di Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | Developer | 
| Crea un'attività di replica. | Quando gli endpoint sono collegati correttamente, crea un'attività di replica. Per ulteriori informazioni, consulta la [documentazione di Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html). | Developer | 
| Scegli il tipo di replica. | Scegli **CDC only** o **Full load plus CDC** nell'attività di acquisizione delle modifiche solo per la replica continua o rispettivamente per le modifiche a pieno carico e in corso. | Developer | 
| Avvia e monitora l'attività. | Avvia l'attività di replica e monitora i CloudWatch log di Amazon. Per ulteriori informazioni, consulta la [documentazione di Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Developer | 
| Convalida i dati. | Convalida i dati nei database di origine e di destinazione. | Developer | 

### Migra le applicazioni e trasferiscile al database di destinazione
<a name="migrate-applications-and-cut-over-to-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni scelta. |  | DBA, proprietario dell'app, sviluppatore | 
| Segui la cutover/switchover strategia applicativa scelta. |  | DBA, proprietario dell'app, sviluppatore | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida lo schema e i dati. | Assicurati che lo schema e i dati siano convalidati correttamente nell'origine rispetto alla destinazione prima della chiusura del progetto. | DBA, Sviluppatore | 
| Raccogli le metriche. | Raccogli le metriche relative al tempo di migrazione, alla percentuale di attività manuali rispetto a quelle eseguite con l'utensile, al risparmio sui costi e a criteri simili. | DBA, proprietario dell'app, sviluppatore | 
| Consulta la documentazione. | Esamina i documenti e gli artefatti del progetto. | DBA, proprietario dell'app, sviluppatore | 
| Chiudi le risorse. | Chiudi le risorse AWS temporanee. | DBA, Sviluppatore | 
| Chiudi il progetto. | Chiudi il progetto di migrazione e fornisci eventuali feedback. | DBA, proprietario dell'app, sviluppatore | 

## Risorse correlate
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-resources"></a>
+ [Panoramica di MariaDB Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html)
+ [Dettagli del prodotto Amazon RDS for MariaDB](https://aws.amazon.com/rds/mariadb/features)
+ [Utilizzo di un database Oracle come sorgente per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Strategie per la migrazione dei database Oracle su AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html)
+ [Licenza del software Oracle nell'ambiente di cloud computing](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)
+ [Amazon RDS per Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/)
+ [Panoramica di AWS DMS](https://aws.amazon.com/dms/)
+ [Post sul blog di AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/)
+ [ EC2 Panoramica di Amazon](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)

# Esegui la migrazione di un database Oracle locale ad Amazon RDS for MySQL utilizzando AWS DMS e AWS SCT
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Sergey Dmitriev e Naresh Damera, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

Questo modello illustra la migrazione di un database Oracle locale a un'istanza DB Amazon Relational Database Service (Amazon RDS) per MySQL. Utilizza AWS Database Migration Service (AWS DMS) per migrare i dati e AWS Schema Conversion Tool (AWS SCT) per convertire lo schema e gli oggetti del database di origine in un formato compatibile con Amazon RDS for MySQL. 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle di origine in un data center locale 

**Limitazioni**
+ Limite di dimensione del database: 64 TB

**Versioni del prodotto**
+ Tutte le edizioni del database Oracle per le versioni 11g (versioni 11.2.0.3.v1 e successive) e fino a 12.2 e 18c. Per l'elenco più recente delle versioni supportate, consulta [Using an Oracle Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità. Per informazioni sulle versioni dei database Oracle supportate da AWS SCT, consulta la documentazione di [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ AWS DMS attualmente supporta le versioni di MySQL 5.5, 5.6 e 5.7. Per l'elenco più recente delle versioni supportate, consulta [Using a MySQL compatible Database as a Target for AWS DMS nella documentazione AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html). 

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle locale

**Stack tecnologico Target**
+ Istanza database Amazon RDS per MySQL

**Architettura di migrazione dei dati**

![\[Cloud AWS architecture showing data migration from on-premises to RDS via VPC, Internet Gateway, and AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/0385e5ad-a1ca-4c29-945b-592321d95f9d/images/c872e033-b13a-4436-b503-0632b5d437ae.png)


 

## Tools (Strumenti)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Database Migration Services](https://docs.aws.amazon.com/dms/latest/userguide/) (AWS DMS) ti aiuta a migrare database relazionali, data warehouse, database NoSQL e altri tipi di archivi dati. Puoi utilizzare AWS DMS per migrare i dati nel cloud AWS, tra istanze locali (attraverso la configurazione di un cloud AWS) oppure tra combinazioni di configurazioni locali e cloud.
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) viene utilizzato per convertire lo schema del database da un motore di database a un altro. Il codice personalizzato convertito dallo strumento include viste, procedure memorizzate e funzioni. Qualsiasi codice che lo strumento non è in grado di convertire automaticamente è contrassegnato in modo chiaro in modo che sia possibile convertirlo autonomamente.

## Epiche
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la versione e il motore del database di origine e di destinazione. |  | DBA | 
|  Identifica i requisiti hardware per l'istanza del server di destinazione. |  | DBA, SysAdmin | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, SysAdmin | 
| Scegli il tipo di istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, SysAdmin | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, SysAdmin  | 
| Identifica la strategia di migrazione delle applicazioni. |  | DBA SysAdmin, proprietario dell'app | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (VPC) e sottoreti. |  | SysAdmin | 
| Crea i gruppi di sicurezza e gli elenchi di controllo degli accessi alla rete (). ACLs |  | SysAdmin | 
| Configura e avvia un'istanza database Amazon RDS. |  | DBA, SysAdmin | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione dello schema del database utilizzando AWS SCT. |  | DBA | 
| Migra i dati utilizzando AWS DMS. |  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Usa AWS SCT per analizzare e convertire il codice SQL all'interno del codice dell'applicazione. | Per ulteriori informazioni, consulta https://docs.aws.amazon.com/SchemaConversionTool/ latest/userguide/CHAP \$1Converting.app.html. | Proprietario dell'app | 
| Segui la strategia di migrazione delle applicazioni. |  | DBA SysAdmin, proprietario dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. |  | DBA SysAdmin, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | DBA, SysAdmin | 
| Rivedi e convalida i documenti del progetto. |  | DBA, SysAdmin | 
| Raccogli le metriche in tempo utile per la migrazione, percentuale di risorse manuali rispetto a quelle relative agli strumenti, risparmi sui costi, ecc. |  | DBA, SysAdmin | 
| Chiudi il progetto e fornisci feedback. |  |  | 

## Risorse correlate
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-related-resources"></a>

**Riferimenti**
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutorial e video**
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (video)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Esegui la migrazione di un database Oracle locale ad Amazon RDS for PostgreSQL utilizzando un bystander Oracle e AWS DMS
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms"></a>

*Cady Motyka, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-summary"></a>

Questo modello descrive come migrare un database Oracle locale verso uno dei seguenti servizi di database AWS compatibili con PostgreSQL con tempi di inattività minimi:
+ Amazon Relational Database Service (Amazon RDS) per PostgreSQL
+ Amazon Aurora PostgreSQL-Compatible Edition

La soluzione utilizza AWS Database Migration Service (AWS DMS) per migrare i dati, AWS Schema Conversion Tool (AWS SCT) per convertire lo schema del database e un database Oracle bystander per aiutare a gestire la migrazione. In questa implementazione, il tempo di inattività è limitato al tempo necessario per creare o convalidare tutte le chiavi esterne del database. 

La soluzione utilizza anche istanze Amazon Elastic Compute Cloud (Amazon EC2) con un database Oracle bystander per aiutare a controllare il flusso di dati tramite AWS DMS. Puoi sospendere temporaneamente la replica in streaming dal database Oracle locale al bystander Oracle per attivare AWS DMS per recuperare il ritardo sulla convalida dei dati o per utilizzare un altro strumento di convalida dei dati. L'istanza DB Amazon RDS for PostgreSQL o l'istanza DB Aurora compatibile con PostgreSQL e il database bystander avranno gli stessi dati al termine della migrazione delle modifiche correnti da parte di AWS DMS. 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle di origine in un data center locale con un database di standby Active Data Guard configurato
+ AWS Direct Connect configurato tra il data center locale e AWS Secrets Manager per l'archiviazione dei segreti del database
+ Driver Java Database Connectivity (JDBC) per connettori AWS SCT, installati su un computer locale o sull'istanza EC2 in cui è installato AWS SCT
+ Familiarità con [l'utilizzo di un database Oracle come fonte per AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) DMS
+ Familiarità con [l'uso di un database PostgreSQL come destinazione per AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) DMS

**Limitazioni**
+ Limite di dimensione del database: 64 TB

**Versioni del prodotto**
+ AWS DMS supporta tutte le edizioni del database Oracle per le versioni 10.2 e successive (per le versioni 10.x), 11g e fino a 12.2, 18c e 19c. Per l'elenco più recente delle versioni supportate, consulta [Using an Oracle Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità. Per informazioni sulle versioni dei database Oracle supportate da AWS SCT, consulta la documentazione di [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ AWS DMS supporta le versioni 9.4 e successive di PostgreSQL (per le versioni 9.x), 10.x, 11.x, 12.x e 13.x. Per le informazioni più recenti, consulta [Using a PostgreSQL Database as a Target for AWS DMS nella documentazione AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html).

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Un database Oracle locale
+ Un'EC2 istanza che contiene un astante per il database Oracle

**Stack tecnologico Target**
+ Amazon RDS per PostgreSQL o istanza PostgreSQL Aurora, PostgreSQL 9.3 e versioni successive

**Architettura Target**

Il diagramma seguente mostra un esempio di flusso di lavoro per la migrazione di un database Oracle a un database AWS compatibile con PostgreSQL utilizzando AWS DMS e un bystander Oracle:

![\[Migrazione di un database Oracle locale a PostgreSQL su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/6f5d5500-8b09-4bd1-8ef9-e670d58d07f8/images/1de98abd-c143-481a-b55f-e8d00eb96a38.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.
+ [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.

## Epiche
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-epics"></a>

### Convertire lo schema del database Oracle in PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS SCT. | Crea un nuovo report e connettiti a Oracle come origine e PostgreSQL come destinazione. In **Impostazioni del progetto**, vai alla scheda **SQL** Scripting. Cambia lo **script SQL di destinazione** in **più file**. Questi file verranno utilizzati in seguito e denominati come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Convertire lo schema del database Oracle. | Nella scheda **Azione**, scegli **Genera rapporto**. Quindi, scegli **Converti schema** e scegli **Salva come SQL**. | DBA | 
| Modifica gli script. | **Ad esempio, potresti voler modificare lo script se un numero nello schema di origine è stato convertito in formato numerico in PostgreSQL, ma desideri invece utilizzare BIGINT per prestazioni migliori.** | DBA | 

### Crea e configura l'istanza database Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'istanza database Amazon RDS. | Nella regione AWS corretta, crea una nuova istanza DB PostgreSQL. Per ulteriori informazioni, consulta [Creazione di un'istanza DB PostgreSQL e connessione a un database su un'istanza DB PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) nella documentazione di Amazon RDS. | AWS SysAdmin, DBA | 
| Configura le specifiche dell'istanza DB. | Specificate la versione del motore DB, la classe dell'istanza DB, l'implementazione Multi-AZ, il tipo di storage e lo storage allocato. Immettere l'identificatore dell'istanza DB, un nome utente principale e una password principale. | AWS SysAdmin, DBA | 
| Configura rete e sicurezza. | Specificare il cloud privato virtuale (VPC), il gruppo di sottoreti, l'accessibilità pubblica, la preferenza della zona di disponibilità e i gruppi di sicurezza. | DBA, SysAdmin | 
| Configurare le opzioni del database. | Specificare il nome del database, la porta, il gruppo di parametri, la crittografia e la chiave KMS. | AWS SysAdmin, DBA | 
| Configurare i backup. | Specificate il periodo di conservazione del backup, la finestra di backup, l'ora di inizio, la durata e se copiare i tag nelle istantanee. | AWS SysAdmin, DBA | 
| Configura le opzioni di monitoraggio. | Attiva o disattiva il monitoraggio avanzato e gli approfondimenti sulle prestazioni. | AWS SysAdmin, DBA | 
| Configura le opzioni di manutenzione. | Specificare l'aggiornamento automatico della versione secondaria, la finestra di manutenzione e il giorno, l'ora e la durata di inizio. | AWS SysAdmin, DBA | 
| Esegui gli script di pre-migrazione da AWS SCT. | Sull'istanza Amazon RDS, esegui i seguenti script generati da AWS SCT:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | AWS SysAdmin, DBA | 

### Configura il bystander Oracle in Amazon EC2
<a name="configure-the-oracle-bystander-in-amazon-ec2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la rete per Amazon EC2. | Crea il nuovo VPC, le sottoreti, il gateway Internet, le tabelle di routing e i gruppi di sicurezza. | AWS SysAdmin | 
| Crea l' EC2 istanza. | Nella regione AWS appropriata, crea una nuova EC2 istanza. Seleziona Amazon Machine Image (AMI), scegli la dimensione dell'istanza e configura i dettagli dell'istanza: numero di istanze (1), VPC e sottorete creati nell'attività precedente, assegnazione automatica dell'IP pubblico e altre opzioni. Aggiungi storage, configura i gruppi di sicurezza e avvia. Quando richiesto, create e salvate una key pair per il passaggio successivo. | AWS SysAdmin | 
| Connect il database di origine Oracle all' EC2 istanza. | Copia l'indirizzo IP IPv4 pubblico e il DNS in un file di testo e connettiti utilizzando SSH nel modo seguente: **ssh -i «your\$1file.pem» EC2-user@<your-IP** - -DNS>. address-or-public | AWS SysAdmin | 
| Configura l'host iniziale per un passante in Amazon. EC2 | Configura chiavi SSH, profilo bash, ORATAB e link simbolici. Crea directory Oracle. | AWS SysAdmin, amministratore Linux | 
| Configura la copia del database per un passante in Amazon EC2 | Usa RMAN per creare una copia del database, abilitare la registrazione supplementare e creare il file di controllo in standby. Al termine della copia, posizionate il database in modalità di ripristino. | AWS SysAdmin, DBA | 
| Configura Oracle Data Guard. | Modifica il file **listener.ora** e avvia il listener. Imposta una nuova destinazione di archiviazione. Metti lo spettatore in modalità di ripristino, sostituisci i file temporanei per evitare future danneggiamenti, installa un crontab se necessario per evitare che la directory di archivio si esaurisca lo spazio e modifica il **manage-trclog-files-oraclefile.cfg** come sorgente e standby. | AWS SysAdmin, DBA | 
| Prepara il database Oracle per sincronizzare la spedizione. | Aggiungi i file di registro in standby e modifica la modalità di ripristino. Modifica il log shipping in **SYNC AFFIRM** sia sulla sorgente primaria che sulla sorgente standby. Passa ai log primari, conferma tramite l'alert log di Amazon EC2 bystander che stai utilizzando i file di log di standby e conferma che il redo stream scorra in SYNC. | AWS SysAdmin, DBA | 

### Migrazione dei dati con AWS DMS
<a name="migrate-data-with-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza di replica in AWS DMS. | Completa i campi per il nome, la classe dell'istanza, il VPC (come l' EC2 istanza Amazon), Multi-AZ e l'accessibilità pubblica. In **Advance**, specifica lo storage allocato, il gruppo di sottoreti, la zona di disponibilità, i gruppi di sicurezza VPC e la chiave AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Crea l'endpoint del database di origine. | Specificare il nome dell'endpoint, il tipo, il motore di origine (Oracle), il nome del server (nome DNS EC2 privato Amazon), la porta, la modalità SSL, il nome utente, la password, il SID, il VPC (specifica il VPC che ha l'istanza di replica) e l'istanza di replica. Per testare la connessione, scegli **Run** Test, quindi crea l'endpoint. Puoi anche configurare le seguenti impostazioni avanzate: **maxFileSize**e **numberDataTypeScale**. | AWS SysAdmin, DBA | 
| Connetti AWS DMS ad Amazon RDS per PostgreSQL. | Crea un gruppo di sicurezza di migrazione per le connessioni tra. VPCs | AWS SysAdmin, DBA | 
| Crea l'endpoint del database di destinazione. | Specificare il nome dell'endpoint, il tipo, il motore di origine (PostgreSQL), il nome del server (endpoint Amazon RDS), la porta, la modalità SSL, il nome utente, la password, il nome del database, il VPC (specifica il VPC che contiene l'istanza di replica) e l'istanza di replica. **Per testare la connessione, scegli Esegui test, quindi crea l'endpoint.** Puoi anche configurare le seguenti impostazioni avanzate: **maxFileSize **e **numberDataTypeScale**. | AWS SysAdmin, DBA | 
| Crea l'attività di replica AWS DMS. | Specificare il nome dell'attività, l'istanza di replica, gli endpoint di origine e di destinazione e l'istanza di replica. Per il tipo di migrazione, scegli **Migra i dati esistenti e replica** le modifiche in corso. **Deseleziona la casella di controllo Avvia attività alla creazione**. | AWS SysAdmin, DBA | 
| Configura le impostazioni delle attività di replica di AWS DMS. | Per la modalità di preparazione della tabella di destinazione, scegli **Non fare nulla**. Interrompi l'operazione dopo il completamento del caricamento completo (per creare le chiavi primarie). Specificate la modalità LOB limitata o completa e attivate le tabelle di controllo. Facoltativamente, è possibile configurare l'impostazione **CommitRate**avanzata. | DBA | 
| Configura le mappature delle tabelle. | **Nella sezione **Mappature delle tabelle**, crea una regola di **inclusione** per tutte le tabelle in tutti gli schemi inclusi nella migrazione, quindi crea una regola di esclusione.** Aggiungi tre regole di trasformazione per convertire i nomi di schema, tabella e colonna in lettere minuscole e aggiungi tutte le altre regole necessarie per questa migrazione specifica. | DBA | 
| Avvia l’attività . | Avvia l'attività di replica. Accertatevi che il carico sia in esecuzione a pieno carico. Esegui **ALTER SYSTEM SWITCH LOGFILE** sul database Oracle primario per avviare l'attività. | DBA | 
| Esegui gli script di migrazione intermedia da AWS SCT. | In Amazon RDS for PostgreSQL, esegui i seguenti script generati da AWS SCT: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Riavviare l'attività per continuare l'acquisizione dei dati delle modifiche (CDC). | Esegui **VACUUM** sull'istanza DB Amazon RDS for PostgreSQL e riavvia l'attività AWS DMS per applicare le modifiche CDC memorizzate nella cache. | DBA | 

### Passa al database PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Controlla i log e le tabelle di convalida di AWS DMS per eventuali errori. | Controlla e correggi eventuali errori di replica o convalida. | DBA | 
| Interrompi tutte le dipendenze Oracle. | Arresta tutte le dipendenze Oracle, spegni i listener sul database Oracle ed esegui **ALTER SYSTEM** SWITCH LOGFILE. Interrompi l'attività AWS DMS quando non mostra alcuna attività. | DBA | 
| Esegui gli script post-migrazione da AWS SCT. | In Amazon RDS for PostgreSQL, esegui i seguenti script generati da AWS SCT:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Completa i passaggi aggiuntivi di Amazon RDS for PostgreSQL. | Incrementa le sequenze in modo che corrispondano a quelle di Oracle, se necessario, esegui **VACUUM** e **ANALYZE** e scatta un'istantanea per garantire la conformità. | DBA | 
| Apri le connessioni ad Amazon RDS for PostgreSQL. | Rimuovi i gruppi di sicurezza AWS DMS da Amazon RDS for PostgreSQL, aggiungi gruppi di sicurezza di produzione e indirizza le tue applicazioni verso il nuovo database. | DBA | 
| Pulisci gli oggetti AWS DMS. | Rimuovi gli endpoint, le attività di replica, le istanze di replica e l'istanza. EC2  | SysAdmin, DBA | 

## Risorse correlate
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-resources"></a>
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Prezzi di Amazon RDS per PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/) 

# Esegui la migrazione di un database Oracle ad Amazon Redshift utilizzando AWS DMS e AWS SCT
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct"></a>

*Piyush Goyal e Brian Motzer, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-summary"></a>

Questo modello fornisce indicazioni per la migrazione dei database Oracle a un data warehouse cloud Amazon Redshift nel cloud Amazon Web Services (AWS) utilizzando AWS Database Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT). Il modello copre i database Oracle di origine che sono locali o installati su un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Copre anche Amazon Relational Database Service (Amazon RDS) per database Oracle.

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-prereqs"></a>

**Prerequisiti**
+ Un database Oracle in esecuzione in un data center locale o nel cloud AWS
+ Un account AWS attivo
+ Familiarità con [l'utilizzo di un database Oracle come fonte per AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) DMS
+ Familiarità con [l'uso di un database Amazon Redshift come destinazione per](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html) AWS DMS
+ Conoscenza di Amazon RDS, Amazon Redshift, le tecnologie di database applicabili e SQL
+ Driver Java Database Connectivity (JDBC) per connettori AWS SCT, su cui è installato AWS SCT

**Versioni del prodotto**
+ Per i database Oracle autogestiti, AWS DMS supporta tutte le edizioni dei database Oracle per le versioni 10.2 e successive (per le versioni 10). *x*), 11g e fino a 12.2, 18c e 19c. Per i database Amazon RDS for Oracle gestiti da AWS, AWS DMS supporta tutte le edizioni dei database Oracle per le versioni 11g (versioni 11.2.0.4 e successive) e fino a 12.2, 18c e 19c. Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità.

## Architecture
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-architecture"></a>

**Stack tecnologico di origine**

Una delle seguenti:
+ Un database Oracle locale
+ Un database Oracle su un'istanza EC2 
+ Un'istanza DB Amazon RDS per Oracle

**Stack tecnologico Target**
+ Amazon Redshift

**Architettura di destinazione**

*Da un database Oracle in esecuzione nel cloud AWS ad Amazon Redshift:*

![\[Migrazione di un database Oracle nel cloud AWS verso un data warehouse Amazon Redshift.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/7140e819-81d6-45c4-805b-8e10828076a7.png)


*Da un database Oracle in esecuzione in un data center locale ad Amazon Redshift:*

![\[Migrazione di un database Oracle locale a un data warehouse Amazon Redshift.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/d6654b48-0e1b-4b01-a261-5a640be01fd7.png)


## Tools (Strumenti)
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) - AWS Data Migration Service (AWS DMS) ti aiuta a migrare i database su AWS in modo rapido e sicuro. Il database di origine rimane pienamente operativo durante la migrazione, riducendo al minimo i tempi di inattività delle applicazioni che si basano sul database. AWS DMS può migrare i dati da e verso i database commerciali e open source più utilizzati. 
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) - AWS Schema Conversion Tool (AWS SCT) può essere utilizzato per convertire lo schema di database esistente da un motore di database a un altro. Supporta vari motori di database, tra cui Oracle, SQL Server e PostgressSQL, come sorgenti.

## Epiche
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni del database. | Convalida le versioni del database di origine e di destinazione e assicurati che siano supportate da AWS DMS. Per informazioni sulle versioni supportate di Oracle Database, consulta [Using an Oracle database as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Per informazioni sull'utilizzo di Amazon Redshift come destinazione, consulta [Usare un database Amazon Redshift come destinazione per](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html) AWS DMS. | DBA | 
| Crea un VPC e un gruppo di sicurezza. | Nel tuo account AWS, crea un cloud privato virtuale (VPC), se non esiste. Crea un gruppo di sicurezza per il traffico in uscita verso i database di origine e destinazione. Per ulteriori informazioni, consulta la documentazione di [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). | Amministratore di sistema | 
| Installa AWS SCT. | Scarica e installa la versione più recente di AWS SCT e i driver corrispondenti. Per ulteriori informazioni, consulta [Installazione, verifica e aggiornamento di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html). | DBA | 
| Crea un utente per il task AWS DMS. | Crea un utente AWS DMS nel database di origine e concedigli i privilegi READ. Questo utente verrà utilizzato sia da AWS SCT che da AWS DMS. | DBA | 
| Verifica la connettività DB. | Verifica la connettività all'istanza DB di Oracle. | DBA | 
| Crea un nuovo progetto in AWS SCT. | Apri lo strumento AWS SCT e crea un nuovo progetto. | DBA | 
| Analizza lo schema Oracle da migrare. | Usa AWS SCT per analizzare lo schema da migrare e generare un rapporto di valutazione della migrazione del database. Per ulteriori informazioni, consulta [Creazione di un report di valutazione della migrazione del database](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.Create.html) nella documentazione di AWS SCT. | DBA | 
| Esamina il rapporto di valutazione. | Esamina il rapporto per verificare la fattibilità della migrazione. Alcuni oggetti DB potrebbero richiedere la conversione manuale. Per ulteriori informazioni sul report, consulta [Visualizzazione del rapporto di valutazione](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html) nella documentazione di AWS SCT. | DBA | 

### Preparare il database di destinazione
<a name="prepare-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cluster Amazon Redshift. | Crea un cluster Amazon Redshift all'interno del VPC creato in precedenza. Per ulteriori informazioni, consulta i [cluster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) nella documentazione di Amazon Redshift. | DBA | 
| Crea utenti del database. | Estrai l'elenco di utenti, ruoli e concessioni dal database di origine Oracle. Crea utenti nel database Amazon Redshift di destinazione e applica i ruoli del passaggio precedente. | DBA | 
| Valuta i parametri del database. | Esamina le opzioni del database, i parametri, i file di rete e i link al database dal database di origine Oracle e valuta la loro applicabilità alla destinazione.             | DBA | 
| Applica tutte le impostazioni pertinenti all'obiettivo.  | Per ulteriori informazioni su questo passaggio, consulta il [riferimento alla configurazione](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) nella documentazione di Amazon Redshift. | DBA | 

### Crea oggetti nel database di destinazione
<a name="create-objects-in-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un utente AWS DMS nel database di destinazione. | Crea un utente AWS DMS nel database di destinazione e concedigli i privilegi di lettura e scrittura. Convalida la connettività da AWS SCT. | DBA | 
| Converti lo schema, esamina il report SQL e salva eventuali errori o avvisi. | Per ulteriori informazioni, consulta [Conversione degli schemi di database utilizzando AWS SCT nella documentazione di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html). | DBA | 
| Applica le modifiche allo schema al database di destinazione o salvale come file.sql. | Per istruzioni, consulta [Salvare e applicare lo schema convertito in AWS SCT nella documentazione](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.DW.html#CHAP_Converting.DW.SaveAndApply) di AWS SCT. | DBA | 
| Convalida gli oggetti nel database di destinazione. | Convalida gli oggetti creati nel passaggio precedente nel database di destinazione. Riscrivi o riprogetta gli oggetti che non sono stati convertiti correttamente. | DBA | 
| Disabilita le chiavi esterne e i trigger. | Disabilita qualsiasi chiave esterna e trigger. Questi possono causare problemi di caricamento dei dati durante il processo di caricamento completo durante l'esecuzione di AWS DMS. | DBA | 

### Migrazione dei dati con AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un'istanza di replica di AWS DMS. | Accedi alla Console di gestione AWS e apri la console AWS DMS. Nel pannello di navigazione, scegli Istanze di **replica, **Crea** istanza** di replica. Per istruzioni dettagliate, consulta il [passaggio 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance) in *Getting started with AWS DMS* nella documentazione di AWS DMS. | DBA | 
| Crea endpoint di origine e destinazione. | Crea endpoint di origine e di destinazione, verifica la connessione dall'istanza di replica agli endpoint di origine e di destinazione. Per istruzioni dettagliate, consulta il [passaggio 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints) in *Getting started with AWS DMS* nella documentazione di AWS DMS. | DBA | 
| Creare un'attività di replica. | Creare un'attività di replica e selezionare il metodo di migrazione appropriato. Per istruzioni dettagliate, consulta il [passaggio 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks) in *Getting started with AWS DMS* nella documentazione di AWS DMS. | DBA | 
| Avvia la replica dei dati. | Avvia l'attività di replica e monitora i log per eventuali errori. | DBA | 

### Migra la tua applicazione
<a name="migrate-your-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea server di applicazioni. | Crea i nuovi server delle applicazioni su AWS. | Proprietario dell'applicazione | 
| Esegui la migrazione del codice dell'applicazione. | Migrare il codice dell'applicazione sui nuovi server. | Proprietario dell'applicazione | 
| Configurare il server delle applicazioni. | Configura il server delle applicazioni per il database e i driver di destinazione. | Proprietario dell'applicazione | 
| Ottimizza il codice dell'applicazione. | Ottimizza il codice dell'applicazione per il motore di destinazione. | Proprietario dell'applicazione | 

### Passa al database di destinazione
<a name="cut-over-to-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida gli utenti. | Nel database Amazon Redshift di destinazione, convalida gli utenti e concedi loro ruoli e privilegi. | DBA | 
| Verifica che l'applicazione sia bloccata. | Assicuratevi che l'applicazione sia bloccata, per evitare ulteriori modifiche. | Proprietario dell'applicazione | 
| Convalida i dati. | Convalida i dati nel database Amazon Redshift di destinazione. | DBA | 
| Abilita chiavi esterne e trigger. | Abilita chiavi esterne e trigger nel database Amazon Redshift di destinazione. | DBA | 
| Connect al nuovo database. | Configura l'applicazione per la connessione al nuovo database Amazon Redshift. | Proprietario dell'applicazione | 
| Eseguire i controlli finali. | Esegui un controllo finale e completo del sistema prima di andare in diretta. | DBA, proprietario dell'applicazione | 
| Trasmetti in diretta. | Trasmetti online il database Amazon Redshift di destinazione. | DBA | 

### Chiudi il progetto di migrazione
<a name="close-the-migration-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. | Chiudi le risorse AWS temporanee come l'istanza di replica AWS DMS e l' EC2 istanza utilizzata per AWS SCT.  | DBA, amministratore di sistema | 
| Rivedi i documenti.  | Rivedi e convalida i documenti del progetto di migrazione.     | DBA, amministratore di sistema | 
| Raccogli le metriche. | Raccogli informazioni sul progetto di migrazione, ad esempio il tempo necessario per la migrazione, la percentuale di attività manuali rispetto a quelle eseguite con l'ausilio di strumenti e il risparmio totale sui costi.  | DBA, amministratore di sistema | 
| Chiudi il progetto. | Chiudi il progetto e fornisci feedback. | DBA, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-resources"></a>

**Riferimenti**
+ [Guida per l'utente di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guida per l'utente di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Guida introduttiva ad Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

**Tutorial e video**
+ [Scopri di più su AWS SCT e AWS DMS](https://www.youtube.com/watch?v=kJs9U4ys5FE) (presentazione da AWS re:Invent 2019)
+ [Guida introduttiva ad AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)

# Esegui la migrazione di un database Oracle ad Aurora PostgreSQL utilizzando AWS DMS e AWS SCT
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct"></a>

*Senthil Ramasamy, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-summary"></a>

Questo modello descrive come migrare un database Oracle verso l'edizione compatibile con Amazon Aurora PostgreSQL utilizzando AWS Data Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT). 

Il modello copre i database Oracle di origine locali, i database Oracle installati su istanze Amazon Elastic Compute Cloud (Amazon EC2) e Amazon Relational Database Service (Amazon RDS) per i database Oracle. Il pattern converte questi database in Aurora PostgreSQL compatibili.

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un database Oracle in un data center locale o nel cloud AWS.
+ Client SQL installati su un computer locale o su un' EC2 istanza.
+ Driver Java Database Connectivity (JDBC) per connettori AWS SCT, installati su un computer locale o su un'istanza EC2 in cui è installato AWS SCT. 

**Limitazioni**
+ Limite di dimensione del database: 128 TB 
+ Se il database di origine supporta un'applicazione commerciale off-the-shelf (COTS) o è specifico del fornitore, potrebbe non essere possibile convertirlo in un altro motore di database. Prima di utilizzare questo pattern, verifica che l'applicazione supporti la compatibilità con Aurora PostgreSQL.  

**Versioni del prodotto**
+ Per i database Oracle autogestiti, AWS DMS supporta tutte le edizioni dei database Oracle per le versioni 10.2 e successive (per le versioni 10.x), 11g e fino a 12.2, 18c e 19c. Per l'elenco più recente delle versioni di database Oracle supportate (sia autogestite che Amazon RDS for Oracle), [consulta Utilizzo di un database Oracle come origine per AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) DMS e [Utilizzo di un database PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) come destinazione per AWS DMS. 
+ Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità. Per informazioni sulle versioni dei database Oracle supportate da AWS SCT, consulta la documentazione di [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ Aurora supporta le versioni di PostgreSQL elencate nelle versioni di Amazon [Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) PostgreSQL e nelle versioni del motore.

## Architecture
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-architecture"></a>

**Stack tecnologico di origine**

Una delle seguenti:
+ Un database Oracle locale
+ Un database Oracle su un'istanza EC2  
+ Un'istanza DB Amazon RDS per Oracle

**Stack tecnologico Target**
+ Compatibile con Aurora PostgreSQL 

**Architettura Target**

![\[Architettura di destinazione per la migrazione dei database Oracle verso Aurora PostgreSQL compatibile.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/68beb634-926e-4908-97b1-edcd23e06a2b.png)


**Architettura di migrazione dei dati**
+ Da un database Oracle in esecuzione nel cloud AWS   
![\[Architettura di migrazione dei dati per un database Oracle su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/7fc32019-3db1-485b-93e5-6d5539be048c.png)

   
+ Da un database Oracle in esecuzione in un data center locale  
![\[Architettura di migrazione dei dati per un database Oracle in un data center locale.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/c70d8774-aef7-4414-9766-ce8f25757c4b.png)

## Tools (Strumenti)
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.

## Epiche
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare il database di origine. | Per preparare il database di origine, consulta [Using Oracle Database as a source for AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) nella documentazione di AWS SCT. | DBA | 
| Crea un' EC2 istanza per AWS SCT. | Crea e configura un' EC2 istanza per AWS SCT, se necessario. | DBA | 
| Scarica AWS SCT. | Scarica la versione più recente di AWS SCT e i driver associati. Per ulteriori informazioni, consulta [Installazione, verifica e aggiornamento di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) nella documentazione di AWS SCT. | DBA | 
| Aggiungi utenti e autorizzazioni. | Aggiungi e convalida gli utenti e le autorizzazioni prerequisiti nel database di origine. | DBA | 
| Crea un progetto AWS SCT. | Crea un progetto AWS SCT per il carico di lavoro e connettiti al database di origine. Per istruzioni, consulta [Creazione di un progetto AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Project) e [Aggiungere server di database](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers) nella documentazione di AWS SCT. | DBA | 
| Valuta la fattibilità. | Genera un rapporto di valutazione, che riepiloga le azioni da intraprendere per gli schemi che non possono essere convertiti automaticamente e fornisce stime degli sforzi di conversione manuali. Per ulteriori informazioni, consulta [Creazione e revisione del report di valutazione della migrazione del database](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) nella documentazione di AWS SCT. | DBA | 

### Preparare il database di destinazione
<a name="prepare-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza database Amazon RDS di destinazione. | Crea un'istanza database Amazon RDS di destinazione utilizzando Amazon Aurora come motore di database. Per istruzioni, consulta [Creazione di un'istanza database Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) nella documentazione di Amazon RDS. | DBA | 
| Estrai utenti, ruoli e autorizzazioni. | Estrai l'elenco di utenti, ruoli e autorizzazioni dal database di origine. | DBA | 
| Mappa gli utenti. | Mappare gli utenti esistenti del database ai nuovi utenti del database. | Proprietario dell'app | 
| Creare utenti. | Crea utenti nel database di destinazione. | DBA, proprietario dell'app | 
| Applica ruoli. | Applica i ruoli del passaggio precedente al database di destinazione. | DBA | 
| Controlla opzioni, parametri, file di rete e collegamenti al database. | Esamina le opzioni, i parametri, i file di rete e i collegamenti al database di origine, quindi valuta la loro applicabilità al database di destinazione. | DBA | 
| Applica le impostazioni. | Applica tutte le impostazioni pertinenti al database di destinazione. | DBA | 

### Trasferisci oggetti
<a name="transfer-objects"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la connettività AWS SCT. | Configura la connettività AWS SCT al database di destinazione. | DBA | 
| Converti lo schema utilizzando AWS SCT. | AWS SCT converte automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Qualsiasi codice che lo strumento non è in grado di convertire automaticamente è chiaramente contrassegnato in modo da poterlo convertire manualmente. | DBA | 
| Esamina il rapporto. | Esamina il report SQL generato e salva eventuali errori e avvisi. | DBA | 
| Applica modifiche automatiche allo schema. | Applica modifiche automatiche allo schema al database di destinazione o salvale come file.sql. | DBA | 
| Convalida gli oggetti. | Verifica che AWS SCT abbia creato gli oggetti sulla destinazione.  | DBA | 
| Gestisci gli elementi che non sono stati convertiti. | Riscrivi, rifiuta o riprogetta manualmente gli elementi che non sono stati convertiti automaticamente. | DBA, proprietario dell'app | 
| Applica le autorizzazioni per ruoli e utenti. | Applica il ruolo generato e le autorizzazioni utente ed esamina le eventuali eccezioni. | DBA | 

### Migrare i dati
<a name="migrate-the-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Determina il metodo. | Determina il metodo per la migrazione dei dati. | DBA | 
| Crea un'istanza di replica. | Crea un'istanza di replica dalla console AWS DMS. Per ulteriori informazioni, consulta [Lavorare con un'istanza di replica AWS DMS nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html) di AWS DMS. | DBA | 
| Crea gli endpoint di origine e di destinazione. | Per creare endpoint, segui le istruzioni in [Creazione di endpoint di origine e destinazione nella documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | DBA | 
| Creare un'attività di replica. | Per creare un'attività, consulta [Working with AWS DMS tasks](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) nella documentazione di AWS DMS. | DBA | 
| Avvia l'attività di replica e monitora i log. | Per ulteriori informazioni su questo passaggio, consulta [Monitoraggio delle attività di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html) nella documentazione di AWS DMS. | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Analizza e converti gli elementi SQL nel codice dell'applicazione. | Usa AWS SCT per analizzare e convertire gli elementi SQL nel codice dell'applicazione. Quando converti lo schema del database da un motore a un altro, è anche necessario aggiornare il codice SQL nelle applicazioni, per interagire con il nuovo motore di database al posto di quello precedente. Puoi visualizzare, analizzare, modificare e salvare il codice SQL convertito. | Proprietario dell'app | 
| Crea server di applicazioni. | Crea i nuovi server delle applicazioni su AWS. | Proprietario dell'app | 
| Esegui la migrazione del codice dell'applicazione. | Migrare il codice dell'applicazione sui nuovi server. | Proprietario dell'app | 
| Configura i server delle applicazioni. | Configura i server delle applicazioni per il database e i driver di destinazione. | Proprietario dell'app | 
| Correggi il codice. | Correggi qualsiasi codice specifico del motore di database di origine dell'applicazione. | Proprietario dell'app | 
| Ottimizza il codice. | Ottimizza il codice dell'applicazione per il motore di database di destinazione. | Proprietario dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferiscilo al database di destinazione. | Esegui il cutover sul nuovo database. | DBA | 
| Blocca l'applicazione. | Blocca l'applicazione da eventuali ulteriori modifiche. | Proprietario dell'app | 
| Convalida le modifiche. | Verifica che tutte le modifiche siano state propagate al database di destinazione. | DBA | 
| Reindirizzamento al database di destinazione. | Indirizza i nuovi server delle applicazioni verso il database di destinazione. | Proprietario dell'app | 
| Controllate tutto. | Esegui un controllo finale e completo del sistema. | Proprietario dell'app | 
| Trasmetti in diretta. | Completa le attività finali di cutover. | Proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse temporanee. | Chiudi le risorse AWS temporanee come l'istanza di replica AWS DMS e l' EC2 istanza utilizzata per AWS SCT. | DBA, proprietario dell'app | 
| Aggiorna il feedback. | Aggiorna il feedback sul processo AWS DMS per i team interni. | DBA, proprietario dell'app | 
| Modifica il processo e i modelli. | Rivedi il processo AWS DMS e, se necessario, migliora il modello. | DBA, proprietario dell'app | 
| Convalida i documenti. | Rivedi e convalida i documenti del progetto. | DBA, proprietario dell'app | 
| Raccogli le metriche. | Raccogli le metriche per valutare i tempi di migrazione, la percentuale di risparmio sui costi manuali rispetto a quelli degli strumenti e così via. | DBA, proprietario dell'app | 
| Chiudi il progetto. | Chiudi il progetto di migrazione e fornisci feedback alle parti interessate. | DBA, proprietario dell'app | 

## Risorse correlate
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-resources"></a>

**Riferimenti**
+ [Utilizzo di un database Oracle come sorgente per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilizzo di un database PostgreSQL come destinazione per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Playbook di migrazione da Oracle Database 11g/12c ad Amazon Aurora con compatibilità PostgreSQL (9.6.x)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Playbook sulla migrazione da Oracle Database 19c ad Amazon Aurora con compatibilità PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Migrazione di un database Amazon RDS for Oracle verso Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/dms/latest/sbs/chap-oracle-postgresql.html)
+ [Servizio di migrazione dei dati AWS](https://aws.amazon.com/dms/)
+ [Strumento di conversione dello schema AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Esegui la migrazione da Oracle ad Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutorial e video**
+ [Procedure dettagliate per la migrazione del database Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS Data Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U) (video)
+ [Migrazione di un database Oracle a PostgreSQL](https://www.youtube.com/watch?v=ibtNkChGFkw) (video)

## Informazioni aggiuntive
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-additional"></a>

.

# Esegui la migrazione dei dati da un database Oracle locale ad Aurora PostgreSQL
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql"></a>

*Michelle Deng e Shunan Xiang, Amazon Web Services*

## Riepilogo
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-summary"></a>

Questo modello fornisce indicazioni per la migrazione dei dati da un database Oracle locale all'edizione compatibile con Amazon Aurora PostgreSQL. Mira a una strategia di migrazione dei dati online con tempi di inattività minimi per database Oracle da più terabyte che contengono tabelle di grandi dimensioni con attività DML (High Data Manipulation Language). Un database di standby Oracle Active Data Guard viene utilizzato come origine per scaricare la migrazione dei dati dal database primario. La replica dal database primario Oracle allo standby può essere sospesa durante il pieno carico per evitare errori ORA-01555. 

Le colonne di tabella nelle chiavi primarie (PKs) o nelle chiavi esterne (FKs), con tipo di dati NUMBER, vengono comunemente utilizzate per memorizzare numeri interi in Oracle. Ti consigliamo di convertirli in INT o BIGINT in PostgreSQL per prestazioni migliori. Puoi utilizzare AWS Schema Conversion Tool (AWS SCT) per modificare la mappatura dei tipi di dati predefinita per le colonne PK e FK. (Per ulteriori informazioni, consulta il post AWS sul blog [Convertire il tipo di dati NUMBER da Oracle a PostgreSQL](https://aws.amazon.com/blogs/database/convert-the-number-data-type-from-oracle-to-postgresql-part-2/).) La migrazione dei dati in questo modello utilizza AWS Database Migration Service (AWS DMS) sia per l'acquisizione dei dati a pieno carico che per quella di modifica (CDC).

Puoi anche utilizzare questo modello per migrare un database Oracle locale su Amazon Relational Database Service (Amazon RDS) per PostgreSQL o un database Oracle ospitato su Amazon Elastic Compute Cloud (Amazon) verso Amazon RDS for PostgreSQL o Aurora PostgreSQL compatibile. EC2

## Prerequisiti e limitazioni
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database di origine Oracle in un data center locale con configurazione in standby Active Data Guard 
+ AWS Direct Connect configurato tra il data center locale e il cloud AWS
+ Familiarità con [l'utilizzo di un database Oracle come fonte per AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) DMS
+ Familiarità con [l'uso di un database PostgreSQL come destinazione per AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) DMS

**Limitazioni**
+ I cluster di database Amazon Aurora possono essere creati con un massimo di 128 TiB di storage. Le istanze di database Amazon RDS for PostgreSQL possono essere create con un massimo di 64 TiB di storage. Per le informazioni più recenti sullo storage, consulta lo [storage e l'affidabilità di Amazon Aurora e lo storage](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html) di [istanze DB Amazon RDS nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) AWS.

**Versioni del prodotto**
+ AWS DMS supporta tutte le edizioni del database Oracle per le versioni 10.2 e successive (per le versioni 10.x), 11g e fino a 12.2, 18c e 19c. Per l'elenco più recente delle versioni supportate, consulta [Using an Oracle Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) nella documentazione AWS. 

## Architecture
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle locali con configurazione in standby Oracle Active Data Guard 

**Stack tecnologico Target**
+ Compatibile con Aurora PostgreSQL 

**Architettura di migrazione dei dati**

![\[Migrazione di un database Oracle verso Aurora PostgreSQL compatibile\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/49f9b03e-6d33-4ac0-94ad-d3e6d02e6d63/images/0038a36b-fb7d-4f2d-8376-8d38290b0736.png)


## Tools (Strumenti)
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-tools"></a>
+ **AWS DMS** - [AWS Database Migration Service](https://docs.aws.amazon.com/dms/index.html) (AWS DMS) supporta diversi database di origine e destinazione. Consulta [Using an Oracle Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) nella documentazione di AWS DMS per un elenco delle versioni ed edizioni del database Oracle di origine e destinazione supportate. Se il database di origine non è supportato da AWS DMS, devi selezionare un altro metodo per la migrazione dei dati nella Fase 6 (nella sezione *Epics*). **Nota importante:** poiché si tratta di una migrazione eterogenea, è necessario innanzitutto verificare se il database supporta un'applicazione commerciale (COTS). off-the-shelf Se l'applicazione è COTS, consulta il fornitore per confermare che la compatibilità con Aurora PostgreSQL sia supportata prima di procedere. Per ulteriori informazioni, consulta le [procedure dettagliate per la Step-by-Step migrazione di AWS DMS nella documentazione](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) AWS.
+ **AWS SCT** - L'[AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.htm) (AWS SCT) facilita le migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Il codice personalizzato convertito dallo strumento include viste, procedure memorizzate e funzioni. Qualsiasi codice che lo strumento non è in grado di convertire automaticamente è contrassegnato in modo chiaro in modo che sia possibile convertirlo autonomamente. 

## Epiche
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni del database di origine e di destinazione. |  | DBA | 
| Installa AWS SCT e i driver. |  | DBA | 
| Aggiungi e convalida gli utenti dei prerequisiti AWS SCT e il database grants-source. |  | DBA | 
| Crea un progetto AWS SCT per il carico di lavoro e connettiti al database di origine. |  | DBA | 
| Genera un rapporto di valutazione e valuta la fattibilità. |  | DBA, proprietario dell'app | 

### Preparare il database di destinazione
<a name="prepare-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un database di destinazione compatibile con Aurora PostgreSQL. |  | DBA | 
| Estrai l'elenco degli utenti, dei ruoli e delle concessioni dal database di origine. |  | DBA | 
| Associa gli utenti esistenti del database ai nuovi utenti del database. |  | Proprietario dell'app | 
| Crea utenti nel database di destinazione. |  | DBA | 
| Applica i ruoli del passaggio precedente al database Aurora di destinazione compatibile con PostgreSQL. |  | DBA | 
| Esamina le opzioni del database, i parametri, i file di rete e i collegamenti al database dal database di origine e valuta la loro applicabilità al database di destinazione. |  | DBA, proprietario dell'app | 
| Applica tutte le impostazioni pertinenti al database di destinazione. |  | DBA | 

### Prepararsi per la conversione del codice oggetto del database
<a name="prepare-for-database-object-code-conversion"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la connettività AWS SCT al database di destinazione. |  | DBA | 
| Converti lo schema in AWS SCT e salva il codice convertito come file.sql. |  | DBA, proprietario dell'app | 
| Converti manualmente tutti gli oggetti del database che non sono stati convertiti automaticamente. |  | DBA, proprietario dell'app | 
| Ottimizza la conversione del codice del database. |  | DBA, proprietario dell'app | 
| Separa il file.sql in più file.sql in base al tipo di oggetto. |  | DBA, proprietario dell'app | 
| Convalida gli script SQL nel database di destinazione. |  | DBA, proprietario dell'app | 

### Preparati per la migrazione dei dati
<a name="prepare-for-data-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un'istanza di replica di AWS DMS. |  | DBA | 
| Crea gli endpoint di origine e di destinazione.  | Se il tipo di dati di PKs and FKs viene convertito da NUMBER in Oracle a BIGINT in PostgreSQL, valuta la possibilità di specificare l'attributo di connessione `numberDataTypeScale=-2` quando crei l'endpoint di origine. | DBA | 

### Migrazione dei dati: a pieno carico
<a name="migrate-data-ndash-full-load"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea lo schema e le tabelle nel database di destinazione. |  | DBA | 
|  Crea attività a pieno carico di AWS DMS raggruppando tabelle o suddividendo una tabella di grandi dimensioni in base alle dimensioni della tabella. |  | DBA | 
| Arresta le applicazioni sui database Oracle di origine per un breve periodo. |  | Proprietario dell'app | 
| Verificare che il database di standby Oracle sia sincrono con il database primario e interrompere la replica dal database primario al database di standby. |  | DBA, proprietario dell'app | 
| Avvia le applicazioni sul database Oracle di origine. |  | Proprietario dell'app | 
| Avvia le attività di caricamento completo di AWS DMS in parallelo dal database di standby Oracle al database Aurora compatibile con PostgreSQL. |  | DBA | 
| Crea PKs indici secondari dopo il completamento del caricamento completo. |  | DBA | 
| Convalida i dati. |  | DBA | 

### Migrazione dei dati — CDC
<a name="migrate-data-ndash-cdc"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea attività di replica continue di AWS DMS specificando un'ora di inizio CDC o un numero di modifica del sistema (SCN) personalizzato quando lo standby di Oracle era sincronizzato con il database primario e prima che le applicazioni fossero riavviate nell'attività precedente. |  | DBA | 
| Avvia le attività di AWS DMS in parallelo per replicare le modifiche in corso dal database di standby Oracle al database Aurora compatibile con PostgreSQL. |  | DBA | 
| Ristabilisci la replica dal database primario Oracle al database di standby. |  | DBA | 
| Monitora i log e arresta le applicazioni sul database Oracle quando il database di destinazione Aurora PostgreSQL compatibile è quasi sincrono con il database Oracle di origine. |  | DBA, proprietario dell'app | 
| Interrompi le attività di AWS DMS quando la destinazione è completamente sincronizzata con il database Oracle di origine. |  | DBA | 
| Crea FKs e convalida i dati nel database di destinazione. |  | DBA | 
| Crea funzioni, viste, trigger, sequenze e altri tipi di oggetti nel database di destinazione. |  | DBA | 
| Applica le concessioni di ruolo nel database di destinazione. |  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Usa AWS SCT per analizzare e convertire le istruzioni SQL all'interno del codice dell'applicazione. |  | Proprietario dell'app | 
| Crea nuovi server di applicazioni su AWS. |  | Proprietario dell'app | 
| Esegui la migrazione del codice dell'applicazione sui nuovi server. |  | Proprietario dell'app | 
| Configura il server delle applicazioni per il database e i driver di destinazione. |  | Proprietario dell'app | 
| Corregge qualsiasi codice specifico del motore di database di origine dell'applicazione. |  | Proprietario dell'app | 
| Ottimizza il codice dell'applicazione per il database di destinazione. |  | Proprietario dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Indirizza il nuovo server delle applicazioni verso il database di destinazione. |  | DBA, proprietario dell'app | 
| Esegui controlli di integrità. |  | DBA, proprietario dell'app | 
| Trasmetti in diretta. |  | DBA, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | DBA, amministratore di sistema | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell'app | 
| Raccogli le metriche relative al tempo di migrazione, alla percentuale di utilizzo manuale rispetto a quello degli strumenti, al risparmio sui costi e a dati simili. |  | DBA, proprietario dell'app | 
| Chiudi il progetto e fornisci feedback. |  | DBA, proprietario dell'app | 

## Risorse correlate
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-resources"></a>

**Riferimenti**
+ [Compatibile con Oracle Database ad Aurora PostgreSQL: Migration Playbook](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Migrazione di un Amazon RDS per Oracle Database su Amazon Aurora MySQL](https://docs.aws.amazon.com/dms/latest/sbs/chap-rdsoracle2aurora.html)
+ [Sito web AWS DMS](https://aws.amazon.com/dms/)
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Sito web AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Esegui la migrazione da Oracle ad Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

**Tutorial**
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/) 
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [ Step-by-StepProcedure dettagliate di AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/dms-sbs-welcome.html)

# Esegui la migrazione da SAP ASE ad Amazon RDS per SQL Server utilizzando AWS DMS
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms"></a>

*Amit Kumar, Amazon Web Services*

## Riepilogo
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un database SAP Adaptive Server Enterprise (ASE) a un'istanza DB Amazon Relational Database Service (Amazon RDS) che esegue Microsoft SQL Server. Il database di origine può essere collocato in un data center locale o su un'istanza Amazon Elastic Compute Cloud EC2 (Amazon). Il modello utilizza AWS Database Migration Service (AWS DMS) per migrare i dati e (facoltativamente) strumenti di ingegneria del software assistita da computer (CASE) per convertire lo schema del database. 

## Prerequisiti e limitazioni
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database SAP ASE in un data center locale o su un'istanza EC2 
+ Un database Amazon RDS for SQL Server di destinazione attivo e funzionante

**Limitazioni**
+ Limite di dimensione del database: 64 TB

**Versioni del prodotto**
+ Solo versione SAP ASE 15.7 o 16.x. Per le informazioni più recenti, consulta [Using an SAP Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html).
+ Per i database di destinazione Amazon RDS, AWS DMS supporta [le versioni di Microsoft SQL Server su Amazon RDS per le](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) edizioni Enterprise, Standard, Web ed Express. Per le informazioni più recenti sulle versioni supportate, consulta la [documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html). Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità.  

## Architecture
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Un database SAP ASE locale o su un'istanza Amazon EC2 

**Stack tecnologico Target**
+ Un'istanza DB di Amazon RDS per SQL Server

**Architettura di origine e destinazione**

*Da un database SAP ASE su Amazon EC2 a un'istanza DB Amazon RDS for SQL Server:*

![\[Architettura di destinazione per SAP ASE su Amazon EC2 su Amazon RDS for SQL Server\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/957bdcf0-ab58-4b6d-a71a-d0ecbc31822c.png)


*Da un database SAP ASE locale a un'istanza DB Amazon RDS for SQL Server:*

![\[Architettura di destinazione per SAP ASE su Amazon RDS for SQL Server in locale\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/65aab2f5-0e63-4c34-97e2-cd4ac23751a4.png)


## Tools (Strumenti)
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-tools"></a>
+ [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) è un servizio Web che puoi utilizzare per migrare i dati dal tuo database locale, su un'istanza DB Amazon RDS o in un database su un' EC2 istanza, verso un database su un servizio AWS come Amazon RDS for SQL Server o un'istanza. EC2 Puoi anche migrare un database da un servizio AWS a un database locale. È possibile migrare i dati tra motori di database eterogenei o omogenei.
+ [https://erwin.com/products/erwin-data-modeler/](https://erwin.com/products/erwin-data-modeler/)

## Epiche
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni del database di origine e di destinazione. |  | DBA | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, SysAdmin | 
| Scegli il tipo di istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, SysAdmin | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, SysAdmin | 
| Identifica la strategia di migrazione delle applicazioni. |  | DBA SysAdmin, proprietario dell'app | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (VPC) e sottoreti. |  | SysAdmin | 
| Crea gruppi di sicurezza e liste di controllo degli accessi alla rete (). ACLs |  | SysAdmin | 
| Configura e avvia un'istanza database Amazon RDS. |  | SysAdmin | 

### Migrazione dei dati - opzione 1
<a name="migrate-data---option-1"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione manuale dello schema del database o utilizza uno strumento CASE come erwin Data Modeler o SAP. PowerDesigner |  | DBA | 

### Migrazione dei dati - opzione 2
<a name="migrate-data---option-2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra i dati con AWS DMS. |  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni. |  | DBA SysAdmin, proprietario dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. |  | DBA SysAdmin, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | DBA, SysAdmin | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell' SysAdminapp | 
| Raccogli parametri come il tempo necessario per la migrazione, la percentuale di attività manuali rispetto a quelle automatizzate e il risparmio sui costi. |  | DBA, proprietario dell'app SysAdmin | 
| Chiudi il progetto e fornisci feedback. |  | DBA SysAdmin, proprietario dell'app | 

## Risorse correlate
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-resources"></a>

**Riferimenti**
+ [Sito web AWS DMS](https://aws.amazon.com/dms/)
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Utilizzo di un database SAP ASE come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)
+ [Limitazioni per RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html)

**Tutorial e video**
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (video)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Esegui la migrazione di un database Microsoft SQL Server locale su Amazon Redshift utilizzando AWS DMS
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms"></a>

*Marcelo Fernandes, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un database Microsoft SQL Server locale su Amazon Redshift utilizzando AWS Data Migration Service (AWS DMS). 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Microsoft SQL Server di origine in un data center locale
+ [Prerequisiti completati per l'utilizzo di un database Amazon Redshift come destinazione per AWS DMS, come discusso nella documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.Prerequisites)

**Versioni del prodotto**
+ Edizioni SQL Server 2005-2019, Enterprise, Standard, Workgroup, Developer e Web. Per l'elenco più recente delle versioni supportate, consulta [Using a Microsoft SQL Server Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) nella documentazione AWS. 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Un database Microsoft SQL Server locale 

**Stack tecnologico Target**
+ Amazon Redshift

**Architettura di migrazione dei dati**

 

![\[Architettura per la migrazione di un database SQL Server locale su Amazon Redshift utilizzando AWS DMS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/65b2be1b-740e-4d4d-99a8-f77c4ea6553d/images/3a094bf2-be31-4d83-8dd2-9dc078321055.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) è un servizio di migrazione dei dati che supporta diversi tipi di database di origine e destinazione. Per informazioni sulle versioni e le edizioni del database Microsoft SQL Server supportate per l'uso con AWS DMS, consulta Using a [Microsoft SQL Server Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) nella documentazione di AWS DMS. Se AWS DMS non supporta il tuo database di origine, devi selezionare un metodo alternativo per la migrazione dei dati.

## Epiche
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la versione e il motore del database di origine e di destinazione. |  | DBA | 
| Identifica i requisiti hardware per l'istanza del server di destinazione. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, amministratore di sistema | 
| Scegli il tipo di istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, amministratore di sistema | 
| Identifica la strategia di migrazione delle applicazioni. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) | Per ulteriori informazioni, consulta [Lavorare con un'istanza DB in un VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) nella documentazione AWS. | Amministratore di sistema | 
| Crea gruppi di sicurezza. |  | Amministratore di sistema | 
| Configura e avvia un cluster Amazon Redshift. | Per ulteriori informazioni, consulta [Creare un cluster Amazon Redshift di esempio nella documentazione](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-launch-sample-cluster.html) di Amazon Redshift. | DBA, amministratore di sistema | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione dei dati dal database Microsoft SQL Server utilizzando AWS DMS. |  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse temporanee. |  | DBA, amministratore di sistema | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Raccogli parametri come il tempo necessario per la migrazione, la percentuale di attività manuali rispetto a quelle automatizzate e il risparmio sui costi. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Chiudi il progetto e fornisci feedback. |  | DBA, proprietario dell'app, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-resources"></a>

**Riferimenti**
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/index.html)
+ [Documentazione Amazon Redshift](https://docs.aws.amazon.com/redshift/)
+ [Prezzi di Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutorial e video**
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Nozioni di base su Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Utilizzo di un database Amazon Redshift come destinazione per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 

# Esegui la migrazione di un database Microsoft SQL Server locale su Amazon Redshift utilizzando gli agenti di estrazione dati AWS SCT
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents"></a>

*Neha Thakur, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-summary"></a>

Questo modello descrive i passaggi per la migrazione di un database di origine Microsoft SQL Server locale a un database di destinazione Amazon Redshift utilizzando gli agenti di estrazione dei dati AWS Schema Conversion Tool (AWS SCT). Un agente è un programma esterno che è integrato con AWS SCT ma esegue la trasformazione dei dati altrove e interagisce con altri servizi AWS per tuo conto.   

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-prereqs"></a>

**Prerequisiti**
+ Un database di origine Microsoft SQL Server utilizzato per il carico di lavoro del data warehouse in un data center locale
+ Un account AWS attivo

**Versioni del prodotto**
+ Microsoft SQL Server versione 2008 o successiva. Per l'elenco più recente delle versioni supportate, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-architecture"></a>

****stack tecnologico Source****
+ Un database Microsoft SQL Server locale

****stack tecnologico Target****
+ Amazon Redshift

**Architettura di migrazione dei dati**

![\[Migrazione di un database SQL Server su Amazon Redshift utilizzando agenti di estrazione dati AWS SCT.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/6975f67a-0705-47b4-a1b8-90aaa2597a04/images/dbff958b-7601-442e-9e23-4d07edd0ccfd.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-tools"></a>
+ [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) gestisce migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Quando i database di origine e di destinazione sono molto diversi, puoi utilizzare un agente AWS SCT per eseguire ulteriori trasformazioni dei dati. Per ulteriori informazioni, consulta [Migrazione dei dati da un data warehouse locale ad Amazon Redshift nella documentazione AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.dw.html).

## Best practice
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-best-practices"></a>
+ [Le migliori pratiche per AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_BestPractices.html)
+ [Best practice per Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/best-practices.html)

## Epiche
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni e i motori del database di origine e di destinazione. |  | DBA | 
| Identifica i requisiti hardware per l'istanza del server di destinazione. |  | DBA, SysAdmin | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, SysAdmin | 
| Scegli il tipo di istanza corretto (capacità, funzionalità di archiviazione, funzionalità di rete). |  | DBA, SysAdmin | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, SysAdmin | 
| Scegli una strategia di migrazione delle applicazioni. |  | DBA SysAdmin, proprietario dell'app | 

### Configurare l'infrastruttura
<a name="configure-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (VPC) e sottoreti. |  | SysAdmin | 
| Crea gruppi di sicurezza. |  | SysAdmin | 
| Configura e avvia il cluster Amazon Redshift. |  | SysAdmin | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra i dati utilizzando gli agenti di estrazione dati AWS SCT. |  | DBA | 

### Migrazione delle applicazioni
<a name="migrate-applications"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni scelta. |  | DBA SysAdmin, proprietario dell'app | 

### Passa al database di destinazione
<a name="cut-over-to-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. |  | DBA SysAdmin, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | DBA, SysAdmin | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell' SysAdminapp | 
| Raccogli parametri come il tempo necessario per la migrazione, la percentuale di attività manuali rispetto a quelle automatizzate e il risparmio sui costi. |  | DBA, proprietario dell'app SysAdmin | 
| Chiudi il progetto e fornisci qualsiasi feedback. |  | DBA SysAdmin, proprietario dell'app | 

## Risorse correlate
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-resources"></a>

**Riferimenti**
+ [Guida per l'utente di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Utilizzo di agenti di estrazione dati](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Prezzi di Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutorial e video**
+ [Guida introduttiva allo Schema Conversion Tool di AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html)
+ [Nozioni di base su Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

# Migrazione delle applicazioni legacy da Oracle Pro\$1C a ECPG
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg"></a>

*Sai Parthasaradhi e Mahesh Balumuri, Amazon Web Services*

## Riepilogo
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-summary"></a>

La maggior parte delle applicazioni legacy con codice SQL incorporato utilizza il precompilatore Oracle Pro\$1C per accedere al database. Quando esegui la migrazione di questi database Oracle ad Amazon Relational Database Service (Amazon RDS) per PostgreSQL o Amazon Aurora PostgreSQL Compatible Edition, devi convertire il codice dell'applicazione in un formato compatibile con il precompilatore di PostgreSQL, chiamato ECPG. Questo modello descrive come convertire il codice Oracle Pro\$1C nel suo equivalente in PostgreSQL ECPG. 

[Per ulteriori informazioni su Pro\$1C, consulta la documentazione Oracle.](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415) Per una breve introduzione a ECPG, vedere la sezione Informazioni [aggiuntive](#migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional).

## Prerequisiti e limitazioni
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database compatibile con Amazon RDS per PostgreSQL o Aurora PostgreSQL
+ Un database Oracle in esecuzione in locale

## Tools (Strumenti)
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-tools"></a>
+ I pacchetti PostgreSQL elencati nella sezione successiva.
+ [AWS CLI — L'](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)AWS Command Line Interface (AWS CLI) è uno strumento open source per interagire con i servizi AWS tramite comandi nella shell della riga di comando. Con una configurazione minima, puoi eseguire comandi AWS CLI che implementano funzionalità equivalenti a quelle fornite dalla Console di gestione AWS basata su browser da un prompt dei comandi.

## Epiche
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-epics"></a>

### Imposta l'ambiente di compilazione su CentOS o RHEL
<a name="set-the-build-environment-on-centos-or-rhel"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa i pacchetti PostgreSQL. | Installa i pacchetti PostgreSQL richiesti utilizzando i seguenti comandi.<pre>yum update -y<br />yum install -y yum-utils<br />rpm -ivh https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm<br />dnf -qy module disable postgresql</pre> | Sviluppatore di app, ingegnere DevOps  | 
| Installa i file di intestazione e le librerie. | Installa il `postgresql12-devel` pacchetto, che contiene i file di intestazione e le librerie, utilizzando i seguenti comandi. Installa il pacchetto sia nell'ambiente di sviluppo che in quello di runtime per evitare errori nell'ambiente di runtime.<pre>dnf -y install postgresql12-devel<br />yum install ncompress zip ghostscript jq unzip wget git -y</pre>Solo per l'ambiente di sviluppo, esegui anche i seguenti comandi.<pre>yum install zlib-devel make -y<br />ln -s /usr/pgsql-12/bin/ecpg /usr/bin/</pre> | Sviluppatore di app, DevOps ingegnere | 
| Configura la variabile del percorso di ambiente. | Imposta il percorso dell'ambiente per le librerie client PostgreSQL.<pre>export PATH=$PATH:/usr/pgsql-12/bin</pre> | Sviluppatore di app, ingegnere DevOps  | 
| Installa software aggiuntivo se necessario. | Se necessario, installare **pgLoader** in sostituzione di **SQL\$1Loader in Oracle**.<pre>wget -O /etc/yum.repos.d/pgloader-ccl.repo https://dl.packager.io/srv/opf/pgloader-ccl/master/installer/el/7.repo<br />yum install pgloader-ccl -y<br />ln -s /opt/pgloader-ccl/bin/pgloader /usr/bin/</pre>Se state chiamando delle applicazioni Java dai moduli Pro\$1C, installate Java.<pre>yum install java -y</pre>Installa **ant** per compilare il codice Java.<pre>yum install ant -y</pre> | Sviluppatore di app, DevOps ingegnere | 
| Installare l'interfaccia a riga di comando di AWS. | Installa l'AWS CLI per eseguire comandi per interagire con servizi AWS come AWS Secrets Manager e Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) dalle tue applicazioni.<pre>cd /tmp/<br />curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />./aws/install -i /usr/local/aws-cli -b /usr/local/bin --update</pre> | Sviluppatore di app, ingegnere DevOps  | 
| Identifica i programmi da convertire. | Identifica le applicazioni che desideri convertire da Pro\$1C a ECPG. | Sviluppatore di app, proprietario dell'app | 

### Converti il codice Pro\$1C in ECPG
<a name="convert-pro-c-code-to-ecpg"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimuovi le intestazioni indesiderate. | Rimuovi le `include ` intestazioni che non sono richieste in PostgreSQL, ad esempio, e. `oci.h` `oratypes` `sqlda` | Proprietario dell'app, sviluppatore dell'app | 
| Aggiorna le dichiarazioni delle variabili. | Aggiungi `EXEC SQL` istruzioni per tutte le dichiarazioni di variabili utilizzate come variabili host.Rimuovi `EXEC SQL VAR` le dichiarazioni come le seguenti dall'applicazione.<pre>EXEC SQL VAR query IS STRING(2048);</pre> | Sviluppatore di app, proprietario dell'app | 
| Aggiorna la funzionalità ROWNUM. | La `ROWNUM` funzione non è disponibile in PostgreSQL. Sostituiscila con la funzione `ROW_NUMBER` window nelle query SQL.Codice Pro\$1C:<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME <br />FROM  DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%' <br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM;</pre>Codice ECPG:<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME , ROW_NUMBER() OVER (ORDER BY FILE_NAME DESC) AS ROWNUM<br />FROM  demo_schema.DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%'<br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM; </pre> | Sviluppatore di app, proprietario dell'app | 
| Aggiorna i parametri della funzione per utilizzare le variabili alias. | In PostgreSQL, i parametri delle funzioni non possono essere usati come variabili host. Sovrascrivili utilizzando una variabile alias.Codice Pro\$1C:<pre>int processData(int referenceId){<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre>Codice ECPG:<pre>int processData(int referenceIdParam){<br />  EXEC SQL int referenceId = referenceIdParam;<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre> | Sviluppatore di app, proprietario dell'app | 
| Aggiorna i tipi di struttura. | Definisci `struct` i tipi `EXEC SQL BEGIN` e `END` i blocchi specificando `typedef` se le variabili `struct` di tipo vengono utilizzate come variabili host. Se i `struct` tipi sono definiti nei file header (`.h`), includi i file con le istruzioni `EXEC SQL` include.Codice Pro\$1C:File di intestazione () `demo.h`<pre>struct s_partition_ranges<br />{<br /> char   sc_table_group[31];<br /> char   sc_table_name[31];<br /> char   sc_range_value[10];<br />}; <br />struct s_partition_ranges_ind<br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />}; </pre>Codice ECPG:File di intestazione () `demo.h`<pre>EXEC SQL BEGIN DECLARE SECTION;<br />typedef struct <br />{<br />  char   sc_table_group[31];<br />  char   sc_table_name[31];<br />  char   sc_range_value[10];<br />} s_partition_ranges; <br />typedef struct <br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />} s_partition_ranges_ind; <br />EXEC SQL END DECLARE SECTION;</pre>File Pro\$1C () `demo.pc`<pre>#include "demo.h"<br />struct s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />struct s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;</pre>File ECPG () `demo.pc`<pre>exec sql include "demo.h"<br />EXEC SQL BEGIN DECLARE SECTION;<br />s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;<br />EXEC SQL END DECLARE SECTION;</pre> | Sviluppatore di app, proprietario dell'app | 
| Modifica la logica da recuperare dai cursori. | Per recuperare più righe dai cursori utilizzando variabili di matrice, modificate il codice da utilizzare. `FETCH FORWARD`Codice Pro\$1C:<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL FETCH filename_cursor into :aPoeFiles;</pre>Codice ECPG:<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL int fetchSize = MAX_FILES;<br />EXEC SQL FETCH FORWARD :fetchSize filename_cursor into :aPoeFiles;</pre> | Sviluppatore di app, proprietario dell'app | 
| Modifica le chiamate ai pacchetti che non hanno valori restituiti. | Le funzioni dei pacchetti Oracle che non hanno valori restituiti devono essere chiamate con una variabile indicatore. Se l'applicazione include più funzioni con lo stesso nome o se le funzioni di tipo sconosciuto generano errori di runtime, digita i valori nei tipi di dati.Codice Pro\$1C:<pre>void ProcessData (char *data , int id)<br />{        <br />        EXEC SQL EXECUTE<br />               BEGIN<br />                  pkg_demo.process_data (:data, :id);                                                                                    <br />               END;<br />       END-EXEC;<br />}</pre>Codice ECPG:<pre>void ProcessData (char *dataParam, int idParam )<br />{<br />        EXEC SQL char *data = dataParam;<br />        EXEC SQL int id = idParam;<br />        EXEC SQL short rowInd;<br />        EXEC SQL short rowInd = 0;<br />        EXEC SQL SELECT pkg_demo.process_data (<br />                       inp_data => :data::text,<br />                       inp_id => :id<br />               ) INTO :rowInd;<br />}</pre> | Sviluppatore di app, proprietario dell'app | 
| Riscrivi le variabili SQL\$1CURSOR. | Riscrivi la variabile e la sua implementazione. `SQL_CURSOR`Codice Pro\$1C:<pre>/* SQL Cursor */<br />SQL_CURSOR      demo_cursor;<br />EXEC SQL ALLOCATE :demo_cursor;<br />EXEC SQL EXECUTE<br />  BEGIN<br />      pkg_demo.get_cursor(     <br />        demo_cur=>:demo_cursor<br />      );<br />  END;<br />END-EXEC;</pre>Codice ECPG:<pre>EXEC SQL DECLARE demo_cursor CURSOR FOR SELECT<br />         * from<br />    pkg_demo.open_filename_rc(<br />            demo_cur=>refcursor<br />          ) ;<br />EXEC SQL char open_filename_rcInd[100]; <br /># As the below function returns cursor_name as <br /># return we need to use char[] type as indicator. <br />EXEC SQL SELECT pkg_demo.get_cursor (<br />        demo_cur=>'demo_cursor'<br />    ) INTO :open_filename_rcInd;</pre> | Sviluppatore di app, proprietario dell'app | 
| Applica modelli di migrazione comuni. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-legacy-applications-from-oracle-pro-c-to-ecpg.html) | Sviluppatore di app, proprietario dell'app | 
| Abilita il debug, se necessario.  | Per eseguire il programma ECPG in modalità debug, aggiungete il seguente comando all'interno del blocco funzionale principale.<pre>ECPGdebug(1, stderr); </pre> | Sviluppatore dell'app, proprietario dell'app | 

### Compila programmi ECPG
<a name="compile-ecpg-programs"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un file eseguibile per ECPG. | Se disponete di un file sorgente SQL C incorporato denominato`prog1.pgc`, potete creare un programma eseguibile utilizzando la seguente sequenza di comandi.<pre>ecpg prog1.pgc<br />cc -I/usr/local/pgsql/include -c prog1.c<br />cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg</pre> | Sviluppatore di app, proprietario dell'app | 
| Crea un make file per la compilazione. | Create un make file per compilare il programma ECPG, come mostrato nel seguente file di esempio.<pre>CFLAGS ::= $(CFLAGS) -I/usr/pgsql-12/include -g -Wall<br />LDFLAGS ::= $(LDFLAGS) -L/usr/pgsql-12/lib -Wl,-rpath,/usr/pgsql-12/lib<br />LDLIBS ::= $(LDLIBS) -lecpg<br />PROGRAMS = test <br />.PHONY: all clean<br />%.c: %.pgc<br />      ecpg $<<br />all: $(PROGRAMS)<br />clean:<br />    rm -f $(PROGRAMS) $(PROGRAMS:%=%.c) $(PROGRAMS:%=%.o)</pre> | Sviluppatore di app, proprietario dell'app | 

### Eseguire il test dell’applicazione
<a name="test-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Test del codice. | Verifica il codice dell'applicazione convertito per assicurarti che funzioni correttamente. | Sviluppatore di app, proprietario dell'app, tecnico di test | 

## Risorse correlate
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-resources"></a>
+ [ECPG - SQL integrato in C](https://www.postgresql.org/docs/current/static/ecpg.html) (documentazione PostgreSQL)
+ [Gestione degli errori](https://www.postgresql.org/docs/12/ecpg-errors.html) (documentazione PostgreSQL)
+ [Perché utilizzare il precompilatore Oracle Pro\$1C/C\$1\$1](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415) (documentazione Oracle)

## Informazioni aggiuntive
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional"></a>

PostgreSQL ha un precompilatore SQL incorporato, ECPG, che è equivalente al precompilatore Oracle Pro\$1C. ECPG converte i programmi C che hanno istruzioni SQL incorporate in codice C standard sostituendo le chiamate SQL con chiamate a funzioni speciali. I file di output possono quindi essere elaborati con qualsiasi catena di strumenti del compilatore C.

**File di input e output**

ECPG converte ogni file di input specificato nella riga di comando nel file di output C corrispondente. Se il nome di un file di input non ha un'estensione di file, viene utilizzato l'estensione.pgc. L'estensione del file viene sostituita da `.c` per costruire il nome del file di output. Tuttavia, è possibile sovrascrivere il nome del file di output predefinito utilizzando l'`-o`opzione.

Se utilizzate un trattino (`-`) come nome del file di input, ECPG legge il programma dallo standard input e scrive sullo standard output, a meno che non lo sovrascriviate utilizzando l'opzione. `-o`

**File di intestazione**

Quando il compilatore PostgreSQL compila i file di codice C preelaborati, cerca i file di intestazione ECPG nella directory PostgreSQL. `include` Pertanto, potrebbe essere necessario utilizzare l'`-I`opzione per indirizzare il compilatore alla directory corretta (ad esempio,). `-I/usr/local/pgsql/include`

**Libraries** (Librerie)

I programmi che utilizzano codice C con SQL incorporato devono essere collegati alla `libecpg` libreria. Ad esempio, è possibile utilizzare le opzioni ` -L/usr/local/pgsql/lib -lecpg` del linker.

Le applicazioni ECPG convertite richiamano le funzioni della `libpq` libreria tramite la libreria SQL incorporata (`ecpglib`) e comunicano con il server PostgreSQL utilizzando il protocollo standard. frontend/backend 

# Migra le colonne virtuali generate da Oracle a PostgreSQL
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi, Rajesh Madiwale e Ramesh Pathuri, Amazon Web Services*

## Riepilogo
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-summary"></a>

Nella versione 11 e precedenti, PostgreSQL non fornisce una funzionalità direttamente equivalente a una colonna virtuale Oracle. La gestione delle colonne virtuali generate durante la migrazione da Oracle Database a PostgreSQL versione 11 o precedente è difficile per due motivi: 
+ Le colonne virtuali non sono visibili durante la migrazione.
+ PostgreSQL non supporta `generate` l'espressione prima della versione 12.

Tuttavia, esistono soluzioni alternative per emulare funzionalità simili. Quando utilizzi AWS Database Migration Service (AWS DMS) per migrare i dati da Oracle Database a PostgreSQL versione 11 e precedenti, puoi utilizzare le funzioni di attivazione per popolare i valori in colonne virtuali generate. Questo modello fornisce esempi di codice Oracle Database e PostgreSQL che è possibile utilizzare per questo scopo. Su AWS, puoi utilizzare Amazon Relational Database Service (Amazon RDS) per PostgreSQL o Amazon Aurora PostgreSQL Compatible Edition per il tuo database PostgreSQL.

A partire dalla versione 12 di PostgreSQL, sono supportate le colonne generate. Le colonne generate possono essere calcolate istantaneamente in base ai valori di altre colonne oppure calcolate e archiviate. [Le colonne generate da PostgreSQL sono simili alle colonne virtuali](https://www.postgresql.org/docs/12/ddl-generated-columns.html) Oracle.

## Prerequisiti e limitazioni
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle di origine 
+ Database PostgreSQL di destinazione (su Amazon RDS per PostgreSQL o Aurora PostgreSQL compatibile)
+ [Esperienza](https://www.postgresql.org/docs/current/plpgsql.html) nella codifica PL/PgSQL

**Limitazioni**
+ Si applica solo alle versioni di PostgreSQL precedenti alla 12. 
+ Si applica alla versione 11g o successiva del database Oracle.
+ Le colonne virtuali non sono supportate negli strumenti di migrazione dei dati.
+ Si applica solo alle colonne definite nella stessa tabella.
+ Se una colonna generata virtuale fa riferimento a una funzione deterministica definita dall'utente, non può essere utilizzata come colonna chiave di partizionamento.
+ L'output dell'espressione deve essere un valore scalare. Non può restituire un tipo di dati fornito da Oracle, un tipo definito dall'utente o. `LOB` `LONG RAW`
+ Gli indici definiti in base alle colonne virtuali sono equivalenti agli indici basati su funzioni in PostgreSQL.
+ Le statistiche delle tabelle devono essere raccolte.

## Tools (Strumenti)
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-tools"></a>
+ [pgAdmin](https://www.pgadmin.org/) 4 è uno strumento di gestione open source per PostgreSQL. Questo strumento fornisce un'interfaccia grafica che semplifica la creazione, la manutenzione e l'uso degli oggetti del database.
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/) è un ambiente di sviluppo gratuito e integrato per lavorare con SQL nei database Oracle in implementazioni tradizionali e cloud. 

## Epiche
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-epics"></a>

### Crea tabelle di database di origine e di destinazione
<a name="create-source-and-target-database-tables"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare una tabella del database Oracle di origine. | In Oracle Database, crea una tabella con colonne virtuali generate utilizzando la seguente istruzione.<pre>CREATE TABLE test.generated_column<br />( CODE NUMBER,<br />STATUS VARCHAR2(12) DEFAULT 'PreOpen',<br />FLAG CHAR(1) GENERATED ALWAYS AS (CASE UPPER(STATUS) WHEN 'OPEN' THEN 'N' ELSE 'Y' END) VIRTUAL VISIBLE<br />);</pre>In questa tabella di origine, i dati nella `STATUS` colonna vengono migrati tramite AWS DMS al database di destinazione. La `FLAG` colonna, tuttavia, viene popolata utilizzando `generate by` funzionalità, quindi non è visibile ad AWS DMS durante la migrazione. Per implementare la funzionalità di`generated by`, è necessario utilizzare i trigger e le funzioni nel database di destinazione per compilare i valori nella `FLAG` colonna, come illustrato nella prossima epopea. | DBA, sviluppatore di app | 
| Crea una tabella PostgreSQL di destinazione su AWS. | Crea una tabella PostgreSQL su AWS utilizzando la seguente istruzione.<pre>CREATE TABLE test.generated_column<br />(<br />    code integer not null,<br />    status character varying(12) not null ,<br />    flag character(1)<br />);</pre>In questa tabella, la `status` colonna è una colonna standard. La `flag` colonna sarà una colonna generata in base ai dati contenuti nella `status` colonna. | DBA, sviluppatore di app | 

### Crea una funzione di attivazione per gestire la colonna virtuale in PostgreSQL
<a name="create-a-trigger-function-to-handle-the-virtual-column-in-postgresql"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un trigger PostgreSQL. | In PostgreSQL, crea un trigger.<pre>CREATE TRIGGER tgr_gen_column<br />AFTER INSERT OR UPDATE OF status ON test.generated_column<br />FOR EACH ROW <br />EXECUTE FUNCTION test.tgf_gen_column();</pre> | DBA, sviluppatore di app | 
| Crea una funzione trigger PostgreSQL. | In PostgreSQL, crea una funzione per il trigger. Questa funzione popola una colonna virtuale che viene inserita o aggiornata dall'applicazione o da AWS DMS e convalida i dati.<pre>CREATE OR REPLACE FUNCTION test.tgf_gen_column() RETURNS trigger AS $VIRTUAL_COL$<br />BEGIN<br />IF (TG_OP = 'INSERT') THEN<br />IF (NEW.flag IS NOT NULL) THEN<br />RAISE EXCEPTION 'ERROR: cannot insert into column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF (TG_OP = 'UPDATE') THEN<br />IF (NEW.flag::VARCHAR != OLD.flag::varchar) THEN<br />RAISE EXCEPTION 'ERROR: cannot update column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF TG_OP IN ('INSERT','UPDATE') THEN<br />IF (old.flag is NULL) OR (coalesce(old.status,'') != coalesce(new.status,'')) THEN<br />UPDATE test.generated_column<br />SET flag = (CASE UPPER(status) WHEN 'OPEN' THEN 'N' ELSE 'Y' END)<br />WHERE code = new.code;<br />END IF;<br />END IF;<br />RETURN NEW;<br />END<br />$VIRTUAL_COL$ LANGUAGE plpgsql;</pre> | DBA, sviluppatore di app | 

### Testa la migrazione dei dati utilizzando AWS DMS
<a name="test-data-migration-by-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un'istanza di replica. | Per creare un'istanza di replica, segui le [istruzioni nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) di AWS DMS. L'istanza di replica deve trovarsi nello stesso cloud privato virtuale (VPC) dei database di origine e di destinazione. | DBA, sviluppatore di app | 
| Crea endpoint di origine e destinazione. | Per creare gli endpoint, segui [le istruzioni nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) di AWS DMS. | DBA, sviluppatore di app | 
| Verifica le connessioni degli endpoint. | **È possibile testare le connessioni degli endpoint specificando il VPC e l'istanza di replica e scegliendo Esegui test.** | DBA, sviluppatore di app | 
| Crea e avvia un'attività a pieno carico. | Per istruzioni, consulta [Creazione di un'attività](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) e [Impostazioni di caricamento completo](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.html) nella documentazione di AWS DMS. | DBA, sviluppatore di app | 
| Convalida i dati per la colonna virtuale. | Confronta i dati nella colonna virtuale nei database di origine e di destinazione. È possibile convalidare i dati manualmente o scrivere uno script per questo passaggio. | DBA, sviluppatore di app | 

## Risorse correlate
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-resources"></a>
+ [Guida introduttiva ad AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) (documentazione AWS DMS)
+ [Utilizzo di un database Oracle come origine per AWS DMS (documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) AWS DMS)
+ [Utilizzo di un database PostgreSQL come destinazione per AWS DMS (documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html))
+ [Colonne generate in PostgreSQL (documentazione PostgreSQL](https://www.postgresql.org/docs/12/ddl-generated-columns.html))
+ [Funzioni di attivazione](https://www.postgresql.org/docs/12/plpgsql-trigger.html) (documentazione PostgreSQL)
+ [Colonne virtuali](https://docs.oracle.com/database/121/SQLRF/statements_7002.htm#SQLRF01402) in Oracle Database (documentazione Oracle)

# Configura la funzionalità Oracle UTL\$1FILE su Aurora, compatibile con PostgreSQL
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible"></a>

*Rakesh Raghav e anuradha chintha, Amazon Web Services*

## Riepilogo
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-summary"></a>

Durante il tuo percorso di migrazione da Oracle ad Amazon Aurora PostgreSQL Compatible Edition sul cloud Amazon Web Services (AWS), potresti incontrare diverse sfide. Ad esempio, la migrazione di codice che si basa sull'utilità Oracle è sempre una sfida. `UTL_FILE` In Oracle PL/SQL, il `UTL_FILE` pacchetto viene utilizzato per operazioni sui file, come lettura e scrittura, insieme al sistema operativo sottostante. L'`UTL_FILE`utilità funziona sia per i sistemi server che per quelli client. 

Amazon Aurora PostgreSQL Compatible è un'offerta di database gestiti. Per questo motivo, non è possibile accedere ai file sul server del database. Questo modello illustra l'integrazione tra Amazon Simple Storage Service (Amazon S3) e la compatibilità con Amazon Aurora PostgreSQL per ottenere un sottoinsieme di funzionalità. `UTL_FILE` Grazie a questa integrazione, possiamo creare e consumare file senza utilizzare strumenti o servizi di estrazione, trasformazione e caricamento (ETL) di terze parti.

Facoltativamente, puoi configurare il CloudWatch monitoraggio di Amazon e le notifiche Amazon SNS.

Consigliamo di testare a fondo questa soluzione prima di implementarla in un ambiente di produzione.

## Prerequisiti e limitazioni
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Esperienza in AWS Database Migration Service (AWS DMS)
+ Esperienza nella codifica PL/pgSQL 
+ Un cluster compatibile con Amazon Aurora PostgreSQL
+ Un bucket S3

**Limitazioni**

Questo modello non fornisce la funzionalità necessaria per sostituire l'utilità Oracle. `UTL_FILE` Tuttavia, i passaggi e il codice di esempio possono essere ulteriormente migliorati per raggiungere gli obiettivi di modernizzazione del database.

**Versioni del prodotto**
+ Amazon Aurora versione 11.9 compatibile con PostgreSQL

## Architecture
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-architecture"></a>

**Stack tecnologico Target**
+ Compatibile con Amazon Aurora PostgreSQL
+ Amazon CloudWatch
+ Amazon Simple Notification Service (Amazon SNS)
+ Simple Storage Service (Amazon S3)

**Architettura Target**

Il diagramma seguente mostra una rappresentazione di alto livello della soluzione.

![\[I file di dati vengono caricati in un bucket S3, elaborati utilizzando l'estensione aws_s3 e inviati all'istanza Aurora.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/3aeecd46-1f87-41f9-a9cd-f8181f92e83f/images/4a6c5f5c-58fb-4355-b243-d09a15c1cec6.png)


1. I file vengono caricati dall'applicazione nel bucket S3.

1. L'`aws_s3`estensione accede ai dati, utilizzando PL/pgSQL, e carica i dati su Aurora PostgreSQL Compatible.

## Tools (Strumenti)
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-tools"></a>
+ Compatibile con [Amazon Aurora PostgreSQL — Amazon Aurora PostgreSQL Compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) Edition è un motore di database relazionale completamente gestito, compatibile con PostgreSQL e conforme agli ACID. Combina la velocità e l'affidabilità dei database commerciali di fascia alta con l'economicità dei database open source.
+ [AWS CLI — L'](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)AWS Command Line Interface (AWS CLI) è uno strumento unificato per gestire i servizi AWS. Con un solo strumento da scaricare e configurare, puoi controllare più servizi AWS dalla riga di comando e automatizzarli tramite script.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html): Amazon CloudWatch monitora le risorse e l'utilizzo di Amazon S3.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) — Amazon Simple Storage Service (Amazon S3) è uno storage per Internet. In questo modello, Amazon S3 fornisce un livello di storage per ricevere e archiviare file per il consumo e la trasmissione da e verso il cluster Aurora compatibile con PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3) — L'estensione `aws_s3` integra la compatibilità con Amazon S3 e Aurora PostgreSQL.
+ [Amazon SNS — Amazon Simple](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) Notification Service (Amazon SNS) coordina e gestisce la consegna o l'invio di messaggi tra editori e clienti. In questo modello, Amazon SNS viene utilizzato per inviare notifiche.
+ [pgAdmin](https://www.pgadmin.org/docs/) — pgAdmin è uno strumento di gestione open source per Postgres. pgAdmin 4 fornisce un'interfaccia grafica per la creazione, la manutenzione e l'utilizzo di oggetti di database.

**Codice**

Per ottenere la funzionalità richiesta, il pattern crea più funzioni con denominazione simile a. `UTL_FILE` La sezione *Informazioni aggiuntive* contiene il codice base per queste funzioni.

Nel codice, sostituiscilo `testaurorabucket` con il nome del bucket S3 di test. Sostituisci `us-east-1` con la regione AWS in cui si trova il bucket S3 di test.

## Epiche
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-epics"></a>

### Integra la compatibilità con Amazon S3 e Aurora PostgreSQL
<a name="integrate-amazon-s3-and-aurora-postgresql-compatible"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura le politiche IAM. | Crea policy AWS Identity and Access Management (IAM) che garantiscono l'accesso al bucket S3 e agli oggetti in esso contenuti. Per il codice, consulta la sezione *Informazioni aggiuntive*. | Amministratore AWS, DBA | 
| Aggiungi i ruoli di accesso di Amazon S3 ad Aurora PostgreSQL. | Crea due ruoli IAM: un ruolo per l'accesso in lettura e un ruolo per l'accesso in scrittura ad Amazon S3. Collega i due ruoli al cluster compatibile con Aurora PostgreSQL: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.html)[Per ulteriori informazioni, consulta la documentazione compatibile con Aurora PostgreSQL sull'importazione [e](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html) l'esportazione di dati su Amazon S3.](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html) | Amministratore AWS, DBA | 

### Configura le estensioni in Aurora, compatibile con PostgreSQL
<a name="set-up-the-extensions-in-aurora-postgresql-compatible"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'estensione aws\$1commons. | L'`aws_commons`estensione è una dipendenza dell'estensione. `aws_s3` | DBA, Sviluppatore | 
| Crea l'estensione aws\$1s3. | L'`aws_s3`estensione interagisce con Amazon S3. | DBA, Sviluppatore | 

### Convalida l'integrazione compatibile con Amazon S3 e Aurora PostgreSQL
<a name="validate-amazon-s3-and-aurora-postgresql-compatible-integration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Prova a importare file da Amazon S3 in Aurora PostgreSQL. | Per testare l'importazione di file in Aurora PostgreSQL compatibile, crea un file CSV di esempio e caricalo nel bucket S3. Crea una definizione di tabella basata sul file CSV e carica il file nella tabella utilizzando la funzione. `aws_s3.table_import_from_s3` | DBA, Sviluppatore | 
| Prova a esportare file da Aurora PostgreSQL ad Amazon S3. | Per testare l'esportazione di file da Aurora PostgreSQL compatibile, crea una tabella di test, popolala con dati, quindi esporta i dati utilizzando la funzione. `aws_s3.query_export_to_s3` | DBA, Sviluppatore | 

### Per imitare l'utilità UTL\$1FILE, create funzioni wrapper
<a name="to-mimic-the-utl_file-utility-create-wrapper-functions"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea lo schema utl\$1file\$1utility. | Lo schema mantiene unite le funzioni del wrapper. Per creare lo schema, esegui il comando seguente.<pre>CREATE SCHEMA utl_file_utility;</pre> | DBA, Sviluppatore | 
| Crea il tipo file\$1type. | Per creare il `file_type` tipo, utilizzate il codice seguente.<pre>CREATE TYPE utl_file_utility.file_type AS (<br />    p_path character varying(30),<br />    p_file_name character varying<br />);<br /><br /><br /></pre> | DBA/Sviluppatore | 
| Crea la funzione init. | La `init` funzione inizializza una variabile comune come o. `bucket` `region` Per il codice, consultate la sezione *Informazioni aggiuntive*. | DBA/Sviluppatore | 
| Crea le funzioni wrapper. | Crea le funzioni `fopen` wrapper e. `put_line` `fclose` Per il codice, vedere la sezione *Informazioni aggiuntive*. | DBA, Sviluppatore | 

### Prova le funzioni del wrapper
<a name="test-the-wrapper-functions"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Prova le funzioni del wrapper in modalità scrittura. | *Per testare le funzioni del wrapper in modalità scrittura, utilizzate il codice fornito nella sezione Informazioni aggiuntive.* | DBA, Sviluppatore | 
| Prova le funzioni del wrapper in modalità append. | *Per testare le funzioni del wrapper in modalità di aggiunta, utilizzate il codice fornito nella sezione Informazioni aggiuntive.* | DBA, Sviluppatore | 

## Risorse correlate
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-resources"></a>
+ [Integrazione con Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Aurora](https://aws.amazon.com/rds/aurora/?nc2=h_ql_prod_db_aa&aurora-whats-new.sort-by=item.additionalFields.postDateTime&aurora-whats-new.sort-order=desc)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [Amazon SNS](https://aws.amazon.com/sns/?nc2=h_ql_prod_ap_sns&whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)

## Informazioni aggiuntive
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-additional"></a>

**Configura le politiche IAM**

Crea le seguenti politiche.


| 
| 
| Nome policy | JSON | 
| --- |--- |
| S3 IntRead | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />         "arn:aws:s3:::testaurorabucket/*",<br />         "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 
| S3 IntWrite | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",                <br />                "s3:ListBucket"<br />            ],<br />            "Resource": [                "arn:aws:s3:::testaurorabucket/*",                "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 

**Crea la funzione init**

Per inizializzare variabili comuni, come `bucket` o`region`, create la `init` funzione utilizzando il codice seguente.

```
CREATE OR REPLACE FUNCTION utl_file_utility.init(
    )
    RETURNS void
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
BEGIN
      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 'region' )
      , 'us-east-1'::text
      , false );

      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 's3bucket' )
      , 'testaurorabucket'::text
      , false );
END;
$BODY$;
```

**Create le funzioni wrapper**

Crea le funzioni `fopen``put_line`, e `fclose` wrapper.

*fopen*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fopen(
    p_file_name character varying,
    p_path character varying,
    p_mode character DEFAULT 'W'::bpchar,
    OUT p_file_type utl_file_utility.file_type)
    RETURNS utl_file_utility.file_type
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
declare
    v_sql character varying;
    v_cnt_stat integer;
    v_cnt integer;
    v_tabname character varying;
    v_filewithpath character varying;
    v_region character varying;
    v_bucket character varying;

BEGIN
    /*initialize common variable */
    PERFORM utl_file_utility.init();
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
    
    /* set tabname*/
    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;
    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region;
    
    /* APPEND MODE HANDLING; RETURN EXISTING FILE DETAILS IF PRESENT ELSE CREATE AN EMPTY FILE */
    IF p_mode = 'A' THEN
        v_sql := concat_ws('','create temp table if not exists ', v_tabname,' (col1 text)');
        execute v_sql;

        begin
        PERFORM aws_s3.table_import_from_s3 
            ( v_tabname, 
            '',  
            'DELIMITER AS ''#''', 
            aws_commons.create_s3_uri 
            (     v_bucket, 
                v_filewithpath ,
                v_region)
            );
        exception
            when others then
             raise notice 'File load issue ,%',sqlerrm;
             raise;
        end;
        execute concat_ws('','select count(*) from ',v_tabname) into v_cnt;

        IF v_cnt > 0 
        then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
        else         
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );

            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;        
        end if;
        v_sql := concat_ws('','drop table ', v_tabname);        
        execute v_sql;            
    ELSEIF p_mode = 'W' THEN
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
    END IF;    
    
EXCEPTION
        when others then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
            raise notice 'fopenerror,%',sqlerrm;
            raise;
END;
$BODY$;
```

*put\$1line*

```
CREATE OR REPLACE FUNCTION utl_file_utility.put_line(
    p_file_name character varying,
    p_path character varying,
    p_line text,
    p_flag character DEFAULT 'W'::bpchar)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
/**************************************************************************
* Write line, p_line in windows format to file, p_fp - with carriage return
* added before new line.
**************************************************************************/
declare
    v_sql varchar;
    v_ins_sql varchar;
    v_cnt INTEGER;
    v_filewithpath character varying;
    v_tabname  character varying;
    v_bucket character varying;
    v_region character varying;    

BEGIN
 PERFORM utl_file_utility.init();

/* check if temp table already exist */

 v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );

 v_sql := concat_ws('','select count(1) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace where n.nspname like ''pg_temp_%''' 
                         ,' AND pg_catalog.pg_table_is_visible(c.oid) AND Upper(relname) = Upper( '''
                         ,  v_tabname ,''' ) ');
  
 execute v_sql into v_cnt;
  
  IF v_cnt = 0 THEN
         v_sql := concat_ws('','create temp table ',v_tabname,' (col text)');
        execute v_sql;
        /* CHECK IF APPEND MODE */
        IF upper(p_flag) = 'A' THEN
            PERFORM utl_file_utility.init();                        
            v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
            v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
            
            /* set tabname*/            
            v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;            
            
            begin
               PERFORM aws_s3.table_import_from_s3 
                     ( v_tabname, 
                          '',  
                       'DELIMITER AS ''#''', 
                        aws_commons.create_s3_uri 
                           ( v_bucket, 
                               v_filewithpath, 
                               v_region    )
                    );
            exception
                when others then
                    raise notice  'Error Message : %',sqlerrm;
                    raise;
            end;    
        END IF;    
    END IF;
    /* INSERT INTO TEMP TABLE */              
    v_ins_sql := concat_ws('','insert into ',v_tabname,' values(''',p_line,''')');
    execute v_ins_sql;
    RETURN TRUE;
    exception
            when others then
                raise notice  'Error Message : %',sqlerrm;
                raise;
END;
$BODY$;
```

*chiudere*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fclose(
    p_file_name character varying,
    p_path character varying)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
DECLARE
    v_filewithpath character varying;
    v_bucket character varying;
    v_region character varying;
    v_tabname character varying;
    v_sql character varying;
BEGIN
      PERFORM utl_file_utility.init();
  
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );

    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;

    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region ;
    
    /* exporting to s3 */
    perform aws_s3.query_export_to_s3
        (concat_ws('','select * from ',v_tabname,'  order by ctid asc'), 
            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)
        );
    v_sql := concat_ws('','drop table ', v_tabname);
    execute v_sql;    
    RETURN TRUE;
EXCEPTION 
       when others then
     raise notice 'error fclose %',sqlerrm;
     RAISE;
END;
$BODY$;
```

**Metti alla prova le tue funzioni di configurazione e wrapper**

Usa i seguenti blocchi di codice anonimi per testare la tua configurazione.

*Prova la modalità di scrittura*

Il codice seguente scrive un file denominato `s3inttest` nel bucket S3.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'W';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

*Prova la modalità di aggiunta*

Il codice seguente aggiunge righe al `s3inttest` file creato nel test precedente.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'A';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;


select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose : append 1', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket : for test purpose : append 2', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

**Notifiche Amazon SNS**

Facoltativamente, puoi configurare il CloudWatch monitoraggio di Amazon e le notifiche Amazon SNS sul bucket S3. Per ulteriori informazioni, consulta [Monitoraggio di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/monitoring-overview.html) e [Configurazione delle notifiche Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html).

# Convalida gli oggetti del database dopo la migrazione da Oracle ad Amazon Aurora PostgreSQL
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql"></a>

*Venkatramana Chintha e Eduardo Valentim, Amazon Web Services*

## Riepilogo
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-summary"></a>

Questo modello descrive un step-by-step approccio per convalidare gli oggetti dopo la migrazione di un database Oracle in Amazon Aurora PostgreSQL Compatible Edition.

[Questo modello delinea gli scenari di utilizzo e le fasi per la convalida degli oggetti del database; per informazioni più dettagliate, consulta [Convalida degli oggetti del database dopo la migrazione utilizzando AWS SCT e AWS DMS sul blog di AWS](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/) Database.](https://aws.amazon.com/blogs/)

## Prerequisiti e limitazioni
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un database Oracle locale che è stato migrato a un database Aurora compatibile con PostgreSQL. 
+ Credenziali di accesso a cui è applicata la RDSData FullAccess policy di [Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html), per il database Aurora compatibile con PostgreSQL. 
+ Questo modello utilizza l'[editor di query per i cluster DB Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html), disponibile nella console Amazon Relational Database Service (Amazon RDS). Tuttavia, puoi utilizzare questo pattern con qualsiasi altro editor di query. 

**Limitazioni**
+ **Gli oggetti Oracle SYNONYM non sono disponibili in PostgreSQL ma possono essere parzialmente convalidati tramite viste o query SET search\$1path.**
+ L'editor di query Amazon RDS è disponibile solo in [alcune regioni AWS e per alcune versioni di MySQL e PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html).

## Architecture
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-architecture"></a>

 

![\[Database migration workflow showing on-premises Oracle to AWSAurora PostgreSQL via client program and validation scripts.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7c028960-6dea-46ad-894d-e42cefd50c03/images/be5f8ae3-f5af-4c5e-9440-09ab410beaa1.png)


 

## Tools (Strumenti)
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-tools"></a>

**Strumenti**
+ [Amazon Aurora PostgreSQL Compatible Edition — Aurora PostgreSQL Compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) è un motore di database relazionale completamente gestito, compatibile con PostgreSQL e conforme ad ACID che combina la velocità e l'affidabilità dei database commerciali di fascia alta con la semplicità e l'economicità dei database open source.
+ [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) — Amazon Relational Database Service (Amazon RDS) semplifica la configurazione, il funzionamento e la scalabilità di un database relazionale nel cloud AWS. Offre una capacità ridimensionabile a un costo conveniente per un database relazionale standard del settore e gestisce task comuni di amministrazione del database.
+ [Query Editor per Aurora Severless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html): l'editor di query ti aiuta a eseguire query SQL nella console Amazon RDS. È possibile eseguire qualsiasi istruzione SQL valida sul cluster DB Aurora Serverless, incluse le istruzioni di manipolazione e definizione dei dati.

Per convalidare gli oggetti, utilizza gli script completi nel file «Script di convalida degli oggetti» nella sezione «Allegati». Utilizzate la seguente tabella come riferimento.


| 
| 
| Oggetto Oracle | Script da usare | 
| --- |--- |
| Pacchetti | Query 1 | 
| Tabelle | Query 3 | 
| Visualizzazioni | Interrogazione 5 | 
| Sequenze | Interrogazione 7 | 
| Triggers |  Interrogazione 9 | 
| Chiavi primarie | Interrogazione 11 | 
| Indici | Interrogazione 13 | 
| Vincoli check | Interrogazione 15 | 
| Chiavi esterne  | Interrogazione 17  | 


| 
| 
| Oggetto PostgreSQL | Script da usare | 
| --- |--- |
| Pacchetti | Query 2 | 
| Tabelle | Interrogazione 4 | 
| Visualizzazioni | Interrogazione 6 | 
| Sequenze | Interrogazione 8 | 
| Triggers | Interrogazione 10 | 
| Chiavi primarie | Interrogazione 12 | 
| Indici | Interrogazione 14 | 
| Vincoli check | Interrogazione 16 | 
| Chiavi esterne | Interrogazione 18 | 

## Epiche
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-epics"></a>

### Convalida gli oggetti nel database Oracle di origine
<a name="validate-objects-in-the-source-oracle-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la query di convalida dei «pacchetti» nel database Oracle di origine.  | Scarica e apri il file «Script di convalida degli oggetti» dalla sezione «Allegati». Connect al database Oracle di origine tramite il programma client. Esegui lo script di convalida «Query 1" dal file «Script di convalida degli oggetti». Importante: inserisci il tuo nome utente Oracle anziché «your\$1schema» nelle query. Assicurati di registrare i risultati delle query. | Sviluppatore, DBA | 
| Esegui la query di convalida «tables».  | Esegui lo script «Query 3" dal file «Script di convalida degli oggetti». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida «views».  | Esegui lo script «Query 5" dal file «Script di convalida degli oggetti». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la convalida del conteggio delle «sequenze».  | Esegui lo script «Query 7" dal file «Script di convalida degli oggetti». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida «triggers».  | Esegui lo script «Query 9" dal file «Script di convalida degli oggetti». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida delle «chiavi primarie».  | Esegui lo script «Query 11" dal file «Script di convalida degli oggetti». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida degli «indici».  | Esegui lo script di convalida «Query 13" dal file «Script di convalida degli oggetti». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida «check constraints».  | Esegui lo script «Query 15" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida delle «chiavi esterne».  | Esegui lo script di convalida «Query 17" dal file «Script di convalida degli oggetti». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 

### Convalida gli oggetti nel database Aurora di destinazione compatibile con PostgreSQL
<a name="validate-objects-in-the-target-aurora-postgresql-compatible-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Connect al database di destinazione compatibile con Aurora PostgreSQL utilizzando l'editor di query. | Accedi alla Console di gestione AWS e apri la console Amazon RDS. Nell'angolo in alto a destra, scegli la regione AWS in cui hai creato il database Aurora compatibile con PostgreSQL. Nel riquadro di navigazione, scegli «Database» e scegli il database di destinazione compatibile con Aurora PostgreSQL. In «Azioni», scegli «Interrogazione». Importante: se non ti sei mai connesso al database prima, si apre la pagina «Connetti al database». È quindi necessario inserire le informazioni del database, come nome utente e password. | Sviluppatore, DBA | 
| Esegui la query di convalida dei «pacchetti». | Esegui lo script «Query 2" dal file «Script di convalida degli oggetti» nella sezione «Allegati». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida «tables».  | Tornate all'editor di query per il database Aurora compatibile con PostgreSQL ed eseguite lo script «Query 4" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida «views».  | Tornate all'editor di query per il database Aurora compatibile con PostgreSQL ed eseguite lo script «Query 6" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la convalida del conteggio delle «sequenze».  | Tornate all'editor di query per il database Aurora compatibile con PostgreSQL ed eseguite lo script «Query 8" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida «triggers».  | Tornate all'editor di query per il database Aurora compatibile con PostgreSQL ed eseguite lo script «Query 10" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida delle «chiavi primarie».  | Tornate all'editor di query per il database Aurora compatibile con PostgreSQL ed eseguite lo script «Query 12" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida degli «indici».  | Tornate all'editor di query per il database Aurora compatibile con PostgreSQL ed eseguite lo script «Query 14" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida «check constraints».  | Esegui lo script «Query 16" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 
| Esegui la query di convalida delle «chiavi esterne».  | Esegui lo script di convalida «Query 18" dal file «Object validation scripts». Assicurati di registrare i risultati della query. | Sviluppatore, DBA | 

### Confronta i record di convalida del database di origine e di destinazione
<a name="compare-source-and-target-database-validation-records"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Confronta e convalida entrambi i risultati delle query.  | Confronta i risultati delle query dei database compatibili con Oracle e Aurora PostgreSQL per convalidare tutti gli oggetti. Se tutti corrispondono, allora tutti gli oggetti sono stati convalidati correttamente. | Sviluppatore, DBA | 

## Risorse correlate
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-resources"></a>
+ [Convalida degli oggetti del database dopo una migrazione utilizzando AWS SCT e AWS DMS](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/)
+ [Caratteristiche di Amazon Aurora: edizione compatibile con PostgreSQL](https://aws.amazon.com/rds/aurora/postgresql-features/)

## Allegati
<a name="attachments-7c028960-6dea-46ad-894d-e42cefd50c03"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/7c028960-6dea-46ad-894d-e42cefd50c03/attachments/attachment.zip)

# Riospitare
<a name="migration-rehost-pattern-list"></a>

**Topics**
+ [Accelera la scoperta e la migrazione dei carichi di lavoro Microsoft su AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Creare un processo di approvazione per le richieste del firewall durante una migrazione di rehosting a AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)
+ [Acquisisci e migra istanze EC2 Windows in un account AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Esegui la migrazione di un database Couchbase Server su Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Esegui la migrazione di Db2 for LUW ad Amazon EC2 utilizzando la spedizione di log per ridurre i tempi di interruzione](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Esegui la migrazione di Db2 per LUW ad Amazon EC2 con disaster recovery ad alta disponibilità](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Esegui la migrazione di applicazioni ospitate da IIS su Amazon utilizzando appcmd.exe EC2](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon EC2 utilizzando Application Migration Service](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Esegui la migrazione di un carico di lavoro F5 BIG-IP su F5 BIG-IP VE su Cloud AWS](migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud.md)
+ [Esegui la migrazione di un'applicazione web Go locale su AWS Elastic Beanstalk utilizzando il metodo binario](migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.md)
+ [Esegui la migrazione di un server SFTP locale a Using AWS AWS Transfer for SFTP](migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp.md)
+ [Migra una macchina virtuale locale su Amazon EC2 utilizzando AWS Application Migration Service](migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.md)
+ [Esegui la migrazione di piccoli set di dati da locale ad Amazon S3 utilizzando AWS SFTP](migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp.md)
+ [Esegui la migrazione di un database Oracle locale a Oracle su Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Esegui la migrazione di un database Oracle locale su Amazon EC2 utilizzando Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.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)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Rehosting dei carichi di lavoro locali nel cloud AWS: lista di controllo per la migrazione](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.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)
+ [Usa le query BMC Discovery per estrarre i dati di migrazione per la pianificazione della migrazione](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)

# Accelera la scoperta e la migrazione dei carichi di lavoro Microsoft su AWS
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws"></a>

*Ali Alzand, Amazon Web Services*

## Riepilogo
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-summary"></a>

Questo modello mostra come utilizzare il [ PowerShell modulo Migration Validator Toolkit](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads) per scoprire e migrare i carichi di lavoro Microsoft su AWS. Il modulo funziona eseguendo più controlli e convalide per le attività comuni associate a qualsiasi carico di lavoro Microsoft. Ad esempio, il modulo verifica le istanze che potrebbero avere più dischi collegati o le istanze che utilizzano molti indirizzi IP. Per un elenco completo dei controlli che il modulo può eseguire, consulta la sezione [Controlli](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads#checks) nella pagina del modulo. GitHub 

Il PowerShell modulo Migration Validator Toolkit può aiutare l'organizzazione a ridurre il tempo e l'impegno necessari per scoprire quali applicazioni e servizi sono in esecuzione sui carichi di lavoro Microsoft. Il modulo può anche aiutarti a identificare le configurazioni dei tuoi carichi di lavoro per scoprire se le tue configurazioni sono supportate su AWS. Il modulo fornisce anche consigli sui passaggi successivi e sulle operazioni di mitigazione, in modo da evitare configurazioni errate prima, durante o dopo la migrazione.

## Prerequisiti e limitazioni
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-prereqs"></a>

**Prerequisiti**
+ Account amministratore locale
+ PowerShell 4.0

**Limitazioni**
+ Funziona solo su Microsoft Windows Server 2012 R2 o versioni successive

## Tools (Strumenti)
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-tools"></a>

**Strumenti**
+ PowerShell 4.0

**Deposito di codici**

[Il PowerShell modulo Migration Validator Toolkit per questo modello è disponibile nell'archivio -microsoft-workloads. GitHub migration-validator-toolkit-for](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads)

## Epiche
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-epics"></a>

### Esegui il PowerShell modulo Migration Validator Toolkit su un singolo target
<a name="run-the-migration-validator-toolkit-powershell-module-on-a-single-target"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica, estrai, importa e richiama il modulo. | Scegliete uno dei seguenti metodi per scaricare e distribuire il modulo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Esegui lo script PowerShell **In PowerShell, esegui il seguente codice di esempio:<pre>#MigrationValidatorToolkit<br />$uri = 'https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads/archive/refs/heads/main.zip'<br />$destination = (Get-Location).Path<br />if ((Test-Path -Path "$destination\MigrationValidatorToolkit.zip" -PathType Leaf) -or (Test-Path -Path "$destination\MigrationValidatorToolkit")) {<br />    write-host "File $destination\MigrationValidatorToolkit.zip or folder $destination\MigrationValidatorToolkit found, exiting"<br />}else {<br />    Write-host "Enable TLS 1.2 for this PowerShell session only."<br />    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12<br />    $webClient = New-Object System.Net.WebClient<br />    Write-host "Downloading MigrationValidatorToolkit.zip"<br />    $webClient.DownloadFile($uri, "$destination\MigrationValidatorToolkit.zip")<br />    Write-host "MigrationValidatorToolkit.zip download successfully"<br />    Add-Type -Assembly "system.io.compression.filesystem"<br />    [System.IO.Compression.ZipFile]::ExtractToDirectory("$destination\MigrationValidatorToolkit.zip","$destination\MigrationValidatorToolkit")<br />    Write-host "Extracting MigrationValidatorToolkit.zip complete successfully"<br />    Import-Module "$destination\MigrationValidatorToolkit\migration-validator-toolkit-for-microsoft-workloads-main\MigrationValidatorToolkit.psm1"; Invoke-MigrationValidatorToolkit<br />}</pre>Il codice scarica il modulo da un file.zip. Quindi, il codice estrae, importa e richiama il modulo.**Scarica ed estrai il file.zip**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Clona il repository GitHub **[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Amministratore di sistema | 
| Richiama il modulo manualmente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)[Formato tabella-formato](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit</pre>Formato dell'elenco dei [formati](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-list?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -List</pre>[Formato di uscita: GridView](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/out-gridview?view=powershell-7.3)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -GridView</pre>[ConvertTo-Formato csv:](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/convertto-csv?view=powershell-7.3)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -csv</pre> | Amministratore di sistema | 

### Esegui il modulo Migration Validator Toolkit PowerShell su più destinazioni
<a name="run-the-migration-validator-toolkit-powershell-module-on-multiple-targets"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica il file.zip o clona il GitHub repository. | Scegli una delle seguenti opzioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>git clone https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads.git</pre> | Amministratore di sistema | 
| Aggiorna l'elenco server.csv. | Se hai scaricato il file.zip, procedi nel seguente modo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Amministratore di sistema | 
| Invoca il modulo. | È possibile utilizzare qualsiasi computer all'interno del dominio che utilizza un utente di dominio con accesso amministratore ai computer di destinazione.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-DomainComputers</pre>Il file.csv di output viene salvato `MigrationValidatorToolkit\Outputs\folder` con il nome del prefisso. `DomainComputers_MigrationAutomations_YYYY-MM-DDTHH-MM-SS` | Amministratore di sistema | 

## risoluzione dei problemi
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| `MigrationValidatorToolkit`scrive informazioni su esecuzioni, comandi ed errori nei file di registro sull'host in esecuzione. | È possibile visualizzare i file di registro manualmente nella seguente posizione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | 

## Risorse correlate
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-resources"></a>
+ [Opzioni, strumenti e best practice per la migrazione dei carichi di lavoro Microsoft su AWS (AWS Prescriptive](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-microsoft-workloads-aws/introduction.html) Guidance)
+ [Modelli di migrazione Microsoft](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migration-migration-patterns-by-workload-microsoft-pattern-list.html) (AWS Prescriptive Guidance)
+ [Servizi di migrazione cloud gratuiti su AWS](https://aws.amazon.com/free/migration/) (documentazione AWS)
+ [Azioni predefinite dopo il lancio (documentazione](https://docs.aws.amazon.com/mgn/latest/ug/predefined-post-launch-actions.html) di marketing delle applicazioni)

## Informazioni aggiuntive
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-additional"></a>

**Domande frequenti**

*Dove posso eseguire il modulo Migration Validator Toolkit? PowerShell *

È possibile eseguire il modulo su Microsoft Windows Server 2012 R2 o versioni successive.

*Quando posso eseguire questo modulo?*

Ti consigliamo di eseguire il modulo durante la [fase di valutazione](https://aws.amazon.com/cloud-migration/how-to-migrate/) del percorso di migrazione.

*Il modulo modifica i miei server esistenti?*

No. Tutte le azioni in questo modulo sono di sola lettura.

*Quanto tempo occorre per eseguire il modulo?*

L'esecuzione del modulo richiede in genere da 1 a 5 minuti, ma dipende dall'allocazione delle risorse del server.

*Di quali autorizzazioni ha bisogno il modulo per funzionare?*

È necessario eseguire il modulo da un account amministratore locale.

*Posso eseguire il modulo su server fisici?*

Sì, purché il sistema operativo sia Microsoft Windows Server 2012 R2 o versione successiva.

*Come posso eseguire il modulo su larga scala per più server?*

Per eseguire il modulo su più computer aggiunti a un dominio su larga scala, segui i passaggi indicati nel modulo Esegui il * PowerShell modulo Run the Migration Validator Toolkit su più obiettivi* di questa guida. Per i computer non aggiunti al dominio, utilizzate una chiamata remota o eseguite il modulo localmente seguendo i passaggi descritti nel modulo Esegui il modulo Esegui il modulo *Migration Validator Toolkit su un singolo obiettivo* di questa guida. PowerShell 

# Creare un processo di approvazione per le richieste del firewall durante una migrazione di rehosting a AWS
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Riepilogo
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-summary"></a>

Se desideri utilizzare [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)o attivare [Cloud Migration Factory AWS per una migrazione](https://aws.amazon.com/solutions/implementations/cloud-migration-factory-on-aws/) di rehosting verso Cloud AWS, uno dei prerequisiti è mantenere aperte le porte TCP 443 e 1500. In genere, l'apertura di queste porte firewall richiede l'approvazione del team di sicurezza delle informazioni (). InfoSec

Questo modello delinea il processo per ottenere l'approvazione di una richiesta di firewall da parte di un InfoSec team durante una migrazione di rehost verso. Cloud AWSÈ possibile utilizzare questo processo per evitare che la richiesta relativa al firewall venga respinta dal InfoSec team, operazione che può diventare costosa e dispendiosa in termini di tempo. Il processo di richiesta del firewall prevede due fasi di revisione e approvazione tra consulenti di AWS migrazione e responsabili che collaborano con i team addetti all'applicazione InfoSec e all'apertura delle porte del firewall.

Questo modello presuppone che stiate pianificando una migrazione di rehosting con AWS consulenti o specialisti della migrazione della vostra organizzazione. È possibile utilizzare questo modello se l'organizzazione non dispone di un processo di approvazione del firewall o di un modulo di approvazione generale per la richiesta del firewall. Per ulteriori informazioni su questo argomento, consulta la sezione *Limitazioni* di questo modello. Per ulteriori informazioni sui requisiti di rete per Application Migration Service, consulta [Requisiti di rete](https://docs.aws.amazon.com/mgn/latest/ug/Network-Requirements.html) nella documentazione di Application Migration Service.

## Prerequisiti e limitazioni
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-prereqs"></a>

**Prerequisiti**
+ Una migrazione riospitata pianificata con AWS consulenti o specialisti della migrazione della vostra organizzazione
+ Le informazioni necessarie sulla porta e sull'IP per migrare lo stack
+ Diagrammi delle architetture di stato esistenti e future
+ Informazioni sul firewall relative all'infrastruttura, alle porte e al flusso di traffico locali e di destinazione zone-to-zone
+ Una lista di controllo per la revisione delle richieste di firewall (in allegato)
+ Un documento di richiesta del firewall, configurato in base ai requisiti dell'organizzazione
+ Un elenco di contatti per i revisori e gli approvatori del firewall, che include i seguenti ruoli:
  + Richiedente della **richiesta relativa al firewall: AWS specialista o consulente in materia** di migrazione. Il mittente della richiesta di firewall può anche essere uno specialista della migrazione della vostra organizzazione.
  + **Firewall Request Reviewer**: in genere, si tratta del punto di contatto unico (SPOC) di. AWS
  + **Firewall Request Approver**: un membro del team InfoSec .

**Limitazioni**
+ Questo modello descrive un processo generico di approvazione delle richieste di firewall. I requisiti possono variare a seconda delle singole organizzazioni.
+ Assicurati di tenere traccia delle modifiche al documento di richiesta del firewall.

La tabella seguente mostra i casi d'uso di questo pattern.


| 
| 
| La tua organizzazione dispone di un processo di approvazione del firewall esistente? | La tua organizzazione dispone già di un modulo di richiesta per il firewall?  | Azione suggerita | 
| --- |--- |--- |
| Sì  | Sì | Collabora con AWS consulenti o specialisti della migrazione per implementare il processo della tua organizzazione. | 
| No | Sì | Utilizza il processo di approvazione del firewall di questo pattern. Rivolgiti a un AWS consulente o a uno specialista della migrazione della tua organizzazione per inviare il modulo di approvazione generale della richiesta del firewall. | 
| No | No | Utilizzate il processo di approvazione del firewall di questo pattern. Rivolgiti a un AWS consulente o a uno specialista della migrazione della tua organizzazione per inviare il modulo di approvazione generale della richiesta del firewall. | 

## Architecture
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-architecture"></a>

Il diagramma seguente mostra i passaggi del processo di approvazione della richiesta del firewall.

![\[Procedura per la richiesta di approvazione del firewall da parte di un InfoSec team durante una migrazione di rehosting su AWS Cloud.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/cf9b58ad-ab6f-43d3-92da-968529c8d042/images/c672f7ce-6e9f-4dbc-bf2c-4272a6c4432b.png)


## Tools (Strumenti)
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-tools"></a>

È possibile utilizzare strumenti di scansione come [Palo Alto Networks](https://www.paloaltonetworks.com/) o [SolarWinds](https://www.solarwinds.com/)per analizzare e convalidare firewall e indirizzi IP.

## Epiche
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-epics"></a>

### Analizza la richiesta del firewall
<a name="analyze-the-firewall-request"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Analizza le porte e gli indirizzi IP. | Il mittente della richiesta di firewall completa un'analisi iniziale per comprendere le porte e gli indirizzi IP del firewall richiesti. Al termine, richiedono che il InfoSec team apra le porte richieste e mappi gli indirizzi IP. | Ingegnere del cloud AWS, specialista della migrazione | 

### Convalida la richiesta del firewall
<a name="validate-the-firewall-request"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le informazioni sul firewall. | L' Cloud AWS ingegnere pianifica un incontro con il tuo InfoSec team. Durante questa riunione, l'ingegnere esamina e convalida le informazioni sulla richiesta del firewall.In genere, chi invia la richiesta del firewall è la stessa persona del richiedente del firewall. Questa fase di convalida può diventare iterativa in base al feedback fornito dall'approvatore se qualcosa viene osservato o consigliato. | Ingegnere del cloud AWS, specialista della migrazione | 
| Aggiorna il documento di richiesta del firewall. | Dopo che il InfoSec team ha condiviso il feedback, il documento di richiesta del firewall viene modificato, salvato e ricaricato. Questo documento viene aggiornato dopo ogni iterazione.Si consiglia di archiviare questo documento in una cartella di archiviazione controllata dalla versione. Ciò significa che tutte le modifiche vengono tracciate e applicate correttamente. | Ingegnere del cloud AWS, specialista della migrazione | 

### Invia la richiesta relativa al firewall
<a name="submit-the-firewall-request"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Invia la richiesta del firewall. | Dopo che l'approvatore della richiesta firewall ha approvato la richiesta di approvazione generale del firewall, il Cloud AWS tecnico invia la richiesta al firewall. La richiesta specifica le porte che devono essere aperte e gli indirizzi IP necessari per mappare e aggiornare il. Account AWSÈ possibile fornire suggerimenti o fornire feedback dopo l'invio della richiesta del firewall. Ti consigliamo di automatizzare questo processo di feedback e di inviare eventuali modifiche tramite un meccanismo di flusso di lavoro definito.  | Ingegnere del cloud AWS, specialista della migrazione | 

## Allegati
<a name="attachments-cf9b58ad-ab6f-43d3-92da-968529c8d042"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/cf9b58ad-ab6f-43d3-92da-968529c8d042/attachments/attachment.zip)

# Acquisisci e migra istanze EC2 Windows in un account AWS Managed Services
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account"></a>

*Anil Kunapareddy e Venkatramana Chintha, Amazon Web Services*

## Riepilogo
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-summary"></a>

Questo modello spiega il step-by-step processo di migrazione e acquisizione di istanze Windows di Amazon Elastic Compute Cloud ( EC2Amazon) in un account Amazon Web Services (AWS) Managed Services (AMS). AMS può aiutarti a gestire l'istanza in modo più efficiente e sicuro. AMS offre flessibilità operativa, migliora la sicurezza e la conformità e aiuta a ottimizzare la capacità e ridurre i costi.

Questo modello inizia con un'istanza di EC2 Windows che hai migrato a una sottorete di staging nel tuo account AMS. Sono disponibili diversi servizi e strumenti di migrazione per eseguire questa attività, come AWS Application Migration Service.

Per apportare una modifica al tuo ambiente gestito da AMS, devi creare e inviare una richiesta di modifica (RFC) per una particolare operazione o azione. Utilizzando un RFC AMS workload ingest (WIGS), si inserisce l'istanza nell'account AMS e si crea un'Amazon Machine Image (AMI) personalizzata. Quindi crei l' EC2 istanza gestita da AMS inviando un'altra RFC per creare uno stack. EC2 Per ulteriori informazioni, consulta [AMS Workload Ingest nella documentazione AMS](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html).

## Prerequisiti e limitazioni
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo e gestito da AMS
+ Una landing zone esistente
+ Autorizzazioni per apportare modifiche nel VPC gestito da AMS
+ Un'istanza Amazon EC2 Windows in una sottorete di staging nel tuo account AMS
+ Completamento dei [prerequisiti generali](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-instance-prereqs.html) per la migrazione dei carichi di lavoro utilizzando AMS WIGS
+ Completamento dei [prerequisiti di Windows per la migrazione](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-prereqs-win.html) dei carichi di lavoro utilizzando AMS WIGS

**Limitazioni**
+ Questo modello si riferisce alle EC2 istanze che utilizzano Windows Server. Questo modello non si applica alle istanze che eseguono altri sistemi operativi, come Linux.

## Architecture
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-architecture"></a>

**Stack di tecnologia di origine**

Istanza Amazon EC2 Windows in una sottorete di staging nel tuo account AMS

**Stack tecnologico Target**

Istanza Amazon EC2 Windows gestita da AWS Managed Services (AMS)

**Architettura Target**

![\[Processo per migrare e importare istanze Amazon EC2 Windows in un account AWS Managed Services.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/393c21cb-b6c6-4446-b597-b62e29fdb7f8/images/0b2fa855-7460-49f8-9e7f-3485e6ce1745.png)


## Tools (Strumenti)
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-tools"></a>

**Servizi AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi usare Amazon EC2 per lanciare tutti o pochi server virtuali di cui hai bisogno, con scalabilità orizzontale o orizzontale.
+ [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 risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [AWS Managed Services (AMS)](https://docs.aws.amazon.com/managedservices/?id=docs_gateway) ti aiuta a operare in modo più efficiente e sicuro fornendo una gestione continua della tua infrastruttura AWS, tra cui monitoraggio, gestione degli incidenti, guida alla sicurezza, supporto di patch e backup per i carichi di lavoro AWS.

**Altri servizi**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)è un programma di gestione dell'automazione e della configurazione di Microsoft che funziona su Windows, Linux e macOS.

## Epiche
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-epics"></a>

### Configura le impostazioni sull'istanza
<a name="configure-settings-on-the-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Modifica le impostazioni del client DNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingegnere della migrazione | 
| Modifica le impostazioni di Windows Update. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingegnere della migrazione | 
| Attiva il firewall. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Tecnico di migrazione | 

### Prepara l'istanza per AMS WIGS
<a name="prepare-the-instance-for-ams-wigs"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Pulisci e prepara l'istanza. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingegnere della migrazione | 
| Ripara il file sppnp.dll. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Tecnico di migrazione | 
| Esegui lo script di convalida pre-WIG. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingegnere della migrazione | 
| Crea l'AMI failsafe. | Una volta superata la convalida pre-WIG, crea un'AMI di pre-ingestione come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html)Per ulteriori informazioni, consulta [AMI \$1 Create](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html) nella documentazione AMS. | Ingegnere della migrazione | 

### Acquisisci e convalida l'istanza
<a name="ingest-and-validate-the-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Invia la RFC per creare lo stack di acquisizione del carico di lavoro. | Invia una richiesta di modifica (RFC) per avviare AMS WIGS. Per istruzioni, consulta [Workload Ingest Stack: Creating](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-workload-ingest-col.html) nella documentazione AMS. Questo avvia l'acquisizione del carico di lavoro e installa tutto il software richiesto da AMS, inclusi gli strumenti di backup, il software di EC2 gestione Amazon e il software antivirus. | Ingegnere della migrazione | 
| Convalida la migrazione riuscita. | Una volta completata l'acquisizione del carico di lavoro, puoi visualizzare l'istanza gestita da AMS e l'AMI inserita da AMS.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingegnere della migrazione | 

### Avvia l'istanza nell'account AMS di destinazione
<a name="launch-the-instance-in-the-target-ams-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Invia la RFC per creare uno EC2 stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingegnere della migrazione | 

## Risorse correlate
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-resources"></a>

**Prontuario AWS**
+ [Automatizza le attività di pre-inserimento del carico di lavoro per AWS Managed Services su Windows](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automate-pre-workload-ingestion-activities-for-aws-managed-services-on-windows.html)
+ [Crea automaticamente un RFC in AMS usando Python](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html?did=pg_card&trk=pg_card)

**Documentazione AMS**
+ [Inserimento del carico di lavoro AMS](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html)
+ [In che modo la migrazione cambia la tua risorsa](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-changes.html)
+ [Migrazione dei carichi di lavoro: processo standard](https://docs.aws.amazon.com/managedservices/latest/appguide/mp-migrate-stack-process.html)

**Risorse di marketing**
+ [AWS Managed Services](https://aws.amazon.com/managed-services/)
+ [AWS Managed Services FAQs](https://aws.amazon.com/managed-services/faqs/)
+ [Risorse AWS Managed Services](https://aws.amazon.com/managed-services/resources/)
+ [Caratteristiche di AWS Managed Services](https://aws.amazon.com/managed-services/features/)

# Esegui la migrazione di un database Couchbase Server su Amazon EC2
<a name="migrate-couchbase-server-ec2"></a>

*Subhani Shaik, Amazon Web Services*

## Riepilogo
<a name="migrate-couchbase-server-ec2-summary"></a>

Questo modello descrive come migrare Couchbase Server da un ambiente locale ad Amazon Elastic Compute Cloud (Amazon) on. EC2 AWS

Couchbase Server è un database NoSQL (documento JSON) distribuito che fornisce funzionalità di database relazionali. La migrazione di un database Couchbase Server a AWS può fornire maggiore scalabilità, migliori prestazioni, efficienza dei costi, maggiore sicurezza, gestione semplificata e portata globale, a vantaggio delle applicazioni che richiedono alta disponibilità e accesso ai dati a bassa latenza. È inoltre possibile accedere a funzionalità avanzate tramite servizi gestiti. AWS 

Couchbase Server on AWS offre le seguenti funzionalità chiave: 
+ Architettura incentrata sulla memoria
+ Alta disponibilità, disaster recovery e bilanciamento del carico
+ Implementazione multimaster e multiregione per prestazioni ottimali

Per ulteriori informazioni sui vantaggi principali, consulta la sezione [Informazioni aggiuntive](#migrate-couchbase-server-ec2-additional) e il sito Web di [Couchbase](https://www.couchbase.com/partners/amazon/).

## Prerequisiti e limitazioni
<a name="migrate-couchbase-server-ec2-prereqs"></a>

**Prerequisiti**
+ Un sistema attivo Account AWS con un cloud privato virtuale (VPC), due zone di disponibilità, sottoreti private e un gruppo di sicurezza. Per istruzioni, consulta [Creare un VPC nella documentazione](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) di Amazon Virtual Private Cloud (Amazon VPC).
+ Connettività abilitata tra ambienti di origine e destinazione. [Per informazioni sulle porte TCX utilizzate da Couchbase Server, consulta la documentazione di Couchbase.](https://docs.couchbase.com/server/current/install/install-ports.html)

## Architecture
<a name="migrate-couchbase-server-ec2-architecture"></a>

Il diagramma seguente mostra l'architettura di alto livello per la migrazione di Couchbase Server a. AWS

![\[Architettura di migrazione per il rehosting di Couchbase Server su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/4cedced2-3528-4f12-b19e-7d389e820cc1/images/ac22133a-895f-4999-b1e1-57f69e83a326.png)


Dal cluster Couchbase locale, i dati si spostano attraverso un gateway per il cliente utilizzando. [AWS Direct Connect](https://aws.amazon.com/directconnect/) I dati passano attraverso un router e un Direct Connect percorso e raggiungono il VPC tramite un gateway [AWS Virtual Private Network (Site-to-Site VPN)](https://aws.amazon.com/vpn/). Il VPC contiene un' EC2 istanza che esegue Couchbase Server. L' AWS infrastruttura include anche [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) per il controllo degli accessi, [AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/) per la crittografia dei dati, [Amazon Elastic Block Store (Amazon EBS) per lo storage a blocchi e Amazon](https://aws.amazon.com/ebs/) [Simple Storage Service (Amazon S3) per lo storage](https://aws.amazon.com/s3/) dei dati.

## Tools (Strumenti)
<a name="migrate-couchbase-server-ec2-tools"></a>

**Servizi AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornisce capacità di elaborazione scalabile in. Cloud AWS Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)collega la rete interna a una Direct Connect posizione tramite un cavo Ethernet standard in fibra ottica. Con questa connessione, è possibile creare interfacce virtuali direttamente al pubblico Servizi AWS ignorando i provider di servizi Internet nel percorso di rete.

## Best practice
<a name="migrate-couchbase-server-ec2-best-practices"></a>
+ [Installazione e configurazione di Couchbase](https://docs.couchbase.com/server/current/install/install-intro.html) su diverse piattaforme operative
+ [Le migliori pratiche](https://docs.couchbase.com/server/current/cloud/couchbase-cloud-deployment.html#aws-best-practices) per la distribuzione di Couchbase Server su AWS
+ [Creazione di un cluster Couchbase](https://docs.couchbase.com/server/current/manage/manage-nodes/create-cluster.html)
+ [Best practice in materia di prestazioni per le applicazioni Couchbase](https://docs.couchbase.com/dotnet-sdk/current/project-docs/performance.html)
+ [Le migliori pratiche di sicurezza per Couchbase](https://docs.couchbase.com/server/current/learn/security/security-overview.html) Server
+ [Le migliori pratiche di archiviazione](https://www.couchbase.com/forums/t/what-is-the-best-document-storage-strategy-in-couchbase/1573) per i database di Couchbase Server

## Epiche
<a name="migrate-couchbase-server-ec2-epics"></a>

### Implementa un' EC2 istanza Amazon per Couchbase Server
<a name="deploy-an-ec2-instance-for-couchbase-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Apri la EC2 console Amazon. | Accedi [Console di gestione AWS](https://console.aws.amazon.com/)e apri la [ EC2 console Amazon](https://console.aws.amazon.com/ec2/). | DevOps ingegnere, amministratore di Couchbase | 
| Implementa un' EC2 istanza Amazon. | Avvia un' EC2 istanza che corrisponda alle configurazioni del server Couchbase locale. Per ulteriori informazioni su come distribuire un' EC2 istanza, consulta [Launch an Amazon EC2 istance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) nella EC2 documentazione di Amazon. | DevOps ingegnere, amministratore di Couchbase | 

### Installa e configura Couchbase Server su Amazon EC2
<a name="install-and-configure-couchbase-server-on-ec2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa un cluster Couchbase. | Consulta le [linee guida per la distribuzione di Couchbase Server](https://docs.couchbase.com/server/current/install/install-production-deployment.html) prima di installare Couchbase Server su Amazon. EC2[Per installare Couchbase Server, consulta la documentazione di Couchbase Server](https://docs.couchbase.com/server/current/install/install-intro.html) | Amministratore di Couchbase | 
| Configura il cluster. | Per configurare il cluster, consulta le [opzioni di configurazione del cluster](https://docs.couchbase.com/cloud/clusters/databases.html#cluster-configuration-options) nella documentazione di Couchbase. | Amministratore di Couchbase | 

### Aggiungi un nuovo nodo e ribilancia il cluster Couchbase
<a name="add-a-new-node-and-rebalance-the-couchbase-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiungi un nodo per l' EC2 istanza. | Aggiungi l' EC2 istanza appena distribuita su cui è installato Couchbase al cluster locale esistente. Per istruzioni, consulta [Aggiungi un nodo e ribilanciamento nella documentazione del server Couchbase](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html). | Amministratore di Couchbase | 
| Ribilanciare il cluster. | Il processo di ribilanciamento rende il nodo appena aggiunto con l' EC2 istanza un membro attivo del cluster Couchbase. Per istruzioni, consulta [Aggiungi un nodo e ribilanciamento nella documentazione del server Couchbase](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html) | Amministratore di Couchbase | 

### Riconfigurazione delle connessioni
<a name="reconfigure-connections"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimuovi i nodi locali e ribilanciali. | È ora possibile rimuovere i nodi locali dal cluster. Dopo aver rimosso i nodi, segui il processo di ribilanciamento per ridistribuire dati, indici, elaborazione degli eventi e elaborazione delle query tra i nodi disponibili nel cluster. Per istruzioni, consulta [Rimuovere un nodo e ribilanciare nella documentazione del server Couchbase](https://docs.couchbase.com/server/current/manage/manage-nodes/remove-node-and-rebalance.html). | Amministratore di Couchbase | 
| Aggiorna i parametri di connessione. | Aggiorna i parametri di connessione dell'applicazione per utilizzare il nuovo indirizzo EC2 IP Amazon, in modo che l'applicazione possa connettersi al nuovo nodo. | Sviluppatore di applicazioni Couchbase | 

## Risorse correlate
<a name="migrate-couchbase-server-ec2-resources"></a>
+ [Servizi Couchbase Server](https://docs.couchbase.com/server/current/learn/services-and-indexes/services/services.html)
+ [Distribuisci Couchbase Server utilizzando Marketplace AWS](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html)
+ [Connect a Couchbase Server](https://docs.couchbase.com/server/current/guides/connect.html)
+ [Gestisci i bucket](https://docs.couchbase.com/server/current/manage/manage-buckets/bucket-management-overview.html)
+ [Replica tra data center (XDCR)](https://docs.couchbase.com/server/current/learn/clusters-and-availability/xdcr-overview.html)
+ [Contratto di licenza di Couchbase Inc.](https://www.couchbase.com/LA20190115/)

## Informazioni aggiuntive
<a name="migrate-couchbase-server-ec2-additional"></a>

**Vantaggi principali**

La migrazione del database Couchbase a offre i seguenti vantaggi: AWS 

**Scalabilità**. È possibile aumentare o ridurre il cluster Couchbase in base alla richiesta senza dover gestire l'hardware fisico, in modo da poter gestire facilmente i volumi di dati e l'utilizzo delle applicazioni fluttuanti. AWS fornisce:
+ opzioni di ridimensionamento verticale e orizzontale
+ Funzionalità di [implementazione globali](https://aws.amazon.com/about-aws/global-infrastructure/)
+ Bilanciamento del carico su tutto Regioni AWS
+ [Soluzioni di scalabilità del database](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/)
+ Ottimizzazione della [distribuzione dei contenuti](https://aws.amazon.com/solutions/content-delivery/)

**Ottimizzazione delle prestazioni**. AWS fornisce un'infrastruttura di rete ad alte prestazioni e [tipi di istanze ottimizzati](https://aws.amazon.com/ec2/instance-types/) per garantire un accesso rapido ai dati e una bassa latenza per il database Couchbase.
+ Opzioni di [elaborazione ad alte prestazioni](https://aws.amazon.com/hpc/) (HPC)
+ Distribuzione globale di contenuti tramite [Amazon CloudFront](https://aws.amazon.com/cloudfront/)
+ Molteplici [opzioni di archiviazione](https://aws.amazon.com/products/storage/)
+ [Servizi di database](https://aws.amazon.com/products/databases/) avanzati, tra cui Amazon Relational Database Service (Amazon RDS) e Amazon DynamoDB
+ Connessioni a bassa latenza con [Direct Connect](https://aws.amazon.com/directconnect/)

**Ottimizzazione dei costi.** Seleziona il tipo e la configurazione di istanza appropriati per bilanciare prestazioni e costi in base al carico di lavoro. Paghi solo per le risorse che utilizzi. Ciò può potenzialmente ridurre i costi operativi eliminando la necessità di gestire l'hardware locale e sfruttando Cloud AWS le economie di scala.
+ [Le istanze riservate](https://aws.amazon.com/ec2/pricing/reserved-instances/) possono aiutarti a pianificare in anticipo e ridurre sostanzialmente i costi quando utilizzi Couchbase su. AWS
+ La [scalabilità automatica impedisce l'](https://aws.amazon.com/autoscaling/)eccessivo approvvigionamento e aiuta a ottimizzare l'utilizzo e l'efficienza in termini di costi.

**Sicurezza migliorata.** Approfitta delle solide funzionalità di sicurezza disponibili AWS, come la crittografia dei dati, i controlli di accesso e i gruppi di sicurezza per proteggere i dati sensibili archiviati in Couchbase. Vantaggi aggiuntivi:
+ Il [modello di responsabilitàAWS condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) distingue chiaramente tra sicurezza *del* cloud (AWS responsabilità) e sicurezza *nel* cloud (responsabilità del cliente).
+ [AWS la conformità](https://aws.amazon.com/compliance/) supporta i principali standard di sicurezza.
+ AWS offre opzioni di [crittografia](https://docs.aws.amazon.com/prescriptive-guidance/latest/encryption-best-practices/welcome.html) avanzate.
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) ti aiuta a gestire l'accesso sicuro alle tue risorse.

**Gestione semplificata**. AWS fornisce servizi gestiti per Couchbase, quindi puoi concentrarti sullo sviluppo di applicazioni anziché sulla gestione dell'infrastruttura sottostante.

**Copertura globale**. Puoi distribuire il tuo cluster Couchbase su più cluster Regioni AWS per ottenere una bassa latenza per gli utenti di tutto il mondo. Puoi distribuire i tuoi database interamente nel cloud o in un ambiente ibrido. Puoi proteggere i tuoi dati con una sicurezza integrata di livello aziendale e una sincronizzazione bidirezionale rapida ed efficiente dei dati dall'edge al cloud. Allo stesso tempo, puoi semplificare lo sviluppo con un modello di programmazione coerente per la creazione di app web e mobili.

**Continuità aziendale**:
+ **Backup e ripristino dei dati**. In caso di problemi, è possibile utilizzare [AWS Backup](https://aws.amazon.com/backup/)per garantire la resilienza dei dati e un facile ripristino. Per le opzioni di disaster recovery, consulta la documentazione di [AWS Well-Architected](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html) Framework.
+ **Distribuzione multiregionale di Couchbase**: per distribuire un database Couchbase in un AWS ambiente multiregionale, puoi abbonarti a Couchbase Server in [Marketplace AWS](https://aws.amazon.com/marketplace/pp/prodview-zy5g2wqmqdyzw), utilizzare [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)modelli per creare cluster Couchbase separati in ciascuna regione e quindi configurare la replica interregionale per sincronizzare i dati tra le regioni. Questa configurazione garantisce un'elevata disponibilità e ridondanza geografica tra più regioni. Per ulteriori informazioni, consulta [Distribuire Couchbase Server Using Marketplace AWS nella documentazione di Couchbase](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html).

**Agilità dell'infrastruttura:**
+ Approvvigionamento e [disattivazione rapidi delle risorse](https://aws.amazon.com/products/management-and-governance/use-cases/provisioning-and-orchestration/)
+ [Copertura globale dell'infrastruttura](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)
+ [Scalabilità automatica in](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) base alla domanda
+ [Infrastructure as Code (IaC)](https://aws.amazon.com/what-is/iac/) per implementazioni coerenti
+ Diversi [tipi di istanze](https://aws.amazon.com/ec2/instance-types/) ottimizzate per carichi di lavoro diversi

**Abilitazione dell'innovazione:**
+ [Accesso alle tecnologie più recenti, tra cui [AI/ML](https://aws.amazon.com/ai/generative-ai/), [IoT](https://aws.amazon.com/iot/) e analisi](https://aws.amazon.com/big-data/datalakes-and-analytics/)
+ [Servizi gestiti](https://aws.amazon.com/blogs/architecture/reduce-operational-load-using-aws-managed-services-for-your-data-solutions/), che riducono il sovraccarico operativo
+ [Pratiche moderne di sviluppo di applicazioni](https://aws.amazon.com/modern-apps/)
+ Opzioni di elaborazione [serverless](https://aws.amazon.com/serverless/)

**Eccellenza operativa**:
+ [Monitoraggio e registrazione centralizzati](https://docs.aws.amazon.com/prescriptive-guidance/latest/designing-control-tower-landing-zone/logging-monitoring.html)
+ [Gestione automatizzata delle risorse](https://aws.amazon.com/systems-manager/)
+ Funzionalità di [manutenzione predittiva](https://aws.amazon.com/what-is/predictive-maintenance/)
+ [Visibilità migliorata sull'](https://aws.amazon.com/about-aws/whats-new/2024/12/amazon-cloudwatch-provides-centralized-visibility-telemetry-configurations/)utilizzo delle risorse
+ [Processi di implementazione semplificati](https://aws.amazon.com/blogs/mt/streamline-change-processes-and-improve-governance-with-aws-well-architected/)

Opportunità di **modernizzazione**:
+ Architettura di [microservizi](https://aws.amazon.com/microservices/)
+ [DevOps](https://aws.amazon.com/devops/)implementazione delle pratiche
+ sviluppo di applicazioni [native per il cloud](https://aws.amazon.com/what-is/cloud-native/)
+ [Modernizzazione delle applicazioni legacy](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-modernizing-applications/welcome.html)

**Vantaggi competitivi:**
+ [Tempi di commercializzazione più rapidi](https://aws.amazon.com/blogs/smb/accelerate-time-to-market-and-business-growth-with-an-automated-software-as-a-service-platform/)
+ [Esperienza del cliente](https://aws.amazon.com/blogs/publicsector/improving-customer-experience-for-the-public-sector-using-aws-services/) migliorata
+ [Processo decisionale basato sui dati](https://aws.amazon.com/data/data-driven-decision-making/)
+ [Business intelligence migliorata](https://aws.amazon.com/what-is/business-intelligence/)

# Esegui la migrazione di Db2 for LUW ad Amazon EC2 utilizzando la spedizione di log per ridurre i tempi di interruzione
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time"></a>

*Feng Cai, Ambarish Satarkar e Saurabh Sharma, Amazon Web Services*

## Riepilogo
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-summary"></a>

Quando i clienti migrano i loro carichi di lavoro IBM Db2 for LUW (Linux, UNIX e Windows) su Amazon Web Services (AWS), utilizzare Amazon Elastic Compute Cloud (Amazon) con il modello Bring Your Own License (BYOL) è il modo più veloce. EC2 Tuttavia, la migrazione di grandi quantità di dati da Db2 locale ad AWS può essere una sfida, soprattutto quando la finestra di interruzione è breve. Molti clienti cercano di impostare la finestra di interruzione su meno di 30 minuti, il che lascia poco tempo per il database stesso.

Questo modello illustra come eseguire una migrazione Db2 con una breve finestra di interruzione utilizzando la spedizione dei log delle transazioni. Questo approccio si applica a Db2 su una piattaforma Linux little-endian.

## Prerequisiti e limitazioni
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un'istanza Db2 in esecuzione su EC2 un'istanza che corrisponde ai layout del file system locale
+ Un bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) accessibile all'istanza EC2 
+ Una policy e un ruolo di AWS Identity and Access Management (IAM) per effettuare chiamate programmatiche ad Amazon S3
+ Fuso orario e orologi di sistema sincronizzati su Amazon EC2 e sul server locale
+ La rete locale connessa ad AWS tramite AWS [ Site-to-SiteVPN o AWS](https://aws.amazon.com/vpn/) [Direct Connect](https://aws.amazon.com/directconnect/)

**Limitazioni**
+ L'istanza locale Db2 e Amazon EC2 devono appartenere alla stessa famiglia di [piattaforme](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms).
+ Il carico di lavoro locale di Db2 deve essere registrato. Per bloccare qualsiasi transazione non registrata, impostala nella configurazione del database. `blocknonlogged=yes`

**Versioni del prodotto**
+ Db2 per LUW versione 11.5.9 e successive

## Architecture
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-architecture"></a>

**Stack tecnologico di origine**
+ Db2 su Linux x86\$164****

**Stack tecnologico Target**
+ Amazon EBS
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Simple Storage Service (Amazon S3)
+ AWS Site-to-Site VPN o Direct Connect

**Architettura Target**

Il diagramma seguente mostra un'istanza Db2 in esecuzione in locale con una connessione di rete privata virtuale (VPN) a Db2 su Amazon. EC2 Le linee tratteggiate rappresentano il tunnel VPN tra il tuo data center e il cloud AWS.

![\[Flusso di lavoro per eseguire una migrazione Db2 entro una breve finestra di interruzione utilizzando la spedizione dei log delle transazioni.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7dec6e4a-a92e-4204-9e42-f89d7dcafbfa/images/a7e1c1d6-2ec1-4271-952d-a58260ad7c81.png)


## Tools (Strumenti)
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-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 ti aiuta a interagire con i servizi AWS tramite comandi nella tua shell a riga di comando.
+ [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.
+ [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 istanze Amazon Elastic Compute Cloud (Amazon). EC2
+ [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.
+ [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 risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [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 Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) ti aiuta a trasferire il traffico tra le istanze che avvii su AWS e la tua rete remota.

**Altri strumenti**
+ [db2cli è il comando CLI](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) interattivo di Db2.

## Best practice
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-best-practices"></a>
+ Sul database di destinazione, utilizza gli [endpoint gateway per Amazon S3 per](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) accedere all'immagine di backup del database e ai file di log in Amazon S3.
+ Sul database di origine, usa [AWS PrivateLink per Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) per inviare l'immagine di backup del database e i file di log ad Amazon S3.

## Epiche
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-epics"></a>

### Impostazione delle variabili di ambiente
<a name="set-environment-variables"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Imposta le variabili di ambiente. | Questo modello utilizza i seguenti nomi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)È possibile modificarli per adattarli al proprio ambiente. | DBA | 

### Configura il server Db2 locale
<a name="configure-the-on-premises-db2-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configurare AWS CLI. | Per scaricare e installare la versione più recente dell'interfaccia a riga di comando di AWS, esegui i seguenti comandi:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Amministratore Linux | 
| Configura una destinazione locale per i log di archivio Db2. | Per mantenere il database di destinazione su Amazon EC2 sincronizzato con il database di origine locale, è necessario recuperare i log delle transazioni più recenti dall'origine.In questa configurazione, `/db2logs` viene impostato da `LOGARCHMETH2` on the source come area di staging. I log archiviati in questa directory verranno sincronizzati in Amazon S3 e vi si accederà da Db2 su Amazon. EC2 Il pattern utilizza `LOGARCHMETH2` because `LOGARCHMETH1` potrebbe essere stato configurato per utilizzare uno strumento di un fornitore di terze parti a cui il comando AWS CLI non può accedere. Per recuperare i log, esegui il seguente comando: <pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Esegui un backup del database online. | Esegui un backup del database online e salvalo nel file system di backup locale: <pre>db2 backup db sample online to /backup </pre> | DBA | 

### Configura il bucket S3 e la policy IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un bucket S3. | Crea un bucket S3 per il server locale a cui inviare le immagini Db2 di backup e i file di log su AWS. Il bucket sarà accessibile anche da Amazon EC2:<pre>aws s3api create-bucket --bucket logshipmig-db2 --region us-east-1 </pre> | Amministratore di sistema AWS | 
|  Creare una policy IAM | Il `db2bucket.json` file contiene la policy IAM per accedere al bucket Amazon S3:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::logshipmig-db2/*",<br />                "arn:aws:s3:::logshipmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Per creare la policy, usa il seguente comando AWS CLI:<pre>aws iam create-policy \<br />      --policy-name db2s3policy \<br />      --policy-document file://db2bucket.json </pre> L'output JSON mostra l'Amazon Resource Name (ARN) per la policy, `aws_account_id` dove rappresenta l'ID del tuo account:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3policy"</pre> | Amministratore AWS, amministratore di sistema AWS | 
| Collega la policy IAM al ruolo IAM utilizzato dall' EC2 istanza. | Nella maggior parte degli ambienti AWS, un' EC2 istanza in esecuzione ha un ruolo IAM impostato dall'amministratore di sistema. Se il ruolo IAM non è impostato, crea il ruolo e scegli **Modifica il ruolo IAM** sulla EC2 console per associare il ruolo all' EC2 istanza che ospita il database Db2. Collega la policy IAM al ruolo IAM con la policy ARN:<pre>aws iam attach-role-policy \<br />    --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3policy"  \<br />    --role-name db2s3role  </pre>Dopo aver allegato la policy, qualsiasi EC2 istanza associata al ruolo IAM può accedere al bucket S3. | Amministratore AWS, amministratore di sistema AWS | 

### Inviare l'immagine di backup del database di origine e i file di log ad Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura l'AWS CLI sul server Db2 locale. | Configura la CLI AWS con `Access Key ID` e `Secret Access Key` generata nel passaggio precedente:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre>  | Amministratore AWS, amministratore di sistema AWS | 
| Invia l'immagine di backup ad Amazon S3. | In precedenza, un backup del database online veniva salvato nella directory `/backup` locale. Per inviare l'immagine di backup al bucket S3, esegui il seguente comando:<pre>aws s3 sync /backup s3://logshipmig-db2/SAMPLE_backup</pre> | Amministratore AWS, ingegnere addetto alla migrazione | 
| Invia i log di archivio Db2 ad Amazon S3. | Sincronizza i log di archivio Db2 locali con il bucket S3 a cui può accedere l'istanza Db2 di destinazione su Amazon: EC2<pre>aws s3 sync /db2logs s3://logshipmig-db2/SAMPLE_LOG</pre>Esegui questo comando periodicamente utilizzando cron o altri strumenti di pianificazione. La frequenza dipende dalla frequenza con cui il database di origine archivia i file di registro delle transazioni.  | Amministratore AWS, ingegnere addetto alla migrazione | 

### Connetti Db2 su Amazon EC2 ad Amazon S3 e avvia la sincronizzazione del database
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-database-sync"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un PKCS12 keystore. | Db2 utilizza un keystore di crittografia Public-Key Cryptography Standards (PKCS) per proteggere la chiave di accesso AWS. Crea un keystore e configura l'istanza Db2 di origine per utilizzarlo:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Crea l'alias di accesso allo storage Db2. | Per creare l'[alias di accesso allo storage](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access), utilizzate la seguente sintassi dello script:`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Ad esempio, lo script potrebbe avere il seguente aspetto: `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'logshipmig-db2'" ` | DBA | 
| Imposta l'area di staging. | Per impostazione predefinita, Db2 utilizza `DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH` come area di gestione temporanea per caricare e scaricare file da e verso Amazon S3. Il percorso predefinito si trova nella home `sqllib/tmp/RemoteStorage.xxxx` directory dell'istanza, con `xxxx` riferimento al numero di partizione Db2. Si noti che l'area di gestione temporanea deve avere una capacità sufficiente per contenere le immagini di backup e i file di registro. È possibile utilizzare il registro per indirizzare l'area di gestione temporanea in una directory diversa.Consigliamo inoltre di utilizzare `DB2_ENABLE_COS_SDK=ON` e il collegamento alla `awssdk` libreria per bypassare l'area di staging di Amazon S3 per il backup e il ripristino del database: `DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore`<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />Db2set DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore<br />db2stop<br />db2start</pre> | DBA | 
| Ripristina il database dall'immagine di backup. | Ripristina il database di destinazione su Amazon EC2 dall'immagine di backup nel bucket S3:<pre>db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup replace existing</pre> | DBA | 
| Esegui il rollforward del database. | Una volta completato il ripristino, il database di destinazione verrà messo in stato di attesa di rollforward. Configura `LOGARCHMETH1` e `LOGARCHMETH2` in modo che Db2 sappia dove trovare i file di registro delle transazioni:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/'<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 OFF</pre>Avvia il rollforward del database:<pre>db2 ROLLFORWARD DATABASE sample to END OF LOGS</pre>Questo comando elabora tutti i file di registro che sono stati trasferiti nel bucket S3. Eseguilo periodicamente in base alla frequenza del `s3 sync` comando sui server Db2 locali. Ad esempio, se `s3 sync` viene eseguito ogni ora e sono necessari 10 minuti per sincronizzare tutti i file di registro, imposta il comando in modo che venga eseguito 10 minuti dopo ogni ora.  | DBA | 

### Porta Db2 su Amazon EC2 online durante la finestra di cutover
<a name="bring-db2-on-amazon-ec2-online-during-the-cutover-window"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Porta online il database di destinazione. | Durante la finestra di cutover, effettuate una delle seguenti operazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)Dopo la sincronizzazione dell'ultimo log delle transazioni in Amazon S3, esegui `ROLLFORWARD` il comando per l'ultima volta:<pre>db2 rollforward DB sample to END OF LOGS<br />db2 rollforward DB sample complete<br /><br />                                 Rollforward Status<br />....<br /> Rollforward status                     = not pending<br />....<br />DB20000I  The ROLLFORWARD command completed successfully.<br /><br />db2 activate db sample<br />DB20000I  The ACTIVATE DATABASE command completed successfully.</pre>Porta online il database di destinazione e indirizza le connessioni dell'applicazione a Db2 su Amazon EC2. | DBA | 

## risoluzione dei problemi
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Se più database hanno lo stesso nome di istanza e lo stesso nome di database su host diversi (DEV, QA, PROD), i backup e i log potrebbero andare nella stessa sottodirectory. | Usa diversi bucket S3 per DEV, QA e PROD e aggiungi il nome host come prefisso della sottodirectory per evitare confusione. | 
| Se sono presenti più immagini di backup nella stessa posizione, al momento del ripristino verrà visualizzato il seguente errore:`SQL2522N More than one backup file matches the time stamp value provided for the backed up database image.` | Nel `restore` comando, aggiungi il timestamp del backup:`db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup taken at 20230628164042 replace existing` | 

## Risorse correlate
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-resources"></a>
+ [Operazioni di backup e ripristino Db2 tra diversi sistemi operativi e piattaforme hardware](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configura Db2 STORAGE ACCESS ALIAS e REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Comando Db2 ROLLFORWARD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-rollforward-database)
+ [Metodo di archiviazione dei log secondario Db2](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-logarchmeth2-secondary-log-archive-method)

# Esegui la migrazione di Db2 per LUW ad Amazon EC2 con disaster recovery ad alta disponibilità
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery"></a>

*Feng Cai, Aruna Gangireddy e Venkatesan Govindan, Amazon Web Services*

## Riepilogo
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-summary"></a>

Quando i clienti migrano il loro carico di lavoro IBM Db2 LUW (Linux, UNIX e Windows) su Amazon Web Services (AWS), utilizzare Amazon Elastic Compute Cloud (Amazon EC2) con il modello Bring Your Own License (BYOL) è il modo più veloce. Tuttavia, la migrazione di grandi quantità di dati da Db2 locale ad AWS può essere una sfida, soprattutto quando la finestra di interruzione è breve. Molti clienti cercano di impostare la finestra di interruzione su meno di 30 minuti, il che lascia poco tempo per il database stesso.

Questo modello illustra come eseguire una migrazione Db2 con una breve finestra di interruzione utilizzando Db2 High Availability Disaster Recovery (HADR). Questo approccio si applica ai database Db2 che si trovano sulla piattaforma Linux little-endian e non utilizzano Data Partitioning Feature (DPF).

## Prerequisiti e limitazioni
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un'istanza Db2 in esecuzione su un'istanza Amazon EC2 che corrisponde ai layout del file system locale
+ Un bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) accessibile all'istanza EC2
+ Una policy e un ruolo di AWS Identity and Access Management (IAM) per effettuare chiamate programmatiche ad Amazon S3
+ Fuso orario e orologi di sistema sincronizzati su Amazon EC2 e sul server locale
+ La rete locale connessa ad AWS tramite AWS [ Site-to-SiteVPN o AWS](https://aws.amazon.com/vpn/) [Direct Connect](https://aws.amazon.com/directconnect/)
+ Comunicazione tra il server locale e Amazon EC2 su porte HADR

**Limitazioni**
+ [L'istanza locale Db2 e Amazon EC2 devono appartenere alla stessa famiglia di piattaforme.](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ HADR non è supportato in un ambiente di database partizionato.
+ HADR non supporta l'uso di raw I/O (accesso diretto al disco) per i file di registro del database.
+ HADR non supporta la registrazione infinita.
+ `LOGINDEXBUILD`deve essere impostato su`YES`, il che aumenterà l'utilizzo del registro per la ricostruzione dell'indice.
+ Il carico di lavoro locale di Db2 deve essere registrato. Impostato `blocknonlogged=yes` nella configurazione del database per bloccare tutte le transazioni non registrate.

**Versioni del prodotto**
+ Db2 per LUW versione 11.5.9 e successive

## Architecture
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-architecture"></a>

**Stack tecnologico di origine**
+ Db2 su Linux x86\$164****

**Stack tecnologico Target**
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Simple Storage Service (Amazon S3)
+  Site-to-SiteVPN AWS

**Architettura Target**

Nel diagramma seguente, Db2 locale viene eseguito `db2-server1` come principale. Ha due obiettivi di standby HADR. Un target di standby è in locale ed è opzionale. L'altro obiettivo in standby è Amazon EC2. `db2-ec2` Dopo che il database viene trasferito ad AWS, `db2-ec2` diventa il database principale.

![\[Flusso di lavoro per migrare con una breve finestra di interruzione un Db2 locale utilizzando Db2 HADR.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/2db43e4b-f0ea-4a92-96da-4cafb7d3368b/images/5295420e-3cd8-4127-9a18-ade971c36339.png)


1. I log vengono trasmessi in streaming dal database locale primario al database locale in standby.

1. Utilizzando Db2 HADR, i log vengono trasmessi in streaming dal database locale primario tramite Site-to-Site VPN a Db2 su Amazon EC2.

1. I log di backup e archiviazione di Db2 vengono inviati dal database locale primario al bucket S3 su AWS.

## Tools (Strumenti)
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-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 ti aiuta a interagire con i servizi AWS tramite comandi nella tua shell a riga di comando.
+ [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.
+ [Amazon Elastic Compute Cloud (Amazon EC2) 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.
+ [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 risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [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 Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) ti aiuta a trasferire il traffico tra le istanze che avvii su AWS e la tua rete remota.

**Altri strumenti**
+ [db2cli è il comando CLI](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) interattivo di Db2.

## Best practice
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-best-practices"></a>
+ Sul database di destinazione, utilizza gli [endpoint gateway per Amazon S3 per](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) accedere all'immagine di backup del database e ai file di log in Amazon S3.
+ Sul database di origine, usa [AWS PrivateLink per Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) per inviare l'immagine di backup del database e i file di log ad Amazon S3.

## Epiche
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-epics"></a>

### Impostazione delle variabili di ambiente
<a name="set-environment-variables"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Imposta le variabili di ambiente. | Questo modello utilizza i seguenti nomi e porte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)È possibile modificarle per adattarle al proprio ambiente. | DBA | 

### Configura il server Db2 locale
<a name="configure-the-on-premises-db2-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS CLI. | Per scaricare e installare la versione più recente di AWS CLI, esegui i seguenti comandi:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Amministratore Linux | 
| Configura una destinazione locale per i log di archivio Db2. | Condizioni quali lavori di aggiornamento intensivi in batch e rallentamenti della rete possono causare un ritardo nel server di standby HADR. Per recuperare il ritardo, il server di standby necessita dei log delle transazioni del server primario. La sequenza di posizioni in cui richiedere i log è la seguente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)In questa configurazione, `/db2logs` viene impostata da `LOGARCHMETH2` on the source come area di staging. I log archiviati in questa directory verranno sincronizzati in Amazon S3 e accessibili da Db2 su Amazon EC2. Il modello utilizza `LOGARCHMETH2` because `LOGARCHMETH1` potrebbe essere stato configurato per utilizzare uno strumento di un fornitore di terze parti a cui il comando AWS CLI non può accedere:<pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Esegui un backup del database online. | Esegui un backup del database online e salvalo nel file system di backup locale:<pre>db2 backup db sample online to /backup </pre> | DBA | 

### Configura il bucket S3 e la policy IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un bucket S3. | Crea un bucket S3 per il server locale a cui inviare le immagini Db2 di backup e i file di log su AWS. Il bucket sarà accessibile da Amazon EC2:<pre>aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1 </pre> | Amministratore AWS | 
| Creare una policy IAM | Il `db2bucket.json` file contiene la policy IAM per l'accesso al bucket S3:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::hadrmig-db2/*",<br />                "arn:aws:s3:::hadrmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Per creare la policy, usa il seguente comando AWS CLI:<pre>aws iam create-policy \<br />      --policy-name db2s3hapolicy \<br />      --policy-document file://db2bucket.json </pre>L'output JSON mostra l'Amazon Resource Name (ARN) per la policy, `aws_account_id` dove rappresenta l'ID del tuo account:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"</pre> | Amministratore AWS, amministratore di sistema AWS | 
| Allega la policy IAM al ruolo IAM. | Di solito, all'istanza EC2 con Db2 in esecuzione viene assegnato un ruolo IAM dall'amministratore di sistema. Se non viene assegnato alcun ruolo IAM, puoi scegliere **Modifica ruolo IAM** sulla console Amazon EC2.Collega la policy IAM al ruolo IAM associato all'istanza EC2. Dopo aver allegato la policy, l'istanza EC2 può accedere al bucket S3:<pre>aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole   </pre> |  | 

### Inviare l'immagine di backup del database di origine e i file di log ad Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS CLI sul server Db2 locale. | Configura l'interfaccia a riga di comando di AWS con `Access Key ID` e `Secret Access Key` che hai generato in precedenza:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre> | Amministratore AWS, amministratore di sistema AWS | 
| Invia l'immagine di backup ad Amazon S3. | In precedenza, un backup del database online veniva salvato nella directory `/backup` locale. Per inviare l'immagine di backup al bucket S3, esegui il seguente comando:<pre>aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup</pre> | Amministratore AWS, amministratore di sistema AWS | 
| Invia i log di archivio Db2 ad Amazon S3. | Sincronizza i log di archivio Db2 locali con il bucket Amazon S3 a cui può accedere l'istanza Db2 di destinazione su Amazon EC2:<pre>aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS</pre>Esegui questo comando periodicamente utilizzando cron o altri strumenti di pianificazione. La frequenza dipende dalla frequenza con cui il database di origine archivia i file di registro delle transazioni. |  | 

### Connetti Db2 su Amazon EC2 ad Amazon S3 e avvia la sincronizzazione iniziale del database
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-initial-database-sync"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un PKCS12 keystore. | Db2 utilizza un keystore di crittografia Public-Key Cryptography Standards (PKCS) per proteggere la chiave di accesso AWS. Crea un keystore e configura il Db2 sorgente per utilizzarlo:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Crea l'alias di accesso allo storage Db2. | Db2 utilizza un alias di accesso allo storage per accedere ad Amazon S3 direttamente con `INGEST` i comandi`LOAD`,`BACKUP DATABASE`, o. `RESTORE DATABASE` Perché hai assegnato un ruolo IAM all'istanza EC2 `USER` e `PASSWORD` non sei obbligatorio:`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Ad esempio, lo script potrebbe avere il seguente aspetto: `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'" ` | DBA | 
| Imposta l'area di staging. | Ti consigliamo di utilizzare `DB2_ENABLE_COS_SDK=ON` e il link alla `awssdk` libreria per bypassare l'area di staging di Amazon S3 per il backup e il ripristino del database: `DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore`<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2stop<br />db2start</pre> | DBA | 
| Ripristina il database dall'immagine di backup. | Ripristina il database di destinazione su Amazon EC2 dall'immagine di backup nel bucket S3:<pre>db2 create db sample on /data1<br />db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing</pre> | DBA | 

### Configura HADR senza HADR in locale
<a name="set-up-hadr-with-no-hadr-on-premises"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il server Db2 locale come principale. | Aggiorna le impostazioni di configurazione del database per HADR su `db2-server1` (l'origine locale) come principale. Imposta `HADR_SYNCMODE` sulla `SUPERASYNC` modalità, che ha il tempo di risposta delle transazioni più breve:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-server1 HADR_LOCAL_SVC 50010 HADR_REMOTE_HOST db2-ec2 HADR_REMOTE_SVC 50012 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully`Sono previsti alcuni ritardi di rete tra il data center locale e AWS. (È possibile impostare un `HADR_SYNCMODE` valore diverso in base all'affidabilità della rete. Per ulteriori informazioni, vedere la sezione [Risorse correlate](#migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources)). | DBA | 
| Cambia la destinazione dell'archivio dei log del database di destinazione. | Modifica la destinazione dell'archivio di log del database di destinazione in modo che corrisponda all'ambiente Amazon EC2:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF<br />DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully</pre> | DBA | 
| Configura HADR per Db2 sul server Amazon EC2. | Aggiorna la configurazione del database per HADR in modalità standby: `db2-ec2``db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully` | DBA | 
| Verifica la configurazione HADR. | Verificare i parametri HADR sui server Db2 di origine e di destinazione.Per verificare la configurazione su`db2-server1`, esegui il seguente comando:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-ec2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50012<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre> Per verificare la configurazione attivata`db2-ec2`, esegui il seguente comando:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>I `HADR_REMOTE_SVC` parametri `HADR_LOCAL_HOST``HADR_LOCAL_SVC`,`HADR_REMOTE_HOST`, e indicano una configurazione HADR principale e una in standby. | DBA | 
| Avvia l'istanza Db2 HADR. | Avvia prima l'istanza Db2 HADR sul server di standby: `db2-ec2`<pre>db2 start hadr on db sample as standby<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>Avvia Db2 HADR sul server primario (di origine): `db2-server1`<pre>db2 start hadr on db sample as primary<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>La connessione HADR tra Db2 locale e Amazon EC2 è stata ora stabilita con successo. Il server primario Db2 `db2-server1` avvia lo streaming dei record dei log delle transazioni in tempo reale. `db2-ec2` | DBA | 

### Configura HADR quando HADR esiste in locale
<a name="set-up-hadr-when-hadr-exists-on-premises"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiungi Db2 su Amazon EC2 come standby ausiliario. | Se HADR è in esecuzione sull'istanza Db2 locale, puoi aggiungere Db2 su Amazon EC2 come standby ausiliario eseguendo i seguenti comandi su: `HADR_TARGET_LIST` `db2-ec2``db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-server2:50011" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | DBA | 
| Aggiungi le informazioni di standby ausiliarie ai server locali. | Aggiornamento `HADR_TARGET_LIST` sui due server locali (primario e standby).Su`db2-server1`, esegui il codice seguente:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server2:50011\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.``db2-server2`Attivo, esegui il codice seguente:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.` | DBA | 
| Verifica la configurazione HADR. | Verificare i parametri HADR sui server Db2 di origine e di destinazione.Attivo`db2-server1`, esegui il codice seguente:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50011<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>`db2-server2`Attivo, esegui il codice seguente:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50011<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>`db2-ec2`Attivo, esegui il codice seguente:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>I `HADR_TARGET_LIST` parametri `HADR_LOCAL_HOST``HADR_LOCAL_SVC`,`HADR_REMOTE_HOST`,`HADR_REMOTE_SVC`, e indicano una configurazione HADR principale e due in standby. |  | 
| Arresta e avvia Db2 HADR. | `HADR_TARGET_LIST`è ora configurato su tutti e tre i server. Ogni server Db2 conosce gli altri due. Arresta e riavvia HADR (breve interruzione) per sfruttare la nuova configurazione.Attivo`db2-server1`, esegui i seguenti comandi:<pre>db2 stop hadr on db sample<br />db2 deactivate db sample<br />db2 activate db sample</pre>`db2-server2`Attivo, esegui i seguenti comandi:<pre>db2 deactivate db sample<br />db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>`db2-ec2`Attivo, esegui i seguenti comandi:<pre>db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>`db2-server1`Attivo, esegui i seguenti comandi:<pre>db2 start hadr on db sample as primary<br />SQL1766W  The command completed successfully</pre>La connessione HADR tra Db2 locale e Amazon EC2 è ora stabilita con successo. Il server primario Db2 `db2-server1` avvia lo streaming dei record dei log delle transazioni su entrambi `db2-server2` e `db2-ec2` in tempo reale.  | DBA | 

### Imposta Db2 su Amazon EC2 come principale durante la finestra di cutover
<a name="make-db2-on-amazon-ec2-as-primary-during-the-cutover-window"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verificare che non vi sia alcun ritardo HADR sul server di standby. | Controllate lo stato HADR dal server primario. `db2-server1` Non allarmatevi quando `HADR_STATE` è in `REMOTE_CATCHUP` stato, il che è normale quando `HADR_SYNCMODE` è impostato su. `SUPERASYNC` Poi `PRIMARY_LOG_TIME` e `STANDBY_REPLAY_LOG_TIME` mostrano che sono sincronizzati:<pre>db2pd -hadr -db sample<br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL<br />                        HADR_SYNCMODE = SUPERASYNC<br />                           STANDBY_ID = 2<br />                        LOG_STREAM_ID = 0<br />                           HADR_STATE = REMOTE_CATCHUP<br />.....<br />                     PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />                     STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />              STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)</pre> | DBA | 
| Esegui HADR Takeover. | Per completare la migrazione, crea `db2-ec2` il database primario eseguendo il comando HADR takeover. Utilizzate il comando `db2pd` per verificare il `HADR_ROLE` valore:<pre>db2 TAKEOVER HADR ON DATABASE sample<br />DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.<br /><br />db2pd -hadr -db sample<br />Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988<br /><br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL</pre>Per completare la migrazione verso AWS, indirizza le connessioni dell'applicazione a Db2 su Amazon EC2. |  | 

## Risoluzione dei problemi
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Se utilizzi NAT per motivi di firewall e sicurezza, l'host può avere due indirizzi IP (uno interno e uno esterno), il che può causare un errore di controllo dell'indirizzo IP HADR. Il `START HADR ON DATABASE` comando restituirà il seguente messaggio:`HADR_LOCAL_HOST:HADR_LOCAL_SVC (-xx-xx-xx-xx.:50011 (xx.xx.xx.xx:50011)) on remote database is different from HADR_REMOTE_HOST:HADR_REMOTE_SVC (xx-xx-xx-xx.:50011 (x.x.x.x:50011)) on local database.` | Per [supportare HADR in un ambiente NAT,](https://www.ibm.com/docs/en/db2/11.5?topic=support-hadr-nat) è possibile configurarlo `HADR_LOCAL_HOST` con l'indirizzo interno ed esterno. Ad esempio, se il server Db2 ha il nome interno `host1` e il nome esterno`host1E`, `HADR_LOCAL_HOST` può essere. `HADR_LOCAL_HOST: "host1 \| host1E"` | 

## Risorse correlate
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources"></a>
+ [Operazioni di backup e ripristino Db2 tra diversi sistemi operativi e piattaforme hardware](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configura Db2 STORAGE ACCESS ALIAS e REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Disaster recovery ad alta disponibilità Db2](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr)
+ [hadr\$1syncmode - Modalità di sincronizzazione HADR per le scritture di log nel parametro di configurazione dello stato peer](https://www.ibm.com/docs/en/db2/11.5?topic=dcp-hadr-syncmode-hadr-synchronization-mode-log-writes-in-peer-state)

# Esegui la migrazione di applicazioni ospitate da IIS su Amazon utilizzando appcmd.exe EC2
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd"></a>

*Deepak Kumar, Amazon Web Services*

## Riepilogo
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-summary"></a>

Quando esegui la migrazione di applicazioni ospitate da Internet Information Services (IIS) su istanze Amazon Elastic Compute Cloud (Amazon EC2), devi affrontare diverse sfide di autenticazione. Queste sfide includono il reinserimento delle credenziali di dominio per le identità dei pool di applicazioni e la potenziale rigenerazione delle chiavi macchina per la corretta funzionalità del sito web. È possibile utilizzarlo AWS Directory Service per stabilire relazioni di fiducia con Active Directory locale o creare una nuova Active Directory gestita in. AWS Questo modello descrive un approccio di migrazione pulito che utilizza la funzionalità di backup e ripristino di IIS su EC2 istanze Amazon. L'approccio utilizza appcmd.exe per disinstallare e reinstallare IIS sulle EC2 istanze di destinazione, permettendo una corretta migrazione dei siti Web ospitati su IIS, delle identità dei pool di applicazioni e delle chiavi di macchina. 

## Prerequisiti e limitazioni
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS per il server di destinazione.
+ Un server IIS di origine funzionale con siti Web ospitati su di esso.
+ Comprensione dei principi di funzionamento di IIS come amministrazione e configurazione.
+ Accesso da amministratore di sistema sia sul server di origine che su quello di destinazione.
+ Migrazione completata del server IIS di origine verso la destinazione Account AWS. Puoi utilizzare strumenti di migrazione come AWS Application Migration Service un approccio basato su snapshot di Amazon Machine Image (AMI) o altri strumenti di migrazione.

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

**Versioni del prodotto**
+ IIS 8.5 o IIS 10.0

## Architecture
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-architecture"></a>

**Stack di tecnologia di origine**
+ Windows Server con IIS 8.5 o IIS 10.0 installato

**Stack tecnologico Target**
+ Windows Server con IIS 8.5 o IIS 10.0 installato
+ Application Migration Service

**Architettura di destinazione**

Il diagramma seguente mostra i componenti del flusso di lavoro e dell'architettura per questo modello.

![\[Flusso di lavoro per migrare applicazioni ospitate da IIS su Amazon. EC2\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/2f9f7757-b2bc-4077-b51a-700de521424c/images/36aa9b7a-d0aa-4fa4-be47-9fee43b53c22.png)


La soluzione include i seguenti passaggi:

1. [Installa](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) e configura l'agente di AWS replica sul server IIS di origine nel data center aziendale. Questo agente avvia il processo di replica e gestisce il trasferimento dei dati verso. AWS

1. L'agente di AWS replica stabilisce una [connessione sicura](https://docs.aws.amazon.com/mgn/latest/ug/Agent-Related-FAQ.html#How-Communication-Secured) all'Application Migration Service e inizia a replicare i dati del server di origine, incluse le configurazioni IIS, i siti Web e i file delle applicazioni.

1. Application Migration Service avvia EC2 le istanze nella sottorete dell'applicazione con i dati replicati. L' EC2 istanza di destinazione esegue IIS e contiene le applicazioni migrate con i volumi Amazon Elastic Block Store (Amazon EBS) associati. Dopo la replica iniziale, Application Migration Service continua a sincronizzare le modifiche finché non sei [pronto per passare al nuovo](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html#ready-for-cutover1) ambiente.

## Tools (Strumenti)
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-tools"></a>

**Servizi AWS**
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)ti aiuta a riospitare (*lift and shift*) le applicazioni Cloud AWS senza modifiche e con tempi di inattività minimi.
+ [Amazon Elastic Block Store (Amazon EBS) fornisce volumi di storage a livello di blocco da utilizzare con le istanze Amazon](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html). EC2 
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornisce capacità di elaborazione scalabile in. Cloud AWS Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.

**Altri strumenti**
+ [Internet Information Services (IIS)](https://www.iis.net/overview) per Windows Server è un server Web con un'architettura scalabile e aperta per l'hosting di qualsiasi cosa sul Web. IIS offre una serie di strumenti di amministrazione, tra cui strumenti di amministrazione e da riga di comando (ad esempio, appcmd.exe), codice e script gestiti e APIs supporto per Windows PowerShell .

## Epiche
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-epics"></a>

### Esegui il backup di IIS all'origine prima della migrazione
<a name="back-up-iis-at-source-prior-to-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea backup di siti Web ospitati su IIS, chiave di configurazione e chiave. `WAS` | Per creare backup per siti Web ospitati su IIS, la chiave di configurazione (`iisConfigurationKey`) e la `WAS` chiave (`iisWasKey`), utilizzate appcmd.exe sul server di origine. Utilizza le fasi seguenti:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html)Per esportare la chiave di configurazione e la `WAS` chiave, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Amministratore IIS | 

### Disinstalla e reinstalla IIS sul server di destinazione
<a name="uninstall-and-reinstall-iis-on-the-target-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Disinstalla IIS sul server di destinazione. | Per disinstallare IIS sul server di destinazione, attenersi alla seguente procedura: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Amministratore IIS | 
| Installa IIS sul server di destinazione. | Per installare IIS sul server di destinazione, attenersi alla seguente procedura: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Amministratore IIS | 

### Ripristina i siti Web e la configurazione IIS dai backup
<a name="restore-iis-websites-and-configuration-from-the-backups"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ripristina i siti Web e la configurazione IIS. | Per ripristinare i backup IIS creati dal server di origine sul server di destinazione, attenersi alla seguente procedura:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Amministratore IIS | 

## Risorse correlate
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-resources"></a>

**AWS documentazione**
+ [Installazione del AWS Replication Agent](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) (AWS Application Migration Service documentazione)

**AWS Linee guida prescrittive**
+ [Esegui la migrazione di una macchina virtuale locale su Amazon utilizzando EC2 AWS Application Migration Service](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)
+ [Utilizzo delle AMIs nostre istantanee di Amazon EBS per i backup](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/ec2-backup.html#amis-snapshots)

**Risorse Microsoft**
+ [Identità del pool di applicazioni](https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/was-service-svchost-process-operation/understanding-identities#application-pool-identities)
+ [Documentazione IIS](https://learn.microsoft.com/en-us/iis/)
+ [Documentazione IIS 8 appcmd.exe](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635852(v=ws.11))
+ [Documentazione IIS 10 appcmd.exe](https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10)
+ [Potenti strumenti di amministrazione](https://learn.microsoft.com/en-us/iis/overview/powerful-admin-tools)

# Esegui la migrazione di un database Microsoft SQL Server locale su Amazon EC2 utilizzando Application Migration Service
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn"></a>

*Senthil Ramasamy, Amazon Web Services*

## Riepilogo
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-summary"></a>

Questo modello descrive i passaggi per la migrazione di un database Microsoft SQL Server da un data center locale a un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Utilizza AWS Application Migration Service (AWS MGN) per riospitare il database utilizzando una migrazione automatizzata. lift-and-shift AWS MGN esegue la replica a livello di blocco del server del database di origine.

## Prerequisiti e limitazioni
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un database Microsoft SQL Server di origine in un data center locale

**Limitazioni**
+ La larghezza di banda della rete potrebbe essere limitata tra il data center locale e. AWS
+ AWS MGN è limitato ai database ospitati su server autonomi con archiviazione dedicata. Non supporta la migrazione di sistemi di database in cluster e di sistemi di database in cui la velocità di modifica supera il throughput di rete.
+ 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://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) e scegli il link relativo al servizio.

**Versioni del prodotto**
+ Tutte le versioni del database Microsoft SQL Server
+ Sistemi operativi Windows e Linux che [supportano AWS MGN](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html)

## Architecture
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-architecture"></a>

**Stack tecnologico di origine**

Un database Microsoft SQL Server locale

**Stack tecnologico Target**

Un database Microsoft SQL Server su un' EC2 istanza Amazon

**Architettura Target**

![\[Replica i dati da un data center aziendale locale su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/a459eaef-c256-4691-a7ec-2304f634228c/images/d8d6cee7-f42c-4686-bf92-6e6d39adfb17.png)


Questa architettura utilizza AWS MGN per replicare i dati da un data center aziendale locale a. AWS Il diagramma mostra il processo di replica dei dati, le comunicazioni tramite API e le fasi di test e cutover.

1. Replica dei dati:
   + AWS MGN replica i dati dal data center aziendale locale AWS e avvia la replica continua delle modifiche.
   + I server di replica nella sottorete di staging ricevono ed elaborano i dati.

1. Comunicazione tramite API:
   + I server di replica si connettono agli AWS endpoint delle API MGN EC2, Amazon e Amazon Simple Storage Service (Amazon S3) tramite la porta TCP 443.
   + AWS MGN gestisce la migrazione.
   + Amazon EC2 gestisce le operazioni delle istanze.

1. Test e cutover:
   + Le istanze di test vengono avviate nella sottorete operativa utilizzando dati replicati.
   + Dopo il successo dei test, AWS MGN crea istanze cutover per la migrazione finale.

## Tools (Strumenti)
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-tools"></a>
+ [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) vi aiuta a riospitare (*lift and shift) le applicazioni Cloud AWS senza modifiche e* con tempi di inattività minimi.
+ [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, è possibile creare interfacce virtuali direttamente ai AWS servizi pubblici ignorando i provider di servizi Internet nel percorso di rete.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornisce capacità di elaborazione scalabile in. Cloud AWS Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [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.

## Best practice
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-best-practices"></a>
+ Configura gli endpoint regionali delle API per AWS MGN EC2, Amazon e Amazon S3 nel cloud privato virtuale (VPC) per vietare l'accesso pubblico da Internet.
+ Configura le impostazioni di avvio di AWS MGN per avviare i server di database di destinazione in una sottorete privata.
+ Consenti solo le porte necessarie nei gruppi di sicurezza del database.
+ 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 nella documentazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) IAM.

## Epiche
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-epics"></a>

### Configura AWS MGN
<a name="set-up-aws-mgn"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS MGN. | Cercate il file AWS Application Migration Service nel Console di gestione AWS e avviate il processo di configurazione. **Questo creerà un modello di replica e ti reindirizzerà alla pagina dei server di origine della console MGN.** Durante la configurazione del servizio MGN, scegliete un ruolo di servizio dall'elenco generato. | DBA, ingegnere addetto alla migrazione | 
| Aggiungi server di origine. | Aggiungi i dettagli del server di database di origine locale, quindi aggiungi il server. | DBA, ingegnere addetto alla migrazione | 
| Installa l'agente AWS MGN sul server di origine. | Scarica il programma di installazione dell'agente AWS MGN sul tuo sistema locale e trasferiscilo sul server del database di origine. [Per convalidare l'hash del programma di installazione, vedere Convalida del programma di installazione di Replication Agent scaricato AWS per Windows 2012.](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html#installer-hash-table-2012) | DBA, ingegnere addetto alla migrazione | 

### Installa l'agente AWS MGN sui computer di origine
<a name="install-aws-mgn-agent-on-source-machines"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera credenziali IAM del client. | Prima di installare l'agente AWS MGN, genera AWS le credenziali creando un nuovo utente IAM con le autorizzazioni appropriate.Per ulteriori informazioni, consulta le [policy gestite da AWS AWS Application Migration Service e la](https://docs.aws.amazon.com/mgn/latest/ug/security-iam-awsmanpol.html) [generazione delle AWS credenziali richieste](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | DBA, ingegnere addetto alla migrazione | 
| Installa l'agente sul server di origine. | Installare l'agente sul computer di origine che ospita il database Microsoft SQL Server. Per ulteriori informazioni, vedere [Installazione dell'agente di AWS replica sui server Windows](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html).Fornisci le seguenti credenziali AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Le tue AWS credenziali uniche consentono all'agente AWS MGN di autenticare ed eseguire attività di migrazione. | Proprietario dell'app, DBA, ingegnere addetto alla migrazione | 
| Scegli i dischi da replicare. | Dopo aver inserito AWS le credenziali, il programma di installazione verifica che il server soddisfi i requisiti minimi per l'installazione dell'agente (ad esempio, se il server dispone di spazio su disco sufficiente per installare l'agente MGN). AWS Il programma di installazione visualizza le etichette dei volumi e i dettagli di archiviazione.Per replicare il database utilizzando il servizio AWS MGN, selezionate i dischi applicabili sul server di origine. Immettete il percorso di ogni disco, separato da virgole. Se desideri replicare tutti i dischi, lascia il percorso vuoto. Dopo aver confermato i dischi selezionati, l'installazione procede. | DBA, ingegnere addetto alla migrazione | 
| Monitora l'avanzamento della sincronizzazione. | AWS Replication Agent avvia il processo di sincronizzazione acquisendo prima un'istantanea dei dischi selezionati e quindi replicando i dati.È possibile monitorare l'avanzamento della sincronizzazione dalla pagina del server di **origine** nella console MGN. AWS Per ulteriori informazioni, consultate [Monitoraggio del server nel ciclo di vita della migrazione](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html). | DBA, ingegnere addetto alla migrazione | 

### Replica con AWS MGN
<a name="replication-using-aws-mgn"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Gestisci l'avanzamento della replica. | Dopo aver avviato la sincronizzazione iniziale, il server di origine viene visualizzato nella console AWS MGN, dove è possibile gestire e monitorare la migrazione. La console visualizza il tempo stimato per la replica completa, basato sulla dimensione totale dei dischi selezionati e sulla larghezza di banda di rete disponibile. | DBA, ingegnere addetto alla migrazione | 
| Verifica la sincronizzazione. | Dopo la completa sincronizzazione dei dischi sul server di origine, verifica che tutti i dischi selezionati siano elencati come completamente sincronizzati e che non vengano segnalati errori nella console.La console AWS MGN trasferirà quindi automaticamente lo stato del ciclo di vita della migrazione a **Pronto per il test, a indicare che l'ambiente replicato in AWS è pronto per** il test di prestazioni e funzionalità. | Proprietario dell'app, DBA, ingegnere addetto alla migrazione | 

### Prova e taglia
<a name="test-and-cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura le impostazioni di avvio. | Scegliete il server di origine nella console AWS MGN e aggiornate le impostazioni di avvio per l'istanza di test di destinazione. Dalla pagina dei **dettagli del server** di origine, accedete alla scheda **Impostazioni di avvio** per configurare l'istanza di test.Scegli un tipo di istanza conveniente e un tipo di volume Amazon Elastic Block Store (Amazon EBS), quindi configura i gruppi di sicurezza e i requisiti di rete. [Per ulteriori informazioni, consulta le impostazioni di Launch.](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html) | DBA, ingegnere addetto alla migrazione | 
| Avvia l'istanza di test di destinazione. | Passa alla console AWS MGN del tuo computer di origine sincronizzato e avvia un'istanza di test di destinazione scegliendo **Test and cut over e** quindi **Launch test** instances.Questo crea un job di avvio che distribuisce l'istanza di test utilizzando le impostazioni configurate. L'istanza viene avviata Cloud AWS e replica l'ambiente del server del database di origine. Monitora l'avanzamento del **lancio dalla pagina Cronologia** dei lanci, dove puoi tenere traccia della creazione dell'istanza e risolvere eventuali problemi. | DBA, ingegnere addetto alla migrazione | 
| Convalida l'istanza di test di destinazione. | Convalida il server di EC2 database Amazon:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Esegui test di convalida per garantire che il database funzioni come previsto. | DBA, ingegnere addetto alla migrazione | 
| Rinomina il server. | AWS La migrazione a MGN prevede una copia a livello di storage del server di origine locale. L' EC2 istanza di SQL Server contiene solo i dettagli del server di origine originale nei file binari, pertanto aggiorna le informazioni binarie in modo che riflettano il nome del nuovo server.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | DBA, ingegnere addetto alla migrazione | 
| Avvia l'istanza cutover. | **Nella console AWS MGN, nella pagina **Server di origine**, confermate che lo stato del ciclo di vita della migrazione del server sia Pronto per il cutover.** Configura le impostazioni di avvio per l'istanza cutover, assicurandoti che rispecchino il tuo ambiente locale.Prima di iniziare il cutover, chiudi il database locale, per garantire quanto segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Avviate l'istanza cutover nella console MGN. AWS Quando l'istanza cutover è operativa, accedete all'istanza ed eseguite i seguenti test:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | Proprietario dell'app, DBA, ingegnere addetto alla migrazione, responsabile della migrazione | 

## risoluzione dei problemi
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| La sincronizzazione iniziale fallisce nella fase di autenticazione. | Si tratta di un problema di connettività di rete. Il server di replica non può connettersi a AWS MGN. | 

## Risorse correlate
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-resources"></a>

**Documentazione AWS**
+ [Guida introduttiva con AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/getting-started.html)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon EC2](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.html)
+ [Cos'è Microsoft SQL Server su Amazon EC2?](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/sql-server-on-ec2-overview.html)

**Video**
+ [Esecuzione di una migrazione Lift and Shift con AWS Application Migration Service](https://www.youtube.com/watch?v=tB0sAR3aCb4) (video)

# Esegui la migrazione di un carico di lavoro F5 BIG-IP su F5 BIG-IP VE su Cloud AWS
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud"></a>

*Deepak Kumar, Amazon Web Services*

## Riepilogo
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-summary"></a>

Le organizzazioni stanno cercando di migrare verso il per Cloud AWS aumentare la loro agilità e resilienza. Dopo aver migrato le tue soluzioni di sicurezza e gestione del traffico [F5 BIG-IP](https://www.f5.com/products/big-ip-services) verso Cloud AWS, puoi concentrarti sull'agilità e sull'adozione di modelli operativi di alto valore nell'architettura aziendale.

[Questo modello descrive come migrare un carico di lavoro F5 BIG-IP verso un carico di lavoro F5 BIG-IP Virtual Edition (VE) su.](https://www.f5.com/products/big-ip-services/virtual-editions) Cloud AWS Il carico di lavoro verrà migrato mediante il rehosting dell'ambiente esistente e l'implementazione di aspetti del replatforming, come l'individuazione dei servizi e le integrazioni delle API. [AWS CloudFormation i modelli](https://github.com/F5Networks/f5-aws-cloudformation) accelerano la migrazione del carico di lavoro verso. Cloud AWS

Questo modello è destinato ai team di ingegneria tecnica e architettura che stanno migrando le soluzioni di sicurezza e gestione del traffico di F5 e accompagna la guida [Migrating from F5 BIG-IP to F5 BIG-IP VE sul sito web on the Prescriptive Guidance](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html). Cloud AWS AWS 

## Prerequisiti e limitazioni
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-prereqs"></a>

**Prerequisiti**
+ Un carico di lavoro F5 BIG-IP locale esistente.
+ Licenze F5 esistenti per le versioni BIG-IP VE.
+  Account AWS Un attivo.
+ Un cloud privato virtuale (VPC) esistente configurato con uscita tramite un gateway NAT o un indirizzo IP elastico e configurato con accesso ai seguenti endpoint: Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), () e Amazon. AWS Security Token Service AWS STS CloudWatch Puoi anche modificare l'architettura [VPC modulare e scalabile](https://aws.amazon.com/quickstart/architecture/vpc/) Quick Start come elemento costitutivo per le tue implementazioni. 
+ Una o due zone di disponibilità esistenti, a seconda delle esigenze. 
+ Tre sottoreti private esistenti in ogni zona di disponibilità.
+ AWS CloudFormation modelli, [disponibili nel repository GitHub F5](https://github.com/F5Networks/f5-aws-cloudformation/blob/master/template-index.md). 

Durante la migrazione, puoi anche utilizzare quanto segue, a seconda delle tue esigenze:
+ Un'[estensione F5 Cloud Failover](https://clouddocs.f5.com/products/extensions/f5-cloud-failover/latest/) per gestire la mappatura elastica degli indirizzi IP, la mappatura IP secondaria e le modifiche alla tabella di routing. 
+ Se utilizzi più zone di disponibilità, dovrai utilizzare le F5 Cloud Failover Extensions per gestire la mappatura elastica degli IP sui server virtuali.
+ È consigliabile prendere in considerazione l'utilizzo di [F5 Application Services 3 (AS3)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/), [F5 Application Services Templates (FAST)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/) o un altro modello di infrastruttura come codice (IaC) per gestire le configurazioni. La preparazione delle configurazioni in un modello IAc e l'utilizzo di repository di codice contribuiranno alla migrazione e alle attività di gestione continue.

**Competenza**
+ Questo modello richiede familiarità con il modo in cui uno o più centri dati VPCs possono essere collegati ai data center esistenti. Per ulteriori informazioni su questo argomento, consulta le [opzioni di connettività Network-to-Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) nella documentazione di Amazon VPC. 
+ [È inoltre richiesta familiarità con i prodotti e i moduli F5, tra cui [Traffic Management Operating System (TMOS), Local Traffic](https://www.f5.com/services/resources/white-papers/tmos-redefining-the-solution)[Manager (LTM), Global Traffic Manager (GTM)](https://www.f5.com/products/big-ip-services/local-traffic-manager)[, Access Policy Manager (APM)](https://techdocs.f5.com/kb/en-us/products/big-ip_gtm/manuals/product/gtm-concepts-11-5-0/1.html#unique_9842886)[, Application Security Manager (ASM)](https://www.f5.com/products/security/access-policy-manager)[, Advanced [Firewall Manager (](https://www.f5.com/products/security/advanced-firewall-manager)](https://www.f5.com/pdf/products/big-ip-application-security-manager-overview.pdf)AFM) e BIG-IQ.](https://www.f5.com/products/automation-and-orchestration/big-iq)

**Versioni del prodotto**
+ [Si consiglia di utilizzare F5 BIG-IP [versione 13.1](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-ve-13-1-0.html) o successiva, sebbene il modello supporti F5 BIG-IP versione 12.1 o successiva.](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-12-1-4.html)

## Architecture
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-architecture"></a>

**Stack tecnologico di origine**
+ Carico di lavoro F5 BIG-IP

**Stack tecnologico Target**
+ Amazon CloudFront
+ CloudWatch
+ Amazon EC2
+ Simple Storage Service (Amazon S3)
+ Amazon VPC
+ AWS Global Accelerator
+ AWS STS
+ AWS Transit Gateway
+ F5 BIG-IP VE

**Architettura Target**

![\[Architettura per migrare un carico di lavoro F5 BIG-IP verso un carico di lavoro F5 BIG-IP VE.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/586fe806-fac1-48d3-9eb1-45a6c86430dc/images/16d7fc09-1ffe-4721-b503-d971db84cbae.png)


## Tools (Strumenti)
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-tools"></a>
+ [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 attraverso e. Account AWS Regioni AWS
+ [Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) accelera la distribuzione dei tuoi contenuti web distribuendoli attraverso una rete mondiale di data center, che riduce la latenza e migliora le prestazioni.   
+ [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 Elastic Compute Cloud (Amazon EC2](https://docs.aws.amazon.com/ec2/)) fornisce capacità di elaborazione scalabile in. Puoi avviare tutti i server virtuali di cui hai bisogno e scalarli rapidamente verso Cloud AWS l'alto o verso il basso.
+ [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.
+ [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 Security Token Service (AWS STS)](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) consente di richiedere credenziali temporanee con privilegi limitati per gli utenti.
+ [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 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.

## Epiche
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-epics"></a>

### Scoperta e valutazione
<a name="discovery-and-assessment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Valuta le prestazioni di F5 BIG-IP. | Raccogli e registra le metriche delle prestazioni delle applicazioni sul server virtuale e le metriche dei sistemi che verranno migrati. Ciò contribuirà a dimensionare correttamente l' AWS infrastruttura di destinazione per una migliore ottimizzazione dei costi. | Architetto F5, ingegnere e architetto di rete, ingegnere | 
| Valuta il sistema operativo e la configurazione di F5 BIG-IP. | Valuta quali oggetti verranno migrati e se è necessario mantenere una struttura di rete, ad esempio. VLANs | Architetto F5, ingegnere | 
| Valuta le opzioni di licenza F5. | Valuta la licenza e il modello di consumo necessari. Questa valutazione deve essere basata sulla valutazione del sistema operativo e della configurazione di F5 BIG-IP. | Architetto F5, ingegnere | 
| Valuta le applicazioni pubbliche. | Determina quali applicazioni richiederanno indirizzi IP pubblici. Allinea tali applicazioni alle istanze e ai cluster richiesti per soddisfare i requisiti relativi alle prestazioni e agli accordi sul livello di servizio (SLA). | Architetto F5, architetto del cloud, architetto di rete, ingegnere, team di app | 
| Valuta le applicazioni interne. | Valuta quali applicazioni verranno utilizzate dagli utenti interni. Assicurati di sapere dove si trovano gli utenti interni all'interno dell'organizzazione e in che modo tali ambienti si connettono a Cloud AWS. È inoltre necessario assicurarsi che tali applicazioni possano utilizzare il Domain Name System (DNS) come parte del dominio predefinito. | F5 Architect, Cloud Architect, Network Architect, Engineer, App Teams | 
| Finalizza l'AMI. | Non tutte le versioni F5 BIG-IP vengono create come Amazon Machine Images (). AMIs Puoi utilizzare lo strumento F5 BIG-IP Image Generator se disponi di versioni specifiche richieste di Quick-Fix Engineering (QFE). Per ulteriori informazioni su questo strumento, consultate la sezione «Risorse correlate». | Architetto F5, architetto cloud, ingegnere | 
| Finalizza i tipi e l'architettura delle istanze. | Decidi i tipi di istanza, l'architettura VPC e l'architettura interconnessa. | Architetto F5, architetto del cloud, architetto di rete, ingegnere | 

### Attività complete relative alla sicurezza e alla conformità
<a name="complete-security-and-compliance-related-activities"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Documenta le politiche di sicurezza esistenti di F5. | Raccogli e documenta le politiche di sicurezza F5 esistenti. Assicurati di crearne una copia in un repository di codice sicuro. | Architetto F5, ingegnere | 
| Crittografa l'AMI. | (Facoltativo) L'organizzazione potrebbe richiedere la crittografia dei dati inattivi. Per ulteriori informazioni sulla creazione di un'immagine Bring Your Own License (BYOL) personalizzata, consulta la sezione «Risorse correlate». | Architetto F5, ingegnere, architetto cloud, ingegnere | 
| Rafforza i dispositivi. | Ciò contribuirà a proteggere da potenziali vulnerabilità. | Architetto F5, ingegnere | 

### Configura il tuo nuovo ambiente AWS
<a name="configure-your-new-aws-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea account edge e di sicurezza. | Accedi a Console di gestione AWS e crea il servizio Account AWS che fornirà e gestirà i servizi edge e di sicurezza. Questi account potrebbero essere diversi dagli account utilizzati VPCs per servizi e applicazioni condivisi. Questo passaggio può essere completato come parte di una landing zone. | Architetto del cloud, ingegnere | 
| Implementa l'edge e la sicurezza VPCs. | Imposta e configura quanto VPCs necessario per fornire servizi perimetrali e di sicurezza. | Architetto del cloud, ingegnere | 
| Connect al data center di origine. | Connect al data center di origine che ospita il carico di lavoro F5 BIG-IP. | Architetto del cloud, architetto di rete, ingegnere | 
| Implementa le connessioni VPC. | Connect il servizio edge e di sicurezza VPCs all'applicazione VPCs. | Architetto di rete, ingegnere | 
| Distribuisci le istanze. | Distribuisci le istanze utilizzando i CloudFormation modelli della sezione «Risorse correlate». | Architetto F5, ingegnere | 
| Testa e configura il failover delle istanze. | Assicurati che il modello AWS Advanced HA iApp o l'estensione F5 Cloud Failover siano configurati e funzionino correttamente. | Architetto F5, ingegnere | 

### Configurazione delle reti
<a name="configure-networking"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare la topologia VPC. | Apri la console Amazon VPC e assicurati che il tuo VPC disponga di tutte le sottoreti e le protezioni necessarie per l'implementazione di F5 BIG-IP VE. | Architetto di rete, architetto F5, architetto cloud, ingegnere | 
| Prepara i tuoi endpoint VPC. | Prepara gli endpoint VPC per Amazon EC2, Amazon S3 AWS STS e se un carico di lavoro F5 BIG-IP non ha accesso a un gateway NAT o a un indirizzo IP elastico su un'interfaccia TMM. | Architetto del cloud, ingegnere | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migrare la configurazione. | Migrare la configurazione F5 BIG-IP a F5 BIG-IP VE su. Cloud AWS | Architetto F5, ingegnere | 
| Associa il secondario IPs. | Gli indirizzi IP dei server virtuali hanno una relazione con gli indirizzi IP secondari assegnati alle istanze. Assegna indirizzi IP secondari e assicurati che sia selezionata l'opzione «Consenti rimappa/riassegnazione». | Architetto F5, ingegnere | 

### Configurazioni di test
<a name="test-configurations"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le configurazioni del server virtuale. | Prova i server virtuali. | F5 Architect, App Teams | 

### Finalizza le operazioni
<a name="finalize-operations"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea la strategia di backup. | I sistemi devono essere spenti per creare un'istantanea completa. Per ulteriori informazioni, vedere «Aggiornamento di una macchina virtuale F5 BIG-IP» nella sezione «Risorse correlate». | Architetto F5, architetto cloud, ingegnere | 
| Crea il runbook di failover del cluster. | Assicurati che il processo del runbook di failover sia completo. | Architetto F5, ingegnere | 
| Configura e convalida la registrazione. | Configura F5 Telemetry Streaming per inviare i log alle destinazioni richieste. | Architetto F5, ingegnere | 

### Completa il cutover
<a name="complete-the-cutover"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Passate al nuovo schieramento. |  | Architetto F5, architetto del cloud, architetto di rete, ingegnere, AppTeams | 

## Risorse correlate
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-resources"></a>

**Guida alla migrazione**
+ [Migrazione da F5 BIG-IP a F5 BIG-IP VE su Cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html)

**Risorse F5**
+ [CloudFormation modelli nel repository F5 GitHub ](https://github.com/F5Networks/f5-aws-cloudformation)
+ [F5 dentro Marketplace AWS](https://aws.amazon.com/marketplace/seller-profile?id=74d946f0-fa54-4d9f-99e8-ff3bd8eb2745)
+ [Panoramica di F5 BIG-IP VE](https://www.f5.com/products/big-ip-services/virtual-editions) 
+ [Esempio Quickstart - BIG-IP Virtual Edition con WAF (LTM \$1 ASM)](https://github.com/F5Networks/f5-aws-cloudformation-v2/tree/main/examples/quickstart)
+ [Servizi applicativi F5 su AWS: una panoramica (video)](https://www.youtube.com/watch?v=kutVjRHOAXo)
+ [Guida per l'utente di F5 Application Services 3 Extension](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/)
+ [Documentazione sul cloud F5](https://clouddocs.f5.com/training/community/public-cloud/html/intro.html)
+ [Wiki REST di F5 iControl](https://clouddocs.f5.com/api/icontrol-rest/)
+ [F5 Panoramica dei singoli file di configurazione (11.x - 15.x)](https://support.f5.com/csp/article/K13408)
+ [Whitepaper F5](https://www.f5.com/services/resources/white-papers)
+ [Strumento di generazione di immagini F5 BIG-IP](https://clouddocs.f5.com/cloud/public/v1/ve-image-gen_index.html)
+ [Aggiornamento di una macchina virtuale F5 BIG-IP VE](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-setup-vmware-esxi-11-5-0/3.html)
+ [Panoramica dell'opzione «platform-migrate» dell'archivio UCS](https://support.f5.com/csp/article/K82540512)

# Esegui la migrazione di un'applicazione web Go locale su AWS Elastic Beanstalk utilizzando il metodo binario
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method"></a>

*Suhas Basavaraj e Shumaz Mukhtar Kazi, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-summary"></a>

Questo modello descrive come migrare un'applicazione web Go locale su AWS Elastic Beanstalk. Dopo la migrazione dell'applicazione, Elastic Beanstalk crea il file binario per il bundle di origine e lo distribuisce su un'istanza Amazon Elastic Compute Cloud (Amazon). EC2

Trattandosi di una strategia di migrazione rehost, l'approccio di questo pattern è rapido e non richiede modifiche al codice, il che significa meno tempo di test e migrazione. 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un'applicazione web Go locale.
+ Un GitHub repository che contiene il codice sorgente dell'applicazione Go. Se non lo utilizzi GitHub, esistono altri modi per [creare un bundle di sorgenti dell'applicazione per Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html).

**Versioni del prodotto**
+ La versione Go più recente supportata da Elastic Beanstalk. Per ulteriori informazioni, consulta la documentazione di [Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go).

## Architecture
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-architecture"></a>

**Stack tecnologico di origine**
+ Un'applicazione web Go locale 

**Stack tecnologico Target**
+ AWS Elastic Beanstalk
+ Amazon CloudWatch

**Architettura Target****

![\[Architettura per la migrazione di un'applicazione Go su Elastic Beanstalk\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/cd8d660d-5621-4ea7-8f97-7a1e321c57d3/images/1df543d9-7073-43d8-abd3-f1f7e57278eb.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-tools"></a>
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html) distribuisce e gestisce rapidamente le applicazioni nel cloud AWS senza che gli utenti debbano conoscere l'infrastruttura che esegue tali applicazioni. Elastic Beanstalk riduce la complessità della gestione senza limitare le scelte o il controllo.
+ [GitHub](https://github.com/)è un sistema di controllo delle versioni distribuito open source.

## Epiche
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-epics"></a>

### Crea il file.zip del pacchetto sorgente dell'applicazione web Go
<a name="create-the-go-web-application-source-bundle-zip-file"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il pacchetto sorgente per l'applicazione Go.  | Apri il GitHub repository che contiene il codice sorgente dell'applicazione Go e prepara il pacchetto sorgente. Il pacchetto sorgente contiene un file `application.go` sorgente nella directory principale, che ospita il pacchetto principale dell'applicazione Go. Se non lo utilizzate GitHub, consultate la precedente sezione *Prerequisiti* di questo schema per scoprire altri modi per creare il bundle di sorgenti dell'applicazione. | Amministratore di sistema, sviluppatore di applicazioni | 
| Creazione di un file di configurazione. | Crea una `.ebextensions` cartella nel tuo pacchetto sorgente, quindi crea un `options.config` file all'interno di questa cartella. Per ulteriori informazioni, consulta la documentazione di [Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html). | Amministratore di sistema, sviluppatore di applicazioni | 
|  Crea il file.zip del pacchetto sorgente. | Eseguire il seguente comando seguente.<pre>git archive -o ../godemoapp.zip HEAD</pre>Questo crea il file.zip del bundle di origine. Scaricate e salvate il file.zip come file locale. Il file.zip non può superare i 512 MB e non può includere una cartella principale o una directory di primo livello. | Amministratore di sistema, sviluppatore di applicazioni | 

### Esegui la migrazione dell'applicazione web Go su Elastic Beanstalk
<a name="migrate-the-go-web-application-to-elastic-beanstalk"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scegli l'applicazione Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html)[Per istruzioni su come creare un'applicazione Elastic Beanstalk, consulta la documentazione di Elastic Beanstalk.](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html) | Amministratore di sistema, sviluppatore di applicazioni | 
| Avvia l'ambiente del server web Elastic Beanstalk.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Amministratore di sistema, sviluppatore di applicazioni | 
| Carica il file.zip del bundle sorgente su Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Amministratore di sistema, sviluppatore di applicazioni | 
| Prova l'applicazione web Go distribuita. | Verrai reindirizzato alla pagina di panoramica dell'applicazione Elastic Beanstalk. Nella parte superiore della panoramica, accanto a **Environment ID**, scegli l'URL che termina con `elasticbeanstalk.com` per accedere all'applicazione. L'applicazione deve utilizzare questo nome nel file di configurazione come variabile di ambiente e visualizzarlo sulla pagina Web. | Amministratore di sistema, sviluppatore di applicazioni | 

## risoluzione dei problemi
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Impossibile accedere all'applicazione tramite un Application Load Balancer. | Controlla il gruppo target che contiene l'applicazione Elastic Beanstalk. Se non è integro, accedi all'istanza di Elastic Beanstalk e `nginx.conf` controlla la configurazione del file per verificare che venga indirizzato all'URL corretto dello stato di integrità. Potrebbe essere necessario modificare l'URL del controllo dello stato del gruppo target. | 

## Risorse correlate
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-resources"></a>
+ [Versioni della piattaforma Go supportate da Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go)
+ [Utilizzo dei file di configurazione con Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html)
+ [Creazione di un'applicazione di esempio in Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html) 

# Esegui la migrazione di un server SFTP locale a Using AWS AWS Transfer for SFTP
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp"></a>

*Akash Kumar, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-summary"></a>

Questo modello descrive come migrare una soluzione di trasferimento file locale che utilizza il Secure Shell (SSH) File Transfer Protocol (SFTP) verso il utilizzando il servizio. Cloud AWS AWS Transfer for SFTP Gli utenti generalmente si connettono a un server SFTP tramite il relativo nome di dominio o tramite IP fisso. Questo modello copre entrambi i casi.

AWS Transfer for SFTP è membro di AWS Transfer Family. È un servizio di trasferimento sicuro che è possibile utilizzare per trasferire file da e verso i servizi di AWS archiviazione tramite SFTP. Puoi utilizzarlo AWS Transfer for SFTP con Amazon Simple Storage Service (Amazon S3) o Amazon Elastic File System (Amazon EFS). Questo modello utilizza Amazon S3 per lo storage.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS.
+ Un nome di dominio SFTP esistente o un IP SFTP fisso.

**Limitazioni**
+ L'oggetto più grande che è possibile trasferire in una richiesta è attualmente di 5 GiB. Per file di dimensioni superiori a 100 MiB, prendi in considerazione l'utilizzo del caricamento multiparte di [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html).

## Architecture
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-architecture"></a>

**Stack tecnologico di origine**
+ File flat locali o file di dump del database.

**Stack tecnologico Target**
+ AWS Transfer for SFTP
+ Simple Storage Service (Amazon S3)
+ Amazon Virtual Private Cloud (Amazon VPC) (Amazon VPC)
+ AWS Identity and Access Management Ruoli e politiche (IAM)
+ Indirizzi IP elastici
+ Gruppi di sicurezza
+ Amazon CloudWatch Logs (opzionale)

**Architettura Target**

![\[Usa AWS Transfer for SFTP per migrare un server SFTP locale nel cloud AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/ec0a905c-edef-48ba-9b5e-ea4a4040d320/images/f42aa711-bfe0-4ac6-9f66-5c18a1dd1c7a.png)


**Automazione e scalabilità**

Per automatizzare l'architettura di destinazione per questo modello, utilizza i CloudFormation modelli allegati:
+ `amazon-vpc-subnets.yml`fornisce un cloud privato virtuale (VPC) con due sottoreti pubbliche e due private.
+ `amazon-sftp-server.yml`fornisce il server SFTP.
+ `amazon-sftp-customer.yml`aggiunge utenti.

## Tools (Strumenti)
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-tools"></a>

**Servizi AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ti aiuta a centralizzare i log di tutti i tuoi sistemi e applicazioni, Servizi AWS così puoi monitorarli e archiviarli in modo sicuro.
+ [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.
+ [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. Questo modello utilizza Amazon S3 come sistema di storage per i trasferimenti di file.
+ [AWS Transfer for SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html)ti aiuta a trasferire file da e verso i servizi di AWS storage tramite il protocollo SFTP.
+ [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.

## Epiche
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-epics"></a>

### Crea un VPC
<a name="create-a-vpc"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un VPC con sottoreti. | Apri la [Console Amazon VPC](https://console.aws.amazon.com/vpc/). Crea un cloud privato virtuale (VPC) con due sottoreti pubbliche. (La seconda sottorete offre un'elevata disponibilità.)oppurePuoi implementare il CloudFormation modello allegato nella [CloudFormation console](https://console.aws.amazon.com/cloudformation) per automatizzare le attività di questa epopea. `amazon-vpc-subnets.yml` | Sviluppatore, amministratore di sistema | 
| Aggiungi un gateway Internet. | Esegui il provisioning di un gateway Internet e collegalo al VPC. | Sviluppatore, amministratore di sistema | 
| Esegui la migrazione di un IP esistente. | Collega un IP esistente all'indirizzo IP elastico. Puoi creare un indirizzo IP elastico dal tuo pool di indirizzi e utilizzarlo. | Sviluppatore, amministratore di sistema | 

### Esegui il provisioning di un server SFTP
<a name="provision-an-sftp-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un server SFTP. | Apri la [AWS Transfer Family console](https://console.aws.amazon.com/transfer/). Segui le istruzioni riportate nella AWS Transfer Family documentazione relativa alla [creazione di un endpoint con accesso a Internet per il tuo server per creare un server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) SFTP con un endpoint connesso a Internet. Per il **tipo di endpoint**, scegli **VPC ospitato**. Per **Access**, scegli **Internet** Facing. Per **VPC**, scegli il VPC che hai creato nell'epopea precedente.oppurePuoi implementare il CloudFormation modello allegato nella [CloudFormation console](https://console.aws.amazon.com/cloudformation) per automatizzare le attività di questa epopea. `amazon-sftp-server.yml` | Sviluppatore, amministratore di sistema | 
| Esegui la migrazione del nome di dominio. | Allega il nome di dominio esistente al nome host personalizzato. Se utilizzi un nuovo nome di dominio, usa l'alias **DNS di Amazon Route 53**. Per un nome di dominio esistente, scegli **Altro** DNS. Per ulteriori informazioni, consulta [Lavorare con nomi host personalizzati](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html) nella AWS Transfer Family documentazione. | Sviluppatore, amministratore di sistema | 
| Aggiungi un ruolo CloudWatch di registrazione. | (Facoltativo) se desideri abilitare CloudWatch la registrazione, crea un `Transfer` ruolo con le operazioni dell'API CloudWatch Logs`logs:CreateLogGroup`,`logs:CreateLogStream`, ` logs:DescribeLogStreams` e. `logs:PutLogEvents` Per ulteriori informazioni, consulta [Log activity with CloudWatch](https://docs.aws.amazon.com/transfer/latest/userguide/monitoring.html#monitoring-enabling) nella AWS Transfer Family documentazione. | Sviluppatore, amministratore di sistema | 
| Salva e invia. | Scegli **Save** (Salva). Per **Azioni**, scegli **Avvia** e attendi che il server SFTP venga creato con lo stato **Online**. | Sviluppatore, amministratore di sistema | 

### Mappa gli indirizzi IP elastici sul server SFTP
<a name="map-elastic-ip-addresses-to-the-sftp-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Arresta il server in modo da poter modificare le impostazioni. | Sulla [AWS Transfer Family console](https://console.aws.amazon.com/transfer/), scegli **Server, quindi seleziona il server** SFTP che hai creato. In **Actions (Operazioni)**, scegliere **Stop (Arresta)**. Quando il server è offline, scegli **Modifica** per modificarne le impostazioni. | Sviluppatore, amministratore di sistema | 
| Scegli zone di disponibilità e sottoreti. | Nella sezione **Zone di disponibilità, scegli le zone** di disponibilità e le sottoreti per il tuo VPC. | Sviluppatore, amministratore di sistema | 
| Aggiungi indirizzi IP elastici. | Per **IPv4 Indirizzi**, scegli un indirizzo IP elastico per ogni sottorete, quindi scegli **Salva**. | Sviluppatore, amministratore di sistema | 

### Aggiungere utenti
<a name="add-users"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un ruolo IAM per consentire agli utenti di accedere al bucket S3. | Crea un ruolo IAM `Transfer`**** e aggiungi ` s3:ListBucket`` s3:GetBucketLocation`, e `s3:PutObject` con il nome del bucket S3 come risorsa. Per ulteriori informazioni, consulta [Creare un ruolo e una policy IAM](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html) nella AWS Transfer Family documentazione.oppurePuoi implementare il CloudFormation modello allegato nella [CloudFormation console](https://console.aws.amazon.com/cloudformation) per automatizzare le attività di questa epopea. `amazon-sftp-customer.yml` | Sviluppatore, amministratore di sistema | 
| Crea un bucket S3. | Crea un bucket S3 per l'applicazione. | Sviluppatore, amministratore di sistema | 
| Crea cartelle opzionali. | (Facoltativo) Se desideri archiviare i file per gli utenti separatamente, in cartelle Amazon S3 specifiche, aggiungi le cartelle appropriate. | Sviluppatore, amministratore di sistema | 
| Crea una chiave pubblica SSH. | Per creare una coppia di chiavi SSH, consulta [Generare chiavi SSH](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#sshkeygen) nella AWS Transfer Family documentazione. | Sviluppatore, amministratore di sistema | 
| Aggiungere gli utenti. | Sulla [AWS Transfer Family console](https://console.aws.amazon.com/transfer/), scegli **Server, seleziona il server** SFTP che hai creato, quindi scegli **Aggiungi utente**. Per **Home directory**, scegli il bucket S3 che hai creato. Per la **chiave pubblica SSH**, specificare la parte della chiave pubblica della coppia di chiavi SSH. **Aggiungi utenti per il server SFTP, quindi scegli Aggiungi.** | Sviluppatore, amministratore di sistema | 

### Prova il server SFTP
<a name="test-the-sftp-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiorna il gruppo di sicurezza. | Nella sezione **Gruppi di sicurezza** del server SFTP, aggiungi l'IP della macchina di test per ottenere l'accesso SFTP. | Developer | 
| Utilizzate un'utilità client SFTP per testare il server. | Eseguite il test dei trasferimenti di file utilizzando qualsiasi utilità client SFTP. Per un elenco di client e istruzioni, consultate [Trasferimento di file utilizzando un client](https://docs.aws.amazon.com/transfer/latest/userguide/transfer-file.html) nella AWS Transfer Family documentazione. | Developer | 

## Risorse correlate
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-resources"></a>
+ [AWS Transfer Family Guida per l'utente](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [Guida per l'utente di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ [Indirizzi IP elastici](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) nella EC2 documentazione di Amazon

## Allegati
<a name="attachments-ec0a905c-edef-48ba-9b5e-ea4a4040d320"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/ec0a905c-edef-48ba-9b5e-ea4a4040d320/attachments/attachment.zip)

# Migra una macchina virtuale locale su Amazon EC2 utilizzando AWS Application Migration Service
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service"></a>

*Thanh Nguyen, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-summary"></a>

Per quanto riguarda la migrazione delle applicazioni, le organizzazioni possono adottare approcci diversi per riospitare (lift and shift) i server dell'applicazione dall'ambiente locale al cloud Amazon Web Services (AWS). Un modo consiste nel fornire nuove istanze Amazon Elastic Compute Cloud (Amazon EC2) e quindi installare e configurare l'applicazione da zero. Un altro approccio consiste nell'utilizzare servizi di migrazione nativi di AWS o di terze parti per migrare più server contemporaneamente.

Questo modello descrive i passaggi per la migrazione di una macchina virtuale (VM) supportata su un' EC2 istanza Amazon sul cloud AWS utilizzando AWS Application Migration Service. Puoi utilizzare l'approccio descritto in questo modello per migrare una o più macchine virtuali manualmente, una per una o automaticamente creando script di automazione appropriati in base ai passaggi descritti. 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo in una delle regioni AWS che supportano Application Migration Service
+ Connettività di rete tra il server di origine e il EC2 server di destinazione tramite una rete privata utilizzando AWS Direct Connect o una rete privata virtuale (VPN) o tramite Internet

**Limitazioni**
+ Per l'elenco aggiornato delle regioni supportate, consulta le [regioni AWS supportate](https://docs.aws.amazon.com/mgn/latest/ug/supported-regions.html).
+ Per un elenco dei sistemi operativi supportati, consulta la sezione [Sistemi operativi supportati](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html) e la sezione *Generale* di [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

## Architecture
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-architecture"></a>

**Stack tecnologico di origine**
+ Un server fisico, virtuale o ospitato nel cloud che esegue un sistema operativo supportato da Amazon EC2

**Stack tecnologico Target**
+ Un' EC2 istanza Amazon che esegue lo stesso sistema operativo della macchina virtuale di origine
+ Amazon Elastic Block Store (Amazon EBS)

**Architettura di origine e destinazione**

Il diagramma seguente mostra l'architettura di alto livello e i componenti principali della soluzione. Nel data center locale sono presenti macchine virtuali con dischi locali. In AWS, è disponibile un'area di staging con server di replica e un'area di risorse migrate con EC2 istanze per test e cutover. Entrambe le sottoreti contengono volumi EBS.

![\[Componenti principali per migrare una macchina virtuale supportata su un' EC2 istanza Amazon sul cloud AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/f8396fad-7ee9-4f75-800f-e819f509e151.png)


1. Inizializza AWS Application Migration Service.

1. Configura la configurazione e il reporting del server dell'area di staging, incluse le risorse dell'area di staging.

1. Installa gli agenti sui server di origine e utilizza la replica continua dei dati a livello di blocco (compressa e crittografata).

1. Automatizza l'orchestrazione e la conversione del sistema per abbreviare la finestra intermedia.

**Architettura di rete**

Il diagramma seguente mostra l'architettura di alto livello e i componenti principali della soluzione dal punto di vista della rete, inclusi i protocolli e le porte necessari per la comunicazione tra i componenti principali nel data center locale e su AWS.

![\[Componenti di rete, inclusi protocolli e porte per la comunicazione tra data center e AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/2f594daa-ddba-4841-8785-6067e8d83c2f.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-tools"></a>
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) ti aiuta a riospitare (*lift and shift*) le applicazioni nel cloud AWS senza modifiche e con tempi di inattività minimi.

## Best practice
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-best-practices"></a>
+ Non mettere offline il server di origine né eseguire un riavvio fino al completamento del cutover sull'istanza di destinazione EC2 .
+ Offri agli utenti ampie opportunità di eseguire test di accettazione degli utenti (UAT) sul server di destinazione per identificare e risolvere eventuali problemi. Idealmente, questo test dovrebbe iniziare almeno due settimane prima del termine.
+ Monitora frequentemente lo stato della replica del server sulla console di Application Migration Service per identificare tempestivamente i problemi.
+ Utilizza credenziali AWS Identity and Access Management (IAM) temporanee per l'installazione dell'agente anziché credenziali utente IAM permanenti.

## Epiche
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-epics"></a>

### Generazione di credenziali AWS
<a name="generate-aws-credentials"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il ruolo IAM di AWS Replication Agent. | Accedi con autorizzazioni amministrative all'account AWS.Sulla [console](https://console.aws.amazon.com/iam/) AWS Identity and Access Management (IAM), crea un ruolo IAM:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html) | Amministratore AWS, ingegnere addetto alla migrazione | 
| Genera credenziali di sicurezza temporanee. | Su una macchina con AWS Command Line Interface (AWS CLI) installata, accedi con autorizzazioni amministrative. In alternativa (all'interno di una regione AWS supportata), sulla Console di gestione AWS, accedi con autorizzazioni amministrative all'account AWS e apri AWS CloudShell.Genera credenziali temporanee con il seguente comando, sostituendolo `<account-id>` con l'ID dell'account AWS.`aws sts assume-role --role-arn arn:aws:iam::<account-id>:role/MGN_Agent_Installation_Role --role-session-name mgn_installation_session_role`Dall'output del comando, copia i valori per `AccessKeyId` **`SecretAccessKey`**, e **`SessionToken`**. ****Conservali in un luogo sicuro per un uso successivo.Queste credenziali temporanee scadranno dopo un'ora. Se hai bisogno di credenziali dopo un'ora, ripeti i passaggi precedenti. | Amministratore AWS, ingegnere addetto alla migrazione | 

### Inizializza Application Migration Service e crea il modello di impostazioni di replica
<a name="initialize-application-migration-service-and-create-the-replication-settings-template"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Inizializza il servizio. | Sulla console, accedi con le autorizzazioni amministrative all'account AWS.Scegli **Application Migration Service**, quindi scegli **Inizia**. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Crea e configura il modello di impostazioni di replica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)Application Migration Service creerà automaticamente tutti i ruoli IAM necessari per facilitare la replica dei dati e l'avvio dei server migrati. | Amministratore AWS, ingegnere addetto alla migrazione | 

### Installa gli agenti di replica AWS sui computer di origine
<a name="install-aws-replication-agents-on-source-machines"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Tieni a portata di mano le credenziali AWS richieste. | Quando esegui il file di installazione su un server di origine, dovrai inserire le credenziali temporanee generate in precedenza, tra cui`AccessKeyId`, `SecretAccessKey` e. `SessionToken` | Ingegnere addetto alla migrazione, amministratore AWS | 
| Per i server Linux, installa l'agente. | Copia il comando di installazione, accedi ai server di origine ed esegui il programma di installazione. Per istruzioni dettagliate, consulta la [documentazione AWS](https://docs.aws.amazon.com/mgn/latest/ug/linux-agent.html). | Amministratore AWS, ingegnere addetto alla migrazione | 
| Per i server Windows, installa l'agente. | Scarica il file di installazione su ogni server, quindi esegui il comando di installazione. Per istruzioni dettagliate, consulta la [documentazione AWS](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html). | Amministratore AWS, ingegnere addetto alla migrazione | 
| Attendi il completamento della replica iniziale dei dati. | Una volta installato l'agente, il server di origine verrà visualizzato nella console di Application Migration Service, nella sezione **Server di origine**. Attendi che il server venga sottoposto alla replica iniziale dei dati. | Amministratore AWS, ingegnere addetto alla migrazione | 

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Specificare i dettagli del server. | Nella console di Application Migration Service, scegli la sezione **Server di origine**, quindi scegli un nome di server dall'elenco per accedere ai dettagli del server. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Configura le impostazioni di avvio.  | Scegli la scheda **Impostazioni di avvio**. Puoi configurare una varietà di impostazioni, incluse le impostazioni generali di avvio e le impostazioni del modello di EC2 avvio. Per istruzioni dettagliate, consulta la [documentazione AWS](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html). | Amministratore AWS, ingegnere addetto alla migrazione | 

### Esegui un test
<a name="perform-a-test"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Prova i server di origine. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)I server verranno avviati. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Verifica che il test sia stato completato con successo. | Una volta avviato completamente il server di test, lo stato **Avvisi** nella pagina mostrerà **Avviato** per ogni server. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Testa il server. | Esegui test sul server di test per assicurarti che funzioni come previsto. | Amministratore AWS, ingegnere addetto alla migrazione | 

### Pianifica ed esegui un cutover
<a name="schedule-and-perform-a-cutover"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Pianifica una finestra di taglio. | Pianifica un periodo di tempo limite adeguato con i team competenti. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Esegui il cutover. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)Il **ciclo di vita della migrazione** del server di origine passerà a **Cutover** in corso. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Verifica che il cutover sia stato completato correttamente. | Dopo l'avvio completo dei server di cutover, lo stato **Avvisi** nella pagina **Server di origine mostrerà **Avviato** per ogni server**. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Testa il server. | Esegui dei test sul server cutover per assicurarti che funzioni come previsto. | Amministratore AWS, ingegnere addetto alla migrazione | 
| Finalizza il cutover. | Scegli **Test e Cutover**, quindi seleziona **Finalize cutover per finalizzare il processo di migrazione**. | Amministratore AWS, ingegnere addetto alla migrazione | 

## Risorse correlate
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-resources"></a>
+ [AWS Servizio della migrazione di applicazioni](https://aws.amazon.com/application-migration-service/)
+ [Guida per l'utente di AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)

# Esegui la migrazione di piccoli set di dati da locale ad Amazon S3 utilizzando AWS SFTP
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp"></a>

*Charles Gibson e Sergiy Shevchenko, Amazon Web Services*

## Riepilogo
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-summary"></a>

Questo modello descrive come migrare piccoli set di dati (5 TB o meno) dai data center locali ad Amazon Simple Storage Service (Amazon S3) utilizzando (). AWS Transfer for SFTP AWS SFTP I dati possono essere dump di database o file flat.

## Prerequisiti e limitazioni
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un AWS Direct Connect collegamento stabilito tra il data center e AWS

**Limitazioni**
+ I file di dati devono pesare meno di 5 TB. Per file superiori a 5 TB, puoi eseguire un caricamento in più parti su Amazon S3 o scegliere un altro metodo di trasferimento dei dati. 

## Architecture
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-architecture"></a>

**Stack tecnologico di origine**
+ File flat o dump di database locali

**Stack tecnologico Target**
+ Simple Storage Service (Amazon S3)

**Architettura di origine e destinazione**

![\[Diagram showing data flow from on-premises servers to Cloud AWS services via Direct Connect and VPN.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/a9c016ff-3e68-4714-ac51-46cb4727397a/images/5c5bb9ea-d552-44e8-8d0d-df341f84f55d.png)


## Tools (Strumenti)
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-tools"></a>
+ [AWS SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)— Consente il trasferimento di file direttamente da e verso Amazon S3 utilizzando Secure File Transfer Protocol (SFTP).
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)— Stabilisce una connessione di rete dedicata dai data center locali a. AWS
+ [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html): consentono di connettere privatamente un VPC a servizi endpoint VPC supportati Servizi AWS e forniti AWS PrivateLink da senza un gateway Internet, un dispositivo NAT (Network Address Translation), una connessione VPN o una connessione. Direct Connect Le istanze in un VPC non richiedono indirizzi IP pubblici per comunicare con le risorse del servizio.

## Epiche
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Documenta gli attuali requisiti SFTP. |  | Proprietario dell'applicazione, SA | 
| Identifica i requisiti di autenticazione. | I requisiti possono includere l'autenticazione basata su chiave, il nome utente o la password o il provider di identità (IdP). | Proprietario dell'applicazione, SA | 
| Identifica i requisiti di integrazione delle applicazioni. |  | Proprietario dell'applicazione | 
| Identifica gli utenti che richiedono il servizio. |  | Proprietario dell'applicazione | 
| Determina il nome DNS per l'endpoint del server SFTP. |  | Rete | 
| Determinare la strategia di backup. |  | SA, DBA (se i dati vengono trasferiti)  | 
| Identifica la migrazione delle applicazioni o la strategia di cutover. |  | Proprietario dell'applicazione, SA, DBA | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea uno o più cloud privati virtuali (VPCs) e sottoreti nel tuo. Account AWS |  | Proprietario dell'applicazione, AMS | 
| Crea i gruppi di sicurezza e l'elenco di controllo degli accessi alla rete (ACL). |  | Sicurezza, rete, AMS | 
| Crea il bucket Amazon S3. |  | Proprietario dell'applicazione, AMS | 
| Crea il ruolo AWS Identity and Access Management (IAM). | Crea una policy IAM che includa le autorizzazioni per consentire l'accesso AWS SFTP al tuo bucket Amazon S3. Questa policy IAM determina il livello di accesso da fornire agli utenti SFTP. Crea un'altra policy IAM con AWS SFTP cui stabilire una relazione di fiducia. | Sicurezza, AMS | 
| Associa un dominio registrato (opzionale). | Se hai il tuo dominio registrato, puoi associarlo al server SFTP. È possibile indirizzare il traffico SFTP verso l'endpoint del server SFTP da un dominio o da un sottodominio. | Rete, AMS | 
| Crea un server SFTP. | Specificate il tipo di provider di identità utilizzato dal servizio per autenticare gli utenti. | Proprietario dell'applicazione, AMS | 
| Aprire un client SFTP. | Aprire un client SFTP e configurare la connessione per utilizzare l'host dell'endpoint SFTP. AWS SFTP supporta qualsiasi client SFTP standard. I client SFTP più utilizzati includono OpenSSH, WinSCP, Cyberduck e. FileZilla È possibile ottenere il nome host del server SFTP dalla console. AWS SFTP  | Proprietario dell'applicazione, AMS | 

### Pianifica e testa
<a name="plan-and-test"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Pianifica la migrazione delle applicazioni. | Pianifica le modifiche necessarie alla configurazione dell'applicazione, imposta la data di migrazione e determina la pianificazione del test. | Proprietario dell'applicazione, AMS | 
| Testa l'infrastruttura. | Esegui il test in un ambiente non di produzione. | Proprietario dell'applicazione, AMS | 

## Risorse correlate
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-resources"></a>

**Riferimenti**
+ [AWS Transfer for SFTP Guida per l'utente](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS Direct Connect resources](https://aws.amazon.com/directconnect/resources/) 
+ [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)

**Tutorial e video**
+ [AWS Transfer for SFTP (video)](https://www.youtube.com/watch?v=wcnGez5PP1E)
+ [AWS Transfer for SFTP guida per l'utente](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS SA Whiteboarding - Direct Connect (video)](https://www.youtube.com/watch?v=uP68iqyuqTg)

# Esegui la migrazione di un database Oracle locale a Oracle su Amazon EC2
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2"></a>

*Baji Shaik e Pankaj Choudhary, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-summary"></a>

Questo modello illustra i passaggi per la migrazione di un database Oracle locale a Oracle su un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Descrive due opzioni per la migrazione: utilizzando AWS Data Migration Service (AWS DMS) o utilizzando strumenti Oracle nativi come RMAN, Data Pump import/export, tablespace trasportabili e Oracle. GoldenGate 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle di origine in un data center locale

**Limitazioni**
+ Il sistema operativo (OS) di destinazione deve essere supportato da Amazon EC2. Per un elenco completo dei sistemi supportati, consulta [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

**Versioni del prodotto**
+ Oracle Database versioni 10.2 e successive (per le versioni 10.x), 11g e fino a 12.2 e 18c per le edizioni Enterprise, Standard, Standard One e Standard Two Per l'elenco più recente delle versioni supportate da AWS DMS, consulta «Database locali e di EC2 istanze Amazon» in [Sources for Data Migration nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) di AWS DMS.  

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-architecture"></a>

**Stack tecnologico di origine**
+ Un database Oracle locale

**Stack tecnologico Target**
+ Un'istanza di database Oracle su Amazon EC2

**Architettura Target**

![\[Configurazione della replica per un database Oracle su Amazon EC2.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/386d5b14-8633-4ecc-98fb-59872de99d41.png)


**Architettura di migrazione dei dati**

*Utilizzando AWS DMS:*

![\[Migrazione di un database Oracle locale su Amazon con EC2 AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/14954066-d22b-486a-a432-265296752878.png)


*Utilizzo di strumenti Oracle nativi:*

![\[Migrazione di un database Oracle locale su Amazon EC2 con gli strumenti Oracle.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/82ba5fcb-8640-45fa-b432-2702dedc0774.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-tools"></a>
+ **AWS DMS -** [AWS Database Migration Services](https://docs.aws.amazon.com/dms/index.html) (AWS DMS) supporta diversi tipi di database di origine e destinazione. Per informazioni sulle versioni e le edizioni del database supportate, consulta [Using an Oracle Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità.  
+ **Strumenti Oracle nativi:** RMAN, importazione/esportazione di Data Pump, tablespace trasportabili, Oracle GoldenGate                                                         

## Epiche
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
|  Convalida le versioni dei database di origine e di destinazione. |  | DBA | 
|  Identifica la versione del sistema operativo di destinazione. |  | DBA, SysAdmin | 
| Identifica i requisiti hardware per l'istanza del server di destinazione in base all'elenco di compatibilità e ai requisiti di capacità di Oracle. |  | DBA, SysAdmin | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, SysAdmin | 
| Identifica i requisiti di rete (latenza e larghezza di banda). |  | DBA, SysAdmin | 
| Scegli il tipo di istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, SysAdmin | 
| Identifica i requisiti di sicurezza degli network/host accessi per i database di origine e di destinazione. |  | DBA, SysAdmin | 
| Identifica un elenco di utenti del sistema operativo necessari per l'installazione del software Oracle. |  | DBA, SysAdmin | 
| Scarica AWS Schema Conversion Tool (AWS SCT) e i driver. |  | DBA | 
| Crea un progetto AWS SCT per il carico di lavoro e connettiti al database di origine. |  | DBA | 
| Genera file SQL per la creazione di oggetti (tabelle, indici, sequenze, ecc.). |  | DBA | 
| Determinare una strategia di backup. |  | DBA, SysAdmin  | 
| Determinare i requisiti di disponibilità. |  | DBA | 
| Identifica la strategia di migrazione/commutazione delle applicazioni. |  | DBA, proprietario dell'app SysAdmin | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (VPC) e sottoreti nel tuo account AWS. |  | SysAdmin | 
| Crea gruppi di sicurezza e liste di controllo degli accessi alla rete (). ACLs |  | SysAdmin | 
| Configura e avvia l' EC2 istanza. |  | SysAdmin | 

### Installa il software Oracle
<a name="install-the-oracle-software"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea gli utenti e i gruppi del sistema operativo necessari per il software Oracle. |  | DBA, SysAdmin | 
| Scarica la versione richiesta del software Oracle. |  |  | 
| Installa il software Oracle sull' EC2 istanza. |  | DBA, SysAdmin | 
| Crea oggetti come tabelle, chiavi primarie, viste e sequenze utilizzando gli script generati da AWS SCT. |  | DBA | 

### Migrazione dei dati - opzione 1
<a name="migrate-data---option-1"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Utilizza strumenti Oracle nativi o strumenti di terze parti per migrare oggetti e dati del database. | Gli strumenti Oracle includono l'importazione/esportazione di Data Pump, RMAN, tablespace trasportabili e. GoldenGate | DBA | 

### Migrazione dei dati - opzione 2
<a name="migrate-data---option-2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Determinare il metodo di migrazione. |  | DBA | 
| Crea un'istanza di replica nella console AWS DMS. |  | DBA | 
| Crea endpoint di origine e destinazione. |  | DBA | 
| Creare un'attività di replica. |  | DBA | 
| Abilita Change Data Capture (CDC) per acquisire le modifiche per una replica continua. |  | DBA | 
| Esegui l'attività di replica e monitora i log. |  | DBA | 
| Crea oggetti secondari come indici e chiavi esterne al termine del caricamento completo. |  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni. |  | DBA SysAdmin, proprietario dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di cutover/switch-over dell'applicazione. |  | DBA, proprietario dell'app SysAdmin | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse temporanee di AWS Secrets Manager. |  | DBA, SysAdmin | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell' SysAdminapp | 
| Raccogli le metriche in tempo utile per la migrazione, percentuale di utilizzo manuale rispetto allo strumento, risparmi sui costi, ecc. |  | DBA, proprietario dell'app SysAdmin | 
| Chiudi il progetto e fornisci feedback. |  |  | 

## Risorse correlate
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-resources"></a>

**Riferimenti**
+ [Strategie per la migrazione dei database Oracle su AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html) 
+ [Migrazione dei database Oracle sul cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/)
+ [ EC2 Sito web Amazon](https://aws.amazon.com/ec2/)
+ [Sito web AWS DMS](https://aws.amazon.com/dms/)
+ [Post sul blog di AWS DMS](https://aws.amazon.com/blogs/database/category/dms/)
+ [ EC2 Prezzi Amazon](https://aws.amazon.com/ec2/pricing/)
+ [Licenza del software Oracle nell'ambiente di cloud computing](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

**Tutorial e video**
+ [Guida introduttiva ad Amazon EC2](https://aws.amazon.com/ec2/getting-started/)
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introduzione ad Amazon EC2 - Elastic Cloud Server e hosting con AWS (video)](https://www.youtube.com/watch?v=TsRBftzZsQo) 

# Esegui la migrazione di un database Oracle locale su Amazon EC2 utilizzando Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump"></a>

*Navakanth Talluri, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-summary"></a>

Durante la migrazione dei database, è necessario considerare fattori quali i motori e le versioni dei database di origine e di destinazione, gli strumenti e i servizi di migrazione e i periodi di inattività accettabili. Se stai migrando un database Oracle locale su Amazon Elastic Compute Cloud (Amazon EC2), puoi utilizzare strumenti Oracle, come Oracle Data Pump e Oracle Recovery Manager (RMAN). Per ulteriori informazioni sulle strategie, consulta [Migrazione dei database Oracle al cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html).

Oracle Data Pump ti aiuta a estrarre il backup logico e coerente del database e a ripristinarlo sull' EC2 istanza di destinazione. Questo modello descrive come migrare un database Oracle locale su un' EC2 istanza utilizzando Oracle Data Pump e il `NETWORK_LINK` parametro, con tempi di inattività minimi. Il `NETWORK_LINK` parametro avvia un'importazione tramite un collegamento al database. Il client Oracle Data Pump Import (impdp) sull' EC2 istanza di destinazione si connette al database di origine, recupera i dati da esso e li scrive direttamente nel database sull'istanza di destinazione. In questa soluzione non vengono utilizzati file di backup o *dump*.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un database Oracle locale che:
  + Non è un database Oracle Real Application Clusters (RAC)
  + Non è un database Oracle Automatic Storage Management (Oracle ASM)
  + È in modalità lettura-scrittura.
+ Hai creato un collegamento AWS Direct Connect tra il tuo data center locale e AWS. Per ulteriori informazioni, consulta [Creare una connessione](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html) (documentazione Direct Connect).

**Versioni del prodotto**
+ Oracle Database 10g release 1 (10.1) e successive

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-architecture"></a>

**Stack tecnologico di origine**
+ Un server di database Oracle autonomo (non RAC e non ASM) in un data center locale

**Stack tecnologico Target**
+ Un database Oracle in esecuzione su Amazon EC2

**Architettura Target**

Il [pilastro dell'affidabilità](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html) di AWS Well-Architected Framework consiglia di creare backup dei dati per contribuire a fornire disponibilità e resilienza elevate. Per ulteriori informazioni, consulta [Architecting for high availability](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-high-availability.html#amazon-ec2) in *Best Practices for Running Oracle Database on AWS*. Questo modello imposta i database primari e in standby sulle EC2 istanze utilizzando Oracle Active Data Guard. Per un'elevata disponibilità, le EC2 istanze devono trovarsi in zone di disponibilità diverse. Tuttavia, le zone di disponibilità possono trovarsi nella stessa regione AWS o in diverse regioni AWS.

Active Data Guard fornisce l'accesso in sola lettura a un database fisico in standby e applica continuamente le modifiche da ripetere dal database principale. In base al Recovery Point Objective (RPO) e al Recovery Time Objective (RTO), puoi scegliere tra opzioni di redo transport sincrone e asincrono.

L'immagine seguente mostra l'architettura di destinazione se le EC2 istanze primarie e di standby si trovano in diverse regioni AWS.

![\[Applicazione che si connette al nuovo database sull'istanza principale EC2\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/37fcd4dc-5516-416b-a280-0c5f002880de.png)


**Architettura di migrazione dei dati**

Dopo aver completato la configurazione dell'architettura di destinazione, si utilizza Oracle Data Pump per migrare i dati e gli schemi locali sull'istanza principale. EC2 Durante il cutover, le applicazioni non possono accedere al database locale o al database di destinazione. Queste applicazioni vengono chiuse finché non possono essere connesse al nuovo database di destinazione sull'istanza principale EC2 .

L'immagine seguente mostra l'architettura durante la migrazione dei dati. In questa architettura di esempio, le EC2 istanze primarie e di standby si trovano in diverse regioni AWS.

![\[Il DB di origine si connette al DB di destinazione. Le applicazioni vengono disconnesse dall'origine e dalla destinazione DBs\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/c58b669b-b11f-4d78-8911-c07b81b7c6a0.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-tools"></a>

**Servizi AWS**
+ [AWS Direct Connect](https://aws.amazon.com/directconnect/) 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.
+ [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.

**Altri strumenti e servizi**
+ [Oracle Active Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-5E73667D-4A56-445E-911F-1E99092DD8D7) ti aiuta a creare, mantenere, gestire e monitorare i database in standby.
+ [Oracle Data Pump](https://www.oracle.com/technetwork/documentation/data-pump-overview-084963.html) ti aiuta a spostare dati e metadati da un database all'altro a velocità elevate.

## Best practice
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-best-practices"></a>
+ [Best Practice per l'esecuzione di Oracle Database su AWS](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-security-and-performance.html)
+ [Importazione di dati utilizzando NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-23E58D59-A477-4A87-BD0E-C82447581D0A.htm#SUTIL856)

## Epiche
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-epics"></a>

### Configura le EC2 istanze su AWS
<a name="set-up-the-ec2-instances-on-aws"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica la configurazione hardware di origine per l'host locale e i parametri del kernel. | Convalida la configurazione locale, comprese le dimensioni dello storage, input/output le operazioni al secondo (IOPS) e la CPU. Questo è importante per le licenze Oracle, che si basano sui core della CPU. | DBA, SysAdmin | 
| Crea l'infrastruttura su AWS. | Crea cloud privati virtuali (VPCs), sottoreti private, gruppi di sicurezza, elenchi di controllo degli accessi alla rete (ACLs), tabelle di routing e gateway Internet. Per ulteriori informazioni, consulta gli argomenti seguenti:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | Amministratore di sistema DBA, AWS | 
| Configura le EC2 istanze utilizzando Active Data Guard. | Configura EC2 le istanze AWS utilizzando una configurazione Active Data Guard, come descritto in [AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html). La versione di Oracle Database sull' EC2 istanza può essere diversa dalla versione locale perché questo modello utilizza backup logici. Tenere presente quanto segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html)Per ulteriori informazioni, consulta:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | Amministratore di sistema DBA, AWS | 

### Esegui la migrazione del database su Amazon EC2
<a name="migrate-the-database-to-amazon-ec2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un dblink al database locale dall'istanza. EC2  | Crea un database link (dblink) tra il database Oracle sull' EC2 istanza e il database Oracle locale. Per ulteriori informazioni, vedere [Utilizzo dell'importazione da Network Link per spostare i dati](https://docs.oracle.com/database/121/SUTIL/GUID-3E1D4B46-E856-4ABE-ACC5-977A898BB0F1.htm#SUTIL806) (documentazione Oracle). | DBA | 
| Verifica la connessione tra l' EC2 istanza e l'host locale. | Usa il dblink per confermare che la connessione tra l' EC2 istanza e il database locale funzioni. Per istruzioni, consulta [CREATE DATABASE LINK](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm) (documentazione Oracle). | DBA | 
| Arresta tutte le applicazioni connesse al database locale. | Dopo l'approvazione del periodo di inattività del database, chiudi tutte le applicazioni e i job dipendenti che si connettono al database locale. Puoi farlo direttamente dall'applicazione o dal database usando cron. Per ulteriori informazioni, consulta [Utilizzare l'utilità Crontab per pianificare le attività su Oracle Linux](https://docs.oracle.com/en/learn/oracle-linux-crontab/index.html). | DBA, sviluppatore di app | 
| Pianifica il processo di migrazione dei dati.  | Sull'host di destinazione, usa il comando `impdb` per pianificare l'importazione di Data Pump. Questo collega il database di destinazione all'host locale e avvia la migrazione dei dati. Per ulteriori informazioni, vedere [Data Pump Import](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300) e [NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-0871E56B-07EB-43B3-91DA-D1F457CF6182.htm#SUTIL919) (documentazione Oracle). | DBA | 
| Convalida la migrazione dei dati. | La convalida dei dati è un passaggio fondamentale. Per la convalida dei dati, puoi utilizzare strumenti personalizzati o strumenti Oracle, come una combinazione di query dblink e SQL. | DBA | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Metti il database di origine in modalità di sola lettura. | Verificate che l'applicazione sia chiusa e che non siano state apportate modifiche al database di origine. Aprire il database di origine in modalità di sola lettura. In questo modo è possibile evitare transazioni aperte. Per ulteriori informazioni, vedere `ALTER DATABASE` nelle [istruzioni SQL](https://docs.oracle.com/database/121/SQLRF/statements_1006.htm#i2135540) (documentazione Oracle). | DBA, DevOps ingegnere, sviluppatore di app | 
| Convalida il conteggio e i dati degli oggetti. | Per convalidare i dati e l'oggetto, utilizza strumenti personalizzati o strumenti Oracle, come una combinazione di query dblink e SQL. | DBA, sviluppatore di app | 
| Connect le applicazioni al database sull' EC2 istanza principale. | Modificate l'attributo di connessione dell'applicazione in modo che punti al nuovo database creato sull' EC2 istanza principale. | DBA, sviluppatore di app | 
| Convalida le prestazioni dell'applicazione. | Avvia l'applicazione. Convalida la funzionalità e le prestazioni dell'applicazione utilizzando [Automated Workload Repository](https://docs.oracle.com/database/121/RACAD/GUID-C3CD2DCE-38BD-46BA-BC32-7A28CAC9A7FD.htm#RACAD951) (documentazione Oracle). | Sviluppatore di app, ingegnere, DevOps DBA | 

## Risorse correlate
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-resources"></a>

**Riferimenti AWS**
+ [Migrazione dei database Oracle sul cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Amazon EC2 per Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/ec2-oracle.html)
+ [Migrazione di database Oracle voluminosi su AWS per ambienti multipiattaforma](https://docs.aws.amazon.com/prescriptive-guidance/latest/migrate-bulky-oracle-databases/welcome.html)
+ [VPCs e sottoreti](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ [Tutorial: creare un VPC da utilizzare con un'istanza di database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html)

**Riferimenti Oracle**
+ [Configurazioni Oracle Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-AB9DF863-2C7E-4767-81F2-56AD0FA30B49)
+ [Importazione di Data Pump](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300)

# Migra i sistemi RHEL BYOL verso istanze con licenza AWS inclusa utilizzando AWS MGN
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn"></a>

*Mike Kuznetsov, Amazon Web Services*

## Riepilogo
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-summary"></a>

Quando migri i tuoi carichi di lavoro su AWS utilizzando AWS Application Migration Service (AWS MGN), potresti dover sollevare e spostare (reospitare) le istanze di Red Hat Enterprise Linux (RHEL) e modificare la licenza dal modello Bring Your Own License (BYOL) predefinito a un modello AWS License Included (LI) durante la migrazione. AWS MGN supporta un approccio scalabile che utilizza ID Amazon Machine Image (AMI). Questo modello descrive come effettuare la modifica della licenza sui server RHEL durante la migrazione del rehost su larga scala. Spiega inoltre come modificare la licenza per un sistema RHEL già in esecuzione su Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute Cloud (Amazon EC2).

## Prerequisiti e limitazioni
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-prereqs"></a>

**Prerequisiti**
+ Accesso all'account AWS di destinazione
+ AWS MGN inizializzato nell'account AWS e nella regione di destinazione per la migrazione (non richiesto se hai già effettuato la migrazione dal tuo sistema locale ad AWS)
+ Un server RHEL di origine con una licenza RHEL valida

## Architecture
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-architecture"></a>

Questo modello copre due scenari:
+ Migrazione di un sistema da locale direttamente a un'istanza AWS LI utilizzando AWS MGN. Per questo scenario, segui le istruzioni del primo capitolo epico (*Migrazione all'istanza LI - opzione 1*) e del terzo capitolo.
+ Modifica del modello di licenza da BYOL a LI per un sistema RHEL precedentemente migrato e già in esecuzione su Amazon EC2. *Per questo scenario, segui le istruzioni contenute nella seconda pagina epica (*Migrate to LI instance* - opzione 2) e nella terza epic.*

**Nota**  
La terza epopea riguarda la riconfigurazione della nuova istanza RHEL per utilizzare i server Red Hat Update Infrastructure (RHUI) forniti da AWS. Questo processo è lo stesso per entrambi gli scenari.

## Tools (Strumenti)
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-tools"></a>

**Servizi AWS**
+ [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) ti aiuta a reospitare (lift and shift) le applicazioni nel cloud AWS senza modifiche e con tempi di inattività minimi.

## Epiche
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-epics"></a>

### Migrazione all'istanza LI - opzione 1 (per un sistema RHEL locale)
<a name="migrate-to-li-instance---option-1-for-an-on-premises-rhel-system"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trova l'ID AMI dell'istanza RHEL AWS LI nella regione di destinazione. | Visita [AWS Marketplace](https://aws.amazon.com/marketplace) o usa la [console Amazon EC2](https://console.aws.amazon.com/ec2/) per trovare l'ID AMI RHEL che corrisponde alla versione del sistema di origine RHEL (ad esempio, RHEL-7.7) e annota l'ID AMI. Sulla console Amazon EC2, puoi filtrare AMIs utilizzando uno dei seguenti termini di ricerca:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Amministratore cloud | 
| Configura le impostazioni di avvio di AWS MGN.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)AWS MGN utilizzerà ora questa versione del modello di lancio per avviare istanze di test o cutover. Per ulteriori informazioni, consulta la [documentazione di AWS MGN.](https://docs.aws.amazon.com/mgn/latest/ug/ec2-launch.html) | Amministratore del cloud | 
| Convalida le impostazioni. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Amministratore cloud | 
| Avvia la nuova istanza LI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Amministratore cloud | 

### Migrazione a un'istanza LI - opzione 2 (per un'istanza RHEL BYOL EC2)
<a name="migrate-to-li-instance---option-2-for-a-rhel-byol-ec2-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra la tua istanza RHEL BYOL EC2 su un'istanza AWS LI. | Puoi cambiare i sistemi RHEL precedentemente migrati su AWS come BYOL in istanze AWS LI spostando i relativi dischi (volumi Amazon Elastic Block Store) e collegandoli a una nuova istanza LI. Per effettuare questo passaggio, segui questi passaggi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Amministratore cloud | 

### Riconfigurazione del sistema operativo RHEL per utilizzare RHUI fornito da AWS: entrambe le opzioni
<a name="reconfigure-rhel-os-to-use-aws-provided-rhui-ndash-both-options"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Annulla la registrazione del sistema operativo dalla sottoscrizione e dalla licenza Red Hat. | Dopo la migrazione e il completamento con successo, il sistema RHEL deve essere rimosso dalla sottoscrizione Red Hat per interrompere l'utilizzo della licenza Red Hat ed evitare una doppia fatturazione.Per rimuovere RHEL OS dalla sottoscrizione Red Hat, seguite la procedura descritta nella documentazione di [Red Hat Subscription Management (](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/installation_guide/chap-subscription-management-unregistering)RHSM). Utilizzare il comando CLI :  <pre>subscription-manager unregister</pre>Puoi anche disabilitare il plugin di gestione delle sottoscrizioni per interrompere il controllo dello stato dell'abbonamento a ogni chiamata **yum**. Per fare ciò, modifica il file di configurazione `/etc/yum/pluginconf.d/subscription-manager.conf` e modifica il parametro `enabled=1` in`enabled=0`. | Linux o amministratore di sistema | 
| Sostituisci la vecchia configurazione di aggiornamento (RHUI, rete Red Hat Satellite, repository yum) con la RHUI fornita da AWS. | È necessario riconfigurare il sistema RHEL migrato per utilizzare i server RHUI forniti da AWS. Ciò consente di accedere ai server RHUI all'interno delle regioni AWS senza richiedere l'infrastruttura di aggiornamento esterna. La modifica prevede il seguente processo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)Ecco i passaggi e i comandi dettagliati:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Linux o amministratore di sistema | 
| Convalida la configurazione. | Nell'istanza di destinazione migrata, verifica che la nuova configurazione sia corretta:<pre>sudo yum clean all <br />sudo yum repolist </pre> | Linux o amministratore di sistema | 

## Risorse correlate
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-resources"></a>
+ [Guida per l'utente di AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Ottieni il supporto di un pacchetto client AWS RHUI IMDSv2](https://access.redhat.com/solutions/5009491) (articolo della Red Hat Knowledgebase)
+ [Modelli di lancio di Amazon EC2 (documentazione](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) Amazon EC2)

# Esegui la migrazione di un database Microsoft SQL Server locale su Amazon EC2
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2"></a>

*Senthil Ramasamy, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-summary"></a>

Questo modello descrive come migrare un database Microsoft SQL Server locale a Microsoft SQL Server su un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Include due opzioni per la migrazione: utilizzando AWS Database Migration Service (AWS DMS) o utilizzando strumenti nativi di Microsoft SQL Server come backup e ripristino, Copy Database Wizard o copia e collega il database. 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-prereqs"></a>

**Prerequisiti**
+ Un account attivo AWS 
+ Un sistema operativo supportato da Amazon EC2 (per un elenco completo delle versioni del sistema operativo supportate, consulta [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/))
+ Un database di origine Microsoft SQL Server in un data center locale

**Versioni del prodotto**
+ Per i database locali e di EC2 istanze Amazon, AWS DMS supporta: 
  + Versioni di SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016, 2017 e 2019 
  + Edizioni Enterprise, Standard, Workgroup, Developer e Web
+ Per l'elenco più recente delle versioni supportate, vedere [Utilizzo di un database Microsoft SQL Server come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html).   

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-architecture"></a>

**Stack tecnologico di origine**
+ Database Microsoft SQL Server locale

**Stack tecnologico Target**
+ Database Microsoft SQL Server su un' EC2 istanza

**Architettura Target**

![\[Istanze primarie e in standby di Microsoft SQL Server su EC2 istanze in due zone di disponibilità.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/53e2c27d-ceb4-4d88-a022-93dd0b343eaf.png)


**Architettura di migrazione dei dati**
+ Usando AWS DMS

![\[Migrazione dei dati di SQL Server locali su un' EC2 istanza utilizzando AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/1cbe32ea-e285-4cac-9153-4428bad9b229.png)

+ Utilizzo di strumenti nativi di SQL Server 

![\[Migrazione dei dati di SQL Server locali su un' EC2 istanza utilizzando strumenti nativi di SQL Server.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/ad2caf54-7399-4038-91a3-acba9fa7da29.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) consente di migrare i dati da e verso database commerciali e open source ampiamente utilizzati, tra cui Oracle, SQL Server, MySQL e PostgreSQL. Puoi utilizzarli AWS DMS per migrare i dati in Cloud AWS, tra istanze locali (tramite una Cloud AWS configurazione) o tra combinazioni di configurazioni cloud e locali.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenee convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.
+ Gli strumenti nativi di Microsoft SQL Server includono backup e ripristino, Copia guidata del database e copia e allega database.

## Epiche
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni del database di origine e di destinazione. |  | DBA | 
| Identifica la versione del sistema operativo di destinazione. |  | DBA, amministratore di sistema | 
| Identifica i requisiti hardware per l'istanza del server di destinazione in base all'elenco di compatibilità e ai requisiti di capacità di Microsoft SQL Server. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di archiviazione per tipo e capacità. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di rete, tra cui latenza e larghezza di banda. |  | DBA, amministratore di sistema | 
| Scegli il tipo di EC2 istanza in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di sicurezza dell'accesso alla rete e all'host per i database di origine e di destinazione. |  | DBA, amministratore di sistema | 
| Identificare un elenco di utenti necessari per l'installazione del software Microsoft SQL Server. |  | DBA, amministratore di sistema | 
| Determinare la strategia di backup. |  | DBA | 
| Determinare i requisiti di disponibilità. |  | DBA | 
| Identifica la migrazione delle applicazioni e la strategia di cutover. |  | DBA, amministratore di sistema | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (VPC) e sottoreti. |  | Amministratore di sistema | 
| Crea gruppi di sicurezza e una lista di controllo degli accessi alla rete (ACL). |  | Amministratore di sistema | 
| Configura e avvia un' EC2 istanza. |  | Amministratore di sistema | 

### Installa il software
<a name="install-the-software"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare gli utenti e i gruppi necessari per il software Microsoft SQL Server. |  | DBA, amministratore di sistema | 
| Scarica il software Microsoft SQL Server. |  | DBA, amministratore di sistema | 
| Installa il software Microsoft SQL Server sull' EC2 istanza e configura il server. |  | DBA, amministratore di sistema | 

### Migrazione dei dati - opzione 1
<a name="migrate-the-data---option-1"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Utilizza strumenti nativi di Microsoft SQL Server o strumenti di terze parti per migrare gli oggetti e i dati del database. | Gli strumenti includono backup e ripristino, Copy Database Wizard e copia e allega il database. Per ulteriori informazioni, vedere la guida [Migrazione dei database di Microsoft SQL Server a](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/). Cloud AWS | DBA | 

### Migrazione dei dati - opzione 2
<a name="migrate-the-data---option-2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione dei dati utilizzando AWS DMS. | Per ulteriori informazioni sull'utilizzo AWS DMS, consulta i collegamenti nella sezione [Risorse correlate](#migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources). | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni. | Utilizzate AWS Schema Conversion Tool (AWS SCT) per analizzare e modificare il codice SQL incorporato nel codice sorgente dell'applicazione. | DBA, proprietario dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di commutazione delle applicazioni. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi tutte le AWS risorse temporanee. | Le risorse temporanee includono l'istanza AWS DMS di replica e l' EC2 istanza for AWS SCT. | DBA, amministratore di sistema | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Raccogli le metriche necessarie per la migrazione, la percentuale di risparmio sui costi manuali rispetto a quelli relativi agli strumenti e così via. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Chiudi il progetto e fornisci feedback. |  | DBA, proprietario dell'app, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources"></a>

**Riferimenti**
+ [Migrazione dei database Microsoft SQL Server verso Cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/)
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [ EC2 Prezzi Amazon](https://aws.amazon.com/ec2/pricing/)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Prodotti Microsoft su AWS](https://aws.amazon.com/windows/products/)
+ [Licenze Microsoft su AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server su AWS](https://aws.amazon.com/windows/products/sql/)

**Tutorial e video**
+ [Guida introduttiva ad](https://aws.amazon.com/ec2/getting-started/) Amazon EC2
+ [Nozioni di base su ](https://aws.amazon.com/dms/getting-started/)AWS Database Migration Service
+ [Unisci un' EC2 istanza Amazon al tuo Simple AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/simple_ad_join_instance.html)
+ [Unisci un' EC2 istanza Amazon alla tua AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_join_instance.html)
+ [AWS Database Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U)(video)
+ [Introduzione ad Amazon EC2 — Elastic Cloud Server & Hosting con AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (video)

# Rehosting dei carichi di lavoro locali nel cloud AWS: lista di controllo per la migrazione
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Riepilogo
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-summary"></a>

Il rehosting dei carichi di lavoro locali nel cloud Amazon Web Services (AWS) prevede le seguenti fasi di migrazione: pianificazione, pre-discovery, discovery, build, test e cutover. Questo modello delinea le fasi e le attività correlate. Le attività sono descritte a un livello elevato e supportano circa il 75% di tutti i carichi di lavoro delle applicazioni. È possibile implementare queste attività nell'arco di due o tre settimane in un ciclo di sprint agile.

È necessario esaminare e verificare queste attività con il team di migrazione e i consulenti. Dopo la revisione, è possibile raccogliere gli input, eliminare o rivalutare le attività necessarie per soddisfare i requisiti e modificare altre attività per supportare almeno il 75% dei carichi di lavoro delle applicazioni nel portafoglio. È quindi possibile utilizzare uno strumento di gestione dei progetti agile come Atlassian Jira o Rally Software per importare le attività, assegnarle alle risorse e tenere traccia delle attività di migrazione. 

Lo schema presuppone che tu stia utilizzando [AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html) per riospitare i tuoi carichi di lavoro, ma puoi usare il tuo strumento di migrazione preferito.

Amazon Macie può aiutarti a identificare i dati sensibili nelle tue knowledge base, archiviati come fonti di dati, log di invocazione di modelli e archivi di richieste nei bucket Amazon Simple Storage Service (Amazon S3). [Per ulteriori informazioni, consulta la documentazione di Macie.](https://docs.aws.amazon.com/macie/latest/user/data-classification.html)

## Prerequisiti e limitazioni
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-prereqs"></a>

**Prerequisiti**
+ Strumento di gestione dei progetti per tenere traccia delle attività di migrazione (ad esempio, Atlassian Jira o Rally Software)
+ Strumento di migrazione per il rehosting dei carichi di lavoro su AWS (ad esempio, [Cloud Migration](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html) Factory)

## Architecture
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-architecture"></a>

**Piattaforma di origine**
+ Stack di sorgenti locale (incluse tecnologie, applicazioni, database e infrastruttura)  

**Piattaforma di destinazione**
+ Stack di obiettivi AWS Cloud (tra cui tecnologie, applicazioni, database e infrastruttura) 

**Architettura**

Il diagramma seguente illustra il rehosting (scoperta e migrazione di server da un ambiente di origine locale ad AWS) utilizzando Cloud Migration Factory e AWS Application Migration Service.

![\[Rehosting dei server su AWS utilizzando Cloud Migration Factory e Application Migration Service\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/images/735ad65b-2646-4803-82c9-f7f93369b3a5.png)


## Tools (Strumenti)
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-tools"></a>
+ Puoi utilizzare uno strumento di migrazione e gestione dei progetti a tua scelta.

## Epiche
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-epics"></a>

### Fase di pianificazione
<a name="planning-phase"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Gestisci il backlog precedente alla scoperta. | Conduci la sessione di lavoro sulla gestione del backlog pre-discovery con i responsabili di reparto e i proprietari delle applicazioni.  | Responsabile del progetto, Agile Scrum Leader | 
|  Conduci la sessione di lavoro sulla pianificazione dello sprint. | Come esercizio di analisi, distribuisci le applicazioni che desideri migrare tra sprint e wave. | Responsabile di progetto, Agile Scrum Leader | 

### Fase di pre-scoperta
<a name="pre-discovery-phase"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Conferma la conoscenza dell'applicazione. | Conferma e documenta il proprietario dell'applicazione e la sua conoscenza dell'applicazione. Stabilisci se esiste un'altra persona di riferimento per le domande tecniche. | Specialista in migrazione (intervistatore) | 
| Determinare i requisiti di conformità delle applicazioni. | Verifica con il proprietario dell'applicazione che l'applicazione non deve soddisfare i requisiti per il Payment Card Industry Data Security Standard (PCI DSS), il Sarbanes-Oxley Act (SOX), le informazioni di identificazione personale (PII) o altri standard. Se esistono requisiti di conformità, i team devono completare i controlli di conformità sui server che verranno migrati. | Specialista in migrazione (intervistatore) | 
| Conferma i requisiti di rilascio della versione di produzione.  | Confermate i requisiti per il rilascio dell'applicazione migrata in produzione (come la data di rilascio e la durata del periodo di inattività) con il proprietario dell'applicazione o il contatto tecnico. | Specialista in migrazione (intervistatore) | 
| Ottieni l'elenco dei server. | Ottieni l'elenco dei server associati all'applicazione di destinazione. | Specialista in migrazione (intervistatore) | 
| Ottieni il diagramma logico che mostra lo stato attuale. | Ottenete il diagramma dello stato corrente dell'applicazione dall'architetto aziendale o dal proprietario dell'applicazione. | Specialista in migrazione (intervistatore) | 
| Crea un diagramma logico che mostri lo stato di destinazione. | Crea un diagramma logico dell'applicazione che mostri l'architettura di destinazione su AWS. Questo diagramma dovrebbe illustrare i server, la connettività e i fattori di mappatura. | Architetto aziendale, imprenditore | 
| Ottieni informazioni sul server. | Raccogli informazioni sui server associati all'applicazione, inclusi i dettagli di configurazione. | Specialista in migrazione (intervistatore) | 
| Aggiungi informazioni sul server al modello di scoperta. | Aggiungere informazioni dettagliate sul server al modello di rilevamento dell'applicazione (vedere `mobilize-application-questionnaire.xlsx` nell'allegato per questo modello). Questo modello include tutti i dettagli relativi alla sicurezza, all'infrastruttura, al sistema operativo e alla rete relativi all'applicazione. | Specialista in migrazione (intervistatore) | 
| Pubblica il modello di rilevamento delle applicazioni. | Condividi il modello di rilevamento delle applicazioni con il proprietario dell'applicazione e il team di migrazione per un accesso e un utilizzo comuni. | Specialista in migrazione (intervistatore) | 

### Fase di scoperta
<a name="discovery-phase"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Conferma l'elenco dei server. | Confermate l'elenco dei server e lo scopo di ciascun server con il proprietario dell'applicazione o il responsabile tecnico. | Specialista in migrazione | 
| Identifica e aggiungi gruppi di server. | Identifica gruppi di server come server Web o server di applicazioni e aggiungi queste informazioni al modello di rilevamento delle applicazioni. Seleziona il livello dell'applicazione (web, applicazione, database) a cui deve appartenere ogni server. | Specialista in migrazione | 
| Compila il modello di scoperta dell'applicazione. | Completa i dettagli del modello di rilevamento delle applicazioni con l'aiuto del team di migrazione, del team dell'applicazione e di AWS. | Specialista in migrazione | 
| Aggiungi i dettagli mancanti del server (team del middleware e del sistema operativo). | Chiedi ai team del middleware e del sistema operativo (OS) di esaminare il modello di individuazione delle applicazioni e aggiungere eventuali dettagli mancanti sul server, incluse le informazioni sul database. | Specialista in migrazione | 
| Ottieni le regole inbound/outbound del traffico (team di rete). | Chiedi al team di rete di ottenere le regole inbound/outbound del traffico per i server di origine e di destinazione. Il team di rete deve inoltre aggiungere le regole firewall esistenti, esportarle in un formato di gruppo di sicurezza e aggiungere i sistemi di bilanciamento del carico esistenti al modello di rilevamento delle applicazioni. | Specialista in migrazione | 
| Identifica i tag richiesti. | Determina i requisiti di etichettatura per l'applicazione. | Specialista in migrazione | 
| Crea i dettagli della richiesta del firewall. | Acquisisci e filtra le regole del firewall necessarie per comunicare con l'applicazione.  | Specialista in migrazione, architetto di soluzioni, responsabile della rete  | 
| Aggiorna il tipo di EC2 istanza. | Aggiorna il tipo di istanza Amazon Elastic Compute Cloud (Amazon EC2) da utilizzare nell'ambiente di destinazione, in base ai requisiti dell'infrastruttura e del server.  | Specialista in migrazione, architetto di soluzioni, responsabile della rete | 
| Identifica il diagramma dello stato attuale. | Identifica o crea il diagramma che mostra lo stato corrente dell'applicazione. Questo diagramma verrà utilizzato nella richiesta di sicurezza delle informazioni (InfoSec).  | Specialista in migrazione, Solutions architect | 
| Finalizza il diagramma degli stati futuri. | Finalizza il diagramma che mostra lo stato futuro (di destinazione) dell'applicazione. Questo diagramma verrà utilizzato anche nella richiesta. InfoSec   | Specialista in migrazione, Solutions architect | 
| Crea richieste di assistenza per firewall o gruppi di sicurezza. | Crea richieste di servizi per firewall o gruppi di sicurezza (per sviluppo/QA, preproduzione e produzione). Se utilizzi Cloud Migration Factory, includi porte specifiche per la replica se non sono già aperte.  | Specialista in migrazione, architetto di soluzioni, responsabile della rete | 
| Esamina le richieste del firewall o del gruppo di sicurezza (InfoSec team). | In questo passaggio, il InfoSec team esamina e approva le richieste del firewall o del gruppo di sicurezza create nel passaggio precedente.  | InfoSec ingegnere, specialista in migrazione | 
| Implementa le richieste dei gruppi di sicurezza del firewall (team di rete). | Dopo che il InfoSec team ha approvato le richieste del firewall, il team di rete implementa le regole inbound/outbound firewall richieste.  | Specialista in migrazione, architetto di soluzioni, responsabile della rete | 

### Fase di costruzione (ripetere per ambienti di sviluppo/QA, preproduzione e produzione)
<a name="build-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Importa i dati dell'applicazione e del server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.html)Se non utilizzi Cloud Migration Factory, segui le istruzioni per configurare lo strumento di migrazione. | Specialista in migrazione, amministratore cloud | 
| Verifica i prerequisiti per i server di origine. | Connect con i server di origine inclusi nell'ambito per verificare prerequisiti come la porta TCP 1500, la porta TCP 443, lo spazio libero nel volume root, la versione.NET Framework e altri parametri. Questi sono necessari per la replica. Per ulteriori informazioni, consulta la [Guida all'implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#prerequisites-2). | Specialista in migrazione, amministratore cloud | 
| Crea una richiesta di servizio per installare gli agenti di replica.  | Crea una richiesta di servizio per installare gli agenti di replica sui server interessati per lo sviluppo/QA, la preproduzione o la produzione. | Specialista in migrazione, amministratore cloud | 
| Installa gli agenti di replica. | Installa gli agenti di replica sui server di origine pertinenti sui computer di sviluppo/QA, di preproduzione o di produzione. [Per ulteriori informazioni, consulta la Guida all'implementazione di Cloud Migration Factory.](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#install-the-replication-agents) | Specialista in migrazione, amministratore cloud | 
| Invia gli script post-lancio. | Application Migration Service supporta gli script post-lancio per aiutarti ad automatizzare le attività a livello di sistema operativo, come l'installazione o la disinstallazione del software dopo l'avvio delle istanze di destinazione. Questo passaggio invia gli script post-avvio ai computer Windows o Linux, a seconda dei server identificati per la migrazione. Per istruzioni, consulta la Guida all'implementazione di [Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#push-the-post-launch-scripts). | Specialista in migrazione, amministratore cloud | 
| Verifica lo stato della replica. | Conferma automaticamente lo stato di replica per i server di origine pertinenti utilizzando lo script fornito. **Lo script si ripete ogni cinque minuti fino a quando lo stato di tutti i server di origine nell'ondata data diventa Healthy.** Per istruzioni, consulta la [Guida all'implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#verify-the-replication-status). | Specialista in migrazione, amministratore cloud | 
| Crea l'utente amministratore. | Potrebbe essere necessario un amministratore locale o un utente sudo sui computer di origine per risolvere eventuali problemi dopo l'interruzione della migrazione dai server di origine interessati ad AWS. Il team di migrazione utilizza questo utente per accedere al server di destinazione quando il server di autenticazione (ad esempio, il server DC o LDAP) non è raggiungibile. Per istruzioni su questo passaggio, consulta la Guida all'[implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/step4.html#add-a-user-to-the-admin-group). | Specialista della migrazione, amministratore del cloud | 
| Convalida il modello di lancio. | Convalida i metadati del server per assicurarti che funzionino correttamente e non contengano dati non validi. Questo passaggio convalida sia i metadati di test che quelli di cutover. Per istruzioni, consulta la Guida all'implementazione di [Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#validate-launch-template-1). | Specialista in migrazione, amministratore cloud | 

### Fase di test (ripetizione per ambienti di sviluppo/QA, preproduzione e produzione)
<a name="test-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una richiesta di assistenza. | Crea una richiesta di servizio per il team dell'infrastruttura e gli altri team per eseguire il trasferimento delle applicazioni alle istanze di sviluppo/QA, di pre-produzione o di produzione.  | Specialista in migrazione, amministratore cloud | 
| Configura un sistema di bilanciamento del carico (opzionale). | Configura i load balancer richiesti, come un [Application Load Balancer o un load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) [balancer F5](https://www.f5.com/resources/white-papers/load-balancing-101-nuts-and-bolts) con iRules. | Specialista in migrazione, amministratore cloud | 
| Avvia istanze per i test. | Avvia tutte le macchine di destinazione per una determinata ondata in Application Migration Service in modalità test. Per ulteriori informazioni, consulta la [Guida all'implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-testing). | Specialista della migrazione, amministratore del cloud | 
| Verifica lo stato dell'istanza di destinazione. | Verifica lo stato dell'istanza di destinazione controllando il processo di avvio di tutti i server di origine inclusi nell'ambito della stessa ondata. L'avvio delle istanze di destinazione può richiedere fino a 30 minuti. Puoi controllare lo stato manualmente accedendo alla EC2 console Amazon, cercando il nome del server di origine e rivedendo la colonna **Controllo dello stato**. I **controlli di stato 2/2 superati** indicano che l'istanza è integra dal punto di vista dell'infrastruttura. | Specialista in migrazione, amministratore del cloud | 
| Modifica le voci DNS. | Modifica le voci del Domain Name System (DNS). (Utilizzare `resolv.conf` o `host.conf` per un ambiente Microsoft Windows). Configura ogni EC2 istanza in modo che punti al nuovo indirizzo IP di questo host.Assicurati che non vi siano conflitti DNS tra i server locali e i server cloud AWS. Questo passaggio e i passaggi seguenti sono facoltativi, a seconda dell'ambiente in cui è ospitato il server. | Specialista in migrazione, amministratore del cloud | 
| Verifica la connettività agli host di backend a partire dalle EC2 istanze. | Controlla gli accessi utilizzando le credenziali di dominio per i server migrati. | Specialista in migrazione, amministratore cloud | 
| Aggiorna il record DNS A. | Aggiorna il record DNS A per ogni host in modo che punti al nuovo indirizzo IP EC2 privato di Amazon. | Specialista in migrazione, amministratore cloud | 
| Aggiorna il record DNS CNAME. | Aggiorna il record DNS CNAME per i nomi virtuali IPs (load balancer) in modo che punti al cluster per i server Web e applicativi. | Specialista in migrazione, amministratore cloud | 
| Testa l'applicazione negli ambienti applicabili. | Accedi alla nuova EC2 istanza e testa l'applicazione negli ambienti di sviluppo/QA, di preproduzione e produzione. | Specialista in migrazione, amministratore cloud | 
| Contrassegna come pronto per il cutover. | Al termine del test, modifica lo stato del server di origine per indicare che è pronto per il cutover, in modo che gli utenti possano avviare un'istanza cutover. Per istruzioni, consulta la Guida all'[implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#mark-as-ready-for-cutover). | Specialista in migrazione, amministratore cloud | 

### Fase di cutover
<a name="cutover-phase"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un piano di distribuzione della produzione. | Crea un piano di distribuzione della produzione (incluso un piano di backout). | Specialista in migrazione, amministratore cloud | 
| Notifica al team operativo i tempi di inattività. | Notifica al team operativo la pianificazione dei tempi di inattività dei server. Alcuni team potrebbero richiedere un ticket di richiesta di modifica o di richiesta di servizio (CR/SR) per questa notifica. | Specialista in migrazione, amministratore cloud | 
| Replica le macchine di produzione. | Replica le macchine di produzione utilizzando Application Migration Service o un altro strumento di migrazione. | Specialista in migrazione, amministratore cloud | 
| Chiudi i server di origine pertinenti. | Dopo aver verificato lo stato di replica dei server di origine, è possibile spegnere i server di origine per interrompere le transazioni dalle applicazioni client ai server. È possibile spegnere i server di origine nella finestra di dialogo. Per ulteriori informazioni, consulta la [Guida all'implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#shut-down-the-in-scope-source-servers). | Amministratore cloud | 
| Avvia istanze per cutover. | Avvia tutte le macchine di destinazione per una determinata ondata in Application Migration Service in modalità cutover. Per ulteriori informazioni, consulta la [Guida all'implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-cutover). | Specialista in migrazione, amministratore cloud | 
| Recupera l'istanza IPs di destinazione. | Recuperate le istanze IPs di destinazione. Se l'aggiornamento DNS è un processo manuale nel tuo ambiente, dovrai ottenere i nuovi indirizzi IP per tutte le istanze di destinazione. Per ulteriori informazioni, consulta la Guida all'[implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#retrieve-the-target-instance-ip). | Specialista in migrazione, amministratore cloud | 
| Verifica le connessioni al server di destinazione. | Dopo aver aggiornato i record DNS, connettiti alle istanze di destinazione con il nome host per verificare le connessioni. Per ulteriori informazioni, consulta la Guida all'[implementazione di Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#verify-the-target-server-connections). | Specialista in migrazione, amministratore cloud | 

## Risorse correlate
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-resources"></a>
+ [Come migrare](https://aws.amazon.com/migrate-modernize-build/cloud-migration/how-to-migrate/)
+ [Guida all'implementazione di AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html)
+ [Automatizzazione delle migrazioni di server su larga scala con Cloud Migration Factory](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-factory-cloudendure/welcome.html)
+ [Guida per l'utente di AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Programma di accelerazione della migrazione AWS](https://aws.amazon.com/migration-acceleration-program/)

## Allegati
<a name="attachments-8e2d2d72-30cc-4e98-8abd-ac2ef95e599b"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/attachments/attachment.zip)

# Configura un'infrastruttura Multi-AZ per SQL Server Always On FCI utilizzando Amazon FSx
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx"></a>

*Manish Garg, T.V.R.L.Phani Kumar Dadi, Nishad Mankar e RAJNEESH TYAGI, Amazon Web Services*

## Riepilogo
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-summary"></a>

Se è necessario migrare rapidamente un gran numero di istanze di Microsoft SQL Server Always On Failover Cluster (FCIs), questo modello può aiutare a ridurre al minimo i tempi di provisioning. Utilizzando l'automazione e Amazon FSx for Windows File Server, riduce gli sforzi manuali, gli errori causati dall'uomo e il tempo necessario per implementare un gran numero di cluster.

Questo modello configura l'infrastruttura per SQL Server FCIs in una distribuzione Multi-Availability Zone (Multi-AZ) su Amazon Web Services (AWS). Il provisioning dei servizi AWS necessari per questa infrastruttura è automatizzato utilizzando CloudFormation modelli [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). L'installazione di SQL Server e la creazione di nodi di cluster su un'istanza [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) vengono eseguite utilizzando PowerShell comandi.

Questa soluzione utilizza un file system Multi-AZ [Amazon FSx for Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) ad alta disponibilità come testimone condiviso per l'archiviazione dei file di database SQL Server. Il FSx file system Amazon e le istanze EC2 Windows che ospitano SQL Server sono uniti allo stesso dominio AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD).

## Prerequisiti e limitazioni
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un utente AWS con autorizzazioni sufficienti per effettuare il provisioning di risorse utilizzando modelli AWS CloudFormation 
+ AWS Directory Service per Microsoft Active Directory
+ Credenziali in AWS Secrets Manager per l'autenticazione su AWS Managed Microsoft AD in una coppia chiave-valore:
  + `ADDomainName`: <Domain Name>
  + `ADDomainJoinUserName`: <Domain Username>
  + `ADDomainJoinPassword`: <Domain User Password>
  + `TargetOU`: <Target OU Value>
**Nota**  
Utilizzerai lo stesso nome chiave nell'automazione di AWS Systems Manager per l'attività di join di AWS Managed Microsoft AD.
+ File multimediali di SQL Server per l'installazione di SQL Server e creazione di account di servizio o dominio Windows, che verranno utilizzati durante la creazione del cluster
+ Un cloud privato virtuale (VPC), con due sottoreti pubbliche in zone di disponibilità separate, due sottoreti private nelle zone di disponibilità, un gateway Internet, gateway NAT, associazioni di tabelle di routing e un jump server

**Versioni del prodotto**
+ Windows Server 2012 R2 e Microsoft SQL Server 2016

## Architecture
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-architecture"></a>

**Stack tecnologico di origine**
+ SQL Server locale con FCIs utilizzo di un'unità condivisa

**Stack tecnologico Target**
+  EC2 Istanze AWS
+ File server Amazon FSx per Windows
+ Guida introduttiva di AWS Systems Manager Automation
+ Configurazioni di rete (VPC, sottoreti, gateway Internet, gateway NAT, jump server, gruppi di sicurezza)
+ AWS Secrets Manager
+ AWS Managed Microsoft AD
+ Amazon EventBridge
+ AWS Identity and Access Management (IAM)

**Architettura Target**

Il diagramma seguente mostra un account AWS in una singola regione AWS, con un VPC che include due zone di disponibilità, due sottoreti pubbliche con gateway NAT, un jump server nella prima sottorete pubblica, due sottoreti private, ciascuna con EC2 un'istanza per un nodo SQL Server in un gruppo di sicurezza dei nodi e un file system FSx Amazon che si connette a ciascuno dei nodi SQL Server. Sono inclusi anche AWS Directory Service EventBridge, Amazon, AWS Secrets Manager e AWS Systems Manager.

![\[Architettura Multi-AZ con risorse in sottoreti pubbliche e private, con gruppi di sicurezza dei nodi.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)


**Automazione e scalabilità**
+ Puoi utilizzare AWS Systems Manager per unirti ad AWS Managed Microsoft AD ed eseguire l'installazione di SQL Server.

## Tools (Strumenti)
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-tools"></a>

**Servizi AWS**
+ [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 e regioni AWS.
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) offre diversi modi per utilizzare Microsoft Active Directory (AD) con altri servizi AWS come Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) per SQL Server e FSx Amazon per Windows File Server.
+ [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 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. Ad esempio, funzioni AWS Lambda, endpoint di invocazione HTTP che utilizzano destinazioni API o bus di eventi in altri account AWS.
+ [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 risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ti aiuta a sostituire le credenziali codificate nel codice, comprese le password, con una chiamata API a Secrets Manager per recuperare il segreto a livello di codice.
+ [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 nel cloud AWS. Semplifica la gestione delle applicazioni e delle risorse, riduce i tempi di rilevamento e risoluzione dei problemi operativi e ti aiuta a gestire le tue risorse AWS in modo sicuro su larga scala.

**Altri strumenti**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)è un programma di gestione dell'automazione e della configurazione di Microsoft che funziona su Windows, Linux e macOS. Questo modello utilizza PowerShell script.

**Deposito di codice**

Il codice per questo pattern è disponibile nel repository GitHub [aws-windows-failover-cluster-automation](https://github.com/aws-samples/aws-windows-failover-cluster-automation).

## Best practice
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-best-practices"></a>
+ I ruoli IAM utilizzati per implementare questa soluzione devono rispettare il principio del privilegio minimo. Per ulteriori informazioni, consulta la [documentazione di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Segui le [ CloudFormation best practice di AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html).

## Epiche
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-epics"></a>

### Implementa l'infrastruttura
<a name="deploy-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa lo CloudFormation stack Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingegnere | 
| Implementa lo stack di infrastruttura. | Dopo una corretta implementazione dello stack Systems Manager, crea lo `infra` stack, che include nodi di EC2 istanza, gruppi di sicurezza, il file system Amazon FSx for Windows File Server e il ruolo IAM.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingegnere | 

### Configura Windows SQL Server Always On FCI
<a name="set-up-the-windows-sql-server-always-on-fci"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa gli strumenti di Windows. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingegnere, DBA | 
| Preimposta gli oggetti del computer del cluster in Active Directory Domain Services. | [Per preimpostare il cluster name object (CNO) in Active Directory Domain Services (AD DS) e preimpostare un oggetto computer virtuale (VCO) per un ruolo in cluster, segui le istruzioni nella documentazione di Windows Server.](https://learn.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds) | AWS DevOps, DBA, DevOps ingegnere | 
| Crea il WSFC. | Per creare il cluster Windows Server Failover Clustering (WSFC), procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DBA, DevOps ingegnere | 
| Installa il cluster di failover di SQL Server. | Dopo aver configurato il cluster WSFC, installa il cluster SQL Server sull'istanza principale (node1).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)<pre>D:\setup.exe /Q  `<br />/ACTION=InstallFailoverCluster `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/FEATURES="SQL,IS,BC,Conn"  `<br />/INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"  `<br />/INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"  `<br />/RSINSTALLMODE="FilesOnlyMode"  `<br />/INSTANCEID="MSSQLSERVER" `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)"  `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node1>;Cluster Network 1;<subnet mask>"  `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>"  `<br />/INSTANCEDIR="C:\Program Files\Microsoft SQL Server"  `<br />/ENU="True"  `<br />/ERRORREPORTING=0  `<br />/SQMREPORTING=0  `<br />/SAPWD="<Domain User password>" `<br />/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"  `<br />/SQLSYSADMINACCOUNTS="<domain\username>" `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="<domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/ISSVCACCOUNT="<domain\username>" /ISSVCPASSWORD="<Domain User password>"  `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher"  `<br />/INSTALLSQLDATADIR="\\<FSX DNS name>\share\Program Files\Microsoft SQL Server"  `<br />/SQLUSERDBDIR="\\<FSX DNS name>\share\data"  `<br />/SQLUSERDBLOGDIR="\\<FSX DNS name>\share\log" `<br />/SQLTEMPDBDIR="T:\tempdb"  `<br />/SQLTEMPDBLOGDIR="T:\log"  `<br />/SQLBACKUPDIR="\\<FSX DNS name>\share\SQLBackup" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, DevOps ingegnere | 
| Aggiungi un nodo secondario al cluster. | Per aggiungere SQL Server al nodo secondario (nodo 2), esegui il PowerShell comando seguente.<pre>D:\setup.exe /Q  `<br />/ACTION=AddNode `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)" `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node2>;Cluster Network 2;<subnet mask>" `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>" `<br />/CONFIRMIPDEPENDENCYCHANGE=1 `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, DevOps ingegnere | 
| Prova la FCI di SQL Server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | DBA, ingegnere DevOps  | 

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare le risorse. | Per ripulire le risorse, utilizza il processo di eliminazione CloudFormation dello stack AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)Una volta completata l'eliminazione dello stack, gli stack saranno nello stato in cui si trova. `DELETE_COMPLETE` Per impostazione predefinita, gli stack nello `DELETE_COMPLETE` stato non vengono visualizzati nella CloudFormation console. Per visualizzare gli stack eliminati, devi modificare il filtro di visualizzazione dello stack come descritto in [Visualizzazione degli stack eliminati sulla console AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-deleted-stacks.html). CloudFormation Se l'eliminazione non è riuscita, uno stack sarà nello stato. `DELETE_FAILED` Per le soluzioni, consulta [Delete stack fail](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) nella CloudFormation documentazione. | AWS DevOps, DBA, DevOps ingegnere | 

## risoluzione dei problemi
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Errore CloudFormation del modello AWS | Se il CloudFormation modello fallisce durante la distribuzione, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 
| Connessione AWS Managed Microsoft AD non riuscita | Per risolvere i problemi di iscrizione, segui questi passaggi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 

## Risorse correlate
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-resources"></a>
+ [Semplifica le distribuzioni ad alta disponibilità di Microsoft SQL Server utilizzando Amazon FSx per Windows File Server](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/)
+ [Utilizzo FSx per Windows File Server con Microsoft SQL Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)

# Usa le query BMC Discovery per estrarre i dati di migrazione per la pianificazione della migrazione
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning"></a>

*Ben Tailor-Hamblin, Emma Baldry, Simon Cunningham e Shabnam Khan, Amazon Web Services*

## Riepilogo
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-summary"></a>

Questa guida fornisce esempi di query e procedure per aiutarvi a estrarre dati dall'infrastruttura e dalle applicazioni locali utilizzando BMC Discovery. Lo schema mostra come utilizzare le query BMC Discovery per scansionare l'infrastruttura ed estrarre informazioni su software, servizi e dipendenze. I dati estratti sono necessari per le fasi di valutazione e mobilitazione di una migrazione su larga scala verso il cloud Amazon Web Services (AWS). Puoi utilizzare questi dati per prendere decisioni critiche su quali applicazioni migrare insieme come parte del tuo piano di migrazione.

## Prerequisiti e limitazioni
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-prereqs"></a>

**Prerequisiti**
+ Una licenza per BMC Discovery (precedentemente BMC ADDM) o la versione software as a service (SaaS) di BMC Helix Discovery
+ [Versione locale o SaaS di BMC Discovery, installata](https://docs.bmc.com/docs/discovery/221/installing-1050933835.html) 
**Nota**  
Per le versioni locali di BMC Discovery, è necessario installare l'applicazione su una rete client con accesso a tutti i dispositivi di rete e server che sono oggetto di una migrazione tra più data center. L'accesso alla rete client deve essere fornito in base alle istruzioni di installazione dell'applicazione. Se è richiesta la scansione delle informazioni di Windows Server, è necessario configurare un dispositivo di gestione proxy Windows nella rete.
+ [Accesso alla rete](https://docs.bmc.com/docs/discovery/221/network-ports-used-for-discovery-communications-1050933821.html) per consentire all'applicazione di scansionare i dispositivi tra i data center, se si utilizza BMC Helix Discovery

**Versioni del prodotto**
+ BMC Discovery 22.2 (12.5)
+ BMC Discovery 22.1 (12.4)
+ BMC Discovery 21.3 (12.3)
+ BMC Discovery 21.05 (12.2)
+ BMC Discovery 20.08 (12.1)
+ BMC Discovery 20.02 (12.0)
+ BMC Discovery 11.3
+ BMC Discovery 11.2
+ BMC Discovery 11.1
+ BMC Discovery 11.0
+ BMC Atrium Discovery 10.2
+ BMC Atrium Discovery 10.1
+ BMC Atrium Discovery 10.0

## Architecture
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-architecture"></a>

Il diagramma seguente mostra come gli asset manager possono utilizzare le query BMC Discovery per scansionare applicazioni modellate BMC in ambienti SaaS e locali.

![\[Architettura che utilizza BMC Discovery per estrarre informazioni su software, servizi e dipendenze.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5e549882-8deb-4459-8891-e39bbf80e320/images/0ebb3e68-5828-45aa-86f4-c741c7b6cd94.jpeg)


Il diagramma mostra il seguente flusso di lavoro: Un asset manager utilizza BMC Discovery o BMC Helix Discovery per scansionare le istanze di database e software in esecuzione su server virtuali ospitati su più server fisici. Lo strumento può modellare applicazioni con componenti che si estendono su più server virtuali e fisici.

**Stack tecnologico**
+ BMC Discovery
+ BMC Helix Discovery

## Tools (Strumenti)
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-tools"></a>
+ [BMC Discovery](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) è uno strumento di rilevamento dei data center che consente di individuare automaticamente il data center.
+ [BMC Helix Discovery](https://www.bmc.com/it-solutions/bmc-helix-discovery.html) è un sistema di rilevamento e modellazione delle dipendenze basato su SaaS che consente di modellare dinamicamente gli asset di dati e le relative dipendenze.

## Best practice
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-best-practices"></a>

È consigliabile mappare i dati delle applicazioni, delle dipendenze e dell'infrastruttura durante la migrazione al cloud. La mappatura consente di comprendere la complessità dell'ambiente corrente e le dipendenze tra i vari componenti.

Le informazioni sugli asset fornite da queste interrogazioni sono importanti per diversi motivi:

1. **Pianificazione**: la comprensione delle dipendenze tra i componenti consente di pianificare il processo di migrazione in modo più efficace. Ad esempio, potrebbe essere necessario migrare prima alcuni componenti per garantire che altri possano essere migrati correttamente.

1. **Valutazione dei rischi**: la mappatura delle dipendenze tra i componenti può aiutarti a identificare eventuali rischi o problemi potenziali che possono sorgere durante il processo di migrazione. Ad esempio, potresti scoprire che alcuni componenti si basano su tecnologie obsolete o non supportate che potrebbero causare problemi nel cloud.

1. **Architettura cloud**: la mappatura dei dati delle applicazioni e dell'infrastruttura può anche aiutarti a progettare un'architettura cloud adatta che soddisfi le tue esigenze organizzative. Ad esempio, potrebbe essere necessario progettare un'architettura a più livelli per supportare requisiti di alta disponibilità o scalabilità.

Nel complesso, la mappatura dei dati delle applicazioni, delle dipendenze e dell'infrastruttura è un passaggio cruciale nel processo di migrazione al cloud. L'esercizio di mappatura può aiutarti a comprendere meglio il tuo ambiente attuale, identificare eventuali problemi o rischi potenziali e progettare un'architettura cloud adeguata.

## Epiche
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-epics"></a>

### Identifica e valuta gli strumenti di scoperta
<a name="identify-and-evaluate-discovery-tooling"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica i proprietari di ITSM. | Identifica i proprietari dell'IT Service Management (ITSM) (di solito contattando i team di supporto operativo). | Responsabile della migrazione | 
| Controlla CMDB.  | Identifica il numero di database di gestione della configurazione (CMDBs) che contengono informazioni sugli asset, quindi identifica le fonti di tali informazioni. | Responsabile della migrazione | 
| Identifica gli strumenti di scoperta e verifica l'utilizzo di BMC Discovery. | Se la tua organizzazione utilizza BMC Discovery per inviare dati sull'ambiente allo strumento CMDB, verifica l'ambito e la copertura delle sue scansioni. Ad esempio, controlla se BMC Discovery sta scansionando tutti i data center e se i server di accesso si trovano in zone perimetrali. | Responsabile della migrazione | 
| Verifica il livello di modellazione delle applicazioni. | Verifica se le applicazioni sono modellate in BMC Discovery. In caso contrario, consigliamo di utilizzare lo strumento BMC Discovery per modellare quali istanze software in esecuzione forniscono un'applicazione e un servizio aziendale. | Ingegnere addetto alla migrazione, responsabile della migrazione | 

### Estrarre i dati dell'infrastruttura
<a name="extract-infrastructure-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Estrai dati su server fisici e virtuali. | Per estrarre dati dai server fisici e virtuali scansionati da BMC Discovery, utilizzare [Query Builder per eseguire la seguente query](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html):<pre>search Host show key as 'Serverid', virtual, name as 'HOSTNAME', os_type as 'osName', os_version as 'OS Version', num_logical_processors as 'Logical Processor Counts', cores_per_processor as 'Cores per Processor', logical_ram as 'Logical RAM', #Consumer:StorageUse:Provider:DiskDrive.size as 'Size'</pre>È possibile utilizzare i dati estratti per determinare le dimensioni delle istanze appropriate per la migrazione. | Ingegnere addetto alla migrazione, responsabile della migrazione | 
| Estrai dati su applicazioni modellate. | Se le applicazioni sono modellate in BMC Discovery, è possibile estrarre dati sui server che eseguono il software applicativo. Per ottenere i nomi dei server, utilizzare [Query Builder](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) per eseguire la seguente query:<pre>search SoftwareInstance show key as 'ApplicationID', #RunningSoftware:HostedSoftware:Host:Host.key as 'ReferenceID', type, name</pre>Le applicazioni sono modellate in BMC Discovery mediante una raccolta di istanze software in esecuzione. L'applicazione dipende da tutti i server che eseguono il software applicativo. | Proprietario dell'applicazione BMC Discovery | 
| Estrarre dati dai database. | Per ottenere un elenco di tutti i database analizzati e dei server su cui sono in esecuzione questi database, utilizzate [Query Builder](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) per eseguire la seguente query:<pre>search Database show key as 'Key', name, type as 'Source Engine Type', #Detail:Detail:ElementWithDetail:SoftwareInstance.name as 'Software Instance', #Detail:Detail:ElementWithDetail:SoftwareInstance.product_version as 'Product Version', #Detail:Detail:ElementWithDetail:SoftwareInstance.edition as 'Edition', #Detail:Detail:ElementWithDetail:SoftwareInstance.#RunningSoftware:HostedSoftware:Host:Host.key as 'ServerID'</pre> | Proprietario dell'app | 
| Estrai dati sulla comunicazione con il server. | Per ottenere informazioni su tutte le comunicazioni di rete tra i server raccolte da BMC Discovery dai registri storici delle comunicazioni di rete, utilizzare [Query Builder per eseguire la seguente query](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html):<pre>search Host<br /> TRAVERSE InferredElement:Inference:Associate:DiscoveryAccess<br /> TRAVERSE DiscoveryAccess:DiscoveryAccessResult:DiscoveryResult:NetworkConnectionList<br /> TRAVERSE List:List:Member:DiscoveredNetworkConnection<br /> PROCESS WITH networkConnectionInfo</pre> | Proprietario dell'applicazione BMC Discovery | 
| Estrai i dati sulla scoperta delle applicazioni. | Per ottenere informazioni sulle dipendenze delle applicazioni, utilizzate [Query Builder](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) per eseguire la seguente query:<pre>search SoftwareInstance show key as 'SRC App ID', #Dependant:Dependency:DependedUpon:SoftwareInstance.key as 'DEST App ID'</pre> | Proprietario dell'applicazione BMC Discovery | 
| Estrai dati sui servizi aziendali. | Per estrarre dati sui servizi aziendali forniti dagli host, utilizza [Query Builder](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) per eseguire la seguente query:<pre>search Host show name, #Host:HostedSoftware:AggregateSoftware:BusinessService.name as 'Name'</pre> | Proprietario dell'applicazione BMC Discovery | 

## risoluzione dei problemi
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Una query non viene eseguita o contiene colonne non popolate. | Esamina i record degli asset in BMC Discovery e determina quali campi sono necessari. Quindi, sostituite questi campi nella query utilizzando [Query Builder](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html). | 
| I dettagli di una risorsa dipendente non vengono compilati. | Ciò è probabilmente dovuto alle autorizzazioni di accesso o alla connettività di rete. Lo strumento di rilevamento potrebbe non disporre delle autorizzazioni necessarie per accedere a determinate risorse, in particolare se si trovano su reti o ambienti diversi.Ti consigliamo di lavorare a stretto contatto con esperti in materia di discovery per garantire che tutte le risorse pertinenti vengano identificate. | 

## Risorse correlate
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-resources"></a>

**Riferimenti**
+ [Diritto alla licenza BMC Discovery](https://docs.bmc.com/docs/discovery/bmc-discovery-licensing-entitlement-531336348.html) (documentazione BMC)
+ [Caratteristiche e componenti di BMC Discovery (documentazione](https://docs.bmc.com/docs/discovery/221/bmc-discovery-features-and-components-1052418000.html) BMC)
+ [Guida per l'utente di BMC Discovery (documentazione](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) BMC)
+ [Ricerca di dati (su BMC Discovery) (documentazione BMC)](https://docs.bmc.com/docs/discovery/120/searching-for-data-911457232.html)
+ [Individuazione e analisi del portafoglio per la migrazione](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-portfolio-discovery/welcome.html) (AWS Prescriptive Guidance)

**Tutorial e video**
+ [BMC Discovery: Webinar - Le migliori pratiche per la creazione di report sulle interrogazioni (parte 1) ()](https://www.youtube.com/watch?v=iwXy6x40kO8) YouTube

# Trasferisci
<a name="migration-relocate-pattern-list"></a>

**Topics**
+ [Migrazione di un database Amazon RDS for Oracle su Account AWS un altro database Regione AWS e AWS DMS utilizzo per la replica continua](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Esegui la migrazione di un'istanza database Amazon RDS su un altro VPC o account](migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.md)
+ [Esegui la migrazione di un cluster Amazon Redshift in una regione AWS in Cina](migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china.md)
+ [Trasporta i database PostgreSQL tra due istanze DB Amazon RDS utilizzando pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Migrazione di un database Amazon RDS for Oracle su Account AWS un altro database Regione AWS e AWS DMS utilizzo per la replica continua
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication"></a>

*Durga Prasad Cheepuri e Eduardo Valentim, Amazon Web Services*

## Riepilogo
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-summary"></a>


| 
| 
| Attenzione: gli utenti IAM dispongono di credenziali a lungo termine, il che rappresenta un rischio per la sicurezza. Per ridurre questo rischio, si consiglia di fornire a questi utenti solo le autorizzazioni necessarie per eseguire l'attività e di rimuoverli quando non sono più necessari. | 
| --- |

Questo modello illustra i passaggi per la migrazione di un database di origine Amazon Relational Database Service (Amazon RDS) per Oracle su un altro database e. Account AWS Regione AWS Il modello utilizza uno snapshot DB per un caricamento completo dei dati una tantum e abilita AWS Database Migration Service ()AWS DMS la replica continua.

## Prerequisiti e limitazioni
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-prereqs"></a>

**Prerequisiti**
+ Un file attivo Account AWS che contiene il database Amazon RDS for Oracle di origine, che è stato crittografato utilizzando una chiave AWS Key Management Service non predefinita AWS KMS()
+ Attivo Account AWS in un database diverso Regione AWS da quello di origine, da utilizzare per il database Amazon RDS for Oracle di destinazione
+ Peering su cloud privato virtuale (VPC) tra l'origine e la destinazione VPCs
+ Familiarità con [l'utilizzo di un database Oracle come fonte per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiarità con [l'utilizzo di un database Oracle come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 

**Versioni del prodotto**
+ Versioni Oracle 11g (versioni 11.2.0.3.v1 e successive) e fino a 12.2 e 18c. Per l'elenco più recente delle versioni ed edizioni supportate, vedere [Utilizzo di un database Oracle come origine per AWS DMS e con utilizzo di un](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) [database Oracle come destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) nella documentazione. AWS DMS AWS Per le versioni Oracle supportate da Amazon RDS, consulta [Oracle su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html). 

## Architecture
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-architecture"></a>

**Stack tecnologici di origine e destinazione**
+ Istanza database Amazon RDS per Oracle

![\[Account AWS di origine che si connette all'account AWS di destinazione che contiene le regioni di origine e di destinazione\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/e17fa7fe-d924-4f35-9707-b93572fa1227.png)


**Architettura di replica continua**

![\[DB su un' EC2 istanza che si connette tramite peering VPC a un'istanza di replica e Amazon RDS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/b60b3500-5d29-487a-bbab-0ae9f3f386aa.png)


## Tools (Strumenti)
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-tools"></a>

**Strumenti utilizzati per il caricamento completo dei dati una tantum**
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) crea uno snapshot del volume di storage dell'istanza DB, eseguendo il backup dell'intera istanza DB e non solo dei singoli database. Quando crei uno snapshot DB è necessario identificare qual è l'istanza database di cui stai effettuando il backup e dare un nome allo snapshot DB in modo da poterlo usare successivamente per il ripristino. La quantità di tempo necessaria per creare uno snapshot varia a seconda della dimensione dei database. Poiché lo snapshot include l'intero volume d'archiviazione, la dimensione dei file, come i file temporanei, influisce sulla quantità di tempo necessaria per creare lo snapshot. Per ulteriori informazioni sull'uso degli snapshot DB, consulta [Creazione di uno snapshot DB nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html) di Amazon RDS. 
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) crea una**** chiave per la**** crittografia**** Amazon RDS. Quando crei un'istanza DB crittografata, puoi anche fornire l'identificatore della [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)chiave per la tua chiave di crittografia. Se non specifichi un identificatore di [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)chiave, Amazon RDS utilizza la chiave di crittografia predefinita per la tua nuova istanza DB. [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)crea la tua chiave di crittografia predefinita per il tuo. Account AWS La tua Account AWS ha una chiave di crittografia predefinita diversa per ciascuno Regione AWS. Per questo modello, l'istanza database di Amazon RDS deve essere crittografata utilizzando una chiave non predefinita [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html). Per ulteriori informazioni sull'uso delle [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)chiavi per la crittografia Amazon RDS, [consulta Encrypting Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) nella documentazione di Amazon RDS.

**Strumenti utilizzati per la replica continua**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) viene utilizzato per replicare le modifiche in corso e per mantenere sincronizzati i database di origine e di destinazione. Per ulteriori informazioni sull'utilizzo AWS DMS per la replica continua, consulta [Lavorare con un'istanza di AWS DMS replica nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html). AWS DMS 

## Epiche
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-epics"></a>

### Configura la tua fonte Account AWS
<a name="configure-your-source-aws-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare l'istanza database Oracle di origine. | Lascia che l'istanza DB di Amazon RDS for Oracle venga eseguita in modalità ARCHIVELOG e imposta il periodo di conservazione. Per i dettagli, consulta [Lavorare con un database Oracle AWS gestito come fonte](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed) per. AWS DMS | DBA | 
| Imposta la registrazione supplementare per l'istanza database Oracle di origine. | Imposta la registrazione supplementare a livello di database e tabella per l'istanza DB Amazon RDS for Oracle. Per i dettagli, consulta [Lavorare con un AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed) database Oracle gestito come fonte per. AWS DMS | DBA | 
| Aggiorna la politica AWS KMS chiave nell'account di origine. | Aggiorna la policy delle AWS KMS chiavi nell'origine Account AWS per consentire alla destinazione Account AWS di utilizzare la AWS KMS chiave Amazon RDS crittografata. Per i dettagli, consulta la [AWS KMS documentazione](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts). | SysAdmin | 
| Crea uno snapshot Amazon RDS DB manuale dell'istanza DB di origine. |  | Utente AWS IAM | 
| Condividi lo snapshot Amazon RDS manuale e crittografato con la destinazione. Account AWS | Per i dettagli, consulta [Condivisione di uno snapshot DB.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html) | Utente AWS IAM | 

### Configura il tuo obiettivo Account AWS
<a name="configure-your-target-aws-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Allega una politica. | Nella destinazione Account AWS, allega una policy AWS Identity and Access Management (IAM) all'utente IAM root, per consentire all'utente IAM di copiare uno snapshot DB crittografato utilizzando la AWS KMS chiave condivisa. | SysAdmin | 
| Passa alla fonte Regione AWS. |  | Utente AWS IAM | 
| Copia l'istantanea condivisa. | Nella console Amazon RDS, nel riquadro **Snapshot**, scegli **Shared with Me** e seleziona lo snapshot condiviso. Copia lo snapshot nello Regione AWS stesso database di origine utilizzando Amazon Resource Name (ARN) per AWS KMS la chiave utilizzata dal database di origine. Per i dettagli, consulta [Copiare uno](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) snapshot DB. | Utente AWS IAM | 
| Passa alla destinazione Regione AWS e crea una nuova AWS KMS chiave. |  | Utente AWS IAM | 
| Copia l'istantanea. | Passa alla fonte Regione AWS. Sulla console Amazon RDS, nel riquadro **Snapshot**, scegli **Owned by Me** e seleziona lo snapshot copiato. Copia lo snapshot sulla destinazione Regione AWS utilizzando la AWS KMS chiave per la nuova destinazione. Regione AWS | Utente AWS IAM | 
| Ripristinare lo snapshot: | Passa al bersaglio Regione AWS. Sulla console Amazon RDS, nel riquadro **Snapshot**, scegli **Owned by Me**. Seleziona lo snapshot copiato e ripristinalo su un'istanza DB Amazon RDS for Oracle. Per i dettagli, consulta [Ripristino da uno snapshot DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html). | Utente AWS IAM | 

### Prepara il tuo database di origine per la replica continua
<a name="prepare-your-source-database-for-ongoing-replication"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un utente Oracle con le autorizzazioni appropriate. | Crea un utente Oracle con i privilegi richiesti per Oracle come fonte per. AWS DMS Per i dettagli, consulta la [AWS DMS documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). | DBA | 
| Configura il database di origine per Oracle LogMiner o Oracle Binary Reader. |  | DBA | 

### Prepara il database di destinazione per la replica continua
<a name="prepare-your-target-database-for-ongoing-replication"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un utente Oracle con le autorizzazioni appropriate. | Crea un utente Oracle con i privilegi richiesti per Oracle come destinazione per. AWS DMS Per i dettagli, consulta la [AWS DMS documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Privileges). | DBA | 

### Crea componenti AWS DMS
<a name="create-dms-components"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza di replica nella destinazione Regione AWS. | Crea un'istanza di replica nel VPC della destinazione. Regione AWS[Per i dettagli, consulta la documentazione.AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance) | Utente AWS IAM | 
| Crea endpoint di origine e destinazione con la crittografia richiesta e testa le connessioni. | Per i dettagli, consulta la [AWS DMS documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints). | DBA | 
| Crea attività di replica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.html)[Per i dettagli, consultate la documentazione.AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks) | Utente IAM | 
| Avvia le attività e monitorale. | Per i dettagli, consulta la [AWS DMS documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Utente AWS IAM | 
| Abilita la convalida dell'attività, se necessario. | Si noti che l'abilitazione della convalida ha un impatto sulle prestazioni della replica. [Per i dettagli, consulta la documentazione.AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) | Utente AWS IAM | 

## Risorse correlate
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-resources"></a>
+ [Modifica di una politica chiave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts)
+ [Creazione di uno snapshot Amazon RDS DB manuale](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html)
+ [Condivisione di uno snapshot Amazon RDS DB manuale](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)
+ [Copiare uno snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) 
+ [Ripristino da uno snapshot Amazon RDS DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) 
+ [Iniziare con AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) 
+ [Utilizzo di un database Oracle come fonte per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) 
+ [Utilizzo di un database Oracle come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 
+ [AWS DMS configurazione tramite peering VPC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer) 
+ [Come posso condividere istantanee manuali di Amazon RDS DB o snapshot di cluster DB con un altro? Account AWS](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (articolo dell'AWS Knowledge Center) 

# Esegui la migrazione di un'istanza database Amazon RDS su un altro VPC o account
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account"></a>

*Dhrubajyoti Mukherjee, Amazon Web Services*

## Riepilogo
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un'istanza DB Amazon Relational Database Service (Amazon RDS) da un cloud privato virtuale (VPC) a un altro nello stesso account AWS o da un account AWS a un altro account AWS.

Questo modello è utile se desideri migrare le istanze database di Amazon RDS su un altro VPC o account per motivi di separazione o sicurezza (ad esempio, quando desideri posizionare lo stack di applicazioni e il database in modo diverso). VPCs 

La migrazione di un'istanza DB verso un altro account AWS prevede passaggi come l'acquisizione di uno snapshot manuale, la condivisione e il ripristino dello snapshot nell'account di destinazione. Questo processo può richiedere molto tempo, a seconda delle modifiche al database e dei tassi di transazione. Inoltre, causa tempi di inattività del database, quindi pianifica in anticipo la migrazione. Prendi in considerazione una strategia di blue/green implementazione per ridurre al minimo i tempi di inattività. In alternativa, puoi valutare AWS Data Migration Service (AWS DMS) per ridurre al minimo i tempi di inattività dovuti alla modifica. Tuttavia, questo modello non copre questa opzione. Per ulteriori informazioni, consulta la [documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html).

## Prerequisiti e limitazioni
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Autorizzazioni AWS Identity and Access Management (IAM) richieste per VPC, sottoreti e console Amazon RDS

**Limitazioni**
+ Le modifiche a un VPC provocano il riavvio del database, con conseguenti interruzioni delle applicazioni. Si consiglia di eseguire la migrazione durante i periodi di picco più bassi.
+ Limitazioni durante la migrazione di Amazon RDS su un altro VPC:
  + L'istanza DB da migrare deve essere una singola istanza senza standby. Non deve essere membro di un cluster.
  + Amazon RDS non deve trovarsi in più zone di disponibilità.
  + Amazon RDS non deve avere alcuna replica di lettura.
  + Il gruppo di sottoreti creato nel VPC di destinazione deve avere sottoreti della zona di disponibilità in cui è in esecuzione il database di origine.
+ Limitazioni durante la migrazione di Amazon RDS a un altro account AWS:
  + La condivisione di istantanee crittografate con la chiave di servizio predefinita per Amazon RDS non è attualmente supportata.

## Architecture
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-architecture"></a>

**Migrazione a un VPC nello stesso account AWS**

Il diagramma seguente mostra il flusso di lavoro per la migrazione di un'istanza DB Amazon RDS su un VPC diverso nello stesso account AWS.

![\[Flusso di lavoro per la migrazione di un'istanza DB Amazon RDS su un altro VPC nello stesso account AWS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/73e16544-6276-4f03-9ae2-42b8c7c20315.png)


I passaggi sono i seguenti. Consulta la sezione [Epic](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics) per istruzioni dettagliate.

1. Crea un gruppo di sottoreti DB nel VPC di destinazione. Un gruppo di sottoreti DB è una raccolta di sottoreti che è possibile utilizzare per specificare un VPC specifico quando si creano istanze DB.

1. Configura l'istanza DB di Amazon RDS nel VPC di origine per utilizzare il nuovo gruppo di sottoreti DB.

1. Applica le modifiche per migrare il database Amazon RDS al VPC di destinazione.

**Migrazione a un altro account AWS**

Il diagramma seguente mostra il flusso di lavoro per la migrazione di un'istanza DB Amazon RDS su un altro account AWS.

![\[Flusso di lavoro per la migrazione di un'istanza DB Amazon RDS su un altro account AWS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/5536e69e-3965-4ca2-8a0b-2573659b5f8f.png)


I passaggi sono costituiti dai seguenti. Consulta la sezione [Epic](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics) per istruzioni dettagliate.

1. Accedi all'istanza database Amazon RDS nell'account AWS di origine.

1. Crea uno snapshot Amazon RDS nell'account AWS di origine.

1. Condividi lo snapshot Amazon RDS con l'account AWS di destinazione.

1. Accedi allo snapshot Amazon RDS nell'account AWS di destinazione.

1. Crea un'istanza database Amazon RDS nell'account AWS di destinazione.

## Tools (Strumenti)
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-tools"></a>

**Servizi 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 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.

## Best practice
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-best-practices"></a>
+ [Se il downtime del database è un problema durante la migrazione di un'istanza DB Amazon RDS su un altro account, ti consigliamo di utilizzare AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) Questo servizio fornisce la replica dei dati, che causa meno di cinque minuti di interruzione.

## Epiche
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics"></a>

### Esegui la migrazione a un altro VPC nello stesso account AWS
<a name="migrate-to-a-different-vpc-in-the-same-aws-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un nuovo VPC. | Sulla [console Amazon VPC](https://console.aws.amazon.com/vpc/), crea un nuovo VPC e sottoreti con le proprietà e gli intervalli di indirizzi IP desiderati. Per istruzioni dettagliate, consulta la documentazione di [Amazon VPC.](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) | Amministratore | 
| Creazione di un gruppo di sottoreti del database. | Sulla [console Amazon RDS](https://console.aws.amazon.com/rds/):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Per ulteriori informazioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.CreateDBSubnetGroup). | Amministratore | 
| Modifica l'istanza DB di Amazon RDS per utilizzare il nuovo gruppo di sottoreti. | Sulla console Amazon RDS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Una volta completata la migrazione al VPC di destinazione, il gruppo di sicurezza predefinito del VPC di destinazione viene assegnato all'istanza database di Amazon RDS. Puoi configurare un nuovo gruppo di sicurezza per quel VPC con le regole in entrata e in uscita richieste per la tua istanza DB.In alternativa, utilizza l'AWS Command Line Interface (AWS CLI) per eseguire la migrazione al VPC di destinazione fornendo esplicitamente il nuovo ID del gruppo di sicurezza VPC. Esempio:<pre>aws rds modify-db-instance \<br />    --db-instance-identifier testrds \<br />    --db-subnet-group-name new-vpc-subnet-group \<br />    --vpc-security-group-ids sg-idxxxx \<br />    --apply-immediately</pre> | Amministratore | 

### Esegui la migrazione a un altro account AWS
<a name="migrate-to-a-different-aws-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un nuovo VPC e un nuovo gruppo di sottoreti nell'account AWS di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Amministratore | 
| Condividi uno snapshot manuale del database e condividilo con l'account di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Amministratore | 
| Avvia una nuova istanza database Amazon RDS. | Avvia una nuova istanza Amazon RDS DB dallo snapshot condiviso nell'account AWS di destinazione. Per istruzioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html). | Amministratore | 

## Risorse correlate
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-resources"></a>
+ [Documentazione Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
+ [Documentazione Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)
+ [Come posso modificare il VPC per un'istanza DB RDS?](https://aws.amazon.com/premiumsupport/knowledge-center/change-vpc-rds-db-instance/) (Articolo AWS Re:Post)
+ [In che modo posso trasferire la proprietà delle risorse Amazon RDS a un altro account AWS?](https://aws.amazon.com/premiumsupport/knowledge-center/account-transfer-rds/) (Articolo AWS Re:Post)
+ [In che modo posso condividere snapshot manuali di Amazon RDS DB o snapshot di cluster Aurora DB con un altro account AWS?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (Articolo AWS Re:Post)
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)

# Esegui la migrazione di un cluster Amazon Redshift in una regione AWS in Cina
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china"></a>

*Jing Yan, Amazon Web Services*

## Riepilogo
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-summary"></a>

Questo modello fornisce un step-by-step approccio per migrare un cluster Amazon Redshift in una regione AWS in Cina da un'altra regione AWS.

Questo modello utilizza i comandi SQL per ricreare tutti gli oggetti del database e utilizza il comando UNLOAD per spostare questi dati da Amazon Redshift a un bucket Amazon Simple Storage Service (Amazon S3) nella regione di origine. I dati vengono quindi migrati in un bucket S3 nella regione AWS in Cina. Il comando COPY viene utilizzato per caricare i dati dal bucket S3 e trasferirli al cluster Amazon Redshift di destinazione.

Amazon Redshift attualmente non supporta funzionalità interregionali come la copia di snapshot nelle regioni AWS in Cina. Questo modello fornisce un modo per aggirare tale limitazione. Puoi anche invertire i passaggi di questo schema per migrare i dati da una regione AWS in Cina a un'altra regione AWS.

## Prerequisiti e limitazioni
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-prereqs"></a>

*Prerequisiti*
+ Account AWS attivi sia in una regione cinese che in una regione AWS al di fuori della Cina
+ Cluster Amazon Redshift esistenti sia in una regione cinese che in una regione AWS al di fuori della Cina

*Limitazioni*
+ Si tratta di una migrazione offline, il che significa che il cluster Amazon Redshift di origine non può eseguire operazioni di scrittura durante la migrazione.

## Architecture
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-architecture"></a>

**Stack tecnologico di origine**
+ Cluster Amazon Redshift in una regione AWS al di fuori della Cina

**Stack tecnologico Target**
+ Cluster Amazon Redshift in una regione AWS in Cina

**Architettura Target**

![\[Migrazione dei dati del cluster Amazon Redshift in un bucket S3 in una regione AWS a un bucket in una regione della Cina.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f7d241d9-b700-406b-95a0-3e47e7f0fa60/images/b6016e3d-76db-4176-8f99-f804da94d3f2.png)


## Tools (Strumenti)
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-tools"></a>

**Strumenti**
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html) — Amazon Simple Storage Service (Amazon S3) è un servizio di storage di oggetti che offre scalabilità, disponibilità dei dati, sicurezza e prestazioni. Puoi utilizzare Amazon S3 per archiviare dati da Amazon Redshift e copiare dati da un bucket S3 ad Amazon Redshift.
+ [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/welcome.html) — Amazon Redshift è un servizio di data warehouse completamente gestito su scala di petabyte nel cloud. 
+ [psql — psql](https://www.postgresql.org/docs/8.4/app-psql.html) è un front-end basato su terminale per PostgreSQL. 

## Epiche
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-epics"></a>

### Preparati per la migrazione nella regione di origine
<a name="prepare-for-migration-in-the-source-region"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia e configura un' EC2 istanza nella regione di origine. | Accedi alla Console di gestione AWS e apri la console Amazon Elastic Compute Cloud (Amazon EC2). La tua regione attuale viene visualizzata nella barra di navigazione nella parte superiore dello schermo. Questa regione non può essere una regione AWS in Cina. Dalla dashboard della EC2 console Amazon, scegli «Launch instance» e crea e configura un' EC2 istanza. Importante: assicurati che i gruppi EC2 di sicurezza per le regole in entrata consentano l'accesso illimitato alla porta TCP 22 dal tuo computer di origine. Per istruzioni su come avviare e configurare un' EC2 istanza, consulta la sezione «Risorse correlate». | DBA, Sviluppatore | 
| Installa lo strumento psql. | Scarica e installa PostgreSQL. Amazon Redshift non fornisce lo strumento psql, è installato con PostgreSQL. Per ulteriori informazioni sull'uso di psql e sull'installazione degli strumenti PostgreSQL, consulta la sezione «Risorse correlate». | DBA | 
| Registra i dettagli del cluster Amazon Redshift.  | Apri la console Amazon Redshift e scegli «Clusters» nel pannello di navigazione. Quindi scegli il nome del cluster Amazon Redshift dall'elenco. Nella scheda «Proprietà», nella sezione «Configurazioni del database», registra il «Nome del database» e «Porta». <databasename>Apri la sezione «Dettagli di connessione» e registra l' "Endpoint», che è nel formato «endpoint:<port>/». Importante: assicurati che i gruppi di sicurezza di Amazon Redshift per le regole in entrata consentano l'accesso illimitato alla porta TCP 5439 dalla tua istanza. EC2  | DBA | 
| Connect psql al cluster Amazon Redshift.  | <userid><databasename><port>Al prompt dei comandi, specifica le informazioni di connessione eseguendo il comando «psql -h -U -d <endpoint>-p». <userid>Alla richiesta della password psql, inserisci la password per l'utente "». Verrai quindi connesso al cluster Amazon Redshift e potrai inserire comandi in modo interattivo. | DBA | 
| Crea un bucket S3.  | Apri la console Amazon S3 e crea un bucket S3 per contenere i file esportati da Amazon Redshift. Per istruzioni su come creare un bucket S3, consulta la sezione «Risorse correlate». | DBA, AWS Generale | 
| Crea una policy IAM che supporti lo scaricamento dei dati. | Apri la console AWS Identity and Access Management (IAM) e scegli «Policies». Scegli «Crea policy» e scegli la scheda «JSON». Copia e incolla la politica IAM per lo scaricamento dei dati dalla sezione «Informazioni aggiuntive». Importante: sostituisci «s3\$1bucket\$1name» con il nome del tuo bucket S3. Scegli «Rivedi la politica» e inserisci un nome e una descrizione per la politica. Scegli «Crea politica». | DBA | 
| Crea un ruolo IAM per consentire l'operazione UNLOAD per Amazon Redshift. | Apri la console IAM e scegli «Ruoli». Scegli «Crea ruolo» e scegli «Servizio AWS» in «Seleziona il tipo di entità affidabile». Scegli «Redshift» per il servizio, scegli «Redshift — Personalizzabile», quindi scegli «Avanti». Scegli la policy «Scarica» che hai creato in precedenza e scegli «Avanti». Inserisci un «Nome ruolo» e scegli «Crea ruolo». | DBA | 
| Associa il ruolo IAM al cluster Amazon Redshift.  | Apri la console Amazon Redshift e scegli «Gestisci ruoli IAM». Scegli «Ruoli disponibili» dal menu a discesa e scegli il ruolo che hai creato in precedenza. Scegli «Applica modifiche». Quando lo «Stato» del ruolo IAM in «Gestisci i ruoli IAM» è visualizzato come «In-Sync», puoi eseguire il comando UNLOAD. | DBA | 
| Interrompi le operazioni di scrittura sul cluster Amazon Redshift. | Devi ricordarti di interrompere tutte le operazioni di scrittura sul cluster Amazon Redshift di origine fino al completamento della migrazione. | DBA | 

### Prepararsi alla migrazione nella regione di destinazione
<a name="prepare-for-migration-in-the-target-region"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia e configura un' EC2 istanza nella regione di destinazione. | Accedi alla Console di gestione AWS per una regione in Cina, Pechino o Ningxia. Dalla EC2 console Amazon, scegli «Launch instance» e crea e configura un' EC2 istanza. Importante: assicurati che i gruppi EC2 di sicurezza Amazon per le regole in entrata consentano l'accesso illimitato alla porta TCP 22 dal tuo computer di origine. Per ulteriori istruzioni su come avviare e configurare un' EC2 istanza, consulta la sezione «Risorse correlate». | DBA | 
| Registra i dettagli del cluster Amazon Redshift.  | Apri la console Amazon Redshift e scegli «Clusters» nel pannello di navigazione. Quindi scegli il nome del cluster Amazon Redshift dall'elenco. Nella scheda «Proprietà», nella sezione «Configurazioni del database», registra il «Nome del database» e «Porta». <databasename>Apri la sezione «Dettagli di connessione» e registra l' "Endpoint», che è nel formato «endpoint:<port>/». Importante: assicurati che i gruppi di sicurezza di Amazon Redshift per le regole in entrata consentano l'accesso illimitato alla porta TCP 5439 dalla tua istanza. EC2  | DBA | 
| Connect psql al cluster Amazon Redshift.  | <userid><databasename><port>Al prompt dei comandi, specifica le informazioni di connessione eseguendo il comando «psql -h -U -d <endpoint>-p». <userid>Alla richiesta della password psql, inserisci la password per l'utente "». Verrai quindi connesso al cluster Amazon Redshift e potrai inserire comandi in modo interattivo. | DBA | 
| Crea un bucket S3.  | Apri la console Amazon S3 e crea un bucket S3 per contenere i file esportati da Amazon Redshift. Per assistenza su questa e altre storie, consulta la sezione «Risorse correlate». | DBA | 
| Crea una policy IAM che supporti la copia dei dati. | Apri la console IAM e scegli «Policies». Scegli «Crea policy» e scegli la scheda «JSON». Copia e incolla la politica IAM per la copia dei dati dalla sezione «Informazioni aggiuntive». Importante: sostituisci «s3\$1bucket\$1name» con il nome del tuo bucket S3. Scegli «Rivedi la politica», inserisci un nome e una descrizione per la politica. Scegli «Crea politica». | DBA | 
| Crea un ruolo IAM per consentire l'operazione COPY per Amazon Redshift. | Apri la console IAM e scegli «Ruoli». Scegli «Crea ruolo» e scegli «Servizio AWS» in «Seleziona il tipo di entità affidabile». Scegli «Redshift» per il servizio, scegli «Redshift — Personalizzabile», quindi scegli «Avanti». Scegli la policy «Copia» che hai creato in precedenza e scegli «Avanti». Inserisci un «Nome ruolo» e scegli «Crea ruolo». | DBA | 
| Associa il ruolo IAM al cluster Amazon Redshift.  | Apri la console Amazon Redshift e scegli «Gestisci ruoli IAM». Scegli «Ruoli disponibili» dal menu a discesa e scegli il ruolo che hai creato in precedenza. Scegli «Applica modifiche». Quando lo «Stato» del ruolo IAM in «Gestisci i ruoli IAM» è visualizzato come «In-Sync», puoi eseguire il comando «COPY». | DBA | 

### Verifica i dati di origine e le informazioni sugli oggetti prima di iniziare la migrazione
<a name="verify-source-data-and-object-information-before-beginning-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verifica le righe nelle tabelle Amazon Redshift di origine. | Utilizza gli script nella sezione «Informazioni aggiuntive» per verificare e registrare il numero di righe nelle tabelle Amazon Redshift di origine. Ricorda di dividere i dati in modo uniforme per gli script UNLOAD e COPY. Ciò migliorerà l'efficienza di scaricamento e caricamento dei dati, poiché la quantità di dati coperta da ogni script sarà bilanciata. | DBA | 
| Verifica il numero di oggetti di database nel cluster Amazon Redshift di origine. | Utilizza gli script nella sezione «Informazioni aggiuntive» per verificare e registrare il numero di database, utenti, schemi, tabelle, viste e funzioni definite dall'utente (UDFs) nel cluster Amazon Redshift di origine. | DBA | 
| Verifica i risultati delle istruzioni SQL prima della migrazione. | Alcune istruzioni SQL per la convalida dei dati devono essere ordinate in base alle situazioni aziendali e relative ai dati effettive. Questo serve a verificare i dati importati per garantire che siano coerenti e visualizzati correttamente. | DBA | 

### Migra dati e oggetti nella regione di destinazione
<a name="migrate-data-and-objects-to-the-target-region"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera script DDL di Amazon Redshift.  | Genera script DDL (Data Definition Language) utilizzando i collegamenti dalla sezione «Istruzioni SQL per interrogare Amazon Redshift» nella sezione «Informazioni aggiuntive». Questi script DDL devono includere le query «create user», «create schema», «privilegi sullo schema to user», «create table/view», «privilegi sugli oggetti da usare» e «create function». | DBA | 
| Crea oggetti nel cluster Amazon Redshift per la regione di destinazione. | Esegui gli script DDL utilizzando l'AWS Command Line Interface (AWS CLI) nella regione AWS in Cina. Questi script creeranno oggetti nel cluster Amazon Redshift per la regione di destinazione. | DBA | 
| Scarica i dati di origine del cluster Amazon Redshift nel bucket S3. | Esegui il comando UNLOAD per scaricare i dati dal cluster Amazon Redshift nella regione di origine nel bucket S3. | DBA, Sviluppatore  | 
| Trasferisci i dati del bucket Region S3 di origine nel bucket Region S3 di destinazione. | Trasferisci i dati dal bucket Region S3 di origine al bucket S3 di destinazione. Poiché il comando «\$1 aws s3 sync» non può essere utilizzato, assicurati di utilizzare la procedura descritta nell'articolo «Trasferimento di dati Amazon S3 dalle regioni AWS alle regioni AWS in Cina» nella sezione «Risorse correlate». | Developer | 
|  Carica i dati nel cluster Amazon Redshift di destinazione.  | Nello strumento psql per la tua regione di destinazione, esegui il comando COPY per caricare i dati dal bucket S3 al cluster Amazon Redshift di destinazione. | DBA | 

### Verifica i dati nelle regioni di origine e di destinazione dopo la migrazione
<a name="verify-the-data-in-the-source-and-target-regions-after-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verifica e confronta il numero di righe nelle tabelle di origine e di destinazione. | Verifica e confronta il numero di righe della tabella nelle regioni di origine e di destinazione per assicurarti che tutte vengano migrate. | DBA | 
| Verifica e confronta il numero di oggetti del database di origine e di destinazione. | Verifica e confronta tutti gli oggetti del database nelle regioni di origine e di destinazione per assicurarti che tutti vengano migrati. | DBA | 
| Verifica e confronta i risultati degli script SQL nelle regioni di origine e di destinazione. | Esegui gli script SQL preparati prima della migrazione. Verifica e confronta i dati per assicurarti che i risultati SQL siano corretti. | DBA | 
| Reimposta le password di tutti gli utenti nel cluster Amazon Redshift di destinazione.  | Una volta completata la migrazione e verificato tutti i dati, devi reimpostare tutte le password utente per il cluster Amazon Redshift nella regione AWS in Cina. | DBA | 

## Risorse correlate
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-resources"></a>
+ [Trasferimento di dati Amazon S3 dalle regioni AWS alle regioni AWS in Cina](https://aws.amazon.com/cn/blogs/storage/transferring-amazon-s3-data-from-aws-regions-to-aws-regions-in-china/)
+ [Creazione di un bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)
+ [Reimpostazione di una password utente Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_USER.html)
+ [documentazione psql](https://www.postgresql.org/docs/8.4/static/app-psql.html)

## Informazioni aggiuntive
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-additional"></a>

*Politica IAM per lo scarico dei dati*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Politica IAM per la copia dei dati*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Istruzioni SQL per interrogare Amazon Redshift*

```
##Database

select * from pg_database where datdba>1;

##User

select * from pg_user where usesysid>1;

##Schema

SELECT n.nspname AS "Name",

  pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner"

FROM pg_catalog.pg_namespace n

WHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema'

ORDER BY 1;

##Table

select count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema');

select schemaname,count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema') group by schemaname order by 1;

##View

SELECT 

    n.nspname AS schemaname,c.relname AS viewname,pg_catalog.pg_get_userbyid(c.relowner) as "Owner"

FROM 

    pg_catalog.pg_class AS c

INNER JOIN

    pg_catalog.pg_namespace AS n

    ON c.relnamespace = n.oid

WHERE relkind = 'v' and n.nspname not in ('information_schema','pg_catalog');

##UDF

SELECT 

   n.nspname AS schemaname,

   p.proname AS proname,

   pg_catalog.pg_get_userbyid(p.proowner) as "Owner"

FROM pg_proc p

LEFT JOIN pg_namespace n on n.oid = p.pronamespace

WHERE p.proowner != 1;
```

*Script SQL per generare istruzioni DDL*
+ [Script get\$1schema\$1priv\$1by\$1user](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_get_schema_priv_by_user.sql)
+ [Genera script TBL\$1DDL](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_tbl_ddl.sql)
+ [Generate\$1view\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_view_ddl.sql)
+ [Genera user\$1grant\$1revoke\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_user_grant_revoke_ddl.sql)
+ [Genera udf\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_udf_ddl.sql)

# Trasporta i database PostgreSQL tra due istanze DB Amazon RDS utilizzando pg\$1transport
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport"></a>

*Raunak Rishabh e Jitender Kumar, Amazon Web Services*

## Riepilogo
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-summary"></a>

**Questo modello descrive i passaggi per la migrazione di database estremamente grandi tra due istanze DB di Amazon Relational Database Service (Amazon RDS) per PostgreSQL utilizzando l'estensione pg\$1transport.** Questa estensione fornisce un meccanismo di trasporto fisico per spostare i singoli database. Trasmettendo i file di database con un'elaborazione minima, fornisce un metodo estremamente veloce per migrare database di grandi dimensioni tra istanze DB con tempi di inattività minimi. Questa estensione utilizza un modello pull in cui l'istanza DB di destinazione importa il database dall'istanza DB di origine.

## Prerequisiti e limitazioni
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-prereqs"></a>

**Prerequisiti**
+ Entrambe le istanze DB devono eseguire la stessa versione principale di PostgreSQL.
+ Il database non deve esistere sulla destinazione. In caso contrario, il trasporto non riesce.
+ Nessuna estensione diversa da **pg\$1transport** deve essere abilitata nel database di origine.
+ **Tutti gli oggetti del database di origine devono trovarsi nel tablespace pg\$1default predefinito.**
+ Il gruppo di sicurezza dell'istanza DB di origine dovrebbe consentire il traffico proveniente dall'istanza DB di destinazione.
+ Installa un client PostgreSQL [come](https://www.postgresql.org/docs/11/app-psql.html) psql o utilizza l'istanza database Amazon [PgAdmin](https://www.pgadmin.org/)RDS PostgreSQL. Puoi installare il client nel tuo sistema locale o utilizzare un'istanza Amazon Elastic Compute Cloud (Amazon EC2). In questo modello, utilizziamo psql su un' EC2 istanza.

**Limitazioni**
+ Non puoi trasportare database tra diverse versioni principali di Amazon RDS for PostgreSQL.
+ I privilegi di accesso e la proprietà dal database di origine non vengono trasferiti al database di destinazione.
+ Non è possibile trasportare database su repliche di lettura o su istanze principali di repliche di lettura.
+ Non è possibile utilizzare i tipi di dati **reg** in nessuna tabella di database che si prevede di trasportare con questo metodo.
+ È possibile eseguire fino a 32 trasporti totali (incluse importazioni ed esportazioni) contemporaneamente su un'istanza DB.
+ Non è possibile rinominare le tabelle. include/exclude Tutto viene migrato così com'è.

**Attenzione**
+ Eseguite dei backup prima di rimuovere l'estensione, poiché rimuovendo l'estensione vengono rimossi anche gli oggetti dipendenti e alcuni dati fondamentali per il funzionamento del database.
+ Considera la classe di istanza e i processi in esecuzione su altri database sull'istanza di origine quando determini il numero di worker e `work_mem` i valori per **pg\$1transport**.
+ All'avvio del trasporto, tutte le connessioni sul database di origine vengono interrotte e il database viene messo in modalità di sola lettura.

**Nota**  
Quando il trasporto è in esecuzione su un database, non influisce sugli altri database sullo stesso server. ****

**Versioni del prodotto**
+ Amazon RDS per PostgreSQL 10.10 e versioni successive e Amazon RDS for PostgreSQL 11.5 e versioni successive. Per informazioni sulla versione più recente, consulta [Trasporto di database PostgreSQL tra istanze DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html) nella documentazione di Amazon RDS.

## Architecture
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-architecture"></a>

![\[Trasporto di database PostgreSQL tra istanze database Amazon RDS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/d5fb7ea3-32b7-4602-b382-3cf5c075c7c9/images/aec4d8d2-37a8-4136-9042-f9667ac4aebb.png)


## Tools (Strumenti)
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-tools"></a>
+ **pg\$1transport fornisce un meccanismo di trasporto fisico** per spostare ogni database. Tramite lo streaming dei file di database con un'elaborazione minima, il trasporto fisico sposta i dati molto più velocemente rispetto ai tradizionali processi di dump e load e richiede tempi di inattività minimi. Transportable Database di PostgreSQL utilizza un modello pull in cui l'istanza database di destinazione importa il database dall'istanza database di origine. Questa estensione viene installata sulle istanze DB quando si preparano gli ambienti di origine e di destinazione, come spiegato in questo schema.
+ [psql](https://www.postgresql.org/docs/11/app-psql.html) ti consente di connetterti e lavorare con le tue istanze DB PostgreSQL. Per installare **psql** sul tuo sistema, consulta la pagina dei download di [PostgreSQL](https://www.postgresql.org/download/).

## Epiche
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-epics"></a>

### Crea il gruppo di parametri di destinazione
<a name="create-the-target-parameter-group"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un gruppo di parametri per il sistema di destinazione. | Specificate un nome di gruppo che lo identifichi come gruppo di parametri di destinazione; ad esempio,`pgtarget-param-group`. Per istruzioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating). | DBA | 
| Modificate i parametri per il gruppo di parametri. | Imposta i seguenti parametri:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Per ulteriori informazioni su questi parametri, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html). | DBA | 

### Crea il gruppo di parametri di origine
<a name="create-the-source-parameter-group"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un gruppo di parametri per il sistema di origine. | Specificate un nome di gruppo che lo identifichi come gruppo di parametri di origine; ad esempio,`pgsource-param-group`. Per istruzioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating). | DBA | 
| Modificate i parametri per il gruppo di parametri. | Imposta i seguenti parametri:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Per ulteriori informazioni su questi parametri, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html). | DBA | 

### Prepara l'ambiente di destinazione
<a name="prepare-the-target-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una nuova istanza DB Amazon RDS for PostgreSQL in cui trasportare il database di origine. | Determina la classe dell'istanza e la versione di PostgreSQL in base ai tuoi requisiti aziendali. | DBA, amministratore di sistema, architetto del database | 
| Modifica il gruppo di sicurezza della destinazione per consentire le connessioni sulla porta dell'istanza DB dall' EC2 istanza. | Per impostazione predefinita, la porta per l'istanza PostgreSQL è 5432. Se stai usando un'altra porta, le connessioni a quella porta devono essere aperte per l'istanza. EC2  | DBA, amministratore di sistema | 
| Modifica l'istanza e assegna il nuovo gruppo di parametri di destinazione. | Ad esempio, `pgtarget-param-group`. | DBA | 
| Riavvia l'istanza database Amazon RDS di destinazione.  | I parametri `shared_preload_libraries` e `max_worker_processes` sono parametri statici e richiedono il riavvio dell'istanza. | DBA, amministratore di sistema | 
| Connect al database dall' EC2 istanza usando psql. | Utilizza il comando : <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | DBA | 
| Crea l'estensione pg\$1transport. | Esegui la seguente query come utente con il ruolo: `rds_superuser`<pre>create extension pg_transport;</pre> | DBA | 

### Preparare l'ambiente di origine
<a name="prepare-the-source-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Modifica il gruppo di sicurezza dell'origine per consentire le connessioni sulla porta dell'istanza DB dall'istanza Amazon e dall' EC2 istanza DB di destinazione | Per impostazione predefinita, la porta per l'istanza PostgreSQL è 5432. Se stai usando un'altra porta, le connessioni a quella porta devono essere aperte per l'istanza. EC2  | DBA, amministratore di sistema | 
| Modifica l'istanza e assegna il nuovo gruppo di parametri di origine. | Ad esempio, `pgsource-param-group`. | DBA | 
| Riavvia l'istanza database Amazon RDS di origine.  | I parametri `shared_preload_libraries` e `max_worker_processes` sono parametri statici e richiedono il riavvio dell'istanza. | DBA | 
| Connect al database dall' EC2 istanza usando psql. | Utilizza il comando : <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | DBA | 
| Crea l'estensione pg\$1transport e rimuovi tutte le altre estensioni dai database da trasportare. | Il trasporto avrà esito negativo se nel database di origine sono installate estensioni diverse da **pg\$1transport**. Questo comando deve essere eseguito da un utente con il ruolo. `rds_superuser` | DBA | 

### Esegui il trasporto
<a name="perform-the-transport"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui una corsa a secco. | Usa la `transport.import_from_server` funzione per eseguire prima una corsa a secco:<pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', 'true');</pre>L'ultimo parametro di questa funzione (impostato su`true`) definisce il funzionamento a secco. Questa funzione visualizza tutti gli errori che si possono verificare durante l'esecuzione del trasporto principale. Risolvete gli errori prima di eseguire il trasporto principale.  | DBA | 
| Se l'esecuzione a secco ha esito positivo, avvia il trasporto del database. | Esegui la `transport.import_from_server` funzione per eseguire il trasporto. Si collega alla fonte e importa i dati. <pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', false);</pre>L'ultimo parametro di questa funzione (impostato su`false`) indica che non si tratta di un funzionamento a secco. | DBA | 
| Eseguire le fasi successive al trasporto. | Una volta completato il trasporto del database:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html) | DBA | 

## Risorse correlate
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-resources"></a>
+ [Documentazione Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [documentazione pg\$1transport](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#PostgreSQL.TransportableDB.Setup)
+ [Migrazione di database utilizzando database trasportabili RDS PostgreSQL](https://aws.amazon.com/blogs/database/migrating-databases-using-rds-postgresql-transportable-databases/) (post sul blog)
+ [Download PostgreSQL](https://www.postgresql.org/download/linux/redhat/)
+ [utilità psql](https://www.postgresql.org/docs/11/app-psql.html)
+ [Creazione di un gruppo di parametri database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Creating)
+ [Modifica i parametri in un gruppo di parametri DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Modifying)
+ [Download PostgreSQL](https://www.postgresql.org/download/)

# Conversione piattaforma
<a name="migration-replatform-pattern-list"></a>

**Topics**
+ [Esportazione di un database Microsoft SQL Server in Amazon S3 utilizzando AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [Esegui la migrazione dei valori Oracle CLOB su singole righe in PostgreSQL su AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Esegui la migrazione PeopleSoft da Oracle ad Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Esegui la migrazione della funzionalità Oracle ROWID a PostgreSQL su AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Esegui la migrazione dei codici di errore del database Oracle a un database compatibile con Amazon Aurora PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Esegui la migrazione di SAP ASE su Amazon Aurora, compatibile EC2 con PostgreSQL utilizzando AWS SCT e AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)
+ [Migrazione dei certificati SSL di Windows su un Application Load Balancer utilizzando ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Esegui la migrazione di una coda di messaggistica da Microsoft Azure Service Bus ad Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Esegui la migrazione di un database Oracle JD Edwards EnterpriseOne su AWS utilizzando Oracle Data Pump e AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Esegui la migrazione di un PeopleSoft database Oracle su AWS utilizzando AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Esegui la migrazione di un database MySQL locale su Amazon RDS for MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Esegui la migrazione dei dati da Microsoft Azure Blob ad Amazon S3 utilizzando Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Migrazione da Couchbase Server a Couchbase Capella su AWS](migrate-from-couchbase-server-to-couchbase-capella-on-aws.md)
+ [Esegui la migrazione da IBM WebSphere Application Server ad Apache Tomcat su Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)
+ [Esegui la migrazione da IBM WebSphere Application Server ad Apache Tomcat su Amazon EC2 con Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Esegui la migrazione di un'applicazione.NET da Microsoft Azure App Service ad AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Esegui la migrazione da Oracle WebLogic ad Apache Tomcat (ToMee) su Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Esegui la migrazione di un database Oracle da Amazon EC2 ad Amazon RDS for Oracle utilizzando AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon OpenSearch Service utilizzando Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for Oracle utilizzando Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Esegui la migrazione da PostgreSQL su Amazon RDS per PostgreSQL utilizzando EC2 pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Esegui la migrazione di un database PostgreSQL locale su Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale a Microsoft SQL Server su Amazon EC2 con Linux](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server utilizzando server collegati](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server utilizzando metodi di backup e ripristino nativi](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Esegui la migrazione di un database Microsoft SQL Server su Aurora MySQL utilizzando AWS DMS e AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database MariaDB locale su Amazon RDS for MariaDB utilizzando strumenti nativi](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Esegui la migrazione di un database MySQL locale su Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Esegui la migrazione dei database MySQL locali su Aurora MySQL utilizzando Percona, Amazon EFS e Amazon S3 XtraBackup](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Esegui la migrazione di applicazioni Java locali su AWS utilizzando AWS App2Container](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Migrazione di file system condivisi in una migrazione di AWS grandi dimensioni](migrate-shared-file-systems-in-an-aws-large-migration.md)
+ [Esegui la migrazione di un database Oracle ad Amazon RDS for Oracle utilizzando gli adattatori flat file GoldenGate Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Modifica le applicazioni Python e Perl per supportare la migrazione dei database da Microsoft SQL Server a Amazon Aurora PostgreSQL Compatible Edition](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)

# Esportazione di un database Microsoft SQL Server in Amazon S3 utilizzando AWS DMS
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms"></a>

*Sweta Krishna, Amazon Web Services*

## Riepilogo
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-summary"></a>

Le organizzazioni spesso devono copiare i database su Amazon Simple Storage Service (Amazon S3) per la migrazione dei database, il backup e il ripristino, l'archiviazione dei dati e l'analisi dei dati. Questo modello descrive come esportare un database Microsoft SQL Server in Amazon S3. Il database di origine può essere ospitato in locale o su Amazon Elastic Compute Cloud (Amazon EC2) o Amazon Relational Database Service (Amazon RDS) per Microsoft SQL Server sul cloud Amazon Web Services (AWS).

I dati vengono esportati utilizzando AWS Database Migration Service (AWS DMS). Per impostazione predefinita, AWS DMS scrive dati CDC (full load and change data capture) in formato con valori separati da virgole (.csv). Per uno storage più compatto e opzioni di interrogazione più veloci, questo modello utilizza l'opzione di formato Apache Parquet (.parquet).

## Prerequisiti e limitazioni
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un ruolo AWS Identity and Access Management (IAM) per l'account con accesso in scrittura, eliminazione e tag al bucket S3 di destinazione e AWS DMS (`dms.amazonaws.com`) aggiunto come entità affidabile a questo ruolo IAM
+ Un database Microsoft SQL Server locale (o Microsoft SQL Server su un' EC2 istanza o un database Amazon RDS for SQL Server)
+ Connettività di rete tra il cloud privato virtuale (VPC) su AWS e la rete locale fornita da AWS Direct Connect o una rete privata virtuale (VPN)

**Limitazioni**
+ Un bucket S3 abilitato per VPC (gateway VPC) non è attualmente supportato nelle versioni di AWS DMS precedenti alla 3.4.7.
+ Le modifiche apportate alla struttura della tabella di origine durante il caricamento completo non sono supportate.
+ La modalità LOB (full large binary object) di AWS DMS non è supportata.

**Versioni del prodotto**
+ Microsoft SQL Server versioni 2005 o successive per le edizioni Enterprise, Standard, Workgroup e Developer.
+ Il supporto per Microsoft SQL Server versione 2019 come sorgente è disponibile nelle versioni 3.3.2 e successive di AWS DMS.

## Architecture
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Un database Microsoft SQL Server locale (o Microsoft SQL Server su un' EC2 istanza o un database Amazon RDS for SQL Server)**** 

**Stack tecnologico Target**
+ AWS Direct Connect
+ AWS DMS
+ Simple Storage Service (Amazon S3)

**Architettura di destinazione**

![\[I dati migrano dal database SQL Server tramite Direct Connect in AWS DMS e quindi nel bucket S3.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/75b8b20f-a1a8-4633-9816-1b370cc7e92c/images/85bd433c-4a0a-4825-8661-e53f53265191.png)


## Tools (Strumenti)
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [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.
+ [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.

## Epiche
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la versione del database. | Convalida la versione del database di origine e assicurati che sia supportata da AWS DMS. Per informazioni sulle versioni supportate del database SQL Server, consulta [Using a Microsoft SQL Server database as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html). | DBA | 
| Crea un VPC e un gruppo di sicurezza. | Nel tuo account AWS, crea un VPC e un gruppo di sicurezza. Per ulteriori informazioni, consulta la documentazione di [Amazon VPC.](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) | Amministratore di sistema | 
| Crea un utente per il task AWS DMS. | Crea un utente AWS DMS nel database di origine e concedigli le autorizzazioni READ. Questo utente verrà utilizzato da AWS DMS. | DBA | 
| Verifica la connettività DB. | Verifica la connettività all'istanza DB di SQL Server dall'utente AWS DMS. | DBA | 
| Crea un bucket S3. | Crea il bucket S3 di destinazione. Questo bucket conterrà i dati della tabella migrati. | Amministratore di sistema | 
| Crea una politica e un ruolo IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.html) | Amministratore di sistema | 

### Migra i dati utilizzando AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un'istanza di replica di AWS DMS. | Accedi alla Console di gestione AWS e apri la console AWS DMS. Nel pannello di navigazione, scegli Istanze di **replica, **Crea** istanza** di replica. Per istruzioni, consulta il [passaggio 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.ReplicationInstance) nella documentazione di AWS DMS. | DBA | 
| Crea endpoint di origine e destinazione. | Crea endpoint di origine e destinazione. Verifica la connessione dall'istanza di replica agli endpoint di origine e di destinazione. Per istruzioni, consulta il [passaggio 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Endpoints) nella documentazione di AWS DMS. | DBA | 
| Creare un'attività di replica. | Crea un'attività di replica e seleziona Full load o full load with change data capture (CDC) per migrare i dati da SQL Server al bucket S3. Per istruzioni, consulta il [passaggio 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks) nella documentazione di AWS DMS. | DBA | 
| Avvia la replica dei dati. | Avvia l'attività di replica e monitora i log per eventuali errori. | DBA | 

### Convalida i dati
<a name="validate-the-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida i dati migrati. | Sulla console, accedi al bucket S3 di destinazione. Apri la sottocartella con lo stesso nome del database di origine. Verifica che la cartella contenga tutte le tabelle che sono state migrate dal database di origine. | DBA | 

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi ed elimina le risorse AWS temporanee. | Chiudi le risorse AWS temporanee che hai creato per la migrazione dei dati, come l'istanza di replica AWS DMS, ed eliminale dopo aver convalidato l'esportazione. | DBA | 

## Risorse correlate
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-resources"></a>
+ [Guida per l'utente di AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Utilizzo di un database Microsoft SQL Server come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)
+ [Utilizzo di Amazon S3 come destinazione per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html)
+ [Utilizzo di un bucket S3 come destinazione AWS DMS (AWS](https://repost.aws/knowledge-center/s3-bucket-dms-target) re:Post)

## Informazioni aggiuntive
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-additional"></a>

Utilizza il codice seguente per aggiungere una policy IAM con autorizzazioni per i bucket S3 per il ruolo AWS DMS. Sostituisci `bucketname` con il nome del tuo bucket.

```
{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject",
                 "s3:DeleteObject"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         },
         {
             "Effect": "Allow",
             "Action": [
                 "s3:ListBucket"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         }
     ]
 }
```

# Esegui la migrazione dei valori Oracle CLOB su singole righe in PostgreSQL su AWS
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws"></a>

*Sai Krishna Namburu e Sindhusha Paturu, Amazon Web Services*

## Riepilogo
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-summary"></a>

Questo modello descrive come suddividere i valori di Oracle Character Large Object (CLOB) in singole righe in Amazon Aurora PostgreSQL Compatible Edition e Amazon Relational Database Service (Amazon RDS) per PostgreSQL. PostgreSQL non supporta il tipo di dati CLOB.

Le tabelle con partizioni a intervalli vengono identificate nel database Oracle di origine e il nome della tabella, il tipo di partizione, l'intervallo della partizione e altri metadati vengono acquisiti e caricati nel database di destinazione. Puoi caricare dati CLOB di dimensioni inferiori a 1 GB nelle tabelle di destinazione come testo utilizzando AWS Database Migration Service (AWS DMS) oppure puoi esportare i dati in formato CSV, caricarli in un bucket Amazon Simple Storage Service (Amazon S3) e migrarli nel database PostgreSQL di destinazione.

Dopo la migrazione, puoi utilizzare il codice PostgreSQL personalizzato fornito con questo modello per dividere i dati CLOB in singole righe in base al nuovo identificatore `CHR(10)` di caratteri di riga () e compilare la tabella di destinazione.**** 

## Prerequisiti e limitazioni
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-prereqs"></a>

**Prerequisiti**
+ Una tabella di database Oracle con partizioni e record a intervalli con un tipo di dati CLOB.
+ Un database compatibile con Aurora PostgreSQL o Amazon RDS for PostgreSQL con una struttura di tabella simile alla tabella di origine (stesse colonne e tipi di dati).

**Limitazioni**
+ Il valore CLOB non può superare 1 GB.
+ Ogni riga della tabella di destinazione deve avere un nuovo identificatore di carattere di riga.

**Versioni del prodotto**
+ Oracle 12c
+ Aurora Postgres 11.6

## Architecture
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-architecture"></a>

Il diagramma seguente mostra una tabella Oracle di origine con dati CLOB e la tabella PostgreSQL equivalente nella versione 11.6 compatibile con Aurora PostgreSQL.

![\[Tabella CLOB di origine e tabella PostgreSQL di destinazione equivalente.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/55806ee7-6a9f-4058-9a47-a07de68223ca/images/79b9d4b9-6f20-4db5-8ca8-2a599769a498.png)


## Tools (Strumenti)
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-tools"></a>

**Servizi AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [Amazon Relational Database Service (Amazon RDS) per PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ti aiuta a configurare, gestire e scalare un database relazionale PostgreSQL nel cloud AWS.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [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.

**Altri strumenti**

Puoi utilizzare i seguenti strumenti client per connetterti, accedere e gestire i tuoi database Aurora compatibili con PostgreSQL e Amazon RDS for PostgreSQL. (Questi strumenti non vengono utilizzati all'interno di questo schema).
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.
+ [DBeaver](https://dbeaver.io/)è uno strumento di database open source per sviluppatori e amministratori di database. È possibile utilizzare lo strumento per manipolare, monitorare, analizzare, amministrare e migrare i dati.

## Best practice
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-best-practices"></a>

Per le best practice per la migrazione del database da Oracle a PostgreSQL, consulta il [post sul blog AWS Best practice for migrating an Oracle database to Amazon RDS PostgreSQL o Amazon Aurora PostgreSQL: considerazioni sul processo di migrazione e sull'infrastruttura](https://aws.amazon.com/blogs/database/best-practices-for-migrating-an-oracle-database-to-amazon-rds-postgresql-or-amazon-aurora-postgresql-migration-process-and-infrastructure-considerations/).

Per le best practice per la configurazione del task AWS DMS per la migrazione di oggetti binari di grandi dimensioni, consulta [Migrating large binary objects () LOBs nella](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html#CHAP_BestPractices.LOBS) documentazione di AWS DMS.

## Epiche
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-epics"></a>

### Identifica i dati CLOB
<a name="identify-the-clob-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Analizza i dati CLOB. | Nel database Oracle di origine, analizza i dati CLOB per vedere se contengono intestazioni di colonna, in modo da poter determinare il metodo di caricamento dei dati nella tabella di destinazione. Per analizzare i dati di input, utilizzare la seguente query.`SELECT * FROM clobdata_or;  ` | Developer | 
| Caricate i dati CLOB nel database di destinazione. | Esegui la migrazione della tabella con dati CLOB a una tabella provvisoria (staging) nel database di destinazione Aurora o Amazon RDS. Puoi utilizzare AWS DMS o caricare i dati come file CSV in un bucket Amazon S3.Per informazioni sull'utilizzo di AWS DMS per questa attività, consulta [Utilizzo di un database Oracle come origine](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Utilizzo di un database PostgreSQL come destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) nella documentazione di AWS DMS.Per informazioni sull'utilizzo di Amazon S3 per questa attività, consulta [Using Amazon S3 come target nella documentazione di](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html) AWS DMS. | Ingegnere addetto alla migrazione, DBA | 
| Convalida la tabella PostgreSQL di destinazione. | Convalida i dati di destinazione, incluse le intestazioni, rispetto ai dati di origine utilizzando le seguenti query nel database di destinazione.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre>Confronta i risultati con i risultati delle query del database di origine (dal primo passaggio). | Developer | 
| Dividi i dati CLOB in righe separate. | Esegui il codice PostgreSQL personalizzato fornito nella sezione Informazioni [aggiuntive per dividere i](#migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional) dati CLOB e inserirli in righe separate nella tabella PostgreSQL di destinazione. | Developer | 

### Convalida i dati.
<a name="validate-the-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida i dati nella tabella di destinazione. | Convalida i dati inseriti nella tabella di destinazione utilizzando le seguenti query.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre> | Developer | 

## Risorse correlate
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-resources"></a>
+ [Tipo di dati CLOB](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF0021) (documentazione Oracle)
+ [Tipi di dati](https://www.postgresql.org/docs/11/datatype.html) (documentazione PostgreSQL)

## Informazioni aggiuntive
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional"></a>

**Funzione PostgreSQL per la suddivisione dei dati CLOB**

```
do
$$
declare
totalstr varchar;
str1 varchar;
str2 varchar;
pos1 integer := 1;
pos2 integer ;
len integer;


begin
        select rawdata||chr(10) into totalstr from clobdata_pg;
        len :=  length(totalstr) ;
        raise notice 'Total length : %',len;
        raise notice 'totalstr : %',totalstr;
        raise notice 'Before while loop';


        while pos1 < len  loop


                  select position (chr(10) in totalstr) into pos2;
                 raise notice '1st position of new line : %',pos2;


                str1 := substring (totalstr,pos1,pos2-1);
                raise notice 'str1 : %',str1;


                   insert into clobdatatarget(data) values (str1);
                   totalstr := substring(totalstr,pos2+1,len);
                   raise notice 'new totalstr :%',totalstr;
                len :=  length(totalstr) ;


        end loop;
end
$$
LANGUAGE 'plpgsql' ;
```

**Esempi di input e output**

Puoi usare i seguenti esempi per provare il codice PostgreSQL prima di migrare i tuoi dati.

Crea un database Oracle con tre righe di input.

```
CREATE TABLE clobdata_or (
id INTEGER GENERATED ALWAYS AS IDENTITY,
rawdata clob  );


insert into clobdata_or(rawdata) values (to_clob('test line 1') || chr(10) || to_clob('test line 2') || chr(10) || to_clob('test line 3') || chr(10));
COMMIT;


SELECT * FROM clobdata_or;
```

Viene visualizzato il seguente output.


|  |  | 
| --- |--- |
| id | dati grezzi | 
| 1 | linea di test 1 linea di test 2 linea di test 3 | 

Carica i dati di origine in una tabella intermedia PostgreSQL () per l'elaborazione. `clobdata_pg`

```
SELECT * FROM clobdata_pg;

CREATE TEMP TABLE clobdatatarget (id1 SERIAL,data VARCHAR );

<Run the code in the additional information section.>

SELECT * FROM clobdatatarget;
```

Questo mostra il seguente output.


|  |  | 
| --- |--- |
| id1 | data | 
| 1 | linea di test 1 | 
| 2 | linea di test 2 | 
| 3 | linea di test 3 | 

# Esegui la migrazione PeopleSoft da Oracle ad Amazon RDS Custom
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom"></a>

*Gaurav Gupta, Amazon Web Services*

## Riepilogo
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-summary"></a>

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) è una soluzione ERP (Enterprise Resource Planning) per processi a livello aziendale. PeopleSoft ha un'architettura a tre livelli: client, applicazione e database. PeopleSoft può essere eseguito su [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Ora puoi eseguire anche PeopleSoft [Amazon RDS Custom](https://aws.amazon.com/rds/custom/), che fornisce l'accesso al sistema operativo sottostante.

[Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) è un servizio di database gestito per applicazioni legacy, personalizzate e confezionate che richiedono l'accesso al sistema operativo e all'ambiente di database sottostanti. Quando migri il tuo database Oracle su Amazon RDS Custom, Amazon Web Services (AWS) può gestire le attività di backup e l'alta disponibilità, mentre puoi concentrarti sulla manutenzione PeopleSoft dell'applicazione e delle funzionalità. Per i fattori chiave da considerare per una migrazione, consulta [le strategie di migrazione del database Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) in AWS Prescriptive Guidance.

Questo modello si concentra sui passaggi per migrare un PeopleSoft database da Amazon Elastic Compute Cloud (Amazon EC2) ad Amazon RDS Custom utilizzando un backup Oracle Recovery Manager (RMAN). Utilizza un file system condiviso [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) tra l'istanza EC2 e Amazon RDS Custom, sebbene sia possibile utilizzare anche Amazon FSx o qualsiasi unità condivisa. Il modello utilizza un backup completo RMAN (a volte indicato come backup di livello 0). 

## Prerequisiti e limitazioni
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-prereqs"></a>

**Prerequisiti**
+ Un database sorgente Oracle versione 19C in esecuzione su Amazon EC2 con Oracle Linux 7, Oracle Linux 8, Red Hat Enterprise Linux (RHEL) 7 o RHEL 8. Negli esempi di questo modello, il nome del database di origine è`FSDMO92`, ma questo non è un requisito.
**Nota**  
È inoltre possibile utilizzare questo modello con i database di origine Oracle locali. È necessario disporre della connettività di rete appropriata tra la rete locale e un cloud privato virtuale (VPC).
+ Un'istanza PeopleSoft demo 9.2.
+ Un unico livello di PeopleSoft applicazione. Tuttavia, è possibile adattare questo modello per lavorare con più livelli di applicazione.
+ Amazon RDS Custom configurato con almeno 8 GB di spazio di swap.

**Limitazioni**

Questo modello non supporta le seguenti configurazioni:
+ Impostazione del `ARCHIVE_LAG_TARGET` parametro del database su un valore esterno all'intervallo 60-7200
+ Disattivazione della modalità di registro dell'istanza DB () `NOARCHIVELOG`
+ Disattivazione dell'attributo ottimizzato Amazon Elastic Block Store (Amazon EBS) dell'istanza EC2
+ Modifica dei volumi EBS originali collegati all'istanza EC2
+ Aggiungere nuovi volumi EBS o modificare il tipo di volume da gp2 a gp3
+ Modifica del formato di estensione per il parametro (richiesto) `LOG_ARCHIVE_FORMAT` `*.arc`
+ Multiplexazione o modifica della posizione e del nome del file di controllo (deve essere così) `/rdsdbdata/db/*DBNAME*/controlfile/control-01.ctl`

Per ulteriori informazioni su queste e altre configurazioni non supportate, consulta la documentazione di [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-troubleshooting.html#custom-troubleshooting.fix-unsupported).

**Versioni del prodotto**

Per le versioni e le classi di istanze di Oracle Database supportate da Amazon RDS Custom, consulta [Requisiti e limitazioni per Amazon RDS Custom for](https://docs.amazonaws.cn/en_us/AmazonRDS/latest/UserGuide/custom-reqs-limits.html) Oracle.

## Architecture
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-architecture"></a>

**Stack tecnologico Target**
+ Application Load Balancer
+ Amazon EFS
+ Amazon RDS Custom per Oracle
+ AWS Secrets Manager
+ Amazon Simple Storage Service (Amazon S3)

**Architettura di destinazione**

Il seguente diagramma di architettura rappresenta un PeopleSoft sistema in esecuzione in una singola [zona di disponibilità](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) su AWS. È possibile accedere al livello dell'applicazione tramite un [Application Load Balancer](https://aws.amazon.com/elasticloadbalancing/application-load-balancer/). Sia l'applicazione che i database si trovano in sottoreti private e l'istanza di database Amazon RDS Custom e Amazon EC2 utilizzano un file system condiviso Amazon EFS per archiviare e accedere ai file di backup RMAN. Amazon S3 viene utilizzato per creare il motore Oracle RDS personalizzato e per archiviare i metadati dei redo logs.

![\[Server Web, server di app, Amazon RDS Custom, un'istanza DB EC2 e Amazon EFS in sottoreti private.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/bd423dfe-f3c8-42d9-ac84-bf3d093c52bc/images/0e9a6431-e6c7-4047-ae6c-85311938041f.jpeg)


## Tools (Strumenti)
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-tools"></a>

**Strumenti**

*Servizi AWS*
+ [Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) è un servizio di database gestito per applicazioni legacy, personalizzate e confezionate che richiedono l'accesso al sistema operativo e all'ambiente di database sottostanti. Automatizza le attività di amministrazione del database, come backup e alta disponibilità. 
+ [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. Questo modello utilizza un file system condiviso Amazon EFS per archiviare e accedere ai file di backup RMAN.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ti aiuta a sostituire le credenziali codificate nel codice, comprese le password, con una chiamata API a Secrets Manager per recuperare il segreto a livello di codice. In questo modello, si recuperano le password degli utenti del database da Secrets Manager per creare gli `ADMIN` utenti `RDSADMIN` e modificare le password `sys` e`system`.
+ [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.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) distribuisce il traffico di applicazioni o di rete in entrata su più destinazioni. Ad esempio, puoi distribuire il traffico tra istanze Amazon Elastic Compute Cloud (Amazon EC2), contenitori e indirizzi IP in una o più zone di disponibilità. Questo modello utilizza un Application Load Balancer.

*Altri strumenti*
+ Oracle Recovery Manager (RMAN) fornisce supporto per il backup e il ripristino per i database Oracle. Questo modello utilizza RMAN per eseguire un backup a caldo del database Oracle di origine su Amazon EC2 che viene ripristinato su Amazon RDS Custom.

## Best practice
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-best-practices"></a>
+ Per i parametri di inizializzazione del database, personalizza il pfile standard fornito dall'istanza database personalizzata di Amazon RDS PeopleSoft anziché utilizzare lo spfile dal database di origine Oracle. Questo perché gli spazi bianchi e i commenti causano problemi durante la creazione di repliche di lettura in Amazon RDS Custom. Per ulteriori informazioni sui parametri di inizializzazione del database, vedere la nota di supporto Oracle 1100831.1 (richiede un account Oracle [Support](https://support.oracle.com/portal/)).
+ Amazon RDS Custom utilizza la gestione automatica della memoria Oracle per impostazione predefinita. Se desideri utilizzare il kernel Hugemem, puoi configurare Amazon RDS Custom per utilizzare invece la gestione automatica della memoria condivisa.
+ Lascia il parametro abilitato per impostazione `memory_max_target` predefinita. Il framework lo utilizza in background per creare repliche di lettura.
+ Abilita Oracle Flashback Database. Questa funzionalità è utile per ripristinare lo standby in scenari di test di failover (non di switchover).

## Epiche
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-epics"></a>

### Configura l'istanza DB e il file system
<a name="set-up-the-db-instance-and-file-system"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'istanza DB. | Nella console Amazon RDS, crea un'istanza Amazon RDS Custom for Oracle DB con un nome DB chiamato FSDMO92 (o il nome del database di origine).Per istruzioni, consulta [Working with Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html) nella documentazione di AWS e il post di blog [Amazon RDS Custom for Oracle — New Control Capabilities in Database Environment](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/). Ciò garantisce che il nome del database sia impostato sullo stesso nome del database di origine. (Se lasciato vuoto, l'istanza EC2 e il nome del database verranno impostati su`ORCL`.) | DBA | 

### Esegui un backup completo RMAN del database Amazon EC2 di origine
<a name="perform-an-rman-full-backup-of-the-source-amazon-ec2-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea uno script di backup. | Crea uno script di backup RMAN per eseguire il backup del database sul file system Amazon EFS che hai montato (`/efs`nell'esempio seguente). Puoi utilizzare il codice di esempio o eseguire uno degli script RMAN esistenti.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/u01/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />SQL "ALTER SYSTEM SWITCH LOGFILE";<br />SQL "ALTER SESSION SET NLS_DATE_FORMAT="DD.MM.YYYY HH24:MI:SS"";<br />RUN<br />{<br />  ALLOCATE CHANNEL ch11 TYPE DISK MAXPIECESIZE 5G;<br />  ALLOCATE CHANNEL ch12 TYPE DISK MAXPIECESIZE 5G;<br />  BACKUP AS COMPRESSED BACKUPSET FULL DATABASE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_FULL' ;<br />  SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";<br />  BACKUP FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_ARCHIVE' ARCHIVELOG ALL DELETE ALL INPUT ;<br />  BACKUP CURRENT CONTROLFILE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_CONTROL';<br />}<br />EXIT;<br />EOF<br />  </pre> | DBA | 
| Esegui lo script di backup. | Per eseguire lo script di backup RMAN, accedi come utente Oracle Home ed esegui lo script.<pre>$  chmod a+x rman_backup.sh<br />$ ./rman_backup.sh &</pre> | DBA | 
| Verifica la presenza di errori e annota il nome del file di backup. | Verificate la presenza di errori nel file di registro RMAN. Se tutto sembra a posto, elenca il backup del file di controllo eseguendo il comando seguente.<pre>RMAN> list backup of controlfile;<br /><br />using target database control file instead of recovery catalog<br /></pre>Annotate il nome del file di output.<pre>List of Backup Sets<br />===================<br /><br />BS Key  Type LV Size       Device Type Elapsed Time Completion Time<br />------- ---- -- ---------- ----------- ------------ ---------------<br />12      Full    21.58M     DISK        00:00:01     13-JUL-22<br />        BP Key: 12   Status: AVAILABLE  Compressed: NO  Tag: TAG20220713T150155<br />        Piece Name: /efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL<br /> Control File Included: Ckp SCN: 16559159985898   Ckp time: 13-JUL-22<br /></pre>Utilizzerai il file di controllo del backup `/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL` quando ripristini il database su Amazon RDS Custom. | DBA | 

### Chiudi il livello di applicazione di origine
<a name="shut-down-the-source-application-tier"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi l'applicazione.  | Per chiudere il livello di applicazione di origine, utilizzate l'`psadmin`utilità o l'utilità della riga di `psadmin` comando.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA, Amministratore PeopleSoft  | 

### Configurazione del database Amazon RDS Custom di destinazione
<a name="configure-the-target-amazon-rds-custom-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa il pacchetto rpm nfs-utils. | Per installare il `nfs-utils rpm` pacchetto, esegui il comando seguente.<pre>$ yum install -y nfs-utils<br /></pre> | DBA | 
| Monta lo storage EFS. | Ottieni il comando di montaggio di Amazon EFS dalla pagina della console Amazon EFS. Monta il file system EFS sull'istanza Amazon RDS utilizzando un client Network File System (NFS).<pre>sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs<br />sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs</pre> | DBA | 

### Rilascia il database iniziale e crea le directory in cui archiviare i file del database
<a name="drop-the-starter-database-and-create-the-directories-to-store-the-database-files"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Metti in pausa la modalità di automazione. | Devi mettere in pausa la [modalità di automazione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-managing.html#custom-managing.pausing) sulla tua istanza database personalizzata Amazon RDS prima di procedere con i passaggi successivi, per assicurarti che l'automazione non interferisca con l'attività di ripristino RMAN.Puoi mettere in pausa l'automazione utilizzando la console AWS o il comando AWS Command Line Interface (AWS CLI) (assicurati di aver prima configurato l'[AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)).<pre>aws rds modify-db-instance \<br />--db-instance-identifier peoplesoft-fscm-92 \<br />--automation-mode all-paused \<br />--resume-full-automation-mode-minute 360 \<br />--region eu-west-1<br /></pre>Quando specifichi la durata della pausa, assicurati di lasciare abbastanza tempo per il ripristino RMAN. Questo dipende dalla dimensione del database di origine, quindi modificate il valore 360 di conseguenza.Inoltre, assicuratevi che il tempo totale dell'automazione sospesa non si sovrapponga alla finestra di backup o di manutenzione del database. | DBA | 
| Crea e modifica il file dei parametri per PeopleSoft | Per creare e modificare il pfile per PeopleSoft, usa il pfile standard creato con l'istanza database personalizzata di Amazon RDS. Aggiungi i parametri necessari. PeopleSoft[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Elimina il database iniziale. | Per eliminare il database Amazon RDS Custom esistente, usa il codice seguente.<pre>$ sqlplus / as sysdba<br />SQL> shutdown immediate;<br />SQL> startup mount exclusive restrict;<br />SQL> drop database;<br />SQL> exit</pre> |  | 
| Ripristina il database Amazon RDS Custom dal backup. | Ripristina il database utilizzando lo script seguente. Lo script ripristinerà prima il control file e poi ripristinerà l'intero database dalle parti di backup archiviate sul mount EFS.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/rdsdbdata/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />restore controlfile from "/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL";<br />alter database mount;<br />run<br />{<br />set newname for database to '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />SET NEWNAME FOR TEMPFILE 1 TO '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />RESTORE DATABASE;<br />SWITCH DATAFILE ALL;<br />SWITCH TEMPFILE ALL;<br />RECOVER DATABASE;<br />}<br />EOF<br />sqlplus / as sysdba >> $LOGPATH/rman-${ORACLE_SID}-$Dt<<-EOF<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo01.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo01.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo02.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo02.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo03.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo03.log';<br />alter database clear unarchived logfile group 1;<br />alter database clear unarchived logfile group 2;<br />alter database clear unarchived logfile group 3;<br />alter database open resetlogs;<br />EXIT<br />EOF<br /></pre> | DBA | 

### Recupera le password da Secrets Manager, crea utenti e modifica le password
<a name="retrieve-passwords-from-secrets-manager-create-users-and-change-passwords"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Recupera la password da Secrets Manager. | Puoi eseguire questo passaggio utilizzando la console AWS o l'interfaccia a riga di comando AWS. I passaggi seguenti mostrano le istruzioni per la console.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Creare l'utente RDSADMIN. | `RDSADMIN`è l'utente del database per il monitoraggio e l'orchestrazione dell'istanza database personalizzata di Amazon RDS. Poiché il database iniziale è stato eliminato e il database di destinazione è stato ripristinato dall'origine utilizzando RMAN, devi ricreare questo utente dopo l'operazione di ripristino per assicurarti che il monitoraggio di Amazon RDS Custom funzioni come previsto. È inoltre necessario creare un profilo e un tablespace separati per l'utente. `RDSADMIN`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Crea l'utente principale. | Poiché il database iniziale è stato eliminato e il database di destinazione è stato ripristinato dall'origine utilizzando RMAN, è necessario ricreare l'utente principale. In questo esempio, il nome utente principale è. `admin`<pre>SQL> create user admin identified by <password>;<br />SQL> grant dba to admin</pre> | DBA | 
| Cambia le password di sistema. | Modifica le password di sistema utilizzando la password recuperata da Secrets Manager.<pre>SQL> alter user sys identified by xxxxxxxxxxx;<br />SQL> alter user system identified by xxxxxxxxxx;</pre>Se non modifichi queste password, Amazon RDS Custom visualizza il messaggio di errore «L'utente di monitoraggio del database o le credenziali utente sono cambiate». | DBA | 

### Configura le voci TNS per Amazon RDS Custom e PeopleSoft
<a name="configure-the-tns-entries-for-amazon-rds-custom-and-peoplesoft"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il file tnsnames. | Per connetterti al database dal livello dell'applicazione, configura il `tnsnames.ora` file in modo da poterti connettere al database dal livello dell'applicazione. Nell'esempio seguente, è possibile notare che esiste un collegamento software al `tnsnames.ora` file, ma per impostazione predefinita il file è vuoto. <pre>$ cd /rdsdbbin/oracle/network/admin<br />$ ls -ltr<br />-rw-r--r-- 1 rdsdb database 1536 Feb 14  2018 shrept.lst<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 listener.ora -> /rdsdbdata/config/listener.ora<br />lrwxrwxrwx 1 rdsdb database   28 Apr  5 13:19 sqlnet.ora -> /rdsdbdata/config/sqlnet.ora<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 tnsnames.ora -> /rdsdbdata/config/tnsnames.ora</pre>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

### Crea il softlink spfile
<a name="create-the-spfile-softlink"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il softlink spfile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

### Esegui le fasi successive alla migrazione
<a name="perform-post-migration-steps"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida lo schema, le connessioni e le attività di manutenzione. | Per finalizzare la migrazione, esegui le seguenti attività.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

## Risorse correlate
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-resources"></a>
+ [Utilizzo di Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html)
+ [Amazon RDS Custom for Oracle — Nuove funzionalità di controllo nell'ambiente di database](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/) (post di blog)
+ [Integrazione di Amazon RDS Custom per Oracle con Amazon EFS](https://aws.amazon.com/blogs/database/integrate-amazon-rds-custom-for-oracle-with-amazon-efs/) (post di blog)
+ [Configurazione di Amazon RDS come PeopleSoft database Oracle (white paper](https://d1.awsstatic.com/whitepapers/configuring-amazon-rds-as-peoplesoft-database.pdf) AWS)

# Esegui la migrazione della funzionalità Oracle ROWID a PostgreSQL su AWS
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws"></a>

*Rakesh Raghav e Ramesh Pathuri, Amazon Web Services*

## Riepilogo
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-summary"></a>

Questo modello descrive le opzioni per la migrazione della funzionalità delle `ROWID` pseudocolonne in Oracle Database a un database PostgreSQL in Amazon Relational Database Service (Amazon RDS) per PostgreSQL, Amazon Aurora PostgreSQL Compatible Edition o Amazon Elastic Compute Cloud (Amazon). EC2

In un database Oracle, la pseudocolonna è l'indirizzo fisico di una riga in una tabella. `ROWID` Questa pseudocolonna viene utilizzata per identificare in modo univoco una riga anche se la chiave primaria non è presente in una tabella. PostgreSQL ha una pseudocolonna simile `ctid` chiamata, ma non può essere usata come. `ROWID` Come spiegato nella documentazione di [PostgreSQL](https://www.postgresql.org/docs/current/ddl-system-columns.html)`ctid`, potrebbe cambiare se viene aggiornato o dopo ogni processo. `VACUUM`

Esistono tre modi per creare la funzionalità `ROWID` pseudocolonna in PostgreSQL:
+ Usa una colonna chiave primaria invece di identificare una riga `ROWID` in una tabella.
+ Utilizzate una primary/unique chiave logica (che potrebbe essere una chiave composita) nella tabella. 
+ Aggiungi una colonna con valori generati automaticamente e rendila una primary/unique chiave da `ROWID` imitare.

Questo modello illustra tutte e tre le implementazioni e descrive i vantaggi e gli svantaggi di ciascuna opzione.

## Prerequisiti e limitazioni
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Esperienza di codifica procedurale Language/PostgreSQL (PL/pgSQL)
+ Fonte Oracle Database
+ Un cluster compatibile con Amazon RDS per PostgreSQL o Aurora PostgreSQL o un'istanza per ospitare il database PostgreSQL EC2 

**Limitazioni**
+ Questo modello fornisce `ROWID` soluzioni alternative per la funzionalità. PostgreSQL non fornisce un equivalente a in Oracle Database. `ROWID`

**Versioni del prodotto**
+ PostgreSQL 11.9 o versione successiva

## Architecture
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-architecture"></a>

**Stack tecnologico di origine**
+ database Oracle

**Stack tecnologico Target**
+ Compatibile con Aurora PostgreSQL, Amazon RDS per PostgreSQL o un'istanza con un database PostgreSQL EC2 

![\[Conversione di un database Oracle in PostgreSQL su AWS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/9a2ce994-4f68-4975-aab2-796cc20a3c82/images/6e7c2ef6-f440-476a-9003-f1f166718e15.png)


**Opzioni di implementazione**

Esistono tre opzioni per ovviare alla mancanza di `ROWID` supporto in PostgreSQL, a seconda che la tabella abbia una chiave primaria o un indice univoco, una chiave primaria logica o un attributo di identità. La scelta dipende dalle tempistiche del progetto, dalla fase di migrazione corrente e dalle dipendenze dall'applicazione e dal codice del database.


| 
| 
| Opzione | Description | Vantaggi | Svantaggi | 
| --- |--- |--- |--- |
| **Chiave primaria o indice univoco** | Se la tabella Oracle ha una chiave primaria, puoi utilizzare gli attributi di questa chiave per identificare in modo univoco una riga.  | Nessuna dipendenza dalle funzionalità proprietarie del database.Impatto minimo sulle prestazioni, poiché i campi chiave primari sono indicizzati. | Richiede modifiche al codice dell'applicazione e del database su cui si basa il passaggio `ROWID` ai campi della chiave primaria.  | 
| **Chiave logica primary/unique ** | Se la tabella Oracle ha una chiave primaria logica, è possibile utilizzare gli attributi di questa chiave per identificare in modo univoco una riga. Una chiave primaria logica è costituita da un attributo o da un insieme di attributi che possono identificare in modo univoco una riga, ma non viene applicata al database tramite un vincolo. | Nessuna dipendenza dalle funzionalità proprietarie del database. | Richiede modifiche al codice dell'applicazione e del database su cui si basa il passaggio `ROWID` ai campi chiave primari.Impatto significativo sulle prestazioni se gli attributi della chiave primaria logica non sono indicizzati. Tuttavia, è possibile aggiungere un indice univoco per evitare problemi di prestazioni. | 
| **Attributo di identità** | se la tua tabella Oracle non ha una chiave primaria, puoi creare un campo aggiuntivo come`GENERATED ALWAYS AS IDENTITY`. Questo attributo genera un valore univoco ogni volta che i dati vengono inseriti nella tabella, quindi può essere utilizzato per identificare in modo univoco una riga per le operazioni DML (Data Manipulation Language). | Nessuna dipendenza dalle funzionalità proprietarie del database.Il database PostgreSQL popola l'attributo e ne mantiene l'unicità. | Richiede modifiche al codice dell'applicazione e del database su `ROWID` cui si basa il passaggio all'attributo di identità.Impatto significativo sulle prestazioni se il campo aggiuntivo non è indicizzato. Tuttavia, puoi aggiungere un indice per evitare problemi di prestazioni. | 

## Tools (Strumenti)
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-tools"></a>
+ [Amazon Relational Database Service (Amazon RDS) per PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ti aiuta a configurare, gestire e scalare un database relazionale PostgreSQL nel cloud AWS.
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [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 tua shell a riga di comando. **In questo modello, puoi utilizzare l'AWS CLI per eseguire comandi SQL tramite pgAdmin.**
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.

## Epiche
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-epics"></a>

### Identifica le tabelle di origine
<a name="identify-the-source-tables"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica le tabelle Oracle che utilizzano l'`ROWID`attributo. | Utilizza AWS Schema Conversion Tool (AWS SCT) per identificare le tabelle Oracle con `ROWID` funzionalità. Per ulteriori informazioni, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html#CHAP_Source.Oracle.ToPostgreSQL.ConvertRowID)oppureIn Oracle, usa la `DBA_TAB_COLUMNS` vista per identificare le tabelle che hanno un `ROWID` attributo. Questi campi possono essere utilizzati per memorizzare caratteri alfanumerici da 10 byte. Determina l'utilizzo e convertili in un `VARCHAR` campo, se necessario. | DBA o sviluppatore | 
| Identifica il codice che fa riferimento a queste tabelle. | Usa AWS SCT per generare un rapporto di valutazione della migrazione per identificare le procedure interessate da`ROWID`. Per ulteriori informazioni, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.html)oppureNel database Oracle di origine, utilizza il campo di testo della `dba_source` tabella per identificare gli oggetti che utilizzano `ROWID` funzionalità. | DBA o sviluppatore | 

### Determina l'utilizzo della chiave primaria
<a name="determine-primary-key-usage"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica le tabelle che non dispongono di chiavi primarie. | Nel database Oracle di origine, utilizzare `DBA_CONSTRAINTS` per identificare le tabelle che non dispongono di chiavi primarie. Queste informazioni ti aiuteranno a determinare la strategia per ogni tabella. Esempio:<pre>select dt.*<br />from dba_tables dt<br />where not exists (select 1<br />                  from all_constraints ct<br />                  where ct.owner = Dt.owner<br />                    and ct.table_name = Dt.table_name<br />                    and ct.constraint_type = 'P'<br />                  )<br />and dt.owner = '{schema}'</pre> | DBA o sviluppatore | 

### Identifica e applica la soluzione
<a name="identify-and-apply-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Applica le modifiche alle tabelle con una chiave primaria definita o logica.  | Apportate le modifiche al codice dell'applicazione e del database mostrate nella sezione [Informazioni aggiuntive](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional) per utilizzare una chiave primaria univoca o una chiave primaria logica per identificare una riga nella tabella. | DBA o sviluppatore | 
| Aggiungi un campo aggiuntivo alle tabelle che non hanno una chiave primaria definita o logica. | Aggiungi un attributo di tipo`GENERATED ALWAYS AS IDENTITY`. Apporta le modifiche al codice dell'applicazione e del database mostrate nella sezione [Informazioni aggiuntive](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional). | DBA o sviluppatore | 
| Aggiungi un indice se necessario. | Aggiungi un indice al campo aggiuntivo o alla chiave logica primaria per migliorare le prestazioni SQL. | DBA o sviluppatore | 

## Risorse correlate
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-resources"></a>
+ [PostgreSQL CTID (documentazione PostgreSQL](https://www.postgresql.org/docs/current/ddl-system-columns.html))
+ [Colonne generate](https://www.postgresql.org/docs/current/ddl-generated-columns.html) (documentazione PostgreSQL)
+ [Pseudocolonna ROWID](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ROWID-Pseudocolumn.html#GUID-F6E0FBD2-983C-495D-9856-5E113A17FAF1) (documentazione Oracle)

## Informazioni aggiuntive
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional"></a>

Le sezioni seguenti forniscono esempi di codice Oracle e PostgreSQL per illustrare i tre approcci.

**Scenario 1: utilizzo di una chiave unica primaria**

Negli esempi seguenti, si crea la tabella `testrowid_s1` con `emp_id` come chiave primaria.

*Codice Oracle:*

```
create table testrowid_s1 (emp_id integer, name varchar2(10), CONSTRAINT testrowid_pk PRIMARY KEY (emp_id));
INSERT INTO testrowid_s1(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s1(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s1(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s1(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 empname2
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4

UPDATE testrowid_s1 SET name = 'Ramesh' WHERE rowid = 'AAAF3pAAAAAAAMOAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 Ramesh
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4
```

*Codice PostgreSQL:*

```
CREATE TABLE public.testrowid_s1
(
    emp_id integer,
    name character varying,
    primary key (emp_id)
);

insert into public.testrowid_s1 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s1 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Scenario 2: utilizzo di una chiave logica primaria**

Negli esempi seguenti, si crea la tabella `testrowid_s2` con `emp_id` come chiave primaria logica.

*Codice Oracle:*

```
create table testrowid_s2 (emp_id integer, name varchar2(10) );
INSERT INTO testrowid_s2(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s2(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s2(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s2(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 empname2
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4

UPDATE testrowid_s2 SET name = 'Ramesh' WHERE rowid = 'AAAF3rAAAAAAAMeAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 Ramesh
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4
```

*Codice PostgreSQL:*

```
CREATE TABLE public.testrowid_s2
(
    emp_id integer,
    name character varying
);

insert into public.testrowid_s2 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s2 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Scenario 3: utilizzo di un attributo di identità**

Negli esempi seguenti, si crea la tabella `testrowid_s3` senza chiave primaria e utilizzando un attributo di identità.

*Codice Oracle:*

```
create table testrowid_s3 (name varchar2(10));
INSERT INTO testrowid_s3(name) values ('empname1');
INSERT INTO testrowid_s3(name) values ('empname2');
INSERT INTO testrowid_s3(name) values ('empname3');
INSERT INTO testrowid_s3(name) values ('empname4');
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB empname2
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4

UPDATE testrowid_s3 SET name = 'Ramesh' WHERE rowid = 'AAAF3sAAAAAAAMmAAB' ;
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB Ramesh
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4
```

*Codice PostgreSQL:*

```
CREATE TABLE public.testrowid_s3
(
    rowid_seq bigint generated always as identity,
    name character varying
);

insert into public.testrowid_s3 (name) values 
('empname1'),('empname2'),('empname3'),('empname4');

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         2 | empname2
         3 | empname3
         4 | empname4

update testrowid_s3 set name = 'Ramesh' where rowid_seq = 2 ;

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         3 | empname3
         4 | empname4
         2 | Ramesh
```

# Esegui la migrazione dei codici di errore del database Oracle a un database compatibile con Amazon Aurora PostgreSQL
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database"></a>

*Sai Parthasaradhi e Veeranjaneyulu Grandhi, Amazon Web Services*

## Riepilogo
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-summary"></a>

Questo modello mostra come migrare i codici di errore di Oracle Database [su un database Edition compatibile con Amazon Aurora PostgreSQL utilizzando](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) una tabella di metadati predefinita.

I codici di errore del database Oracle non hanno sempre un codice di errore PostgreSQL corrispondente. Questa differenza nei codici di errore può rendere difficile la configurazione della logica di elaborazione delle procedure o delle funzioni nell'architettura PostgreSQL di destinazione.

È possibile semplificare il processo memorizzando i codici di errore del database di origine e di destinazione significativi per il PL/pgSQL programma in una tabella di metadati. Quindi, configura la tabella per contrassegnare i codici di errore del database Oracle validi e mapparli agli equivalenti PostgreSQL prima di continuare con la logica di processo rimanente. Se il codice di errore del database Oracle non è presente nella tabella dei metadati, il processo termina con l'eccezione. È quindi possibile esaminare manualmente i dettagli dell'errore e aggiungere il nuovo codice di errore alla tabella se il programma lo richiede.

Utilizzando questa configurazione, il database compatibile con Amazon Aurora PostgreSQL può gestire gli errori allo stesso modo del database Oracle di origine.

**Nota**  
La configurazione di un database PostgreSQL per gestire correttamente i codici di errore del database Oracle richiede in genere modifiche al database e al codice dell'applicazione.

## Prerequisiti e limitazioni
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle di origine con servizi di istanza e listener attivi e funzionanti
+ Un cluster compatibile con Amazon Aurora PostgreSQL che è attivo e funzionante
+ Familiarità con Oracle Database
+ Familiarità con i database PostgreSQL

## Architecture
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-architecture"></a>

Il diagramma seguente mostra un esempio di flusso di lavoro di database compatibile con Amazon Aurora PostgreSQL per la convalida e la gestione dei codici di errore dei dati:

![\[Convalida e gestione del codice di errore dei dati per un database compatibile con Aurora PostgreSQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/82751f40-2fd9-4ce7-ab61-0874552d857b/images/b7ab627e-8f34-4635-8660-93c5c80ce38d.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Una tabella contiene i codici e le classificazioni di errore del database Oracle e i codici di errore e le classificazioni di errore PostgreSQL equivalenti. La tabella include una colonna **valid\$1error che classifica se codici di errore** specifici e predefiniti sono validi o meno.

1. **Quando una PL/pgSQL funzione (**func\$1processdata**) genera un'eccezione, richiama una seconda funzione (error\$1validation). PL/pgSQL **

1. La funzione error\$1validation accetta il codice di **errore del database Oracle** come argomento di input. Quindi, la funzione confronta il codice di errore in entrata con la tabella per verificare se l'errore è incluso nella tabella.

1. Se il codice di errore del database Oracle è incluso nella tabella, la funzione **error\$1validation** restituisce un valore **TRUE** e la logica del processo continua. Se il codice di errore non è incluso nella tabella, la funzione restituisce un valore **FALSE** e la logica del processo esce con un'eccezione.

1. Quando la funzione restituisce un valore **FALSE**, i dettagli dell'errore vengono esaminati manualmente dal responsabile funzionale dell'applicazione per determinarne la validità.

1. Il nuovo codice di errore viene quindi aggiunto manualmente alla tabella oppure no. Se il codice di errore è valido e aggiunto alla tabella, la funzione **error\$1validation** restituisce un valore **TRUE** la volta successiva che si verifica l'eccezione. Se il codice di errore non è valido e il processo deve fallire quando si verifica l'eccezione, il codice di errore non viene aggiunto alla tabella.

**Stack tecnologico**
+ Amazon Aurora PostgreSQL
+ pgAdmin
+ Oracle SQL Developer

## Tools (Strumenti)
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-tools"></a>
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di amministrazione e sviluppo open source per PostgreSQL. Fornisce un'interfaccia grafica che semplifica la creazione, la manutenzione e l'uso degli oggetti del database.
+ [Oracle SQL Developer](https://www.oracle.com/in/database/technologies/appdev/sqldeveloper-landing.html) è un ambiente di sviluppo gratuito e integrato che semplifica lo sviluppo e la gestione di Oracle Database sia nelle implementazioni tradizionali che in quelle cloud.

## Epiche
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-epics"></a>

### Esegui la migrazione dei codici di errore del database Oracle al tuo database compatibile con Amazon Aurora PostgreSQL
<a name="migrate-oracle-database-error-codes-to-your-amazon-aurora-postgresql-compatible-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una tabella nel database compatibile con Amazon Aurora PostgreSQL. | Esegui il seguente comando [PostgreSQL CREATE TABLE:](https://www.postgresql.org/docs/current/sql-createtable.html)<pre>(<br /><br />    source_error_code numeric NOT NULL,<br /><br />    target_error_code character varying NOT NULL,<br /><br />    valid_error character varying(1) NOT NULL<br /><br />); </pre> | Sviluppatore PostgreSQL, Oracle, per PostgreSQL RDS/Aurora  | 
| Aggiungere i codici di errore PostgreSQL e i codici di errore del database Oracle corrispondenti alla tabella. | **Esegui il comando [PostgreSQL](https://www.postgresql.org/docs/current/sql-insert.html) INSERT per aggiungere i valori del codice di errore richiesti alla tabella error\$1codes.****I codici di errore PostgreSQL devono utilizzare il tipo di dati variabile del carattere (valore SQLSTATE).** **I codici di errore Oracle devono utilizzare il tipo di dati numerico (valore SQLCODE).****Esempio di istruzioni Insert:**<pre>insert into error_codes values (-1817,'22007','Y');<br />insert into error_codes values (-1816,'22007','Y');<br />insert into error_codes values (-3114,'08006','N');</pre>Se rilevi eccezioni Java Database Connectivity (JDBC) specifiche di Oracle, devi sostituirle con eccezioni generiche tra database o passare a eccezioni specifiche di PostgreSQL. | Sviluppatore PostgreSQL, Oracle, per PostgreSQL RDS/Aurora  | 
| Crea una funzione per convalidare i codici di errore PL/pgSQL . | Crea una PL/pgSQL funzione eseguendo il comando [PostgreSQL CREATE FUNCTION](https://www.postgresql.org/docs/current/sql-createfunction.html). Assicurati che la funzione esegua le seguenti operazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.html) | Sviluppatore PostgreSQL, Oracle, per PostgreSQL RDS/Aurora  | 
| Esamina manualmente i nuovi codici di errore man mano che vengono registrati dalla funzione. PL/pgSQL  | Esamina manualmente i nuovi codici di errore.**Se un nuovo codice di errore è valido per il tuo caso d'uso, aggiungilo alla tabella **error\$1codes** eseguendo il comando PostgreSQL INSERT.**oppureSe un nuovo codice di errore non è valido per il tuo caso d'uso, non aggiungerlo alla tabella. La logica del processo continuerà a fallire e terminerà con un'eccezione quando si verifica l'errore. | Sviluppatore PostgreSQL, Oracle, per PostgreSQL RDS/Aurora  | 

## Risorse correlate
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-resources"></a>

[Appendice A. Codici di errore PostgreSQL (documentazione PostgreSQL](https://www.postgresql.org/docs/11/errcodes-appendix.html))

Messaggi di errore del database (documentazione di Oracle [Database](https://docs.oracle.com/cd/E11882_01/server.112/e17766/toc.htm))

# Esegui la migrazione di SAP ASE su Amazon Aurora, compatibile EC2 con PostgreSQL utilizzando AWS SCT e AWS DMS
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms"></a>

*Amit Kumar e Ankit Gupta, Amazon Web Services*

## Riepilogo
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-summary"></a>

Questo modello descrive come migrare un database SAP Adaptive Server Enterprise (SAP ASE) ospitato su un'istanza Amazon Elastic Compute Cloud (Amazon) verso l'edizione compatibile con EC2 Amazon Aurora PostgreSQL utilizzando AWS Schema Conversion Tool (AWS SCT) e AWS Database Migration Service (AWS DMS). Il modello si concentra sia sulle conversioni DDL (Data Definition Language) per gli oggetti archiviati sia sulla migrazione dei dati.

La compatibilità con Aurora PostgreSQL supporta i carichi di lavoro OLTP (Online Transaction Processing). Questo servizio gestito fornisce configurazioni scalabili automaticamente su richiesta. Può avviare, spegnere, scalare o ridurre automaticamente il database in base alle esigenze dell'applicazione. È possibile eseguire il database nel cloud senza gestire alcuna istanza di database. La compatibilità con Aurora PostgreSQL offre un'opzione conveniente per carichi di lavoro poco frequenti, intermittenti o imprevedibili.

Il processo di migrazione consiste in due fasi principali:
+ Conversione dello schema del database utilizzando AWS SCT
+ Migrazione dei dati utilizzando AWS DMS

Istruzioni dettagliate per entrambe le fasi sono fornite nella sezione *Epics*. Per informazioni sulla risoluzione dei problemi specifici dell'utilizzo di AWS DMS con i database SAP ASE, consulta [Risoluzione dei problemi con SAP ASE](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.SAP) nella documentazione di AWS DMS.

## Prerequisiti e limitazioni
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database SAP ASE di origine su un' EC2 istanza con server, database e servizi di listener attivi e funzionanti
+ Un database di destinazione compatibile con Aurora PostgreSQL

**Limitazioni**
+ Il numero di porta per le connessioni deve essere 5432.
+ La funzionalità [huge\$1pages](https://www.postgresql.org/docs/9.6/static/runtime-config-resource.html) è attiva per impostazione predefinita ma può essere modificata.
+ Point-in-time la granularità del ripristino (PITR) è di 5 minuti.
+ La replica tra regioni non è attualmente disponibile.
+ La dimensione massima di archiviazione per un database Aurora è di 128 TiB.
+ È possibile creare fino a 15 repliche di lettura.
+ Il limite di dimensione della tabella è vincolato solo dalla dimensione del volume del cluster Aurora, quindi la dimensione massima della tabella per un cluster DB compatibile con Aurora PostgreSQL è di 32 TiB. Ti consigliamo di seguire le migliori pratiche per la progettazione delle tabelle, come il partizionamento di tabelle di grandi dimensioni.

**Versioni del prodotto**
+ Database di origine: AWS DMS attualmente supporta SAP ASE 15, 15.5, 15.7 e 16.x. Consulta la [AWS DMS User Guide](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html) per le informazioni più recenti sul supporto della versione SAP ASE.
+ Database di destinazione: PostgreSQL 9.4 e versioni successive (per la versione 9.x), 10.x, 11.x, 12.x, 13.x e 14.x. Consulta la [AWS DMS User Guide](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) per le ultime versioni di PostgreSQL supportate.
+ Amazon Aurora 1.x o versione successiva. Per le informazioni più recenti, consulta le versioni del motore [e le versioni del motore compatibili con Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) nella documentazione di Aurora.

## Architecture
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-architecture"></a>

**Stack tecnologico di origine**
+ Database SAP ASE in esecuzione su Amazon EC2

**Stack tecnologico Target**
+ Database Aurora compatibile con PostgreSQL

**Architettura di migrazione**

![\[Migrazione di un database SAP ASE su Aurora compatibile con PostgreSQL utilizzando AWS SCT e AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/07fbdea1-0242-40ae-8e5f-2ce4a620a047/images/a3b018f3-2e7b-4c37-a218-870c56132acb.png)


## Tools (Strumenti)
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-tools"></a>
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) supporta diversi database di origine e destinazione. Per ulteriori informazioni, consulta [Sources for Data Migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) e [Targets for Data Migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) nella documentazione di AWS DMS. Per il supporto più completo della versione e delle funzionalità, ti consigliamo di utilizzare la versione più recente di AWS DMS. 

## Epiche
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-epics"></a>

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura l'accesso alla rete nell' EC2 istanza di origine. | Configura i gruppi di sicurezza nell' EC2 istanza che ospita il database SAP ASE di origine.Per istruzioni, consulta [i gruppi EC2 di sicurezza Amazon per le istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html?icmpid=docs_ec2_console) nella EC2 documentazione di Amazon. | Amministratore di sistema | 
| Crea il tuo cluster DB di destinazione compatibile con Aurora PostgreSQL. | Installa, configura e avvia un cluster compatibile con Aurora PostgreSQL per il tuo database di destinazione.Per ulteriori informazioni, consulta [Creazione di un cluster Amazon Aurora DB nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) di Aurora. | DBA | 
| Imposta l'autorizzazione per il cluster DB di destinazione. | Configura gruppi di sicurezza e firewall per il database di destinazione.Per istruzioni, consulta [Creazione di un cluster Amazon Aurora DB nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) di Aurora. | DBA, amministratore di sistema | 

### Converti lo schema del tuo database con AWS SCT
<a name="convert-your-database-schema-with-aws-sct"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia AWS SCT. | Avvia AWS SCT seguendo le istruzioni nella documentazione di [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html)AWS SCT fornisce un'interfaccia utente basata su progetti per convertire automaticamente lo schema del database di origine SAP ASE in un formato compatibile con l'istanza DB Aurora PostgreSQL di destinazione. | DBA | 
| Crea endpoint AWS SCT. | Crea endpoint per i database SAP ASE di origine e PostgreSQL di destinazione.Per istruzioni, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers) | DBA | 
| Crea un rapporto di valutazione. | Crea un rapporto di valutazione della migrazione del database per valutare la migrazione e rilevare eventuali oggetti e funzioni incompatibili.Per istruzioni, consulta la [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) | DBA | 
| Convertire lo schema. | Converti lo schema del database seguendo le istruzioni nella [documentazione di AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html) | DBA | 
| Convalida gli oggetti del database. | Se AWS SCT non è in grado di convertire un oggetto di database, ne identificherà il nome e altri dettagli. È necessario convertire questi oggetti manualmente.Per identificare queste discrepanze, segui le istruzioni nel post del blog AWS [Convalida gli oggetti del database dopo la migrazione da SAP ASE ad Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/validate-database-objects-after-migrating-from-sap-ase-to-amazon-rds-for-postgresql-or-amazon-aurora-postgresql/). | DBA | 

### Analizza la migrazione di AWS DMS
<a name="analyze-the-aws-dms-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni del database di origine e di destinazione. | Verifica la compatibilità delle versioni del database SAP ASE con AWS DMS. Per ulteriori informazioni, consulta [Sources for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html#CHAP_Introduction.Sources.title) e [Targets for AWS DMS nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) di AWS DMS. | DBA | 
| Identifica i requisiti per il tipo e la capacità di archiviazione. | Scegli la capacità di archiviazione appropriata per il database di destinazione in base alle dimensioni del database di origine. | DBA, amministratore di sistema | 
| Scegli il tipo di istanza, la capacità e altre caratteristiche dell'istanza di replica. | Scegli il tipo di istanza, la capacità, le funzionalità di archiviazione e le funzionalità di rete che soddisfano i tuoi requisiti.Per indicazioni, consulta [Scelta dell'istanza di replica AWS DMS giusta per la migrazione nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html) di AWS DMS. | DBA, amministratore di sistema | 
| Identifica i requisiti di sicurezza dell'accesso alla rete. | Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione.Segui le indicazioni in [Configurazione di una rete per un'istanza di replica nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html) di AWS DMS. | DBA, amministratore di sistema | 

### Migrare i dati
<a name="migrate-the-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra i dati creando un'attività di migrazione in AWS DMS. | Per migrare i dati, crea un'attività e segui le istruzioni nella documentazione di [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità. | DBA | 
| Convalida i dati. | Per verificare che i tuoi dati siano stati migrati con precisione dal database di origine al database di destinazione, segui le [linee guida sulla convalida dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) fornite nella documentazione di AWS DMS. | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica la strategia di migrazione delle applicazioni. | Scegli una delle [sette strategie (7R)](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/planning-phase.html) per la migrazione delle applicazioni sul cloud. | DBA, proprietario dell'app, amministratore di sistema | 
| Segui la strategia di migrazione delle applicazioni. | Completa le attività del database identificate dal team dell'applicazione, incluso l'aggiornamento dei dettagli di connessione DNS per il database di destinazione e l'aggiornamento delle query dinamiche.  | DBA, proprietario dell'app, amministratore di sistema | 

### Passa al database di destinazione
<a name="cut-over-to-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. | Passa la connessione dal database di origine al database di destinazione. Per ulteriori informazioni, consulta la sezione [Cut over](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/cut-over.html) della *strategia di migrazione per i database relazionali*. | DBA, proprietario dell'app, amministratore di sistema | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. | Termina tutte le attività di migrazione, le istanze di replica, gli endpoint e altre risorse AWS SCT e AWS DMS. Per ulteriori informazioni, consulta la [documentazione di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Deleting). | DBA, amministratore di sistema | 
| Rivedi e convalida i documenti del progetto. | Convalida tutti i passaggi della documentazione del progetto per assicurarti che tutte le attività siano state completate con successo. | DBA, proprietario dell'app, amministratore di sistema | 
| Chiudi il progetto. | Chiudi il progetto di migrazione e fornisci eventuali feedback. | DBA, proprietario dell'app, amministratore di sistema | 

## Risorse correlate
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-resources"></a>

**Riferimenti**
+ [Abilita connessioni crittografate per le istanze DB PostgreSQL in Amazon RDS (AWS Prescriptive Guidance](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds.html))
+ [Trasporta i database PostgreSQL tra due istanze DB Amazon RDS utilizzando pg\$1transport](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg_transport.html) (AWS Prescriptive Guidance)
+ [Prezzi di Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Best practice con Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.BestPractices.html) (documentazione Amazon Aurora)
+ [Documentazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Utilizzo di un database SAP ASE come origine per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)

**Tutorial e video**
+ [Guida introduttiva ad AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)
+ [AWS Database Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U) (video)

# Migrazione dei certificati SSL di Windows su un Application Load Balancer utilizzando ACM
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm"></a>

*Chandra Sekhar Yaratha e Igor Kovalchuk, Amazon Web Services*

## Riepilogo
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-summary"></a>

Il modello fornisce linee guida per l'utilizzo di AWS Certificate Manager (ACM) per migrare i certificati Secure Sockets Layer (SSL) esistenti da siti Web ospitati su server locali o istanze Amazon Elastic Compute Cloud (Amazon EC2) su Microsoft Internet Information Services (IIS). I certificati SSL possono quindi essere utilizzati con Elastic Load Balancing on AWS. 

SSL protegge i dati, conferma la tua identità, migliora il posizionamento nei motori di ricerca, aiuta a soddisfare i requisiti del Payment Card Industry Data Security Standard (PCI DSS) e migliora la fiducia dei clienti. Gli sviluppatori e i team IT che gestiscono questi carichi di lavoro desiderano che le loro applicazioni e infrastrutture Web, inclusi il server IIS e Windows Server, rimangano conformi alle loro politiche di base.

Questo modello prevede l'esportazione manuale dei certificati SSL esistenti da Microsoft IIS, la loro conversione dal formato Personal Information Exchange (PFX) al formato Private Enhanced Mail (PEM) supportato da ACM e quindi l'importazione in ACM nel tuo account AWS. Descrive inoltre come creare un Application Load Balancer per l'applicazione e configurare Application Load Balancer per utilizzare i certificati importati. Le connessioni HTTPS vengono quindi terminate sull'Application Load Balancer e non è necessario un ulteriore sovraccarico di configurazione sul server Web. Per ulteriori informazioni, consulta [Creare un listener HTTPS per l'Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html).

I server Windows utilizzano file con estensione pfx o p12 per contenere il file della chiave pubblica (certificato SSL) e il relativo file di chiave privata univoco. L'Autorità di certificazione (CA) ti fornisce il tuo file di chiave pubblica. Utilizzate il server per generare il file di chiave privata associato in cui è stata creata la richiesta di firma del certificato (CSR).

## Prerequisiti e limitazioni
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un cloud privato virtuale (VPC) su AWS con almeno una sottorete privata e una pubblica in ogni zona di disponibilità utilizzata dai tuoi obiettivi
+ IIS versione 8.0 o successiva in esecuzione su Windows Server 2012 o versione successiva
+ Un'applicazione Web in esecuzione su IIS
+ Accesso dell'amministratore al server IIS

## Architecture
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-architecture"></a>

**Stack tecnologico di origine**
+ Implementazione del server Web IIS con SSL per garantire che i dati vengano trasmessi in modo sicuro in una connessione crittografata (HTTPS) 

**Architettura di origine**

![\[Architettura di origine per la migrazione dei certificati SSL di Windows su Application Load Balancer tramite ACM\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/e63efb6f-205b-4e20-a043-6bc954470191.png)


**Stack tecnologico Target**
+ Certificati ACM nel tuo account AWS
+ Un Application Load Balancer configurato per utilizzare certificati importati
+ Istanze di Windows Server nelle sottoreti private

**Architettura Target**

![\[Architettura di destinazione per la migrazione dei certificati SSL di Windows su Application Load Balancer tramite ACM\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/45ac7fba-fbad-4c74-9b1f-80ca212dae08.png)


 

## Tools (Strumenti)
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-tools"></a>
+ [AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) ti aiuta a creare, archiviare e rinnovare certificati e chiavi SSL/TLS X.509 pubblici e privati che proteggono i tuoi siti Web e le tue applicazioni AWS.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) distribuisce il traffico di applicazioni o di rete in entrata su più destinazioni. Ad esempio, puoi distribuire il traffico tra EC2 istanze, contenitori e indirizzi IP in una o più zone di disponibilità.

## Best practice
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-best-practices"></a>
+ Applica i reindirizzamenti del traffico da HTTP a HTTPS.
+ Configura correttamente i gruppi di sicurezza per il tuo Application Load Balancer per consentire il traffico in entrata solo verso porte specifiche.
+ Avvia le tue EC2 istanze in diverse zone di disponibilità per garantire un'elevata disponibilità.
+ Configura il dominio dell'applicazione in modo che punti al nome DNS dell'Application Load Balancer anziché al suo indirizzo IP.
+ [Assicurati che l'Application Load Balancer abbia configurato i controlli di integrità a livello di applicazione.](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)
+ Configura la soglia per i controlli sanitari.
+ Usa [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) per monitorare l'Application Load Balancer.

## Epiche
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-epics"></a>

### Esporta un file.pfx
<a name="export-a-pfx-file"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esporta il file.pfx da Windows Server. | Per esportare il certificato SSL come file.pfx dal gestore IIS locale in Windows Server:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)Il file.pfx dovrebbe ora essere salvato nella posizione e nel percorso specificati. | Amministratore di sistema | 

### Convertire il certificato con codifica PFX in formato PEM
<a name="convert-the-pfx-encoded-certificate-to-pem-format"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica e installa il toolkit OpenSSL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Amministratore di sistema | 
| Convertire il certificato con codifica PFX in formato PEM. | I seguenti passaggi convertono il file di certificato firmato e codificato in PFX in tre file in formato PEM:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)Per convertire il certificato codificato PFX:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Amministratore di sistema | 

### Importa un certificato in ACM
<a name="import-a-certificate-into-acm"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparati a importare il certificato. | Nella [console ACM](https://console.aws.amazon.com/acm/home), scegli **Importa un certificato**. | Amministratore cloud | 
| Fornisci l'ente del certificato. | Per **Organismo del certificato**, incolla il certificato con codifica PEM che desideri importare. Per ulteriori informazioni sui comandi e sui passaggi descritti in questa e in altre attività di questa epopea, consulta [Importazione di un](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html) certificato nella documentazione ACM. | Amministratore cloud | 
| Fornisci la chiave privata del certificato. | Per **Certificate private key (Chiave privata certificato)**, incolla la chiave privata non crittografata, con codifica PEM, corrispondente alla chiave pubblica del certificato. | Amministratore cloud | 
| Fornisci la catena di certificati. | Per **Certificate Chain, incolla la catena** di certificati con codifica PEM, che è memorizzata nel file. `CertificateChain.pem` | Amministratore cloud | 
| Importa il certificato. | Seleziona **Review and import** (Riconsulta e importa). Verifica che le informazioni sul certificato siano corrette, quindi scegli **Importa**. | Amministratore cloud | 

### Creazione di un Application Load Balancer
<a name="create-an-application-load-balancer"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea e configura il sistema di bilanciamento del carico e i listener. | Segui le istruzioni nella [documentazione di Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) per configurare un gruppo target, registrare i target e creare un Application Load Balancer e un listener. Aggiungi un secondo listener (HTTPS) per la porta 443. | Amministratore cloud | 

## risoluzione dei problemi
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Windows PowerShell non riconosce il comando OpenSSL anche dopo averlo aggiunto al percorso di sistema. | Assicurati `$env:path` che includa la posizione dei binari OpenSSL.In caso contrario, esegui il seguente comando in: PowerShell<pre>$env:path = $env:path + ";C:\OpenSSL-Win64\bin"</pre> | 

## Risorse correlate
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-resources"></a>

**Importazione di un certificato in ACM**
+ [Console ACM](https://console.aws.amazon.com/acm/home)
+ [Certificato e formato della chiave per l'importazione](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-format.html)
+ [Importazione di un certificato](https://aws.amazon.com/blogs/security/how-to-import-pfx-formatted-certificates-into-aws-certificate-manager-using-openssl/)
+ [Guida per l'utente di AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)

**Creazione di un Application Load Balancer**
+ [Creare un Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)
+ [Guida per l'utente di Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)

# Esegui la migrazione di una coda di messaggistica da Microsoft Azure Service Bus ad Amazon SQS
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs"></a>

*Nisha Gambhir, Amazon Web Services*

## Riepilogo
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-summary"></a>

Questo modello descrive come migrare un'applicazione web.NET Framework o.NET Core o console dall'uso della piattaforma di messaggistica in coda Microsoft Azure Service Bus ad Amazon Simple Queue Service (Amazon SQS).

Le applicazioni utilizzano i servizi di messaggistica per inviare e ricevere dati da altre applicazioni. Questi servizi aiutano a creare microservizi, sistemi distribuiti e applicazioni serverless disaccoppiati e altamente scalabili nel cloud.

Le code dei bus di servizio di Azure fanno parte di un'infrastruttura di messaggistica di Azure più ampia che supporta l'accodamento e la messaggistica. publish/subscribe  

Amazon SQS è un servizio di accodamento dei messaggi completamente gestito che consente di disaccoppiare e scalare microservizi, sistemi distribuiti e applicazioni serverless. Amazon SQS elimina la complessità e il sovraccarico associati alla gestione e al funzionamento del middleware orientato ai messaggi e consente agli sviluppatori di concentrarsi sulla differenziazione del lavoro. Con Amazon SQS, puoi inviare, archiviare e ricevere messaggi tra componenti software a qualsiasi volume, senza perdere messaggi o richiedere la disponibilità di altri servizi.

## Prerequisiti e limitazioni
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Un account AWS attivo 
+ Un'applicazione web o console DI.NET Framework o .NET Core che usa le code dei bus di servizio di Azure (codice di esempio allegato)

**Versioni del prodotto**
+ .NET Framework 3.5 o versione successiva oppure .NET Core 1.0.1, 2.0.0 o versione successiva

## Architecture
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-architecture"></a>

**Stack tecnologico di origine**
+ Un'applicazione web.NET (Core o Framework) o console che usa una coda del bus di servizio di Azure per inviare messaggi

 

**Stack tecnologico Target**
+ Amazon SQS

## Tools (Strumenti)
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-tools"></a>

**Strumenti**
+ Microsoft Visual Studio

**Codice**

Per creare una policy di AWS Identity and Access management (IAM) per Amazon SQS:

1. Accedi alla Console di gestione AWS, quindi apri la console di IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

2. Nel pannello di navigazione sulla sinistra, selezionare **Policies** (Policy) e fare clic su **Create Policy** (Crea policy).

3. Scegli la scheda **JSON** e incolla il seguente codice:

```
{
   "Version": "2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
            "sqs:DeleteMessage",
            "sqs:GetQueueUrl",
            "sqs:ChangeMessageVisibility",
            "sqs:SendMessageBatch",
            "sqs:ReceiveMessage",
            "sqs:SendMessage",
            "sqs:GetQueueAttributes",
            "sqs:ListQueueTags",
            "sqs:ListDeadLetterSourceQueues",
            "sqs:DeleteMessageBatch",
            "sqs:PurgeQueue",
            "sqs:DeleteQueue",
            "sqs:CreateQueue",
            "sqs:ChangeMessageVisibilityBatch",
            "sqs:SetQueueAttributes"
         ],
         "Resource": "arn:aws:sqs:*:<AccountId>:*"
      },
      {
         "Sid": "VisualEditor1",
         "Effect": "Allow",
         "Action": "sqs:ListQueues",
         "Resource": "*"
      }
   ]
}
```

4. Scegli **Review policy**, digita un nome, quindi scegli **Crea policy**.

5. Collega la policy appena creata al tuo ruolo IAM esistente o crea un nuovo ruolo.

## Epiche
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-epics"></a>

### Configurare Amazon SQS in AWS
<a name="set-up-amazon-sqs-in-aws"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una policy IAM per Amazon SQS. | Crea la policy IAM che fornirà l'accesso ad Amazon SQS. Consulta la sezione Codice per un esempio di policy. | Ingegnere di sistema | 
| Crea un profilo AWS. | Crea un nuovo profilo eseguendo AWS Tools for PowerShell command Set-AWSCredential. Questo comando memorizza la chiave di accesso e la chiave segreta nel file di credenziali predefinito sotto il nome del profilo specificato. Collega la policy Amazon SQS che hai creato in precedenza a questo account. Conserva l'ID della chiave di accesso AWS e la chiave di accesso segreta. Questi saranno necessari nei passaggi successivi. | Ingegnere di sistema | 
| Crea una coda SQS. | È possibile creare una coda standard o una coda FIFO (First In-First Out). Per istruzioni, consulta il link nella sezione Riferimenti. | Ingegnere di sistema | 

### Modifica il codice dell'applicazione.NET
<a name="revise-your-net-application-code"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa AWS Toolkit per Visual Studio. | Questo toolkit è un'estensione per Microsoft Visual Studio e semplifica la creazione e la distribuzione di applicazioni.NET in AWS. Per istruzioni di installazione e utilizzo, consulta il link nella sezione Riferimenti. | Sviluppatore di applicazioni | 
| Installa il pacchetto AWSSDK .SQS. NuGet  | Puoi installare AWSSDK .SQS scegliendo «Manage NuGet Package» in Visual Studio o eseguendo il comando « AWSSDKInstall-Package .SQS». | Sviluppatore di applicazioni | 
| Crea un AWSCredentials oggetto nella tua applicazione.NET. | L'applicazione di esempio nell'allegato mostra come creare un AWSCredentials oggetto Basic, che eredita da AWSCredentials. È possibile utilizzare l'ID della chiave di accesso e la chiave di accesso segreta utilizzati in precedenza oppure lasciare che l'oggetto li scelga dalla cartella.aws come parte del profilo utente in fase di esecuzione. | Sviluppatore di applicazioni | 
| Crea un oggetto client SQS. | Crea un oggetto client SQS (AmazonSQSClient) per.NET Framework. Fa parte dello spazio dei nomi Amazon.sqs. Questo oggetto è richiesto al posto di IQueue Client, che fa parte di Microsoft.Azure. ServiceBus spazio dei nomi. | Sviluppatore di applicazioni | 
| Chiama il SendMessageAsync metodo per inviare messaggi alla coda SQS. | Cambia il codice che invia il messaggio alla coda per utilizzare il. amazonSqsClient SendMessageAsync metodo. Per i dettagli, consultate l'esempio di codice allegato. | Sviluppatore di applicazioni | 
| Chiama il ReceiveMessageAsync metodo per ricevere messaggi dalla coda SQS. | Cambia il codice che riceve il messaggio per utilizzare il. amazonSqsClient ReceiveMessageAsync metodo. Per i dettagli, consultate l'esempio di codice allegato. | Sviluppatore di applicazioni | 
| Chiama il DeleteMessageAsync metodo per eliminare i messaggi dalla coda SQS. | Per eliminare i messaggi, modifica il codice dal QueueClient. CompleteAsync metodo per. amazonSqsClient DeleteMessageAsync metodo. Per i dettagli, consultate l'esempio di codice allegato. | Sviluppatore di applicazioni | 

## Risorse correlate
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-related-resources"></a>
+ [Guida per gli sviluppatori dell'SDK AWS per .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/welcome.html)
+ [Messaggistica tramite Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/sqs-apis-intro.html)
+ [Creazione e utilizzo di una coda Amazon SQS con l'SDK AWS per.NET](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/how-to-sqs.html)
+ [Inviare un messaggio Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/SendMessage.html)
+ [Ricevi un messaggio da una coda Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/ReceiveMessage.html)
+ [Eliminazione di un messaggio da una coda Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/DeleteMessage.html)
+ [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html)

## Informazioni aggiuntive
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-additional-information"></a>

Questo modello include due applicazioni di esempio (consulta la sezione allegati):
+ **AzureSbTestApp**include codice che usa la coda del bus di servizio di Azure.
+ **AmazonSqsTestApp**utilizza Amazon SQS. Si tratta di un'applicazione console che utilizza.NET Core 2.2 e include esempi per l'invio e la ricezione di messaggi.

Note:
+ QueueClient è un oggetto di IQueue Client, che fa parte di Microsoft.Azure. ServiceBus namespace (incluso in Microsoft.Azure). ServiceBus NuGet pacchetto).
+ amazonSqsClient è un oggetto di AmazonSQSClient, che fa parte dello spazio dei nomi Amazon.sqs (incluso nel pacchetto.SQS). AWSSDK NuGet 
+ A seconda di dove è in esecuzione il codice, ad esempio se è in esecuzione EC2, il ruolo deve avere l'autorizzazione per scrivere nella coda SQS.

## Allegati
<a name="attachments-25334709-7000-4f60-87ed-ea41acb41a99"></a>

[Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/25334709-7000-4f60-87ed-ea41acb41a99/attachments/attachment.zip)

# Esegui la migrazione di un database Oracle JD Edwards EnterpriseOne su AWS utilizzando Oracle Data Pump e AWS DMS
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms"></a>

*Thanigaivel Thirumalai, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-summary"></a>

Puoi migrare ed eseguire il tuo database JD Edwards su [Amazon Relational EnterpriseOne Database Service (Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) RDS). Quando migri il tuo database su Amazon RDS, AWS può occuparsi delle attività di backup e della configurazione ad alta disponibilità, in modo che tu possa concentrarti sulla manutenzione EnterpriseOne dell'applicazione e delle sue funzionalità. Per un elenco completo dei fattori chiave da considerare durante il processo di migrazione, consulta [le strategie di migrazione del database Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) in AWS Prescriptive Guidance.

Esistono diversi modi per migrare un EnterpriseOne database, tra cui:
+ Utilizzo di Oracle Universal Batch Engine (UBE) R98403 per la creazione di schemi e tabelle e utilizzo di AWS Database Migration Service (AWS DMS) per la migrazione
+ Utilizzo di strumenti nativi DB per la creazione di schemi e tabelle e utilizzo di AWS DMS per la migrazione
+ Utilizzo di strumenti nativi DB per la migrazione di dati esistenti (a pieno carico) e utilizzo di AWS DMS per attività di change data capture (CDC)

Questo modello copre la terza opzione. Spiega come migrare i EnterpriseOne database locali su Amazon RDS for Oracle utilizzando Oracle Data Pump con [AWS DMS](https://aws.amazon.com/dms) e la sua funzionalità CDC.

[Oracle JD Edwards EnterpriseOne](https://www.oracle.com/applications/jd-edwards-enterpriseone/) è una soluzione ERP (Enterprise Resource Planning) per organizzazioni che producono, costruiscono, distribuiscono, forniscono assistenza o gestiscono prodotti o risorse fisiche. JD Edwards EnterpriseOne supporta vari hardware, sistemi operativi e piattaforme di database.

Quando si migrano applicazioni ERP critiche come JD Edwards EnterpriseOne, ridurre al minimo i tempi di inattività è fondamentale. AWS DMS riduce al minimo i tempi di inattività supportando sia la replica a pieno carico che quella continua dal database di origine al database di destinazione. AWS DMS fornisce anche monitoraggio e registrazione in tempo reale per la migrazione, che possono aiutarti a identificare e risolvere eventuali problemi che potrebbero causare interruzioni.

Quando replichi le modifiche con AWS DMS, devi specificare un orario o un numero di modifica del sistema (SCN) come punto di partenza per leggere le modifiche dai log del database. È fondamentale mantenere questi log accessibili sul server per un determinato periodo di tempo (consigliamo 15 giorni) per garantire che AWS DMS abbia accesso a queste modifiche.

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-prereqs"></a>

**Prerequisiti**
+ Un database Amazon RDS for Oracle fornito nel tuo ambiente cloud AWS come database di destinazione. Per istruzioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html).
+ Un EnterpriseOne database in esecuzione in locale o su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) su AWS.
**Nota**  
Questo modello è progettato per la migrazione da locale ad AWS, ma è stato testato utilizzando un EnterpriseOne database su un'istanza EC2. Se prevedi di migrare dal tuo ambiente locale, devi configurare la connettività di rete appropriata.
+ Dettagli dello schema. Identifica lo schema del database Oracle (ad esempio DV920) per cui intendi migrare. EnterpriseOne Prima di iniziare il processo di migrazione, raccogli i seguenti dettagli sullo schema:
  + Dimensioni dello schema
  + Il numero di oggetti per tipo di oggetto
  + Il numero di oggetti non validi

**Limitazioni**
+ Devi creare tutti gli schemi che desideri sul database Amazon RDS for Oracle di destinazione: AWS DMS non li crea per te. (La sezione [Epics](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics) descrive come utilizzare Data Pump per esportare e importare schemi.) Il nome dello schema deve già esistere per il database Oracle di destinazione. Le tabelle dello schema di origine vengono importate nell'utente o nello schema e AWS DMS utilizza l'account amministratore o di sistema per connettersi all'istanza di destinazione. Per migrare più schemi, puoi creare più attività di replica. Puoi anche migrare i dati verso schemi diversi su un'istanza di destinazione. A tale scopo, utilizza le regole di trasformazione dello schema sulle mappature delle tabelle AWS DMS.
+ Questo modello è stato testato con un set di dati dimostrativo. Ti consigliamo di convalidare la compatibilità del set di dati e della personalizzazione.
+ Questo modello utilizza un EnterpriseOne database in esecuzione su Microsoft Windows. Tuttavia, puoi utilizzare lo stesso processo con altri sistemi operativi supportati da AWS DMS.

## Architecture
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-architecture"></a>

Il diagramma seguente mostra un sistema in esecuzione EnterpriseOne su un database Oracle come database di origine e un database Amazon RDS for Oracle come database di destinazione. I dati vengono esportati dal database Oracle di origine e importati nel database Amazon RDS for Oracle di destinazione utilizzando Oracle Data Pump e replicati per gli aggiornamenti CDC utilizzando AWS DMS.

![\[Diagram showing data replication from on-premises Oracle to Amazon RDS using AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. Oracle Data Pump estrae i dati dal database di origine e i dati vengono inviati alla destinazione del database Amazon RDS for Oracle.

1. I dati CDC vengono inviati dal database di origine a un endpoint di origine in AWS DMS.

1. Dall'endpoint di origine, i dati vengono inviati all'istanza di replica AWS DMS, dove viene eseguita l'attività di replica.

1. Una volta completata l'attività di replica, i dati vengono inviati all'endpoint di destinazione in AWS DMS.

1. Dall'endpoint di destinazione, i dati vengono inviati all'istanza del database Amazon RDS for Oracle.

## Tools (Strumenti)
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-tools"></a>

**Servizi AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [Amazon Relational Database Service (Amazon RDS) per](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle ti aiuta a configurare, gestire e scalare un database relazionale Oracle nel cloud AWS.

**Altri servizi**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) ti aiuta a spostare dati e metadati da un database all'altro ad alta velocità.

## Best practice
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-best-practices"></a>

**Migrating LOBs** (Migrazione in corso)

Se il database di origine contiene oggetti binari di grandi dimensioni (LOBs) che devono essere migrati al database di destinazione, AWS DMS offre le seguenti opzioni:
+ **Modalità LOB completa**: AWS DMS migra tutto LOBs dal database di origine a quello di destinazione indipendentemente dalle dimensioni. Sebbene la migrazione sia più lenta rispetto alle altre modalità, il vantaggio è che i dati non vengono troncati. Per prestazioni migliori, è possibile creare un'attività separata sulla nuova istanza di replica per migrare le tabelle con dimensioni superiori a pochi LOBs megabyte.
+ **Modalità LOB limitata**: specifichi la dimensione massima dei dati delle colonne LOB, che consente ad AWS DMS di preallocare le risorse e applicarle in blocco. LOBs Se la dimensione delle colonne LOB supera la dimensione specificata nell'attività, AWS DMS tronca i dati e invia avvisi al file di registro di AWS DMS. È possibile migliorare le prestazioni utilizzando la modalità LOB limitata se la dimensione dei dati LOB rientra nella dimensione LOB limitata.
+ **Modalità LOB in linea**: è possibile migrare LOBs senza troncare i dati o rallentare le prestazioni dell'attività eseguendo repliche sia di piccole che di grandi dimensioni. LOBs Innanzitutto, specificate un valore per il `InlineLobMaxSize` parametro, che è disponibile solo quando la modalità LOB completa è impostata su. `true` Il task AWS DMS trasferisce le piccole operazioni LOBs in linea, il che è più efficiente. Quindi, AWS DMS migra i file di grandi dimensioni LOBs eseguendo una ricerca dalla tabella di origine. Tuttavia, la modalità LOB in linea funziona solo durante la fase di pieno carico.

**Generazione di valori di sequenza**

Durante il processo CDC di AWS DMS, i numeri di sequenza incrementali non vengono replicati dal database di origine. Per evitare discrepanze nei valori di sequenza, devi generare il valore di sequenza più recente dall'origine per tutte le sequenze e applicarlo al database Amazon RDS for Oracle di destinazione.

**AWS Secrets Manager**

Per aiutarti a gestire le tue credenziali, ti consigliamo di seguire le istruzioni contenute nel post del blog [Manage your AWS DMS endpoint Credentials with AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/).

**Prestazioni**
+ **Istanze di replica** ‒ Per indicazioni sulla scelta della dimensione migliore dell'istanza, consulta [Selezione della dimensione migliore per un'istanza di replica](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.SizingReplicationInstance.html) nella documentazione di AWS DMS.
+ **Opzioni di connettività** ‒ Per evitare problemi di latenza, ti consigliamo di scegliere l'opzione di connettività giusta. AWS Direct Connect fornisce il percorso più breve per accedere alle risorse AWS, poiché è una connessione dedicata tra i data center aziendali e AWS. Durante il transito, il traffico di rete rimane sulla rete globale AWS e non passa mai su Internet. In questo modo si riduce la possibilità di incorrere in rallentamenti o aumenti imprevisti della latenza rispetto all'utilizzo di una VPN o della rete Internet pubblica.
+ **Larghezza di banda di rete** ‒ Per ottimizzare le prestazioni, verificate che la velocità di trasmissione della rete sia elevata. Se utilizzi un tunnel VPN tra il database di origine locale e AWS DMS, assicurati che la larghezza di banda sia sufficiente per il tuo carico di lavoro.
+ **Parallelismo delle attività** ‒ È possibile accelerare la replica dei dati caricando più tabelle in parallelo durante il pieno carico. Questo modello utilizza gli endpoint RDBMS, quindi questa opzione si applica solo al processo di caricamento completo. Il parallelismo delle attività è controllato dal `MaxFullLoadSubTasks` parametro, che determina quante sottoattività a pieno carico vengono eseguite in parallelo. Per impostazione predefinita, questo parametro è impostato su 8, il che significa che otto tabelle (se selezionate nella mappatura delle tabelle) vengono caricate insieme durante la modalità completa. È possibile modificare questo parametro nella sezione delle impostazioni dell'attività a caricamento completo dello script JSON relativo all'attività.
+ **Parallelismo delle tabelle** ‒ AWS DMS consente inoltre di caricare un'unica tabella di grandi dimensioni utilizzando più thread paralleli. Ciò è particolarmente utile per le tabelle di origine Oracle che contengono miliardi di record oltre a più partizioni e sottopartizioni. Se la tabella di origine non è partizionata, puoi utilizzare i limiti delle colonne per i carichi paralleli.
+ **Suddividi i carichi** ‒ Quando dividi i carichi tra più attività o istanze AWS DMS, ricorda i limiti delle transazioni quando acquisisci le modifiche.

## Epiche
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics"></a>

### Usa Oracle Data Pump per esportare lo schema EnterpriseOne
<a name="use-oracle-data-pump-to-export-the-enterpriseone-schema"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera l'SCN. | Quando il database di origine è attivo e utilizzato dall' EnterpriseOne applicazione, avvia l'esportazione dei dati con Oracle Data Pump. È innanzitutto necessario generare un numero di modifica del sistema (SCN) dal database di origine sia per la coerenza dei dati durante l'esportazione con Oracle Data Pump sia come punto di partenza per CDC in AWS DMS.Per generare l'SCN corrente dal database di origine, utilizza la seguente istruzione SQL:<pre>SQL> select current_scn from v$database;<br /><br />CURRENT_SCN<br />-----------<br />   30009727</pre>Salva l'SCN generato. Utilizzerai l'SCN per esportare i dati e creare l'attività di replica AWS DMS. | DBA | 
| Crea il file dei parametri. | Per creare un file di parametri per l'esportazione dello schema, è possibile utilizzare il codice seguente.<pre>directory=DMS_DATA_PUMP_DIR<br />logfile=export_dms.log<br />dumpfile=export_dms_data.dmp<br />schemas=<schema name><br />flashback_scn=<SCN from previous command></pre>Potete anche definirne uno personalizzato `DATA_PUMP_DIR` utilizzando i seguenti comandi, in base alle vostre esigenze.<pre>SQL> CREATE OR REPLACE DIRECTORY DMS_DATA_PUMP_DIR AS '<Directory for dump>';<br />Directory created.<br /><br />SQL> GRANT READ, WRITE ON DIRECTORY DMS_DATA_PUMP_DIR TO SYSTEM;<br />Grant succeeded.</pre> | DBA | 
| Esporta lo schema. | Per eseguire l'esportazione, utilizzare l'`expdp`utilità come segue:<pre>C:\Users\Administrator>expdp system/********@<DB Name> PARFILE='<Path to PAR file create above>'<br /><br />Export: Release 19.0.0.0.0 - Production on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.<br /><br />Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production<br />Starting "SYSTEM"."SYS_EXPORT_SCHEMA_02":  system/********@<DB Name>PARFILE='E:\exp_dms_datapump.par'<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS<br />Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS<br />Processing object type SCHEMA_EXPORT/STATISTICS/MARKER<br />Processing object type SCHEMA_EXPORT/USER<br />Processing object type SCHEMA_EXPORT/ROLE_GRANT<br />Processing object type SCHEMA_EXPORT/DEFAULT_ROLE<br />Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA<br />Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE<br />Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX<br />Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT<br />. . exported "<Schema Name>"."<Table Name>"                            228.9 MB  496397 rows</pre><pre>Master table "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded<br />******************************************************************************<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_02 is:<br />  E:\DMSDUMP\EXPORT_DMS_DATA.DMP<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully completed at *** *** ** **:**:** **** elapsed 0 00:01:57</pre> | DBA | 

### Utilizzare Oracle Data Pump per importare lo schema EnterpriseOne
<a name="use-oracle-data-pump-to-import-the-enterpriseone-schema"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci il file di dump nell'istanza di destinazione. | Per trasferire i file utilizzando l'`DBMS_FILE_TRANSFER`utilità, è necessario creare un collegamento al database dal database di origine all'istanza Amazon RDS for Oracle. Dopo aver stabilito il collegamento, puoi utilizzare l'utilità per trasferire i file Data Pump direttamente all'istanza Amazon RDS.In alternativa, puoi trasferire i file Data Pump [su Amazon Simple Storage Service (Amazon S3](https://aws.amazon.com/s3/)) e quindi importarli nell'istanza Amazon RDS for Oracle. Per ulteriori informazioni su questa opzione, consulta la sezione [Informazioni aggiuntive](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional).Per creare un link al database `ORARDSDB` che si connette all'utente master di Amazon RDS nell'istanza DB di destinazione, esegui i seguenti comandi sul database di origine:<pre>sqlplus / as sysdba<br /><br />SQL*Plus: Release 19.0.0.0.0 on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle.  All rights reserved.<br /><br />Connected to:<br />Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0<br />Version 19.3.0.0.0<br /><br />SQL> create database link orardsdb connect to admin identified by "******" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.******.us-east-1.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br /><br />Database link created.<br /><br />SQL></pre> | DBA | 
| Prova il link al database. | Verifica il collegamento al database per assicurarti di poterti connettere al database di destinazione Amazon RDS for Oracle utilizzando`sqlplus`.<pre>SQL> select name from v$database@orardsdb;<br /><br />NAME<br />---------<br />ORCL<br /></pre> | DBA | 
| Trasferisci il file di dump nel database di destinazione. | Per copiare il file di dump nel database Amazon RDS for Oracle, puoi utilizzare la directory `DATA_PUMP_DIR` predefinita oppure creare una directory personalizzata utilizzando il codice seguente, che deve essere eseguito sull'istanza Amazon RDS di destinazione:<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'DMS_TARGET_PUMP_DIR');<br /><br />PL/SQL procedure successfully completed.</pre>Lo script seguente copia un file di dump denominato `EXPORT_DMS_DATA.DMP` dall'istanza di origine in un database Amazon RDS for Oracle di destinazione utilizzando il collegamento al database denominato. `orardsdb` È necessario eseguire lo script sull'istanza del database di origine.<pre>BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DMS_DATA_PUMP_DIR',<br />source_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_directory_object => 'DMS_TARGET_PUMP_DIR',<br />destination_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_database => 'orardsdb');<br />END;<br /><br />PL/SQL procedure successfully completed.</pre> | DBA | 
| Elenca il file di dump nel database di destinazione. | Una volta completata la PL/SQL procedura, puoi elencare il file di dump dei dati nel database Amazon RDS for Oracle utilizzando il codice seguente:<pre>select * from table (rdsadmin.rds_file_util.listdir(p_directory => 'DMS_TARGET_PUMP_DIR'));</pre> | DBA | 
| Crea utenti specifici per JDE nell'istanza di destinazione. | Crea un profilo e un ruolo JD Edwards utilizzando questi comandi nell'istanza di destinazione:<pre>SQL> CREATE PROFILE "JDEPROFILE" LIMIT IDLE_TIME 15;<br />Profile created.<br /><br />SQL> CREATE ROLE "JDE_ROLE";<br />Role created.<br /><br />SQL> CREATE ROLE "JDEADMIN";<br />CREATE ROLE "JDEUSER";<br />Role created.<br />Role created.</pre>Concedi le autorizzazioni richieste al ruolo:<pre>SQL> GRANT CREATE ANY SEQUENCE TO JDE_ROLE;<br /> GRANT DROP ANY SEQUENCE TO JDE_ROLE;<br /> GRANT CREATE ANY TRIGGER TO JDE_ROLE;<br /> GRANT DROP ANY TRIGGER TO JDE_ROLE;<br /></pre> | DBA, JDE CNC | 
| Crea tablespace nell'istanza di destinazione. | Crea i tablespace richiesti nell'istanza di destinazione utilizzando i seguenti comandi per gli schemi coinvolti in questa migrazione:<pre>SQL> CREATE TABLESPACE <Tablespace Name for Tables>;<br />Tablespace created.<br /><br />SQL> CREATE TABLESPACE <Tablespace Name for Indexes>;<br />Tablespace created.</pre> | DBA, JDE CNC | 
| Avvia l'importazione sul database di destinazione. | Prima di iniziare il processo di importazione, configura ruoli, schemi e tablespace sul database Amazon RDS for Oracle di destinazione utilizzando il file di dump dei dati.Per eseguire l'importazione, accedi al database di destinazione con l'account utente principale di Amazon RDS e usa il nome della stringa di connessione nel `tnsnames.ora` file, che include Amazon RDS for Oracle Database. `tns-entry` Se necessario, puoi includere un'opzione di rimappatura per importare il file di dump dei dati in una tablespace diversa o con un nome di schema diverso.Per avviare l'importazione, utilizzate il codice seguente:<pre>impdp admin@orardsdb directory=DMS_TARGET_PUMP_DIR logfile=import.log dumpfile=EXPORT_DMS_DATA.DMP</pre>Per garantire una corretta importazione, controllate il file di log di importazione per eventuali errori ed esaminate i dettagli come il conteggio degli oggetti, il conteggio delle righe e gli oggetti non validi. Se sono presenti oggetti non validi, ricompilali. Inoltre, confrontate gli oggetti del database di origine e di destinazione per confermare che corrispondano. | DBA | 

### Esegui il provisioning di un'istanza di replica AWS DMS con gli endpoint di origine e di destinazione
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eseguire il download del modello . | Scarica il modello AWS CloudFormation [DMS\$1Instance.yaml](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) per effettuare il provisioning dell'istanza di replica AWS DMS e dei relativi endpoint di origine e destinazione. | Amministratore del cloud, DBA | 
| Inizia la creazione dello stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Amministratore cloud, DBA | 
| Specificare i parametri. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Amministratore cloud, DBA | 
| Creare lo stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)Il provisioning dovrebbe essere completato in circa 5-10 minuti. È completo quando la pagina AWS CloudFormation Stacks mostra **CREATE\$1COMPLETE**. | Amministratore cloud, DBA | 
| Configura gli endpoint. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Amministratore cloud, DBA | 
| Prova la connettività. | Dopo che gli endpoint di origine e di destinazione hanno mostrato lo stato come **Attivo**, verifica la connettività. Scegli **Esegui test** per ogni endpoint (origine e destinazione) per assicurarti che lo stato risulti positivo. | Amministratore cloud, DBA | 

### Crea un'attività di replica AWS DMS per la replica in tempo reale
<a name="create-an-aws-dms-replication-task-for-live-replication"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare l'attività di replica. | Crea l'attività di replica di AWS DMS utilizzando i seguenti passaggi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)Dopo aver creato l'attività, AWS DMS migra le modifiche in corso all'istanza del database Amazon RDS for Oracle dall'SCN fornito in modalità di avvio CDC. Puoi anche verificare la migrazione esaminando i log. CloudWatch  | Amministratore cloud, DBA | 
| Ripetere l'operazione di replica. | Ripeti i passaggi precedenti per creare attività di replica per altri schemi JD Edwards che fanno parte della migrazione. | Amministratore cloud, DBA, amministratore JDE CNC | 

### Convalida lo schema del database sul database Amazon RDS for Oracle di destinazione
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida il trasferimento dei dati. | Dopo l'avvio del task AWS DMS, puoi controllare la scheda **Table statistics** nella pagina **Tasks** per vedere le modifiche apportate ai dati.Puoi monitorare lo stato della replica in corso nella console nella pagina **Attività di migrazione del database**.Per ulteriori informazioni, consulta la [convalida dei dati di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Amministratore del cloud, DBA | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Interrompi la replica. | Interrompere la procedura di replica e interrompere i servizi applicativi di origine. | Amministratore cloud, DBA | 
| Avvia l'applicazione JD Edwards. | Avvia la presentazione JD Edwards di destinazione e l'applicazione a livello logico su AWS e indirizzala al database Amazon RDS for Oracle.Quando accedi all'applicazione, dovresti notare che tutte le connessioni sono ora stabilite con il database Amazon RDS for Oracle. | Amministratore DBA, JDE CNC | 
| Disattiva il database di origine. | Dopo aver confermato che non ci sono più connessioni, puoi disattivare il database di origine. | DBA | 

## Risoluzione dei problemi
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Viene visualizzato un messaggio di avviso per abilitare la [registrazione supplementare nel database di](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) origine per la replica in corso | Immettete questi comandi per abilitare la registrazione supplementare:<pre>SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;</pre> | 
| AWS DMS ha disattivato la registrazione supplementare. | La registrazione supplementare è disattivata per impostazione predefinita in AWS DMS. Per attivarlo per un endpoint Oracle di origine:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| La registrazione supplementare non è abilitata a livello di CDB. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| Viene visualizzato il messaggio di errore: «Test Endpoint failed: Application-Status: 1020912, Application-Message: non è supportato in ambiente Oracle PDB L'inizializzazione dell'endpoint non LogMiner è riuscita». | Se viene visualizzato questo messaggio di errore, è possibile utilizzare Binary Reader anziché. LogMinerIn **Impostazioni endpoint**, aggiungi questa riga agli attributi di connessione aggiuntivi per il tuo database di origine:<pre>useLogMinerReader=N;useBfile=Y;</pre> | 

## Risorse correlate
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-resources"></a>
+ [Guida introduttiva ad AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Best practice per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migrazione dei database Oracle sul cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Riferimento al tipo di risorsa AWS Database Migration Service per AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DMS.html)
+ [Gestisci le credenziali degli endpoint AWS DMS con AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/)
+ [Risoluzione dei problemi di migrazione in AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Oracle.RecordsMissing)
+ [Le migliori pratiche per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)

## Informazioni aggiuntive
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional"></a>

**Trasferimento di file tramite Amazon S3**

Per trasferire i file su Amazon S3, puoi utilizzare l'AWS CLI o la console Amazon S3. Dopo aver trasferito i file su Amazon S3, puoi utilizzare l'istanza Amazon RDS for Oracle per importare i file Data Pump da Amazon S3.

Se scegli di trasferire il file di dump utilizzando l'integrazione con Amazon S3 come metodo alternativo, procedi nel seguente modo:

1. Crea un bucket S3.

1. Esporta i dati dal database di origine utilizzando Oracle Data Pump.

1. Carica i file Data Pump nel bucket S3.

1. Scarica i file Data Pump dal bucket S3 al database Amazon RDS for Oracle di destinazione.

1. Esegui l'importazione utilizzando i file Data Pump.

**Nota**  
Per trasferire file di dati di grandi dimensioni tra istanze S3 e RDS, ti consigliamo di utilizzare la funzionalità [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html).

# Esegui la migrazione di un PeopleSoft database Oracle su AWS utilizzando AWS DMS
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms"></a>

*sampath kathirvel, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-summary"></a>

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) è una soluzione ERP (Enterprise Resource Planning) per processi a livello aziendale. PeopleSoft ha un'architettura a tre livelli: client, applicazione e database. PeopleSoft può essere eseguito su [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)).

Se migri il tuo database Oracle su Amazon RDS, Amazon Web Services (AWS) può occuparsi delle attività di backup e dell'elevata disponibilità, lasciandoti libero di concentrarti sulla manutenzione PeopleSoft dell'applicazione e delle sue funzionalità. Per un elenco completo dei fattori chiave da considerare durante il processo di migrazione, consulta [le strategie di migrazione del database Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) in AWS Prescriptive Guidance.

Questo modello fornisce una soluzione per la migrazione dei database Oracle locali su Amazon RDS for Oracle utilizzando Oracle Data Pump con [AWS Database Migration Service (AWS DMS) e la sua funzionalità di acquisizione dei dati di modifica (CDC)](https://aws.amazon.com/dms).

Durante la migrazione di applicazioni ERP critiche come PeopleSoft Oracle, è fondamentale ridurre al minimo i tempi di inattività. AWS DMS riduce al minimo i tempi di inattività supportando sia la replica a pieno carico che quella continua dal database di origine al database di destinazione. AWS DMS fornisce anche il monitoraggio e la registrazione in tempo reale della migrazione, che possono aiutarti a identificare e risolvere eventuali problemi che potrebbero causare tempi di inattività.

Quando si replicano le modifiche con AWS DMS, è necessario specificare un orario o un numero di modifica del sistema (SCN) come punto di partenza per consentire ad AWS DMS di leggere le modifiche dai log del database. È fondamentale mantenere questi log accessibili sul server per un determinato periodo di tempo per garantire che AWS DMS abbia accesso a queste modifiche.

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-prereqs"></a>

**Prerequisiti**
+ Hai effettuato il provisioning del database Amazon RDS for Oracle nel tuo ambiente cloud AWS come database di destinazione.
+ Un PeopleSoft database Oracle in esecuzione in locale o su Amazon Elastic Compute Cloud (Amazon EC2) nel cloud AWS.
**Nota**  
Questo modello è progettato per la migrazione da locale ad AWS, ma è stato testato utilizzando Oracle Database su un' EC2 istanza Amazon. Per la migrazione da locale, dovrai configurare la connettività di rete appropriata.
+ Dettagli dello schema. Quando si esegue la migrazione di un' PeopleSoft applicazione Oracle ad Amazon RDS for Oracle, è necessario identificare lo schema di database Oracle (ad esempio`SYSADM`) da migrare. Prima di iniziare il processo di migrazione, raccogli i seguenti dettagli sullo schema:
  + Dimensione
  + Il numero di oggetti per tipo di oggetto
  + Il numero di oggetti non validi.

  Queste informazioni saranno utili nel processo di migrazione.

**Limitazioni**
+ Questo scenario è stato testato solo con il database PeopleSoft DEMO. Non è stato testato con un set di dati di grandi dimensioni.

## Architecture
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-architecture"></a>

Il diagramma seguente mostra un'istanza che esegue un database Oracle come database di origine e un database Amazon RDS for Oracle come database di destinazione. I dati vengono esportati e importati dal database Oracle di origine al database Amazon RDS for Oracle di destinazione utilizzando Oracle Data Pump e replicati per le modifiche CDC utilizzando AWS DMS.

![\[Processo in cinque fasi dall'istanza DB locale ad Amazon RDS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. La fase iniziale prevede l'estrazione dei dati dal database di origine utilizzando Oracle Data Pump, seguita dall'invio alla destinazione del database Amazon RDS for Oracle.

1. I dati vengono inviati dal database di origine a un endpoint di origine in AWS DMS.

1. Dall'endpoint di origine, i dati vengono inviati all'istanza di replica AWS DMS, dove viene eseguita l'attività di replica.

1. Una volta completata l'attività di replica, i dati vengono inviati all'endpoint di destinazione in AWS DMS.

1. Dall'endpoint di destinazione, i dati vengono inviati all'istanza del database Amazon RDS for Oracle.

## Tools (Strumenti)
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-tools"></a>

**Servizi AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ [Amazon Relational Database Service (Amazon RDS) per](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle ti aiuta a configurare, gestire e scalare un database relazionale Oracle nel cloud AWS.

**Altri servizi**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) ti aiuta a spostare dati e metadati da un database all'altro a velocità elevate.

## Best practice
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-best-practices"></a>

**Migrating LOBs** (Migrazione in corso)

Se il database di origine contiene oggetti binari di grandi dimensioni (LOBs) che devono essere migrati al database di destinazione, AWS DMS offre le seguenti opzioni:
+ **Modalità LOB completa**: AWS DMS migra tutto LOBs dal database di origine a quello di destinazione indipendentemente dalle dimensioni. Sebbene la migrazione sia più lenta, il vantaggio è che i dati non vengono troncati. Per prestazioni migliori, è possibile creare un'attività separata sulla nuova istanza di replica per migrare le tabelle con dimensioni superiori a pochi megabyte. LOBs 
+ **Modalità LOB limitata**: specifichi la dimensione massima dei dati delle colonne LOB, che consente ad AWS DMS di preallocare le risorse e applicarle in blocco. LOBs Se la dimensione delle colonne LOB supera la dimensione specificata nell'attività, AWS DMS tronca i dati e invia avvisi al file di registro di AWS DMS. È possibile migliorare le prestazioni utilizzando la modalità LOB limitata se la dimensione dei dati LOB rientra nella dimensione LOB limitata.
+ **Modalità LOB in linea**: è possibile migrare LOBs senza troncare i dati o rallentare le prestazioni dell'attività eseguendo repliche sia di piccole che di grandi dimensioni. LOBs Innanzitutto, specificate un valore per il InlineLobMaxSize parametro, che è disponibile solo quando la modalità Full LOB è impostata su true. Il task AWS DMS trasferisce le piccole operazioni LOBs in linea, il che è più efficiente. Quindi, AWS DMS migra i file di grandi dimensioni LOBs eseguendo una ricerca dalla tabella di origine. Tuttavia, la modalità LOB in linea funziona solo durante la fase di pieno carico.

**Generazione di valori di sequenza**

Tieni presente che durante il processo di acquisizione dei dati di modifica con AWS DMS, i numeri di sequenza incrementali non vengono replicati dal database di origine. Per evitare discrepanze nei valori di sequenza, devi generare il valore di sequenza più recente dall'origine per tutte le sequenze e applicarlo al database Amazon RDS for Oracle di destinazione.

**Gestione delle credenziali**

Per proteggere le tue risorse AWS, ti consigliamo di seguire le [best practice](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) per AWS Identity and Access Management (IAM).

## Epiche
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-epics"></a>

### Esegui il provisioning di un'istanza di replica AWS DMS con gli endpoint di origine e di destinazione
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eseguire il download del modello . | Scarica il CloudFormation modello AWS [DMS\$1Instance.yaml per effettuare il provisioning dell'istanza di replica AWS](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) DMS e dei relativi endpoint di origine e destinazione. | Amministratore cloud, DBA | 
| Inizia la creazione dello stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Amministratore cloud, DBA | 
| Specificare i parametri. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Amministratore cloud, DBA | 
| Creare lo stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)Il provisioning dovrebbe essere completato in circa 5-10 minuti. È completo quando la pagina AWS CloudFormation Stacks mostra **CREATE\$1COMPLETE**. | Amministratore del cloud, DBA | 
| Configura gli endpoint. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Amministratore cloud, DBA | 
| Prova la connettività. | Dopo che gli endpoint di origine e di destinazione hanno mostrato lo stato Attivo, verifica la connettività. Scegli **Esegui test** per ogni endpoint (origine e destinazione) per assicurarti che lo stato risulti positivo. | Amministratore cloud, DBA | 

### Esporta lo PeopleSoft schema dal database Oracle locale utilizzando Oracle Data Pump
<a name="export-the-peoplesoft-schema-from-the-on-premises-oracle-database-by-using-oracle-data-pump"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera l'SCN. | Quando il database di origine è attivo e utilizzato dall'applicazione, avvia l'esportazione dei dati con Oracle Data Pump. È innanzitutto necessario generare un numero di modifica del sistema (SCN) dal database di origine sia per la coerenza dei dati durante l'esportazione con Oracle Data Pump sia come punto di partenza per l'acquisizione dei dati di modifica in AWS DMS.Per generare l'SCN corrente dal database di origine, inserisci la seguente istruzione SQL.<pre>SQL> select name from v$database;<br />SQL> select name from v$database;<br />NAME<br />---------<br />PSFTDMO<br />SQL> SELECT current_scn FROM v$database;<br />CURRENT_SCN<br />-----------<br />23792008</pre>Salva l'SCN generato da utilizzare quando esporti i dati e per creare l'attività di replica AWS DMS. | DBA | 
| Crea il file dei parametri. | Per creare un file di parametri per l'esportazione dello schema, è possibile utilizzare il codice seguente.<pre>$ cat exp_datapmp.par<br />userid=system/*******<br />directory=DATA_PUMP_DIR<br />logfile=export_dms_sample_user.log<br />dumpfile=export_dms_sample_data_%U.dmp<br />schemas=SYSADM<br />flashback_scn=23792008</pre>Potete anche definirne uno personalizzato `DATA_PUMP_DIR` utilizzando i seguenti comandi, in base alle vostre esigenze.<pre>SQL> CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/opt/oracle/product/19c/dbhome_1/dmsdump/';<br />Directory created.<br />SQL> GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO system;<br />Grant succeeded.<br />SQL><br />SQL> SELECT owner, directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR';<br />OWNER DIRECTORY_NAME DIRECTORY_PATH<br />------------------------------------------------------------------------------------------------------------------<br />SYS DATA_PUMP_DIR /opt/oracle/product/19c/dbhome_1/dmsdump/</pre> | DBA | 
| Esporta lo schema. | Per eseguire l'esportazione, utilizzare l'`expdp`utilità.<pre>$ expdp parfile=exp_datapmp.par<br />.......................<br />Transferring the dump file with DBMS_FILE_TRANSFER to Target:<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNK" 6.328 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATDEF_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATITM_LNG" 7.171 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNCNTL" 7.601 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNPARM" 7.210 KB 0 rows<br />. . exported "SYSADM"."PS_YE_AMOUNTS" 9.351 KB 0 rows<br />. . exported "SYSADM"."PS_YE_DATA" 16.58 KB 0 rows<br />. . exported "SYSADM"."PS_YE_EE" 6.75 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_AMOUNTS" 9.414 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_DATA" 20.94 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_AMOUNTS" 10.27 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_DATA" 20.95 KB 0 rows<br />. . exported "SYSADM"."PS_ZBD_JOBCODE_TBL" 14.60 KB 0 rows<br />. . exported "SYSADM"."PTGRANTTBL" 5.468 KB 0 rows<br />Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded<br />**<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:<br />/opt/oracle/product/19c/dbhome_1/dmsdump/export_dms_sample_data_01.dmp<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Dec 19 20:13:57 2022 elapsed 0 00:38:22</pre> | DBA | 

### Importa lo PeopleSoft schema nel database Amazon RDS for Oracle utilizzando Oracle Data Pump
<a name="import-the-peoplesoft-schema-into-the-amazon-rds-for-oracle-database-by-using-oracle-data-pump"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci il file di dump nell'istanza di destinazione. | Per trasferire i file utilizzando`DBMS_FILE_TRANSFER`, devi creare un collegamento al database dal database di origine all'istanza Amazon RDS for Oracle. Dopo aver stabilito il collegamento, puoi utilizzare l'utilità per trasferire i file Data Pump direttamente all'istanza RDS.In alternativa, puoi trasferire i file Data Pump [su Amazon Simple Storage Service (Amazon S3](https://aws.amazon.com/s3/)) e quindi importarli nell'istanza Amazon RDS for Oracle. Per ulteriori informazioni su questa opzione, consulta la sezione Informazioni aggiuntive.Per creare un link al database `ORARDSDB` che si connette all'utente master di Amazon RDS nell'istanza DB di destinazione, esegui i seguenti comandi sul database di origine.<pre>$sqlplus / as sysdba<br />$ SQL> create database link orardsdb connect to admin identified by "*****" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testpsft.*******.us-west-2.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br />Database link created.</pre> | DBA | 
| Prova il link al database. | Verifica il collegamento al database per assicurarti di poterti connettere utilizzando sqlplus al database di destinazione Amazon RDS for Oracle.<pre>SQL><br />SQL> select name from v$database@orardsdb;<br />NAME<br />---------<br />ORCL<br />SQL></pre> | DBA | 
| Trasferisci il file di dump nel database di destinazione. | Per copiare il file di dump sul database Amazon RDS for Oracle, puoi utilizzare la directory `DATA_PUMP_DIR` predefinita o creare la tua directory utilizzando il codice seguente.<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => ‘TARGET_PUMP_DIR’);</pre>Lo script seguente copia un file di dump denominato `export_dms_sample_data_01.dmp` dall'istanza di origine in un database Amazon RDS for Oracle di destinazione utilizzando il collegamento al database denominato. `orardsdb`<pre>$ sqlplus / as sysdba<br />SQL><br />BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DATA_PUMP_DIR',<br />source_file_name => 'export_dms_sample_data_01.dmp',<br />destination_directory_object => 'TARGET_PUMP_DIR’',<br />destination_file_name => 'export_dms_sample_data_01.dmp',<br />destination_database => 'orardsdb'<br />);<br />END;<br />/<br />PL/SQL procedure successfully completed.</pre> | DBA | 
| Elenca il file di dump nel database di destinazione. | Una volta completata la PL/SQL procedura, puoi elencare il file di dump dei dati nel database Amazon RDS for Oracle utilizzando il codice seguente.<pre>SQL> select * from table (rdsadmin.rds_file_util.listdir(p_directory => ‘TARGET_PUMP_DIR’));</pre> | DBA | 
| Avvia l'importazione sul database di destinazione. | Prima di iniziare il processo di importazione, configura ruoli, schemi e tablespace sul database Amazon RDS for Oracle di destinazione utilizzando il file di dump dei dati.Per eseguire l'importazione, accedi al database di destinazione con l'account utente principale di Amazon RDS e usa il nome della stringa di connessione nel `tnsnames.ora` file, che include Amazon RDS for Oracle Database. `tns-entry` Se necessario, puoi includere un'opzione di rimappatura per importare il file di dump dei dati in una tablespace diversa o con un nome di schema diverso.Per avviare l'importazione, utilizzate il codice seguente.<pre>impdp admin@orardsdb directory=TARGET_PUMP_DIR logfile=import.log dumpfile=export_dms_sample_data_01.dmp</pre>Per garantire una corretta importazione, controllate il file di log di importazione per eventuali errori ed esaminate i dettagli come il conteggio degli oggetti, il conteggio delle righe e gli oggetti non validi. Se sono presenti oggetti non validi, ricompilali. Inoltre, confrontate gli oggetti del database di origine e di destinazione per confermare che corrispondano. | DBA | 

### Crea un'attività di replica AWS DMS utilizzando CDC per eseguire la replica in tempo reale
<a name="create-an-aws-dms-replication-task-using-cdc-to-perform-live-replication"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare l'attività di replica. | Crea l'attività di replica di AWS DMS utilizzando i seguenti passaggi:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)Dopo aver creato l'attività, migra il CDC all'istanza del database Amazon RDS for Oracle dall'SCN fornito in modalità di avvio CDC. Puoi anche verificare esaminando i log. CloudWatch  | Amministratore cloud, DBA | 

### Convalida lo schema del database sul database Amazon RDS for Oracle di destinazione
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida il trasferimento dei dati. | Dopo l'avvio del task AWS DMS, puoi controllare la scheda **Table statistics** nella pagina **Tasks** per vedere le modifiche apportate ai dati.Puoi monitorare lo stato della replica in corso nella console nella pagina **Attività di migrazione del database**.Per ulteriori informazioni, consulta la [convalida dei dati di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Amministratore del cloud, DBA | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Interrompi la replica. | Interrompere la procedura di replica e interrompere i servizi applicativi di origine. | Amministratore cloud, DBA | 
| Avvia il livello PeopleSoft intermedio. | Avvia l'applicazione di livello PeopleSoft intermedio di destinazione in AWS e indirizzala al database Amazon RDS for Oracle recentemente migrato.Quando accedi all'applicazione, dovresti notare che tutte le connessioni alle app sono ora stabilite con il database Amazon RDS for Oracle. | DBA, amministratore PeopleSoft  | 
| Disattiva il database di origine. | Dopo aver verificato che non vi sono più connessioni al database di origine, è possibile disattivarlo. | DBA | 

## Risorse correlate
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-resources"></a>
+ [Guida introduttiva ad AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Best practice per AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migrazione dei database Oracle sul cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Informazioni aggiuntive
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-additional"></a>

**Trasferimento di file tramite Amazon S3**

Per trasferire i file su Amazon S3, puoi utilizzare l'AWS CLI o la console Amazon S3. Dopo aver trasferito i file su Amazon S3, puoi utilizzare l'istanza Amazon RDS for Oracle per importare i file Data Pump da Amazon S3.

Se scegli di trasferire il file di dump utilizzando l'integrazione con Amazon S3 come metodo alternativo, procedi nel seguente modo:

1. Crea un bucket S3.

1. Esporta i dati dal database di origine utilizzando Oracle Data Pump.

1. Carica i file Data Pump nel bucket S3.

1. Scarica i file Data Pump dal bucket S3 al database Amazon RDS for Oracle di destinazione.

1. Esegui l'importazione utilizzando i file Data Pump.

**Nota**  
Per trasferire file di dati di grandi dimensioni tra istanze S3 e RDS, si consiglia di utilizzare la funzionalità Amazon S3 Transfer Acceleration.

**Attiva la registrazione supplementare**

Se si riceve un messaggio di avviso per abilitare la [registrazione supplementare nel database di](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) origine per la replica continua, utilizzare la procedura seguente.

```
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
```

# Esegui la migrazione di un database MySQL locale su Amazon RDS for MySQL
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql"></a>

*Lorenzo Mota, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un database MySQL locale ad Amazon Relational Database Service (Amazon RDS) per MySQL. Il modello illustra l'uso di AWS Database Migration Service (AWS DMS) o di strumenti MySQL nativi **come** mysqldump per una migrazione completa del database. Questo modello è destinato principalmente agli architetti di soluzioni. DBAs Può essere utilizzato in progetti piccoli o grandi come procedura di test (consigliamo almeno un ciclo di test) o come procedura di migrazione finale. 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-prereqs"></a>

**Prerequisiti**
+ Un AWS account attivo
+ Un database sorgente MySQL in un data center locale

**Limitazioni**
+ [Limite di dimensione del database: 64 TB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Versioni del prodotto**
+ Versioni MySQL 5.5, 5.6, 5.7, 8.0. Per l'elenco più recente delle versioni supportate, consulta [MySQL su Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) AWS RDS nella documentazione. Se lo stai utilizzando AWS DMS, vedi anche [Utilizzo di un database compatibile con MySQL come destinazione per le versioni di AWS DMS MySQL attualmente](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) supportate da. AWS DMS

## Architecture
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-architecture"></a>

**Stack di tecnologia di origine**
+ Un database MySQL locale

**Stack tecnologico Target**
+ Un'istanza database Amazon RDS che esegue MySQL

**Architettura Target**

Il diagramma seguente mostra l'implementazione di destinazione di Amazon RDS for MySQL dopo la migrazione.

![\[Scegli come target l'implementazione di Amazon RDS for MySQL dopo il cutover.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/2e10114e-e389-4d24-9b6a-fa56beee5369.png)


**AWS architettura di migrazione dei dati**

**Utilizzando AWS DMS:**

Il diagramma seguente mostra l'architettura di migrazione dei dati utilizzata AWS DMS per inviare modifiche complete e incrementali fino al cutover. La connessione di rete da locale a AWS dipende dalle esigenze dell'utente e non rientra nell'ambito di questo schema.

![\[Architettura di migrazione dei dati verso AWS quando usi AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/ecc9b282-1897-4971-99ed-83223b17000d.png)


**Utilizzo di strumenti MySQL nativi:**

Il diagramma seguente mostra l'architettura di migrazione dei dati quando si utilizzano strumenti MySQL nativi. I file di dump di esportazione vengono copiati su Amazon Simple Storage Service (Amazon S3) e importati nel database Amazon RDS for MySQL prima del cutover. AWS La connessione di rete da locale a AWS dipende dalle tue esigenze e non rientra nell'ambito di questo schema.

 

![\[Migrazione dei dati verso l'architettura AWS quando utilizzi strumenti MySQL nativi.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/3bbec989-c3eb-473e-ba4a-032d6a4271c5.png)


**Note:**
+ A seconda dei requisiti di downtime e delle dimensioni del database, l'utilizzo AWS DMS o di uno strumento CDC (Change Data Capture) riduce al minimo i tempi di cutover. AWS DMS può aiutare a ridurre al minimo il tempo necessario per raggiungere il nuovo obiettivo (in genere minuti). Una strategia offline con **mysqldump** può essere sufficiente se le dimensioni del database e la latenza di rete consentono una finestra breve. (Si consiglia di eseguire il test per ottenere un orario approssimativo.)
+ Di solito una strategia CDC come quella AWS DMS richiede un monitoraggio e una complessità maggiori rispetto alle opzioni offline. 

## Tools (Strumenti)
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-tools"></a>
+ **Servizi AWS**: [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) consente di migrare gli archivi di dati verso Cloud AWS o tra combinazioni di configurazioni cloud e locali. Per informazioni sui database di origine e destinazione MySQL supportati AWS DMS da, [vedere Migrazione](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) di database compatibili con MySQL a. AWS Se il database di origine non è supportato da AWS DMS, è necessario scegliere un altro metodo per migrare i dati.
+ [Strumenti **MySQL nativi: mysqldump**](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)
+ **Strumenti di terze** [parti:](https://www.percona.com/software/mysql-database/percona-xtrabackup) Percona XtraBackup

## Epiche
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni del database. | Convalida le versioni del database di origine e di destinazione. | DBA | 
| Identifica i requisiti hardware. | Identifica i requisiti hardware per il server di destinazione. | DBA, amministratore di sistema | 
| Identifica i requisiti di archiviazione. | Identifica i requisiti di storage (come il tipo e la capacità di storage) per il database di destinazione. | DBA, amministratore di sistema | 
| Scegliere il tipo di istanza. | Scegli il tipo di istanza di destinazione in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. | DBA, amministratore di sistema | 
| Identifica i requisiti di accesso alla rete. | Identifica i requisiti di sicurezza per l'accesso alla rete per i database di origine e di destinazione.  | DBA, amministratore di sistema | 
| Identifica gli oggetti non supportati. | Identifica gli oggetti non supportati (se presenti) e determina lo sforzo di migrazione. | DBA | 
| Identifica le dipendenze. | Identifica eventuali dipendenze dai database remoti. | DBA | 
| Determinare la strategia di migrazione delle applicazioni.  | Determinare la strategia per la migrazione delle applicazioni client.  | DBA, proprietario dell'app, amministratore di sistema | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) | Configura tabelle di routing, gateway Internet, gateway NAT e sottoreti. Per ulteriori informazioni, consulta [VPCs Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) nella documentazione di Amazon RDS. | Amministratore di sistema | 
| Crea gruppi di sicurezza. | Configura porte e intervalli CIDR o specifici IPs a seconda delle tue esigenze. La porta predefinita per MySQL è 3306. Per ulteriori informazioni, consulta [Controllare l'accesso con gruppi di sicurezza](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html) nella documentazione di Amazon RDS. | Amministratore di sistema | 
| Configura e avvia un'istanza DB Amazon RDS for MySQL. | Per istruzioni, consulta [Creazione di un'istanza database Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateInstance.html) nella documentazione di Amazon RDS. Verifica le versioni supportate. | Amministratore di sistema | 

### Migrazione dei dati ‒ opzione 1 (utilizzando strumenti nativi)
<a name="migrate-data-option-1-using-native-tools"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Utilizza strumenti MySQL nativi o strumenti di terze parti per migrare oggetti e dati del database. | [Per istruzioni, consulta la documentazione degli strumenti MySQL [come](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) mysqldump e Percona (per la migrazione fisica). XtraBackup](https://www.percona.com/software/mysql-database/percona-xtrabackup) Per ulteriori informazioni sulle opzioni, consulta il post del blog [Opzioni di migrazione per MySQL ad Amazon RDS for MySQL o Amazon Aurora MySQL](https://aws.amazon.com/blogs/database/migration-options-for-mysql-to-amazon-rds-for-mysql-or-amazon-aurora-mysql/). | DBA | 

### Migrazione dei dati ‒ opzione 2 (utilizzando) AWS DMS
<a name="migrate-data-option-2-using-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione dei dati con AWS DMS. | Per istruzioni, consulta la [AWS DMS documentazione](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html). | DBA | 

### Esegui le attività preliminari prima del cutover
<a name="perform-preliminary-tasks-before-cutover"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Corregge le discrepanze nel conteggio degli oggetti. | Raccogli il conteggio degli oggetti dal database di origine e dal nuovo database di destinazione. Correggi le discrepanze nel database di destinazione. | DBA | 
| Controlla le dipendenze. | Verifica se le dipendenze (collegamenti) da e verso altri database sono valide e funzionano come previsto. | DBA | 
| Esegui dei test. | Se si tratta di un ciclo di test, esegui test delle query, raccogli metriche e risolvi i problemi. | DBA | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Passa al database di destinazione. | Passa le applicazioni client alla nuova infrastruttura. | DBA, proprietario dell'app, amministratore di sistema | 
| Fornisci supporto per i test. | Fornire supporto per i test funzionali delle applicazioni.  | DBA | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse. | Chiudi le AWS risorse temporanee che hai creato per la migrazione.  | DBA, amministratore di sistema | 
| Convalida i documenti del progetto.  | Rivedi e convalida i documenti del progetto.  | DBA, proprietario dell'app, amministratore di sistema | 
| Raccogli le metriche. | Raccogli parametri come il tempo necessario per la migrazione, la percentuale di sforzi manuali rispetto a quelli automatizzati, i risparmi sui costi e così via. | DBA, proprietario dell'app, amministratore di sistema | 
| Chiudi il progetto.  | Chiudi il progetto e fornisci feedback.  | DBA, proprietario dell'app, amministratore di sistema | 
| Disattiva il database di origine. | Una volta completate tutte le attività di migrazione e cutover, disattivate il database locale. | DBA, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-resources"></a>

**Riferimenti**
+ [Strategia di migrazione per database relazionali](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/welcome.html)
+ [AWS DMS website](https://aws.amazon.com/dms/)
+ [AWS DMS documentazione](https://docs.aws.amazon.com/dms/)
+ [Documentazione Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Amazon VPC e Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Implementazioni Amazon RDS Multi-AZ](https://aws.amazon.com/rds/details/multi-az/)
+ [Esegui la migrazione dei database MySQL locali su Aurora MySQL utilizzando Percona, Amazon EFS e Amazon S3 XtraBackup](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.html)
+ [Archiviazione delle istanze database Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Tutorial**
+ [Guida introduttiva con AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server"></a>

*Henrique Lobao, Jonathan Pereira Cruz e Vishal Singh, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-summary"></a>

Questo modello fornisce indicazioni per la migrazione da un database Microsoft SQL Server locale ad Amazon Relational Database Service (Amazon RDS) per SQL Server. Descrive due opzioni per la migrazione: utilizzando AWS Data Migration Service (AWS DMS) o utilizzando strumenti nativi di Microsoft SQL Server come Copy Database Wizard.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Microsoft SQL Server di origine in un data center locale

**Limitazioni**
+ Limite di dimensione del database: 16 TB

**Versioni del prodotto**
+ Per l'elenco più recente delle versioni e delle funzionalità supportate, consulta [Microsoft SQL Server su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) nella documentazione AWS. Se utilizzi AWS DMS, consulta anche [Utilizzo di un database Microsoft SQL Server come destinazione per le versioni di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html) per SQL Server supportate da AWS DMS. 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-architecture"></a>

**Stack tecnologico di origine**
+ Un database Microsoft SQL Server locale

**Stack tecnologico Target**
+ Un'istanza DB di Amazon RDS per SQL Server 

**Architettura di origine e destinazione**

*Utilizzo di AWS DMS:*

![\[Architettura per la migrazione da SQL Server locale ad Amazon RDS utilizzando AWS DMS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/69b9877c-2d56-4d64-8475-a3dae789c5de.png)


*Utilizzo di strumenti nativi di SQL Server:*

![\[Architettura per la migrazione da SQL Server locale ad Amazon RDS utilizzando strumenti SQL Server\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/45ee14e4-3c7e-4b35-a2c9-3e8e3c7e6cee.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) supporta diversi tipi di database di origine e destinazione. Per i dettagli, consulta le procedure [ Step-by-Stepdettagliate di AWS DMS](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html). Se AWS DMS non supporta il database di origine, seleziona un altro metodo per la migrazione dei dati. 
+ Gli strumenti nativi di Microsoft SQL Server includono il backup e il ripristino, la procedura guidata di copia del database, la copia e il collegamento del database.

## Epiche
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la versione e il motore del database di origine e di destinazione. |  | DBA | 
| Identifica i requisiti hardware per l'istanza del server di destinazione. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, amministratore di sistema | 
| Scegli il tipo di istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, amministratore di sistema | 
| Identifica la strategia di migrazione delle applicazioni. |  | DBA, amministratore di sistema | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) |  | Amministratore di sistema | 
| Crea gruppi di sicurezza. |  | Amministratore di sistema | 
| Configura e avvia un'istanza database Amazon RDS. |  | DBA, amministratore di sistema | 

### Migrazione dei dati - opzione 1
<a name="migrate-data---option-1"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Utilizza strumenti nativi di SQL Server o strumenti di terze parti per migrare oggetti e dati del database. |  | DBA | 

### Migrazione dei dati - opzione 2
<a name="migrate-data---option-2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra i dati con AWS DMS. |  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | DBA, amministratore di sistema | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Raccogli parametri come il tempo necessario per la migrazione, la percentuale di attività manuali rispetto a quelle automatizzate e il risparmio sui costi. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Chiudi il progetto e fornisci feedback. |  | DBA, proprietario dell'app, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-resources"></a>

**Riferimenti**
+ [Implementazione di Microsoft SQL Server su Amazon Web Services](https://d1.awsstatic.com/whitepapers/RDS/Deploying_SQLServer_on_AWS.pdf) 
+ [Sito web AWS DMS](https://aws.amazon.com/dms/)
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Prodotti Microsoft su AWS](https://aws.amazon.com/windows/products/)
+ [Licenze Microsoft su AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server su AWS](https://aws.amazon.com/windows/products/sql/)
+ [Utilizzo dell'autenticazione di Windows con un'istanza DB di Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
+ [Implementazioni Multi-AZ di Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)

**Tutorial e video**
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (video)](https://www.youtube.com/watch?v=igRfulrrYCo)  

# Esegui la migrazione dei dati da Microsoft Azure Blob ad Amazon S3 utilizzando Rclone
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone"></a>

*Suhas Basavaraj, Aidan Keane e Corey Lane, Amazon Web Services*

## Riepilogo
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-summary"></a>

Questo modello descrive come usare [Rclone](https://rclone.org/) per migrare i dati dallo storage di oggetti Microsoft Azure Blob a un bucket Amazon Simple Storage Service (Amazon S3). È possibile utilizzare questo modello per eseguire una migrazione una tantum o una sincronizzazione continua dei dati. Rclone è un programma a riga di comando scritto in Go e viene utilizzato per spostare i dati tra varie tecnologie di archiviazione dei provider di cloud.

## Prerequisiti e limitazioni
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Dati archiviati nel servizio contenitore Azure Blob

## Architecture
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-architecture"></a>

**Stack tecnologico di origine**
+ Contenitore di archiviazione Azure Blob

**Stack tecnologico Target**
+ Bucket Amazon S3
+ Istanza Amazon Elastic Compute Cloud (Amazon EC2) Linux

**Architettura**

![\[Migrazione dei dati da Microsoft Azure ad Amazon S3\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/6ead815d-7768-4726-b27d-97a70cd21081/images/abe69eee-632f-4ca2-abf6-3223f3f3ec94.png)


## Tools (Strumenti)
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-tools"></a>
+ [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.
+ [Rclone è un programma](https://rclone.org/) **a riga di comando open source ispirato a rsync.** Viene utilizzato per gestire i file su molte piattaforme di archiviazione cloud.

## Best practice
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-best-practices"></a>

Quando esegui la migrazione dei dati da Azure ad Amazon S3, tieni presente queste considerazioni per evitare costi inutili o velocità di trasferimento lente:
+ Crea la tua infrastruttura AWS nella stessa regione geografica dell'account di archiviazione di Azure e del contenitore Blob, ad esempio, la `us-east-1` regione AWS (Virginia settentrionale) e la regione Azure. `East US`
+ Se possibile, evita di usare NAT Gateway, perché comporta costi di trasferimento dei dati sia per la larghezza di banda in ingresso che in uscita.
+ Usa un [endpoint gateway VPC per Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) per aumentare le prestazioni.
+ Prendi in considerazione l'utilizzo di un' EC2 istanza basata su processore AWS Graviton2 (ARM) per costi inferiori e prestazioni più elevate rispetto alle istanze Intel x86. Rclone è fortemente compilato in modo incrociato e fornisce un binario ARM precompilato.

## Epiche
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-epics"></a>

### Prepara le risorse cloud AWS e Azure
<a name="prepare-aws-and-azure-cloud-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Prepara un bucket S3 di destinazione. | [Crea un nuovo bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) nella regione AWS appropriata o scegli un bucket esistente come destinazione per i dati che desideri migrare. | Amministratore AWS | 
| Crea un ruolo di istanza IAM per Amazon EC2. | [Crea un nuovo ruolo AWS Identity and Access Management (IAM) per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#working-with-iam-roles). Questo ruolo fornisce all' EC2 istanza l'accesso in scrittura al bucket S3 di destinazione. | Amministratore AWS | 
| Allega una policy al ruolo dell'istanza IAM. | Utilizza la console IAM o AWS Command Line Interface (AWS CLI) per creare una policy in linea per EC2 il ruolo dell'istanza che consente le autorizzazioni di accesso in scrittura al bucket S3 di destinazione. [Per un esempio di policy, consulta la sezione Informazioni aggiuntive.](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional) | Amministratore AWS | 
| Avvia un' EC2 istanza. | Avvia un' EC2 istanza Amazon Linux configurata per utilizzare il ruolo di servizio IAM appena creato. Questa istanza dovrà inoltre accedere agli endpoint delle API pubbliche di Azure tramite Internet. Prendi in considerazione l'utilizzo di [ EC2 istanze basate su AWS Graviton](https://docs.aws.amazon.com/compute-optimizer/latest/ug/graviton-recommendations.html) per ridurre i costi. Rclone fornisce file binari compilati da ARM. | Amministratore AWS | 
| Crea un responsabile del servizio Azure AD. | Usa l'interfaccia della riga di comando di Azure per creare un servizio principale di Azure Active Directory (Azure AD) con accesso in sola lettura al contenitore di archiviazione Azure Blob di origine. [Per istruzioni, vedere la sezione Informazioni aggiuntive.](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional) Archivia queste credenziali sulla tua EC2 istanza nella posizione`~/azure-principal.json`. | Amministratore cloud, Azure | 

### Installa e configura Rclone
<a name="install-and-configure-rclone"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica e installa Rclone.  | Scarica e installa il programma da riga di comando Rclone. [Per le istruzioni di installazione, consulta la documentazione di installazione di Rclone.](https://rclone.org/install/) | AWS generale, amministratore del cloud | 
| Configura Rclone. | Copia il seguente file di `rclone.conf` esempio. `AZStorageAccount`Sostituiscilo con il nome del tuo account di archiviazione di Azure e `us-east-1` con la regione AWS in cui si trova il bucket S3. Salva questo file nella posizione dell'istanza`~/.config/rclone/rclone.conf`. EC2 <pre>[AZStorageAccount]<br />type = azureblob<br />account = AZStorageAccount<br />service_principal_file = azure-principal.json<br /><br />[s3]<br />type = s3<br />provider = AWS<br />env_auth = true<br />region = us-east-1</pre> | AWS generale, amministratore del cloud | 
| Verifica la configurazione di Rclone. | Per confermare che Rclone sia configurato e che le autorizzazioni funzionino correttamente, verifica che Rclone sia in grado di analizzare il file di configurazione e che gli oggetti all'interno del contenitore Azure Blob e del bucket S3 siano accessibili. Vedi quanto segue, ad esempio, i comandi di convalida.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.html) | AWS generale, amministratore del cloud | 

### Migra i dati utilizzando Rclone
<a name="migrate-data-using-rclone"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra i dati dai tuoi contenitori. | [Esegui il comando Rclone [copy or sync](https://rclone.org/commands/rclone_copy/).](https://rclone.org/commands/rclone_sync/)  **Esempio: copia**Questo comando copia i dati dal contenitore Azure Blob di origine al bucket S3 di destinazione.<pre>rclone copy AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>**Esempio: sync**Questo comando sincronizza i dati tra il contenitore Azure Blob di origine e il bucket S3 di destinazione. ****<pre>rclone sync AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>Quando usi il comando **sync**, i dati che non sono presenti nel contenitore di origine verranno eliminati dal bucket S3 di destinazione. | AWS generale, amministratore del cloud | 
| Sincronizza i tuoi contenitori.  | Una volta completata la copia iniziale, esegui il comando Rclone **sync** per la migrazione in corso in modo che vengano copiati solo i nuovi file mancanti dal bucket S3 di destinazione. | AWS generale, amministratore del cloud | 
| Verifica che i dati siano stati migrati correttamente.  | [https://rclone.org/commands/rclone_lsd/](https://rclone.org/commands/rclone_lsd/) | AWS generale, amministratore del cloud | 

## Risorse correlate
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-resources"></a>
+ [Guida per l'utente di Amazon S3 (documentazione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) AWS)
+ [Ruoli IAM per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) (documentazione AWS)
+ [Creazione di un contenitore Microsoft Azure Blob (documentazione](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal) di Microsoft Azure)
+ [Comandi Rclone (documentazione Rclone](https://rclone.org/commands/))

## Informazioni aggiuntive
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional"></a>

**Esempio di politica di ruolo per le istanze EC2 **

Questa politica offre all' EC2 istanza l'accesso in lettura e scrittura a un bucket specifico del tuo account. Se il bucket utilizza una chiave gestita dal cliente per la crittografia lato server, la policy potrebbe richiedere un accesso aggiuntivo ad AWS Key Management Service (AWS KMS).

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        }    
    ]
}
```

**Creazione di un principale di servizio Azure AD di sola lettura**

Un service principal di Azure è un'identità di sicurezza usata dalle applicazioni, dai servizi e dagli strumenti di automazione dei clienti per accedere a risorse di Azure specifiche. Pensala come un'identità utente (login e password o certificato) con un ruolo specifico e autorizzazioni strettamente controllate per accedere alle tue risorse. Per creare un servizio principale di sola lettura che utilizzi le autorizzazioni con privilegi minimi e protegga i dati in Azure da eliminazioni accidentali, segui questi passaggi: 

1. Accedi al portale del tuo account cloud Microsoft Azure e avvia Cloud Shell PowerShell o usa l'interfaccia a riga di comando (CLI) di Azure sulla tua workstation.

1. Crea un service principal e configuralo con accesso in sola lettura al tuo account di archiviazione [Azure Blob](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-reader). Salva l'output JSON di questo comando in un file locale chiamato. `azure-principal.json` Il file verrà caricato sulla tua EC2 istanza. Sostituisci le variabili segnaposto mostrate tra parentesi quadre (`{`e`}`) con l'ID di sottoscrizione di Azure, il nome del gruppo di risorse e il nome dell'account di archiviazione.

   ```
   az ad sp create-for-rbac `
   --name AWS-Rclone-Reader `
   --role "Storage Blob Data Reader" `
   --scopes /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/providers/Microsoft.Storage/storageAccounts/{Storage Account Name}
   ```

# Migrazione da Couchbase Server a Couchbase Capella su AWS
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws"></a>

*Battulga Purevragcha e Saurabh Shanbhag, Amazon Web Services*

*Mark Gamble, Nessuno*

## Riepilogo
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-summary"></a>

Couchbase Capella è un database NoSQL come servizio (DBaaS) completamente gestito per applicazioni mission critical (ad esempio, profili utente o cataloghi online e gestione dell'inventario). Couchbase Capella gestisce il tuo carico di lavoro DBaa S in un account Amazon Web Services (AWS) gestito da Couchbase. Capella semplifica l'esecuzione e la gestione della replica su più cluster, più regioni AWS, multicloud e cloud ibrido all'interno di un'unica interfaccia.

Couchbase Capella ti aiuta a scalare istantaneamente le tue applicazioni Couchbase Server, aiutandoti a creare cluster multinodo in pochi minuti. [https://www.couchbase.com/products/full-text-search](https://www.couchbase.com/products/full-text-search) Inoltre elimina la necessità di gestire installazioni, aggiornamenti, backup e manutenzione generale del database. 

Questo modello descrive i passaggi e le migliori pratiche per la migrazione di un ambiente [Couchbase Server autogestito al cloud AWS](https://www.couchbase.com/products/server). Il modello fornisce un processo ripetibile per la migrazione di dati e indici dai cluster di Couchbase Server, in esecuzione in locale o nel cloud, a Couchbase Capella. L'utilizzo di questi passaggi consente di evitare problemi durante la migrazione e velocizza il processo di migrazione complessivo.

Questo modello fornisce le due opzioni di migrazione seguenti:
+ **L'opzione 1** è appropriata se avete meno di 50 indici da migrare. 
+ **L'opzione 2** è appropriata se avete più di 50 indici da migrare. 

Puoi anche [configurare dati di esempio](https://docs.couchbase.com/server/current/manage/manage-settings/install-sample-buckets.html) sul tuo Couchbase Server autogestito da seguire insieme alla guida alla migrazione.

*Se scegli **l'opzione di migrazione 2** o se utilizzi ambiti o raccolte diversi dal valore predefinito, devi utilizzare il file di configurazione di esempio, che si trova nella sezione Informazioni aggiuntive.*

## Prerequisiti e limitazioni
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-prereqs"></a>

**Prerequisiti**
+ Un account a pagamento Couchbase Capella esistente. Puoi anche creare un [account Couchbase Capella su AWS](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26) e utilizzare la versione di prova gratuita di Couchbase Capella, quindi passare a un account a pagamento per configurare il cluster per la migrazione. [Per iniziare con la versione di prova, segui le istruzioni contenute in Getting Started with Couchbase Capella.](https://docs.couchbase.com/cloud/get-started/create-account.html)
+ Un ambiente Couchbase Server esistente autogestito in locale o distribuito su un provider di servizi cloud. 
+ Per l'opzione di migrazione 2, Couchbase Shell e un file di configurazione. Per creare il file di configurazione, puoi utilizzare il file di esempio che si trova nella sezione *Informazioni aggiuntive*.
+ Familiarità con l'amministrazione di Couchbase Server e Couchbase Capella.
+ Familiarità con l'apertura di porte TCP e l'esecuzione di comandi in un'interfaccia a riga di comando (CLI).

Il processo di migrazione richiede anche i ruoli e le competenze descritti nella tabella seguente.


| 
| 
| Ruolo | Competenza | Responsabilità | 
| --- |--- |--- |
| Amministratore di Couchbase | Familiarità con Couchbase Server e Couchbase CapellaLa conoscenza di base della riga di comando è utile ma non richiesta | Attività specifiche di Couchbase Server e Capella | 
| Amministratore di sistema, amministratore IT | Familiarità con l'ambiente e l'amministrazione del sistema Couchbase Server autogestiti | Apertura delle porte e determinazione degli indirizzi IP sui nodi del cluster Couchbase Server autogestiti | 

 

**Limitazioni**
+ Questo modello viene utilizzato per migrare dati, indici e indici Couchbase [Full Text Search da Couchbase Server](https://docs.couchbase.com/server/current/fts/full-text-intro.html) a Couchbase Capella su AWS. [https://docs.couchbase.com/server/current/eventing/eventing-overview.html](https://docs.couchbase.com/server/current/eventing/eventing-overview.html)
+ Couchbase Capella è disponibile in diverse regioni AWS. Per up-to-date informazioni sulle regioni supportate da Capella, consulta [Amazon Web Services nella documentazione](https://docs.couchbase.com/cloud/reference/aws.html) di Couchbase.

**Versioni del prodotto**
+ [Couchbase Server (Community o Enterprise) Edition versione 5.x o successiva](https://docs.couchbase.com/server/current/release-notes/relnotes.html)

## Architecture
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-architecture"></a>

**Stack tecnologico di origine**
+ Server Couchbase

**Stack tecnologico Target**
+ Divano Capella

**Architettura Target**

![\[Migrazione di Couchbase Capella al cluster Couchbase nel piano dati Capella su AWS in quattro passaggi.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/14ac5a81-eade-4708-9335-f5602fa07824/images/95cd7f33-742e-4d10-8e2c-37c7b4d9df45.png)


1. **Puoi accedere a Couchbase Capella utilizzando il Capella Control Plane.** È possibile utilizzare il Capella Control Plane per effettuare le seguenti operazioni:
   + Controlla e monitora il tuo account.
   + Gestisci cluster e dati, indici, utenti e gruppi, autorizzazioni di accesso, monitoraggio ed eventi.

1. I cluster vengono creati.

1. Il **Capella Data Plane** si trova nell'account AWS gestito da Couchbase. Dopo aver creato un nuovo cluster, Couchbase Capella lo distribuisce su più zone di disponibilità nella regione AWS selezionata.

1. Puoi sviluppare e distribuire applicazioni Couchbase in un VPC nel tuo account AWS. [In genere, questo VPC accede al Capella Data Plane tramite peering VPC.](https://docs.couchbase.com/cloud/clouds/private-network.html)

## Tools (Strumenti)
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-tools"></a>
+ [Couchbase Cross Data Center Replication (XDCR) aiuta a replicare](https://docs.couchbase.com/cloud/current/clusters/xdcr/xdcr.html) i dati tra cluster che si trovano in diversi provider di cloud e diversi data center. Viene utilizzato per migrare i dati in Couchbase Capella da cluster Couchbase Server autogestiti.
**Nota**  
XDCR non può essere utilizzato con Couchbase Server Community Edition per migrare a Couchbase Capella. Invece[, puoi](https://docs.couchbase.com/server/current/tools/cbexport.html) usare cbexport. Per ulteriori informazioni, consulta l'epic *Migrazione dei dati dalla Community Edition*.
+ [Couchbase Shell è una shell](https://couchbase.sh/docs/) a riga di comando per Couchbase Server e Couchbase Capella per accedere ai cluster Couchbase locali e remoti. In questo modello, Couchbase Shell viene utilizzata per migrare gli indici.
+ [cbexport](https://docs.couchbase.com/server/current/tools/cbexport.html) è un'utilità Couchbase per l'esportazione di dati dal cluster Couchbase. Incluso negli strumenti [CLI di Couchbase Server](https://docs.couchbase.com/server/current/cli/cli-intro.html).

## Epiche
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-epics"></a>

### Prepara la migrazione
<a name="prepare-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Valuta le dimensioni del cluster Couchbase Server autogestito. | Accedi alla [Couchbase Web Console per Couchbase](https://docs.couchbase.com/server/current/manage/manage-ui/manage-ui.html) Server e valuta i nodi e i bucket del cluster autogestito. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Utilizzerai le configurazioni del cluster Couchbase Server autogestite come guida generale per il dimensionamento e la configurazione del cluster di destinazione su Couchbase Capella.[Per assistenza con un esercizio di dimensionamento di Couchbase Capella più dettagliato, contatta Couchbase.](https://www.couchbase.com/contact) | Amministratore di Couchbase | 
| Registra la distribuzione del servizio Couchbase sul cluster Couchbase Server autogestito.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 
| Registra gli indirizzi IP dei nodi del cluster Couchbase Server autogestiti. | (Ignora questo passaggio se utilizzi Community Edition.) Registra l'indirizzo IP per ogni nodo del cluster. Verranno aggiunti all'elenco degli utenti consentiti sul cluster Couchbase Capella in un secondo momento. | Amministratore di Couchbase, amministratore di sistema | 

### Distribuisci e configura le risorse su Couchbase Capella
<a name="deploy-and-configure-resources-on-couchbase-capella"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scegliere un modello. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 
| Scegli e configura i nodi. | Scegli e configura i nodi in modo che corrispondano al tuo ambiente cluster Couchbase Server autogestito, inclusi il numero di nodi, la distribuzione dei servizi, l'elaborazione o la RAM e lo storage.[Couchbase Capella utilizza le migliori pratiche di scalabilità multidimensionale.](https://docs.couchbase.com/cloud/clusters/scale-cluster.html#scale-a-cluster) I servizi e i nodi possono essere scelti solo in base alle migliori pratiche di implementazione. Ciò potrebbe significare che non è possibile abbinare esattamente le configurazioni del cluster Couchbase Server autogestito. | Amministratore di Couchbase | 
| Implementa il cluster. | Scegli una zona di supporto e un pacchetto di supporto, quindi distribuisci il cluster. Per passaggi e istruzioni dettagliati, consulta [Creare un cluster nella documentazione](https://docs.couchbase.com/cloud/clusters/create-cluster.html) di Couchbase.Se utilizzi la versione di prova gratuita di Couchbase Capella, devi convertirla in un account a pagamento prima di iniziare la migrazione. **Per convertire il tuo account, apri la sezione **Fatturazione** del piano di controllo di Couchbase Capella, quindi scegli Aggiungi ID di attivazione.** [L'ID di attivazione viene inviato al tuo indirizzo email di contatto per la fatturazione dopo aver completato un contratto di acquisto con Couchbase Sales o dopo aver effettuato un acquisto tramite AWS Marketplace.](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26) | Amministratore di Couchbase | 
| Crea un utente di credenziali del database.  | Un utente di credenziali del database è specifico di un cluster ed è composto da un nome utente, una password e un set di privilegi del bucket. Questo utente è necessario per creare bucket e accedere ai dati dei bucket. Nel piano di controllo di Couchbase Capella, crea una credenziale di database per il nuovo cluster seguendo le istruzioni in [Configurare le credenziali del database](https://docs.couchbase.com/cloud/clusters/manage-database-users.html) nella documentazione di Couchbase Capella.A un utente dell'organizzazione devono essere assegnate le credenziali del ruolo organizzativo se desidera accedere ai dati dei bucket su un particolare cluster, in remoto o tramite l'interfaccia utente di Couchbase Capella. Questo è separato dalle credenziali del database, che vengono in genere utilizzate da app e integrazioni. La creazione dell'utente organizzativo ti consente di creare e gestire i bucket di destinazione sul tuo cluster Couchbase Capella. | Amministratore di Couchbase | 
| Se utilizzi l'opzione di migrazione 2, installa Couchbase Shell. | Puoi installare Couchbase Shell su qualsiasi sistema che abbia accesso di rete sia al tuo Couchbase Server autogestito che ai cluster Couchbase Capella. Per ulteriori informazioni, consulta [Installa Couchbase Shell versione 1.0.0-beta.5 nella documentazione di Couchbase Shell](https://couchbase.sh/docs/#_installation).Verifica che Couchbase Shell sia installato [testando una connessione al cluster autogestito in un](https://couchbase.sh/docs/#_connecting_to_a_cluster) terminale a riga di comando. | Amministratore di Couchbase, amministratore di sistema | 
| Consenti indirizzi IP. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Per ulteriori informazioni sugli indirizzi IP consentiti, consulta [Configurare gli indirizzi IP consentiti](https://docs.couchbase.com/cloud/get-started/configure-cluster-access.html#allow-ip-address) nella documentazione di Couchbase. | Amministratore di Couchbase, Amministratore di sistema | 
| Configura i certificati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase, amministratore di sistema | 
| Crea il file di configurazione per Couchbase Shell. | Crea un dotfile di configurazione nella home directory dell'installazione di Couchbase Shell (ad esempio,). `/<HOME_DIRECTORY>/.cbsh/config` Per ulteriori informazioni, consulta [Config dotfiles](https://couchbase.sh/docs/#_the_config_dotfiles) nella documentazione di Couchbase.Aggiungi le proprietà di connessione per i cluster di origine e di destinazione al file di configurazione. Puoi utilizzare il file di configurazione di esempio che si trova nella sezione *Informazioni aggiuntive* e modificare le impostazioni per i tuoi cluster. Salva il file di configurazione con le impostazioni aggiornate nella `.cbsh` cartella (ad esempio,`/<HOME_DIRECTORY>/.cbsh/config`). | Amministratore di Couchbase, amministratore di sistema | 
| Crea bucket di destinazione. | Per ogni bucket di origine, crea un bucket di destinazione nel cluster Couchbase Capella seguendo le istruzioni in [Creare un](https://docs.couchbase.com/cloud/clusters/data-service/manage-buckets.html#add-bucket) bucket nella documentazione di Couchbase.Le configurazioni dei bucket di destinazione devono corrispondere ai nomi dei bucket, alle impostazioni di memoria e alle impostazioni di risoluzione dei conflitti dei bucket nel cluster Couchbase Server autogestito. | Amministratore di Couchbase | 
| Crea ambiti e raccolte. | Ogni bucket contiene un ambito e una raccolta predefiniti con lo spazio delle chiavi. `_default._default` Se utilizzi altri spazi chiave per l'ambito e la raccolta, devi creare spazi chiave identici nel cluster Capella di destinazione.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)<pre>scopes --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope | where scope != "_default" | each { |it| scopes create $it.scope --clusters "Capella-Cluster" }<br />collections --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope collection | where $it.scope != "_default" | where $it.collection != "_default" | each { |it| collections create $it.collection --clusters "Capella-Cluster" --bucket <BUCKET_NAME> --scope $it.scope }</pre> | Amministratore di Couchbase | 

### Esegui la migrazione dei dati da Enterprise Edition
<a name="migrate-the-data-from-enterprise-edition"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Apri le porte TCP sui nodi del cluster Couchbase Server autogestiti. | Assicurati che le porte appropriate siano aperte per la comunicazione XDCR sui nodi del cluster Couchbase Server autogestito. [Per ulteriori informazioni, consulta la documentazione sulle porte del server Couchbase.](https://docs.couchbase.com/server/current/install/install-ports.html#ports-listed-by-communication-path) | Amministratore di Couchbase, amministratore di sistema | 
| Se utilizzi Couchbase Server Enterprise Edition, configura Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 
| Avvia Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 

### Migra gli indici utilizzando l'opzione 1
<a name="migrate-the-indexes-by-using-option-1"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra gli indici di cluster autogestiti su Couchbase Capella. | Consigliamo questa procedura se hai meno di 50 indici da migrare. Se hai più di 50 indici da migrare, ti consigliamo di utilizzare l'opzione di migrazione 2.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase, amministratore di sistema | 

### Esegui la migrazione degli indici utilizzando l'opzione 2
<a name="migrate-the-indexes-by-using-option-2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione delle definizioni degli indici.  | Consigliamo questa procedura se hai più di 50 indici da migrare. Se hai meno di 50 indici da migrare, ti consigliamo di utilizzare l'opzione di migrazione 1.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase, amministratore di sistema | 
| Crea le definizioni degli indici.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase, amministratore di sistema | 

### Migrazione degli indici di ricerca full-text
<a name="migrate-full-text-search-indexes"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Migra gli indici di ricerca full-text del cluster autogestiti su Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 

### Migra i dati da Couchbase Community Edition
<a name="migrate-data-from-couchbase-community-edition"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esporta i dati da Couchbase Server Community Edition autogestito. | L'XDCR crittografato non è disponibile in Couchbase Community Edition. È possibile esportare i dati da Couchbase Community Edition e quindi importarli manualmente in Couchbase Capella.Per esportare i dati dal bucket di origine, usali nella riga di comando. `cbexport`Il comando seguente viene fornito come esempio.<pre>cbexport json \<br />--cluster localhost \<br />--bucket <SOURCE BUCKET NAME> \<br />--format lines \<br />--username <USERNAME> \<br />--password <PASSWORD> \<br />--include-key cbkey \<br />--scope-field cbscope \<br />--collection-field cbcoll \<br />--output cbexported_data.json</pre>Nota che`cbkey`, `cbscope``cbcoll`, e `cbexported_data.json` sono etichette arbitrarie. Verrà fatto riferimento a esse più avanti nel processo, quindi se scegli di denominarle in modo diverso, prendine nota. | Amministratore di Couchbase | 
| Importa i dati in Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Per file di grandi dimensioni, Couchbase Capella supporta l'importazione da riga di comando tramite cURL. Puoi esplorare le opzioni di importazione in modo più dettagliato in [Importa dati](https://docs.couchbase.com/cloud/clusters/data-service/import-data-documents.html) nella documentazione di Couchbase Capella. | Amministratore di Couchbase | 

### Testa e verifica la migrazione
<a name="test-and-verify-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verifica la migrazione dei dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 
| Verifica la migrazione dell'indice.  | **Nel piano di controllo di Couchbase Capella, nell'elenco a discesa **Strumenti** per il cluster di destinazione, scegli Indici.** Verifica che gli indici siano migrati e creati. | Amministratore di Couchbase | 
| Verifica i risultati della query.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 
| Verifica i risultati della ricerca in testo completo (applicabile se hai migrato gli indici FTS). | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Amministratore di Couchbase | 

## Risorse correlate
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-resources"></a>

**Prepara la migrazione**
+ [Inizia con la versione di prova gratuita di Couchbase Capella](https://cloud.couchbase.com/sign-up)
+ [Requisiti del provider di cloud per Couchbase Capella](https://docs.couchbase.com/cloud/reference/aws.html)
+ [Linee guida per il dimensionamento di Couchbase Capella](https://docs.couchbase.com/cloud/clusters/sizing.html)

**Migra i dati e gli indici**
+ [Couchbase XDCR](https://docs.couchbase.com/cloud/clusters/xdcr/xdcr.html)
+ [Documentazione Couchbase Shell](https://couchbase.sh/docs/)

**Couchbase Capella e supporto SLAs **
+ Accordi sui livelli di servizio di [Couchbase Capella](https://www.couchbase.com/capellasla) () SLAs
+ [Politica di supporto del servizio Couchbase Capella](https://www.couchbase.com/support-policy/cloud)

## Informazioni aggiuntive
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-additional"></a>

Il codice seguente è un esempio di [file di configurazione per](https://couchbase.sh/docs/#_the_config_dotfiles) Couchbase Shell. 

```
Version = 1
 
[[clusters]]
identifier = "On-Prem-Cluster"
hostnames = ["<SELF_MANAGED_COUCHBASE_CLUSTER>"]
default-bucket = "travel-sample"
username = "<SELF_MANAGED_ADMIN>"
password = "<SELF_MANAGED_ADMIN_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_SELF_MANAGED_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
 
[[clusters]]
identifier = "Capella-Cluster"
hostnames = ["<COUCHBASE_CAPELLA_ENDPOINT>"]
default-bucket = "travel-sample"
username = "<CAPELLA_DATABASE_USER>"
password = "<CAPELLA_DATABASE_USER_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_COUCHBASE_CAPELLA_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
```

Prima di salvare il file di configurazione, utilizzate la tabella seguente per assicurarvi di aver aggiunto le informazioni sul cluster di origine e di destinazione.

 


|  |  | 
| --- |--- |
| <SELF\$1MANAGED\$1COUCHBASE\$1CLUSTER> | Usa l'indirizzo IP per il tuo cluster Couchbase Server autogestito. | 
| <SELF\$1MANAGED\$1ADMIN> | Usa l'utente amministratore per il tuo cluster Couchbase Server autogestito. | 
| <ABSOLUTE\$1PATH\$1TO\$1SELF\$1MANAGED\$1ROOT\$1CERT> | Usa il percorso assoluto del file di certificato root salvato per il tuo cluster Couchbase Server autogestito. | 
| <COUCHBASE\$1CAPELLA\$1ENDPOINT> | Usa l'endpoint di connessione per il tuo cluster Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER> | Usa l'utente del database per il tuo cluster Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER\$1PWD> | Usa la password utente del database per il tuo cluster Couchbase Capella. | 
| <ABSOLUTE\$1PATH\$1TO\$1COUCHBASE\$1CAPELLA\$1ROOT\$1CERT> | Usa il percorso assoluto del file di certificato root salvato per il tuo cluster Couchbase Capella. | 

# Esegui la migrazione da IBM WebSphere Application Server ad Apache Tomcat su Amazon EC2
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2"></a>

*Neal Ardeljan e Afroz Khan, Amazon Web Services*

## Riepilogo
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-summary"></a>

Questo modello illustra i passaggi per la migrazione da un sistema locale Red Hat Enterprise Linux (RHEL) 6.9 o successivo che esegue IBM WebSphere Application Server (WAS) a RHEL 8 con Apache Tomcat su un'istanza Amazon Elastic Compute Cloud (Amazon). EC2 

Il modello può essere applicato alle seguenti versioni di origine e destinazione: 
+ WebSphere Application Server 7.x su Apache Tomcat 8 (con Java 7 o versione successiva) 
+ WebSphere Da Application Server 8.x ad Apache Tomcat 8 (con Java 7 o versione successiva) 
+ WebSphere Da Application Server 8.5.5.x ad Apache Tomcat 9 (con Java 8 o versione successiva) 
+ WebSphere Da Application Server 8.5.5.x ad Apache Tomcat 10 (con Java 8 o versione successiva) 

## Prerequisiti e limitazioni
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-prereqs"></a>

**Prerequisiti******
+ Un account AWS attivo 
+ Codice sorgente Java, con i seguenti presupposti:
  + Utilizza la versione Java Development Kit (JDK) di Java 7 o successiva 
  + Utilizza il framework Spring o Apache Struts 
  + Non utilizza il framework Enterprise Java Beans (EJB) o qualsiasi altra funzionalità del WebSphere server non immediatamente disponibile per Tomcat
  + Utilizza principalmente servlet o Java Server Pages () JSPs 
  + Utilizza i connettori Java Database Connectivity (JDBC) per connettersi ai database  
+ Source IBM WebSphere Application Server versione 7.x o successiva 
+ Target Apache Tomcat versione 8.5 o successiva  

## Architecture
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-architecture"></a>

******Stack tecnologico di origine**
+ Un'applicazione web creata utilizzando il framework Apache Struts Model-View-Controller (MVC) 
+ Un'applicazione Web in esecuzione su IBM WebSphere Application Server versione 7.x o 8.x
+ Un'applicazione web che utilizza un connettore LDAP (Lightweight Directory Access Protocol) per connettersi a una directory LDAP (iPlanet/eTrust) 
+ Un'applicazione che utilizza la connettività IBM Tivoli Access Manager (TAM) per aggiornare la password utente TAM (nella presente implementazione, le applicazioni utilizzano PD.jar)

******Database locali**
+ Oracle Database 21c (21.0.0.0)
+ Oracle Database 19c (19.0.0.0)
+ Oracle Database 12c Release 2 (12.2.0.1)
+ Oracle Database 12c Release 1 (12.1.0.2)

**Stack tecnologico Target**
+ Apache Tomcat versione 8 (o successiva) in esecuzione su RHEL su un'istanza EC2 
+ Amazon Relational Database Service (Amazon RDS) per Oracle

Per ulteriori informazioni sulle versioni Oracle supportate da Amazon RDS, consulta il sito Web [Amazon RDS for](https://aws.amazon.com/rds/oracle/) Oracle. 

**Architettura Target**

![\[Architettura per la migrazione da IBM WebSphere ad Apache Tomcat su Amazon EC2\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/96f91201-e0a6-4d3f-a94e-7bd68a59cc4e/images/11afe7c0-b400-423b-9dfe-02a915fe47ff.png)


## Tools (Strumenti)
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-tools"></a>
+ Livello di applicazione: ricostruzione dell'applicazione Java in un file WAR.
+ Livello database: backup e ripristino nativi di Oracle.
+ Strumento di migrazione Apache Tomcat per Jakarta EE. Questo strumento utilizza un'applicazione web scritta per Java EE 8 che funziona su Apache Tomcat 9 e la converte automaticamente per l'esecuzione su Apache Tomcat 10, che implementa Jakarta EE 9.

## Epiche
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Completa l'individuazione delle applicazioni, lo stato attuale e la base di riferimento delle prestazioni. |  | BA, responsabile della migrazione | 
| Convalida le versioni del database di origine e di destinazione. |  | DBA | 
| Identifica i requisiti hardware per l' EC2 istanza del server di destinazione. |  | DBA, SysAdmin | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, SysAdmin | 
| Scegli il tipo di EC2 istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, SysAdmin | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, SysAdmin | 
| Identifica la strategia e gli strumenti di migrazione delle applicazioni. |  | DBA, responsabile della migrazione | 
| Completa la progettazione e la guida alla migrazione per l'applicazione. |  | Build Lead, Migration Lead | 
| Completa il runbook sulla migrazione delle applicazioni. |  | Build Lead, Cutover Lead, Testing Lead, Migration Lead | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) |  | SysAdmin | 
| Crea i gruppi di sicurezza. |  | SysAdmin | 
| Configura e avvia Amazon RDS for Oracle. |  | DBA, SysAdmin | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea o ottieni l'accesso agli endpoint per recuperare i file di backup del database. |  | DBA | 
| Utilizza il motore di database nativo o uno strumento di terze parti per migrare oggetti e dati del database. | Per i dettagli, vedere «Migrazione di oggetti e dati del database» nella sezione *Informazioni aggiuntive*. | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Presenta la richiesta di modifica (CR) per la migrazione. |  | Cutover Lead | 
| Ottieni l'approvazione CR per la migrazione. |  | Cutover Lead | 
| Segui la strategia di migrazione delle applicazioni riportata nel runbook di migrazione delle applicazioni. | Per i dettagli, consulta «Configurazione del livello di applicazione» nella sezione *Informazioni aggiuntive*. | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 
| Aggiorna l'applicazione (se necessario). |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 
| Completa i test funzionali, non funzionali, di convalida dei dati, dello SLA e delle prestazioni. |  | Responsabile del test, proprietario dell'app, utenti dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ottenere l'approvazione dal proprietario dell'applicazione o dal titolare dell'attività. |  | Cutover Lead | 
| Passa i client applicativi alla nuova infrastruttura. |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | DBA, ingegnere addetto alla migrazione, SysAdmin | 
| Rivedi e convalida i documenti del progetto. |  | Responsabile della migrazione | 
| Raccogli parametri come il tempo necessario per la migrazione, la percentuale di attività manuali rispetto a quelle automatizzate e il risparmio sui costi. |  | Responsabile della migrazione | 
| Chiudi il progetto e fornisci feedback. |  | Responsabile della migrazione, proprietario dell'app | 

## Risorse correlate
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-resources"></a>

**Riferimenti**
+ [Documentazione di Apache Tomcat 10.0](https://tomcat.apache.org/tomcat-10.0-doc/index.html)
+ [Documentazione di Apache Tomcat 9.0](https://tomcat.apache.org/tomcat-9.0-doc/index.html)
+ [Documentazione di Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc)
+ [Guida all'installazione di Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc/setup.html)
+ [Documentazione JNDI di Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html)
+ [Sito Web Amazon RDS per Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle e Amazon Web Services](https://aws.amazon.com/oracle/) 
+ [Oracle su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Implementazioni Multi-AZ di Amazon RDS](https://aws.amazon.com/rds/details/multi-az/) 

**Tutorial e video**
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/) 

## Informazioni aggiuntive
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-additional"></a>

**Migrazione di oggetti e dati del database**

Ad esempio, se utilizzi backup/restore utilità Oracle native:

1. Crea il backup Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) per i file di backup del database (opzionale).

1. Esegui il backup dei dati di Oracle DB nella cartella condivisa di rete.

1. Accedere al server di staging della migrazione per mappare la cartella di condivisione di rete.

1. Copia i dati dalla cartella di condivisione di rete al bucket S3.

1. Richiedi un'implementazione Amazon RDS Multi-AZ per Oracle.

1. Ripristina il backup del database locale su Amazon RDS for Oracle.

**Configurazione del livello di applicazione**

1. Installa Tomcat 8 (o 9/10) dal sito Web di Apache Tomcat.

1. Package dell'applicazione e delle librerie condivise in un file WAR.

1. Distribuisci il file WAR in Tomcat.

1. Monitora il registro di avvio su `Linux cat` tutte le librerie condivise mancanti da. WebSphere

1. Guarda il record iniziale di `Linux cat` qualsiasi estensione descrittrice di distribuzione WebSphere specifica.

1. Raccogli tutte le librerie Java dipendenti mancanti dal WebSphere server.

1. Modifica gli elementi del descrittore WebSphere di distribuzione specifici con equivalenti compatibili con Tomcat.

1. Ricostruisci il file WAR con le librerie Java dipendenti e i descrittori di distribuzione aggiornati.

1. Aggiorna la configurazione LDAP, la configurazione del database e le connessioni di test (vedi [Realm Configuration HOW-TO e JNDI Datasource HOW-TO](https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html) [nella documentazione di](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html) Apache Tomcat).

1. Testa l'applicazione installata con il database Amazon RDS for Oracle ripristinato.

1. Crea un'Amazon Machine Image (AMI) per Linux dall' EC2 istanza.

1. Avvia l'architettura completa con il gruppo Application Load Balancer and Auto Scaling.

1. Aggiorna URLs (utilizzando la giunzione WebSeal) in modo che punti all'Application Load Balancer.

1. Aggiornare il database di gestione della configurazione (CMDB). 

# Esegui la migrazione da IBM WebSphere Application Server ad Apache Tomcat su Amazon EC2 con Auto Scaling
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling"></a>

*Kevin Yung e Afroz Khan, Amazon Web Services*

## Riepilogo
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un'applicazione Java da IBM WebSphere Application Server ad Apache Tomcat su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) con Amazon Auto EC2 Scaling abilitato. 

Utilizzando questo modello, è possibile ottenere:
+ Una riduzione dei costi di licenza IBM
+ Alta disponibilità grazie all'implementazione Multi-AZ
+ Resilienza delle applicazioni migliorata con Amazon EC2 Auto Scaling

## Prerequisiti e limitazioni
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Applicazioni Java (versione 7). *x* o 8. *x*) dovrebbe essere sviluppato in stack LAMP.
+ Lo stato di destinazione è ospitare applicazioni Java su host Linux. Questo modello è stato implementato con successo in un ambiente Red Hat Enterprise Linux (RHEL) 7. Altre distribuzioni Linux possono seguire questo schema, ma è necessario fare riferimento alla configurazione della distribuzione Apache Tomcat.
+ È necessario comprendere le dipendenze dell'applicazione Java.
+ È necessario avere accesso al codice sorgente dell'applicazione Java per apportare modifiche. 

**Limitazioni e modifiche alla ripiattaforma**
+ È necessario conoscere i componenti dell'archivio aziendale (EAR) e verificare che tutte le librerie siano incluse nei file WAR dei componenti Web. È necessario configurare il [plugin Apache Maven WAR e produrre artefatti di file WAR](https://maven.apache.org/plugins/maven-war-plugin/).
+ Quando si utilizza Apache Tomcat 8, esiste un conflitto noto tra servlet-api.jar e i file jar incorporati nel pacchetto dell'applicazione. Per risolvere questo problema, eliminate servlet-api.jar dal pacchetto dell'applicazione.
+ [È necessario configurare WEB-INF/Resources che si trovano nel *classpath* della configurazione di Apache Tomcat.](https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html) Per impostazione predefinita, le librerie JAR non vengono caricate nella directory. *In alternativa, puoi distribuire tutte le risorse insrc/main/resources.*
+ Verifica la presenza di eventuali root contestuali codificate all'interno dell'applicazione Java e aggiorna la nuova [radice contestuale](https://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Defining_a_context) di Apache Tomcat.
+ **Per impostare le opzioni di runtime JVM, è possibile creare il file di configurazione setenv.sh nella cartella bin di Apache Tomcat; ad esempio, JAVA\$1OPTS, JAVA\$1HOME, ecc.**  
+ L'autenticazione è configurata a livello di contenitore ed è configurata come realm nelle configurazioni di Apache Tomcat. L'autenticazione viene stabilita per uno dei tre ambiti seguenti: 
  + [JDBC Database Realm cerca gli utenti in un database](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JDBC_Database_Realm_-_org.apache.catalina.realm.JDBCRealm) relazionale a cui accede il driver JDBC.
  + [DataSource Database Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#DataSource_Database_Realm_-_org.apache.catalina.realm.DataSourceRealm) cerca gli utenti in un database a cui accede JNDI. 
  + [JNDI Directory Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm) cerca gli utenti nella directory LDAP (Lightweight Directory Access Protocol) a cui accede il provider JNDI. Le ricerche richiedono: 
    + Dettagli della connessione LDAP: base di ricerca utente, filtro di ricerca, base di ruoli, filtro di ruolo 
    + La chiave JNDI Directory Realm: si connette a LDAP, autentica gli utenti e recupera tutti i gruppi di cui un utente è membro
+ Autorizzazione: nel caso di un contenitore con un'autorizzazione basata sui ruoli che controlla i vincoli di autorizzazione in web.xml, le risorse web devono essere definite e confrontate con i ruoli definiti nei vincoli. Se LDAP non dispone della mappatura dei ruoli di gruppo, è necessario impostare l'attributo < > in web.xml per ottenere la mappatura dei ruoli di gruppo. security-role-ref [Per vedere un esempio di documento di configurazione, consulta la documentazione Oracle.](https://docs.oracle.com/cd/E19226-01/820-7627/bncav/index.html) 
+ Connessione al database: crea una definizione di risorsa in Apache Tomcat con un URL dell'endpoint Amazon Relational Database Service (Amazon RDS) e dettagli di connessione. Aggiorna il codice dell'applicazione in modo che faccia riferimento a utilizzando la ricerca JNDI DataSource . Una connessione DB esistente definita in non WebSphere funzionerebbe, poiché utilizza i nomi WebSphere JNDI di. È possibile aggiungere una <resource-ref>voce in web.xml con il nome JNDI e la definizione del DataSource tipo. Per visualizzare un documento di configurazione di esempio, consultate la documentazione di [Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html#JDBC_Data_Sources).
+ Registrazione: per impostazione predefinita, Apache Tomcat accede alla console o a un file di registro. [È possibile abilitare la traccia a livello di realm aggiornando *logging.properties* (vedi Registrazione in Tomcat).](https://tomcat.apache.org/tomcat-8.0-doc/logging.html) *Se utilizzi Apache Log4j per aggiungere log a un file, devi scaricare tomcat-juli e aggiungerlo al classpath.*
+ Gestione delle sessioni: se utilizzi IBM WebSeal per il bilanciamento del carico delle applicazioni e la gestione delle sessioni, non è richiesta alcuna modifica. [Se utilizzi un Application Load Balancer o Network Load Balancer su AWS per sostituire il componente IBM WebSeal, devi configurare la gestione delle sessioni utilizzando un'istanza ElastiCache Amazon con un cluster Memcached e configurare Apache Tomcat per utilizzare la gestione delle sessioni open source.](https://github.com/magro/memcached-session-manager) 
+ Se utilizzi il forward proxy IBM WebSEAL, devi configurare un nuovo Network Load Balancer su AWS. Utilizza le configurazioni di giunzione IPs fornite dal Network Load Balancer per le configurazioni di giunzione WebSEAL.
+ Configurazione SSL: si consiglia di utilizzare Secure Sockets Layer (SSL) per le comunicazioni. end-to-end [Per configurare una configurazione del server SSL in Apache Tomcat, segui le istruzioni nella documentazione di Apache Tomcat.](https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html) 

## Architecture
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-architecture"></a>

**Stack di tecnologia di origine**
+ Server di applicazioni IBM WebSphere 

 

**Stack tecnologico Target**
+ L'architettura utilizza [Elastic Load Balancing (versione 2](https://docs.aws.amazon.com/elasticloadbalancing/)). Se utilizzi IBM WebSeal per la gestione e il bilanciamento del carico di Identify, puoi selezionare un Network Load Balancer su AWS da integrare con il reverse proxy IBM WebSeal.
+ Le applicazioni Java vengono distribuite su un server applicativo Apache Tomcat, che viene eseguito su un' EC2 istanza in un gruppo Amazon Auto [Scaling EC2 ](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html). Puoi impostare una [politica di scalabilità](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) basata su CloudWatch parametri di Amazon come l'utilizzo della CPU. 
+ Se stai ritirando l'uso di IBM WebSeal per il bilanciamento del carico, puoi utilizzare [Amazon for Memcached ElastiCache per la gestione](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) delle sessioni.
+ Per il database di back-end, puoi implementare [High Availability (Multi-AZ) per Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) e selezionare un tipo di motore di database.

 

**Architettura Target**

![\[Cloud AWS architecture with VPC, two availability zones, load balancer, and database components.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/52b91dab-7b3b-4751-abe2-25e7c7cd8d89/images/25125023-9a81-452a-9ada-184e2416cc02.png)


## Tools (Strumenti)
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-tools"></a>
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [Interfaccia a riga di comando AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)
+ Apache Tomcat (versione 7). *x o 8*. *x*)
+ RHEL 7 o Centos 7
+ [Implementazione di Amazon RDS Multi-AZ](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache per Memcached (opzionale](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html))

## Epiche
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-epics"></a>

### Configura il VPC
<a name="set-up-the-vpc"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) |  |  | 
| Creare sottoreti. |  |  | 
| Se necessario, create tabelle di routing. |  |  | 
| Crea liste di controllo degli accessi alla rete (ACLs). |  |  | 
| Configura AWS Direct Connect o una connessione VPN aziendale. |  |  | 

### Ripiattaforma l'applicazione
<a name="replatform-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rifattorizza la configurazione Maven di build dell'applicazione per generare gli artefatti WAR. |  |  | 
| Rifattorizza le fonti di dati sulle dipendenze delle applicazioni in Apache Tomcat. |  |  | 
| Rifattorizza i codici sorgente dell'applicazione per utilizzare i nomi JNDI in Apache Tomcat. |  |  | 
| Distribuisci gli artefatti WAR in Apache Tomcat. |  |  | 
| Completa le convalide e i test delle applicazioni. |  |  | 

### Configura la rete
<a name="configure-the-network"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il firewall aziendale per consentire la connessione ai servizi di dipendenza. |  |  | 
| Configura il firewall aziendale per consentire all'utente finale l'accesso a Elastic Load Balancing on AWS. |  |  | 

### Crea l'infrastruttura applicativa
<a name="create-the-application-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea e distribuisci l'applicazione su un' EC2 istanza. |  |  | 
| Crea un cluster Amazon ElastiCache for Memcached per la gestione delle sessioni. |  |  | 
| Crea un'istanza Amazon RDS Multi-AZ per il database di backend. |  |  | 
| Crea certificati SSL e importali in AWS Certificate Manager (ACM). |  |  | 
| Installa i certificati SSL sui sistemi di bilanciamento del carico. |  |  | 
| Installa i certificati SSL per i server Apache Tomcat. |  |  | 
| Convalide e test completi delle applicazioni. |  |  | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudere l'infrastruttura esistente. |  |  | 
| Ripristina il database dalla produzione ad Amazon RDS. |  |  | 
| Riduci l'applicazione apportando modifiche al DNS. |  |  | 

## Risorse correlate
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-related-resources"></a>

**Riferimenti**
+ [Documentazione di Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html)
+ [Guida all'installazione di Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html)
+ [Documentazione JNDI di Apache Tomcat](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html)
+ [Implementazioni Multi-AZ di Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache per Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html)

**Tutorial e video**
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Esegui la migrazione di un'applicazione.NET da Microsoft Azure App Service ad AWS Elastic Beanstalk
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk"></a>

*Raghavender Madamshitti, Amazon Web Services*

## Riepilogo
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-summary"></a>

Questo modello descrive come migrare un'applicazione Web.NET ospitata su Microsoft Azure App Service su AWS Elastic Beanstalk. Esistono due modi per migrare le applicazioni su Elastic Beanstalk:
+ Usa AWS Toolkit for Visual Studio: questo plugin per l'IDE di Microsoft Visual Studio offre il modo più semplice e diretto per distribuire applicazioni.NET personalizzate in AWS. Puoi utilizzare questo approccio per distribuire il codice.NET direttamente in AWS e creare risorse di supporto, come Amazon Relational Database Service (Amazon RDS) per i database SQL Server, direttamente da Visual Studio.
+ Carica e distribuisci su Elastic Beanstalk: ogni servizio app di Azure include un servizio in background chiamato Kudu, utile per acquisire dump di memoria e log di distribuzione, visualizzare i parametri di configurazione e accedere ai pacchetti di distribuzione. Puoi usare la console Kudu per accedere ai contenuti del Servizio app di Azure, estrarre il pacchetto di distribuzione e quindi caricare il pacchetto su Elastic Beanstalk usando l'opzione di caricamento e distribuzione nella console Elastic Beanstalk.

Questo modello descrive il secondo approccio (caricamento dell'applicazione su Elastic Beanstalk tramite Kudu). Il modello utilizza anche i seguenti servizi AWS: AWS Elastic Beanstalk, Amazon Virtual Private Cloud (Amazon VPC), Amazon, Amazon Elastic Compute Cloud ( CloudWatchAmazon) Auto Scaling, EC2 Amazon Simple Storage Service (Amazon S3) e Amazon Route 53. 

L'applicazione Web.NET viene distribuita su AWS Elastic Beanstalk, che viene eseguito in un Amazon EC2 Auto Scaling Group. Puoi impostare una politica di scalabilità basata su CloudWatch parametri di Amazon come l'utilizzo della CPU. Per un database, puoi utilizzare Amazon RDS in un ambiente Multi-AZ o Amazon DynamoDB, a seconda dell'applicazione e dei requisiti aziendali. 

## Prerequisiti e limitazioni
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un'applicazione Web.NET in esecuzione nel servizio app di Azure
+ Autorizzazione a usare la console Azure App Service Kudu

**Versioni del prodotto**
+ .NET Core (x64) 1.0.1, 2.0.0 o versione successiva oppure .NET Framework 4.x, 3.5 (consulta [.NET](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnet.html) nella cronologia della piattaforma Windows Server)
+ Internet Information Services (IIS) versione 8.0 o successiva, in esecuzione su Windows Server 2012 o versione successiva
+ .NET 2.0 o 4.0 Runtime.

## Architecture
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-architecture"></a>

**Stack di tecnologia di origine**
+  Applicazione sviluppata usando .NET Framework 3.5 o versione successiva oppure .NET Core 1.0.1, 2.0.0 o versione successiva e ospitata nel Servizio app di Azure (app Web o app API)

**Stack tecnologico Target**
+ AWS Elastic Beanstalk in esecuzione in un gruppo Amazon EC2 Auto Scaling

**Architettura di migrazione**

![\[Kudu accede ai contenuti del Servizio app di Azure, ottiene il pacchetto di distribuzione e lo carica su Elastic Beanstalk.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/dd15f97b-9cf2-4bcc-af45-44df1c4ca4a5.png)


 

**Workflow di distribuzione**

![\[Flusso di lavoro di distribuzione per creare app, pubblicarle nell'ambiente di avvio e quindi gestire l'ambiente.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/accec77d-c753-4166-8f27-bd4932b3d884.png)


## Tools (Strumenti)
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-tools"></a>

**Strumenti**
+ .NET Core o.NET Framework
+ C\$1
+ IIS
+ Console Kudu

**Servizi e funzionalità AWS**
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) — Elastic Beanstalk easy-to-use è un servizio per la distribuzione e il ridimensionamento di applicazioni web.NET. Elastic Beanstalk gestisce automaticamente il provisioning della capacità, il bilanciamento del carico e la scalabilità automatica.
+ [Gruppo Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html): Elastic Beanstalk include un gruppo Auto Scaling che gestisce le istanze Amazon nell'ambiente. EC2 In un ambiente con singola istanza, il gruppo Auto Scaling garantisce che esista sempre un'istanza in esecuzione. In un ambiente con carico bilanciato, puoi configurare il gruppo con una gamma di istanze da eseguire e Amazon Auto Scaling EC2 aggiunge o rimuove istanze secondo necessità, in base al carico.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html): quando abiliti il bilanciamento del carico in AWS Elastic Beanstalk, crea un sistema di bilanciamento del carico che distribuisce il traffico tra le istanze dell'ambiente. EC2 
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html): Elastic Beanstalk CloudWatch utilizza automaticamente Amazon per fornire informazioni sulle risorse dell'applicazione e dell'ambiente. Amazon CloudWatch supporta metriche standard, metriche personalizzate e allarmi.
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) — Amazon Route 53 è un servizio Web DNS (Domain Name System) cloud altamente disponibile e scalabile. Puoi utilizzare i record di alias Route 53 per mappare nomi di dominio personalizzati in ambienti AWS Elastic Beanstalk.

## Epiche
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-epics"></a>

### Configurazione di un VPC
<a name="set-up-a-vpc"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura un cloud privato virtuale (VPC). | Nel tuo account AWS, crea un VPC con le informazioni richieste. | Amministratore di sistema | 
| Crea sottoreti. | Crea due o più sottoreti nel tuo VPC. | Amministratore di sistema | 
| Crea una tabella di rotte. | Crea una tabella di percorsi, in base alle tue esigenze. | Amministratore di sistema | 

### Configura Elastic Beanstalk
<a name="set-up-elastic-beanstalk"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Accedi alla console Azure App Service Kudu. | ****Accedi a Kudu tramite il portale di Azure accedendo alla dashboard del Servizio app e scegliendo Strumenti avanzati, Vai.**** In alternativa, puoi modificare l'URL del servizio app di Azure come segue:. `https://<appservicename>.scm.azurewebsites.net` | Sviluppatore di app, amministratore di sistema | 
| Scarica il pacchetto di distribuzione da Kudu. | Passa a Windows PowerShell scegliendo l'**DebugConsole**opzione. Si aprirà la console Kudo. Vai alla `wwwroot` cartella e scaricala. Verrà scaricato il pacchetto di distribuzione del servizio app di Azure come file zip. Per un esempio, vedi l'allegato. | Sviluppatore di app, amministratore di sistema | 
| Crea un pacchetto per Elastic Beanstalk. | Decomprimi il pacchetto di distribuzione scaricato dal Servizio app di Azure. Crea un file JSON chiamato `aws-windows-deployment-manifest.json` (questo file è richiesto solo per le applicazioni.NET Core). Crea un file zip che `aws-windows-deployment-manifest.json` includa il file del pacchetto di distribuzione del servizio app di Azure. Per un esempio, vedi l'allegato. | Sviluppatore di app, amministratore di sistema | 
| Crea una nuova applicazione Elastic Beanstalk. | Apri la console Elastic Beanstalk. Scegli un'applicazione esistente o crea una nuova applicazione. | Sviluppatore di app, amministratore di sistema | 
| Creazione dell'ambiente | **Nel menu Azioni della console Elastic **Beanstalk**, scegli Crea ambiente.** Seleziona l'ambiente del server Web e la piattaforma .NET/IIS. **Per il codice dell'applicazione, scegli Upload.** **Carica il file zip che hai preparato per Elastic Beanstalk, quindi scegli Crea ambiente.** | Sviluppatore di app, amministratore di sistema | 
| Configura Amazon CloudWatch. | Per impostazione predefinita, il CloudWatch monitoraggio di base è abilitato. **Se desideri modificare la configurazione, nella procedura guidata Elastic Beanstalk, scegli l'applicazione pubblicata, quindi scegli Monitoring.** | Amministratore di sistema | 
| Verifica che il pacchetto di distribuzione sia in Amazon S3.  | Una volta creato l'ambiente applicativo, puoi trovare il pacchetto di distribuzione nel bucket S3. | Sviluppatore di app, amministratore di sistema | 
| Testare l'applicazione. | Una volta creato l'ambiente, utilizza l'URL fornito nella console Elastic Beanstalk per testare l'applicazione. | Amministratore di sistema | 

## Risorse correlate
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-resources"></a>
+ [Concetti di AWS Elastic Beanstack (documentazione](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.html) di Elastic Beanstalk)
+ [Guida introduttiva a .NET su Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/dotnet-getstarted.html) (documentazione di Elastic Beanstalk)
+ [GitHubConsole](https://github.com/projectkudu/kudu/wiki/Kudu-console) Kudu ()
+ [Usare «Kudu» per gestire le app Web di Azure](https://www.gslab.com/blogs/kudu-azure-web-app/) (articolo di GS Lab)
+ Distribuzioni [personalizzate di ASP.NET Core Elastic Beanstalk](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-beanstalk-custom-netcore.html) (guida per l'utente di AWS Toolkit for Visual Studio)
+ [Documentazione su Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [Piattaforme supportate da AWS Elastic Beanstalk (documentazione Elastic Beanstalk](https://docs.amazonaws.cn/en_us/elasticbeanstalk/latest/platforms/platforms-supported.html))
+ [Distribuzione di un'applicazione Web su AWS](https://www.c-sharpcorner.com/article/deploying-a-web-application-to-aws/) (articolo C\$1 Corner)
+ [Ridimensionamento delle dimensioni del gruppo Auto Scaling (documentazione](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) Amazon EC2 )
+ [Alta disponibilità (Multi-AZ) per Amazon RDS (documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) Amazon RDS)

## Informazioni aggiuntive
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-additional"></a>

**Note**
+ Se stai migrando un database SQL Server locale o di Azure su Amazon RDS, devi aggiornare anche i dettagli della connessione al database. 
+ A scopo di test, è allegata un'applicazione demo di esempio.

## Allegati
<a name="attachments-df606a2d-b0a8-4035-b377-0a760e7300c9"></a>

[Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/df606a2d-b0a8-4035-b377-0a760e7300c9/attachments/attachment.zip)

# Esegui la migrazione da Oracle WebLogic ad Apache Tomcat (ToMee) su Amazon ECS
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs"></a>

*Anya Epishcheva e Harshad Gohil, Amazon Web Services*

## Riepilogo
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-summary"></a>

Questo modello illustra i passaggi per la migrazione di un sistema Oracle Solaris SPARC locale che esegue Oracle verso un'installazione basata su container Docker che esegue [Apache Tomee (Apache Tomcat](http://tomee.apache.org/) con supporto WebLogic per container aggiunto) con Amazon Elastic Container Service (Amazon ECS). 

Per informazioni sulla migrazione dei database associati alle applicazioni che stai migrando da Oracle a Tomcat, consulta i modelli di migrazione dei database in questo catalogo. WebLogic  

**Best practice**

I passaggi per la migrazione delle applicazioni Web Java e Java Enterprise Edition (Java EE) variano a seconda del numero di risorse specifiche del contenitore utilizzate dall'applicazione. Le applicazioni basate su Spring sono in genere più facili da migrare, perché hanno un numero limitato di dipendenze dal contenitore di distribuzione. Al contrario, le applicazioni Java EE che utilizzano Enterprise JavaBeans (EJBs) e risorse container gestite come pool di thread, Java Authentication and Authorization Service (JAAS) e Container-Managed Persistence (CMP) richiedono uno sforzo maggiore. 

Le applicazioni sviluppate per Oracle Application Server utilizzano spesso la suite Oracle Identity Management. I clienti che migrano a server applicativi open source spesso scelgono di reimplementare la gestione delle identità e degli accessi utilizzando la federazione basata su SAML. Altri utilizzano Oracle HTTP Server Webgate nei casi in cui la migrazione dalla suite Oracle Identity Management non è un'opzione. 

Le applicazioni Web Java e Java EE sono ottimi candidati per la distribuzione su servizi AWS basati su Docker, come AWS Fargate e Amazon ECS. I clienti scelgono spesso un'immagine Docker con la versione più recente del server delle applicazioni di destinazione (come ToMee) e il Java Development Kit (JDK) preinstallato. Installano le loro applicazioni sull'immagine Docker di base, la pubblicano nel registro Amazon Elastic Container Registry (Amazon ECR) e la utilizzano per la distribuzione scalabile delle loro applicazioni su AWS Fargate o Amazon ECS. 

Idealmente, la distribuzione delle applicazioni è elastica; vale a dire, il numero di istanze dell'applicazione aumenta o diminuisce, a seconda del traffico o del carico di lavoro. Ciò significa che le istanze delle applicazioni devono essere online o chiuse per adattare la capacità alla domanda. 

Quando sposti un'applicazione Java in AWS, valuta la possibilità di renderla stateless. Questo è un principio architettonico chiave di AWS Well-Architected Framework che consentirà la scalabilità orizzontale utilizzando la containerizzazione. Ad esempio, la maggior parte delle applicazioni Web basate su Java archivia localmente le informazioni sulla sessione utente. Per sopravvivere alla chiusura dell'istanza dell'applicazione dovuta al ridimensionamento automatico in Amazon Elastic Compute Cloud (Amazon EC2) o per altri motivi, le informazioni sulla sessione utente devono essere archiviate a livello globale in modo che gli utenti delle applicazioni Web possano continuare a lavorare senza interruzioni e in modo trasparente senza riconnettersi o riaccedere a un'applicazione Web. Esistono diverse opzioni architettoniche per questo approccio, tra cui Amazon ElastiCache for Redis o l'archiviazione dello stato della sessione in un database globale. I server di applicazioni come TomEE dispongono di plug-in che consentono l'archiviazione e la gestione delle sessioni tramite Redis, database e altri archivi di dati globali.

Utilizza uno strumento di registrazione e debug comune e centralizzato, facilmente integrabile con Amazon e AWS X-Ray. CloudWatch La migrazione offre l'opportunità di migliorare le funzionalità del ciclo di vita delle applicazioni. Ad esempio, potresti voler automatizzare il processo di creazione in modo che le modifiche possano essere apportate facilmente utilizzando una pipeline di integrazione e distribuzione continua (CI/CD). Ciò potrebbe richiedere modifiche all'applicazione in modo che possa essere distribuita senza tempi di inattività. 

## Prerequisiti e limitazioni
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Un account AWS attivo 
+ Codice sorgente Java e JDK 
+ Applicazione sorgente creata con Oracle WebLogic
+ Soluzione definita per la gestione delle identità e degli accessi (SAML o Oracle Webgate)
+ Soluzione definita per la gestione delle sessioni delle applicazioni (spostamento like-for-like o con Amazon o creazione dello stato dell'applicazione ElastiCache, se necessario)
+ Capire se il team deve rifattorizzare le librerie specifiche di J2EE per la portabilità su Apache ToMee (vedi [Java](http://tomee.apache.org/javaee7-status.html) EE 7 Implementation Status sul sito web di Apache) 
+ Immagine ToMee rafforzata in base ai requisiti di sicurezza
+ Immagine del contenitore con destinazione ToMee preinstallata 
+ Correzione dell'applicazione concordata e implementata se necessario (ad esempio, registrazione, debug, build, autenticazione)

**Versioni del prodotto**
+ Oracle WebLogic OC4 J, 9i, 10g 
+ Tomcat 7 (con Java 1.6 o successivo) 

## Architecture
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-architecture"></a>

 **Stack tecnologico di origine**
+ Applicazione Web creata con Oracle WebLogic
+ Applicazione Web che utilizza l'autenticazione Oracle Webgate o SAML
+ Applicazioni Web connesse a Oracle Database versione 10g e successive 

**Stack tecnologico Target**
+ ToMee (Apache Tomcat con supporto aggiuntivo per container) in esecuzione su Amazon ECS (vedi anche [Deploying Java Web Applications and Java](https://aws.amazon.com/answers/web-applications/aws-web-app-deployment-java/) [Microservices](https://aws.amazon.com/blogs/compute/deploying-java-microservices-on-amazon-ec2-container-service/) on Amazon ECS) 
+ Amazon Relational Database Service (Amazon RDS) per Oracle; per le versioni Oracle supportate da Amazon RDS, [consulta](https://aws.amazon.com/rds/oracle/) Amazon RDS per Oracle****

**Architettura di Target**

![\[Cloud AWS architecture diagram showing VPC, application subnets, and shared services account components.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/d5e7b3fa-062f-4559-af56-aa6058f96755/images/762193cf-aa68-4195-b3c7-6541caee61c9.png)


 

## Tools (Strumenti)
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-tools"></a>

Per funzionare su TomEE, un'applicazione Java deve essere ricostruita in un file.war. In alcuni casi, potrebbero essere necessarie modifiche all'applicazione per far funzionare l'applicazione su TomEE; è necessario verificare che le opzioni di configurazione e le proprietà dell'ambiente necessarie siano definite correttamente.  

Inoltre, le ricerche JNDI (Java Naming and Directory Interface) e gli spazi dei nomi JavaServer Pages (JSP) devono essere definiti correttamente. Valuta la possibilità di controllare i nomi dei file utilizzati dall'applicazione per evitare collisioni di denominazione con le librerie T integrate. Ad esempio, persistence.xml è un nome di file utilizzato dal framework Apache OpenJPA (fornito in bundle con OpenEJB in TomEE) per scopi di configurazione. Il file persistence.xml in PUI contiene le dichiarazioni dei bean del framework Spring.  

TomEE versione 7.0.3 e successive (Tomcat 8.5.7 e successive) restituisce una risposta HTTP 400 (richiesta errata) per raw (non codificato) con caratteri speciali. URLs La risposta del server viene visualizzata come una pagina vuota per l'utente finale. [Le versioni precedenti di ToMee e Tomcat consentivano l'uso di determinati caratteri speciali non codificati in URLs; tuttavia, è considerato pericoloso, come indicato nel sito Web CVE-2016-6816.](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6816) **Per risolvere il problema di codifica degli URL, i dati URLs passati direttamente al browser JavaScript devono essere codificati con il metodo encodeURI () anziché essere utilizzati come stringhe non elaborate.** 

Dopo aver distribuito il file.war in TomEE, monitora il *log di avvio* *su Linux cat* per eventuali librerie condivise mancanti ed estensioni specifiche di Oracle per aggiungere i componenti mancanti dalle librerie Tomcat. 

 

**Procedura generale**
+ Configura l'applicazione su TomEE.
+ Identifica e riconfigura i file e le risorse di configurazione specifici del server delle applicazioni dal formato di origine a quello di destinazione.
+ Identifica e riconfigura le risorse JNDI.
+ Adatta lo spazio dei nomi e le ricerche EJB al formato richiesto dal server delle applicazioni di destinazione (se applicabile).
+ Riconfigurate i ruoli di sicurezza e le mappature principali specifici del contenitore dell'applicazione JAAS (se applicabile).
+ Package dell'applicazione e delle librerie condivise in un file.war.
+ Distribuisci il file.war in TomEE utilizzando il contenitore Docker fornito.
+ Monitora *il registro di avvio* per identificare eventuali estensioni mancanti della libreria condivisa e del descrittore di distribuzione. Se ne vengono trovate, tornate alla prima attività. 
+ Testa l'applicazione installata con il database Amazon RDS ripristinato.
+ Avvia l'architettura completa con un sistema di bilanciamento del carico e un cluster Amazon ECS seguendo le istruzioni in [Deploy](https://aws.amazon.com/getting-started/tutorials/deploy-docker-containers/) Docker Containers.
+ Aggiorna il punto URLs di bilanciamento del carico. 
+ Aggiornare il database di gestione della configurazione (CMDB). 

## Poemi epici
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui l'individuazione delle applicazioni (impronta dello stato attuale e baseline delle prestazioni). |  | BA, responsabile della migrazione | 
| Convalida le versioni e i motori del database di origine e destinazione. |  | DBA | 
| Convalida il design dell'applicazione di origine e di destinazione (gestione dell'identità e della sessione). |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 
| Identifica i requisiti hardware e di storage per l'istanza del server di destinazione. |  | DBA, SysAdmin | 
| Scegli il tipo di istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, SysAdmin | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, SysAdmin | 
| Identifica la strategia e gli strumenti di migrazione delle applicazioni. |  | DBA, responsabile della migrazione | 
| Completa la progettazione e la guida alla migrazione per l'applicazione. |  | Build Lead, Migration Lead | 
| Completa il runbook sulla migrazione delle applicazioni. |  | Build Lead, Cutover Lead, Testing Lead, Migration Lead | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) |  | SysAdmin | 
| Crea gruppi di sicurezza. |  | SysAdmin | 
| Configura e avvia l'istanza database di Amazon RDS. |  | DBA, SysAdmin | 
| Configura la distribuzione di Amazon ECS. |  | SysAdmin | 
| Package della tua applicazione come immagine Docker. |  | SysAdmin | 
| Invia l'immagine al registro Amazon ECR (o salta questo passaggio e inviala al cluster Amazon ECS). |  | SysAdmin | 
| Configura la definizione delle attività per l'applicazione e le opzioni del servizio Amazon ECS. |  | SysAdmin | 
| Configura il cluster, rivedi le impostazioni di sicurezza e imposta i ruoli di AWS Identity and Access Management (IAM). |  | SysAdmin | 
| Avvia la configurazione ed esegui i test in base al runbook di migrazione delle applicazioni. |  | SysAdmin | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ottieni l'autorizzazione del tuo team di garanzia della sicurezza per spostare i dati di produzione in AWS. |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 
| Crea e ottieni l'accesso agli endpoint per recuperare i file di backup del database. |  | DBA | 
| Utilizza il motore di database nativo o strumenti di terze parti per migrare oggetti e dati del database. |  | DBA | 
| Esegui i test necessari dal runbook di migrazione delle applicazioni per confermare la corretta migrazione dei dati. |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 

### Esegui la migrazione dell'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una richiesta di modifica (CR) per la migrazione. |  | Cutover Lead | 
| Ottieni l'approvazione CR per la migrazione. |  | Cutover Lead | 
| Segui la strategia di migrazione delle applicazioni riportata nell'Application Migration Runbook. |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 
| Aggiorna l'applicazione (se necessario). |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 
| Test completi, funzionali, non funzionali, di convalida dei dati, degli SLA e delle prestazioni. |  | Responsabile del test, proprietario dell'app, utenti dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ottenere l'approvazione dall'applicazione o dal titolare dell'attività. |  | Cutover Lead | 
| Esegui un esercizio tematico da tavolo per illustrare tutti i passaggi del cutover runbook. |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 
| Passa i client applicativi alla nuova infrastruttura. |  | DBA, ingegnere addetto alla migrazione, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | DBA, ingegnere addetto alla migrazione, SysAdmin | 
| Rivedi e convalida i documenti del progetto. |  | Responsabile della migrazione | 
| Raccogli le metriche in tempo utile per la migrazione, la percentuale di utilizzo manuale rispetto agli strumenti, i risparmi sui costi, ecc. |  | Responsabile della migrazione | 
| Chiudi il progetto e fornisci feedback. |  | Responsabile della migrazione, proprietario dell'app | 

## Risorse correlate
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-related-resources"></a>

**Riferimenti**
+ [Documentazione di Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html) 
+ [Guida all'installazione di Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html) 
+ [Documentazione JNDI di Apache Tomcat](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html) 
+ [Documentazione Apache TomEE](http://tomee.apache.org/) 
+ [Amazon RDS per Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle e AWS](https://aws.amazon.com/oracle/) 
+ [Documentazione Oracle su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Implementazioni Amazon RDS Multi-AZ](https://aws.amazon.com/rds/details/multi-az/) 
+ [Guida introduttiva ad Amazon ECS](https://aws.amazon.com/ecs/getting-started/)
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/) 

**Tutorial e video**
+ [Best practice per l'esecuzione di database Oracle su Amazon RDS (presentazione](https://www.youtube.com/watch?v=j2wqT0EPDbw) re:Invent 2018) 

# Esegui la migrazione di un database Oracle da Amazon EC2 ad Amazon RDS for Oracle utilizzando AWS DMS
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms"></a>

*Chethan Gangadharaiah e Brian Motzer, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-summary"></a>

Questo modello descrive i passaggi per la migrazione di un database Oracle da Amazon Elastic Compute Cloud (Amazon EC2) ad Amazon Relational Database Service (Amazon RDS) per Oracle utilizzando AWS Database Migration Service (AWS DMS). Il modello utilizza anche Oracle SQL Developer o SQL \$1Plus per connettersi all'istanza Oracle DB e include un CloudFormation modello AWS che automatizza alcune attività.

La migrazione ad Amazon RDS for Oracle ti consente di concentrarti sulla tua attività e sulle tue applicazioni, mentre Amazon RDS si occupa delle attività di amministrazione del database come il provisioning dei database, il backup e il ripristino, le patch di sicurezza, gli aggiornamenti delle versioni e la gestione dello storage.

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un'Amazon Machine Image (AMI) per Oracle Database su Amazon EC2

**Versioni del prodotto**
+ AWS DMS supporta le versioni Oracle 11g (versione 11.2.0.3.v1 e successive), 12c e 18c per i database di istanze Amazon RDS per le edizioni Enterprise, Standard, Standard One e Standard Two. Per le informazioni più recenti sulle versioni supportate, consulta [Using an Oracle Database as a Target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) nella documentazione AWS. (I CloudFormation modelli AWS allegati utilizzano la versione 12c di Oracle come database di origine.)
+ Oracle SQL Developer 4.0.3

## Architecture
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-architecture"></a>

**Architettura di origine**
+ Database Oracle su Amazon EC2

**Architettura Target**
+ Amazon RDS per Oracle

**Architettura di migrazione**

![\[Cloud AWS architecture showing Oracle database migration from EC2 to RDS across availability zones.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/4db0c731-0897-4eb8-a06f-b648c3d94b2c/images/636c2a69-5a78-482d-ae81-55e9ec975ead.png)


## Tools (Strumenti)
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/index.html): AWS Database Migration Service (AWS DMS) ti aiuta a migrare i database su AWS in modo rapido e sicuro. Supporta migrazioni sia omogenee che eterogenee. Per informazioni sulle versioni e le edizioni del database Oracle supportate, consulta [Using an Oracle Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Using an Oracle Database as a Target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) nella documentazione AWS.
+ **Oracle SQL Developer o SQL \$1Plus**: questi strumenti consentono di connettersi all'istanza DB Amazon RDS for Oracle.

## Epiche
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-epics"></a>

### Configura il tuo database di destinazione
<a name="set-up-your-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza database Amazon RDS for Oracle. | Accedere alla Console di gestione AWS e aprire la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/. Crea un'istanza DB Oracle selezionando il motore, il modello, l'impostazione delle credenziali del database, il tipo di istanza, lo storage, le impostazioni Multi-AZ, il cloud privato virtuale (VPC) e la configurazione, le credenziali di accesso e le impostazioni aggiuntive per il database Oracle. Per istruzioni, visualizza i collegamenti nella sezione «Risorse correlate». Oppure utilizza il CloudFormation modello AWS (Create\$1RDS.yaml) nell'allegato per creare l'istanza DB Amazon RDS for Oracle. | Developer | 
| Connect ad Amazon RDS e concedi i privilegi all'utente Oracle. | Modifica il gruppo di sicurezza per aprire le porte appropriate per la connessione dalla macchina locale e dall'istanza di replica AWS DMS. Quando configuri la connettività, assicurati che l'opzione «Accessibile pubblicamente» sia selezionata in modo da poterti connettere al database dall'esterno del VPC. Connettiti ad Amazon RDS con Oracle SQL Developer o SQL \$1Plus utilizzando le credenziali di accesso, crea un utente AWS DMS e fornisci i privilegi richiesti all'utente AWS DMS per modificare il database. | Developer | 

### Configura il gruppo di sicurezza dell'istanza di origine EC2
<a name="configure-the-security-group-of-the-source-ec2-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Controlla se il database Oracle è attivo e funzionante. | Usa Secure Shell (SSH) per connetterti all' EC2 istanza e prova a connetterti al database Oracle utilizzando SQL \$1Plus. | Developer | 
| Modifica il gruppo di sicurezza. | Modifica il gruppo di sicurezza dell' EC2 istanza per aprire le porte appropriate, in modo da poterti connettere dal tuo computer locale e dall'istanza di replica AWS DMS. | Developer | 

### Configura AWS DMS
<a name="set-up-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un'istanza di replica di AWS DMS. | In AWS DMS, crea un'istanza di replica nello stesso VPC dell'istanza DB Amazon RDS for Oracle. Specificare il nome e la descrizione dell'istanza di replica, scegliere la classe di istanza e la versione del motore di replica (utilizzare l'impostazione predefinita), scegliere il VPC in cui è stata creata l'istanza database Amazon RDS, impostare le impostazioni Multi-AZ se necessario, allocare lo storage, specificare la zona di disponibilità e configurare impostazioni aggiuntive. In alternativa, puoi utilizzare il CloudFormation modello AWS (DMS.yaml) nell'allegato per implementare questo passaggio. | DBA | 
| Connect agli endpoint del database di origine e di destinazione. | Crea gli endpoint del database di origine e di destinazione specificando l'identificatore dell'endpoint, il motore, il server, la porta, le credenziali di accesso e gli attributi di connessione aggiuntivi. Per il server di origine, utilizza il DNS pubblico dell' EC2 istanza che ospita il database Oracle. Per il server di destinazione, utilizza l'endpoint di Amazon RDS for Oracle. Esegui un test per verificare che le connessioni di origine e di destinazione funzionino. In alternativa, puoi utilizzare il CloudFormation modello AWS (DMS.yaml) nell'allegato per implementare questo passaggio. | DBA | 
| Crea un'attività AWS DMS. | Crea un'attività AWS DMS per migrare i dati dall'endpoint di origine all'endpoint di destinazione, per configurare la replica tra l'endpoint di origine e quello di destinazione o entrambi. Quando crei il task AWS DMS, specifica l'istanza di replica, l'endpoint di origine, l'endpoint di destinazione, il tipo di migrazione (solo dati, solo replica o entrambi), la mappatura delle tabelle e il filtro. Esegui l'attività AWS DMS, monitora l'attività, controlla le statistiche della tabella e controlla i log in Amazon. CloudWatch In alternativa, puoi utilizzare il CloudFormation modello AWS (DMS.yaml) nell'allegato per implementare questo passaggio. | DBA | 

## Risorse correlate
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-related-resources"></a>
+ [Creazione di un'istanza database Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateOracleInstance.html)
+ [Connessione a un'istanza database che esegua il motore di database di Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToOracleInstance.html)
+ [Documentazione AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Procedure dettagliate di AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Migrazione dei database Oracle sul cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Allegati
<a name="attachments-4db0c731-0897-4eb8-a06f-b648c3d94b2c"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/4db0c731-0897-4eb8-a06f-b648c3d94b2c/attachments/attachment.zip)

# Esegui la migrazione di un database Oracle locale ad Amazon OpenSearch Service utilizzando Logstash
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash"></a>

*Aditya Goteti, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-summary"></a>

Questo modello descrive come spostare i dati da un database Oracle locale ad Amazon OpenSearch Service utilizzando Logstash. Include considerazioni sull'architettura e alcuni set di competenze e consigli richiesti. I dati possono provenire da una singola tabella o da più tabelle in cui sarà necessario eseguire una ricerca completa. 

OpenSearch Il servizio può essere configurato all'interno di un cloud privato virtuale (VPC) oppure può essere collocato pubblicamente con restrizioni basate su IP. Questo modello descrive uno scenario in cui il OpenSearch servizio è configurato all'interno di un VPC. Logstash viene utilizzato per raccogliere i dati dal database Oracle, analizzarli in formato JSON e quindi inserire i dati in Service. OpenSearch  

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Java 8 (richiesto da Logstash 6.4.3)
+ Connettività tra i server di database locali e le istanze Amazon Elastic Compute Cloud EC2 (Amazon) in un VPC, stabilita utilizzando AWS Virtual Private Network (AWS VPN)
+ Una query per recuperare i dati richiesti da inviare a Service dal database OpenSearch 
+ Driver JDBC (Oracle Java Database Connectivity)

**Limitazioni**
+ Logstash non è in grado di identificare i record eliminati definitivamente dal database 

**Versioni del prodotto**
+ Database Oracle 12c
+ OpenSearch Servizio 6.3
+ Logstash 6.4.3

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle locale
+ VPN AWS locale

**Stack tecnologico Target**
+ VPC
+ EC2 istanza
+ OpenSearch servizio 
+ Logstash
+ NAT Gateway (per gli aggiornamenti del sistema operativo sulle EC2 istanze e per l'installazione di Java 8, Logstash e plugin)

**Architettura di migrazione dei dati**

![\[Come spostare i dati da un database Oracle locale ad Amazon OpenSearch Service utilizzando Logstash.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/09f6d2de-de2f-4ed6-af93-34b71b75a263/images/df6a61fb-09fb-49d4-a7e8-b04e88c003df.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-tools"></a>
+ Logstash 6.4.3
+ [Plugin di input JDBC (download e ulteriori informazioni)](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html)
+ [Plugin di output Logstash (\$1es) logstash-output-amazon](https://github.com/awslabs/logstash-output-amazon_es)
+ Driver Oracle JDBC

## Epiche
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica la dimensione dei dati di origine. | La dimensione dei dati di origine è uno dei parametri utilizzati per determinare il numero di shard da configurare in un indice. | DBA, sviluppatore di database | 
| Analizza i tipi di dati di ogni colonna e i dati corrispondenti. | OpenSearch Il servizio mappa dinamicamente il tipo di dati quando nel documento viene trovato un campo mai visto in precedenza. Se esistono tipi o formati di dati specifici (ad esempio campi data) che devono essere dichiarati in modo esplicito, identifica i campi e definisci la mappatura per tali campi durante la creazione dell'indice. | Proprietario dell'app, sviluppatore, sviluppatore di database | 
| Determina se ci sono colonne con chiavi primarie o uniche. | Per evitare la duplicazione dei record in Amazon OpenSearch Service durante gli aggiornamenti o gli inserimenti, devi configurare l'`document_id`impostazione nella sezione di output del `amazon_es` plug-in (ad esempio, `document_id => "%{customer_id}"` `customer_id` dov'è una chiave primaria). | Proprietario dell'app, sviluppatore | 
| Analizza il numero e la frequenza dei nuovi record aggiunti; controlla la frequenza con cui i record vengono eliminati. | Questa attività è necessaria per comprendere il tasso di crescita dei dati di origine. Se i dati vengono letti in modo intensivo e gli inserimenti sono rari, è possibile disporre di un unico indice. Se i nuovi record vengono inseriti frequentemente e non vi sono eliminazioni, la dimensione dello shard può facilmente superare la dimensione massima consigliata di 50 GB. In questo caso, puoi creare dinamicamente un indice configurando i modelli di indice in Logstash e nel codice a cui puoi accedervi utilizzando un alias. | Proprietario dell'app, sviluppatore | 
| Determina quante repliche sono necessarie. |  | Proprietario dell'app, sviluppatore | 
| Determina il numero di shard da configurare nell'indice. |  | Proprietario dell'app, sviluppatore | 
| Identifica i tipi di istanza per i nodi master dedicati, i nodi di dati e l' EC2 istanza. | Per ulteriori informazioni, consulta la sezione [Risorse correlate](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). | Proprietario dell'app, sviluppatore | 
| Determina il numero di nodi master e nodi dati dedicati richiesti. | Per ulteriori informazioni, consulta la sezione [Risorse correlate](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). |  | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia un' EC2 istanza. | Avvia un' EC2 istanza all'interno del VPC a cui è connessa AWS VPN. | Costrutti Amazon VPC, AWS VPN | 
| Installa Logstash sull'istanza. EC2  |  | Developer | 
| Installa i plugin Logstash. | Installa i plugin Logstash richiesti e. `jdbc-input` ` logstash-output-amazon_es` | Developer | 
| Configura Logstash. | Crea il keystore Logstash per archiviare informazioni sensibili come le chiavi di AWS Secrets Manager e le credenziali del database, quindi inserisci i riferimenti in un file di configurazione Logstash. | Developer | 
| Configura la coda di lettere morte e la coda persistente. | Per impostazione predefinita, quando Logstash rileva un evento che non può elaborare perché i dati contengono un errore di mappatura o qualche altro problema, la pipeline Logstash si blocca o elimina l'evento non riuscito. Per proteggersi dalla perdita di dati in questa situazione, puoi configurare Logstash in modo che scriva gli eventi non riusciti in una coda di lettere morte anziché eliminarli. Per proteggersi dalla perdita di dati durante un'interruzione anomala, Logstash dispone di una funzione di coda persistente che memorizzerà la coda dei messaggi su disco. Le code persistenti garantiscono la durabilità dei dati in Logstash. | Developer | 
| Crea il dominio Amazon OpenSearch Service. | Crea il dominio Amazon OpenSearch Service con una policy di accesso che non richieda la firma di richieste con credenziali AWS Identity and Access Management (IAM). Il dominio Amazon OpenSearch Service deve essere creato all'interno dello stesso VPC. Dovresti anche selezionare i tipi di istanza e impostare il numero di nodi dedicati e master in base all'analisi. | Developer | 
| Configura i log di Amazon OpenSearch Service richiesti. | Per ulteriori informazioni, consulta la [documentazione del OpenSearch servizio](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html). |  | 
| Crea l'indice. |  | Developer | 
| Avvia Logstash. | Esegui Logstash come servizio in background. Logstash esegue la query SQL configurata, estrae i dati, li converte in formato JSON e li invia al servizio. OpenSearch Per il caricamento iniziale, non configurare lo scheduler nel file di configurazione di Logstash. | Developer | 
| Controlla i documenti. | Controlla il numero di documenti nell'indice e se tutti i documenti sono presenti nel database di origine. Durante il caricamento iniziale, vengono aggiunti all'indice e utilizzati per arrestare Logstash. Modifica la configurazione di Logstash per aggiungere uno scheduler che venga eseguito a intervalli fissi in base ai requisiti del client e riavvia Logstash. Logstash selezionerà solo i record che sono stati aggiornati o aggiunti dopo l'ultima esecuzione e il timestamp dell'ultima esecuzione viene archiviato nel file configurato con la proprietà nel file di configurazione di Logstash. `last_run_metadata_path => "/usr/share/logstash/.logstash_jdbc_last_run"` | Developer | 

## Risorse correlate
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources"></a>
+ [Allarmi consigliati CloudWatch ](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html) 
+ [Nodi master dedicati OpenSearch di Amazon Service](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains-dedicatedmasternodes.html) 
+ [Dimensionamento dei domini di OpenSearch servizio Amazon](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/sizing-domains.html) 
+ [Documentazione Logstash](https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html) 
+ [Plugin di input JDBC](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html)
+ [Plugin di output Logstash](https://github.com/awslabs/logstash-output-amazon_es)
+ [Sito web Amazon OpenSearch Service](https://aws.amazon.com/elasticsearch-service/) 

# Esegui la migrazione di un database Oracle locale ad Amazon RDS for Oracle
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle"></a>

*Baji Shaik e Pavan Pusuluri, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-summary"></a>

Questo modello descrive i passaggi per la migrazione dei database Oracle locali ad Amazon Relational Database Service (Amazon RDS) per Oracle. Come parte del processo di migrazione, crei un piano di migrazione e consideri i fattori importanti dell'infrastruttura di database di destinazione in base al database di origine. È possibile scegliere una delle due opzioni di migrazione in base ai requisiti aziendali e al caso d'uso:
+ AWS Database Migration Service (AWS DMS): puoi utilizzare AWS DMS per migrare i database nel cloud AWS in modo rapido e sicuro. Il database di origine rimane pienamente operativo durante la migrazione, il che riduce al minimo i tempi di inattività delle applicazioni che si basano sul database. Puoi ridurre i tempi di migrazione utilizzando AWS DMS per creare un'attività che registri le modifiche in corso dopo aver completato una migrazione iniziale a pieno carico tramite un processo chiamato [change data capture (](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)CDC). 
+ [Strumenti Oracle nativi: puoi migrare i database utilizzando strumenti Oracle nativi, come Oracle e Data Pump Export e [Data Pump Import with](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL200)[Oracle for](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL300) CDC. GoldenGate](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) È inoltre possibile utilizzare strumenti Oracle nativi come l'[utilità Export originale e l'utilità](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_export.htm#SUTIL3634) [Import](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_import.htm#SUTIL001) originale per ridurre il tempo di caricamento completo.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database Oracle locale
+ Un'istanza di database Amazon RDS Oracle (DB)

**Limitazioni**
+ Limite di dimensione del database: 64 TB

**Versioni del prodotto**
+ Versioni Oracle 11g (versioni 11.2.0.3.v1 e successive) e fino a 12.2 e 18c. Per l'elenco più recente delle versioni ed edizioni supportate, consulta [Amazon RDS for](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle nella documentazione AWS. Per le versioni Oracle supportate da AWS DMS, consulta [Using an Oracle database as a source for AWS DMS nella documentazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) di AWS DMS.

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle locali

**Stack tecnologico Target**
+ Amazon RDS per Oracle

**Architettura di origine e destinazione**

Il diagramma seguente mostra come migrare un database Oracle locale ad Amazon RDS for Oracle utilizzando AWS DMS.

![\[Flusso di lavoro per la migrazione dei database Oracle ad Amazon RDS for Oracle utilizzando AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/20f94a5c-1095-4182-b964-c379414c9a36.png)


Il diagramma mostra il flusso di lavoro seguente:

1. [Crea o usa un utente del database esistente, concedi le [autorizzazioni AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed) richieste a quell'utente, attiva la [modalità ARCHIVELOG](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.ArchiveLogMode) e quindi configura la registrazione supplementare.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging)

1. Configura il gateway Internet tra la rete locale e la rete AWS.

1. Configura gli [endpoint di origine e destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) per AWS DMS.

1. Configura le [attività di replica di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) per migrare i dati dal database di origine al database di destinazione.

1. Completa le attività successive alla migrazione sul database di destinazione.

Il diagramma seguente mostra come migrare un database Oracle locale ad Amazon RDS for Oracle utilizzando strumenti Oracle nativi.

![\[Flusso di lavoro per la migrazione dei database Oracle ad Amazon RDS for Oracle utilizzando gli strumenti Oracle.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/af8e0e1a-d4c8-4d99-9780-3e093ad9a257.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Crea o utilizza un utente del database esistente e concedi le autorizzazioni necessarie per eseguire il backup del database Oracle utilizzando le utilità Oracle Export (`exp`) e Import (`imp`).

1. Configura il gateway Internet tra la rete locale e la rete AWS.

1. Configura il client Oracle sull'host [Bastion](https://www.oracle.com/security/cloud-security/bastion/) per utilizzare il database di backup.

1. Carica il database di backup in un bucket Amazon Simple Storage Service (Amazon S3).

1. Ripristina il backup del database da Amazon S3 su un database Amazon RDS for Oracle.

1. Configura Oracle GoldenGate per CDC.

1. Completa le attività successive alla migrazione sul database di destinazione.

## Tools (Strumenti)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
+ Gli strumenti nativi di Oracle ti aiutano a eseguire una migrazione omogenea. È possibile utilizzare [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) per migrare i dati tra i database di origine e di destinazione. Questo modello utilizza Oracle Data Pump per eseguire il caricamento completo dal database di origine al database di destinazione.
+ [Oracle GoldenGate](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) consente di eseguire la replica logica tra due o più database. Questo modello viene utilizzato GoldenGate per replicare le modifiche delta dopo il caricamento iniziale utilizzando Oracle Data Pump.

## Epiche
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea documenti di progetto e registra i dettagli del database. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| Identifica i requisiti di archiviazione. | Identifica e documenta i tuoi requisiti di archiviazione, tra cui:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html)Per i [volumi SSD General Purpose (gp2)](https://aws.amazon.com/ebs/volume-types/), ottieni tre IOPS per 1 GB di storage. Alloca lo storage calcolando il numero totale di IOPS di lettura e scrittura sul database di origine. | DBA, SysAdmin | 
| Scegli il tipo di istanza corretto in base ai requisiti di elaborazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | SysAdmin | 
| Identifica i requisiti di sicurezza dell'accesso alla rete. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Identifica la strategia di migrazione delle applicazioni. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin proprietario dell'app | 
| Identifica i rischi legati alla migrazione. | Valuta i rischi e le mitigazioni specifici della migrazione del database e dei documenti. Esempio:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un VPC. | [Crea un nuovo Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/gsg_create_vpc.html) per l'istanza DB di destinazione. | SysAdmin | 
| Crea gruppi di sicurezza. | [Crea un gruppo di sicurezza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group) nel tuo nuovo VPC per consentire le connessioni in entrata all'istanza DB. | SysAdmin | 
| Crea un'istanza database Amazon RDS for Oracle. | [Crea l'istanza DB di destinazione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) con il nuovo VPC e il nuovo gruppo di sicurezza, quindi avvia l'istanza. | SysAdmin | 

### Opzione 1: utilizza strumenti nativi Oracle o di terze parti per migrare i dati
<a name="option-1---use-native-oracle-or-third-party-tools-to-migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare il database di origine. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Preparare il database di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 

### Opzione 2: usa AWS DMS per migrare i dati
<a name="option-2---use-aws-dms-to-migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare i dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| Migrare i dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### Passa al database di destinazione
<a name="cut-over-to-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Passa i client applicativi alla nuova infrastruttura. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, proprietario dell' SysAdminapp | 
| Implementa il tuo piano di rollback. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, proprietario dell'app | 

### Chiudi il progetto di migrazione
<a name="close-out-the-migration-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare le risorse. | Chiudi o rimuovi le risorse AWS temporanee, come l'istanza di replica AWS DMS e il bucket S3. | DBA, SysAdmin | 
| Rivedi i documenti del progetto. | Esamina i documenti e gli obiettivi di pianificazione della migrazione, quindi conferma di aver completato tutti i passaggi di migrazione richiesti. | DBA SysAdmin, proprietario dell'app | 
| Raccogli le metriche. | Registra i principali parametri di migrazione, tra cui il tempo impiegato per completare la migrazione, la percentuale di attività manuali rispetto a quelle basate su strumenti, i risparmi sui costi e altre metriche pertinenti. | DBA, proprietario dell'app SysAdmin | 
| Chiudi il progetto. | Chiudi il progetto di migrazione e raccogli il feedback sull'iniziativa. | DBA SysAdmin, proprietario dell'app | 

## Risorse correlate
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-resources"></a>

**Riferimenti**
+ [Migrazione dei database Oracle al cloud AWS (AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html) Prescriptive Guidance)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/) (documentazione AWS DMS)
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/) (documentazione Amazon RDS)

**Tutorial e video**
+ [Guida introduttiva ad AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/) (documentazione AWS DMS)
+ [Risorse Amazon RDS](https://aws.amazon.com/rds/getting-started/) (documentazione Amazon RDS)
+ [AWS Database Migration Service (DMS) (YouTube)](https://www.youtube.com/watch?v=zb4GcjEdl8U)

# Esegui la migrazione di un database Oracle locale ad Amazon RDS for Oracle utilizzando Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump"></a>

*Mohan Annam e Brian Motzer, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-summary"></a>

Questo modello descrive come migrare un database Oracle da un data center locale a un'istanza Amazon Relational Database Service (Amazon RDS) per Oracle DB utilizzando Oracle Data Pump. 

Il modello prevede la creazione di un file di dump dei dati dal database di origine, l'archiviazione del file in un bucket Amazon Simple Storage Service (Amazon S3) e il ripristino dei dati su un'istanza DB Amazon RDS for Oracle. Questo modello è utile in caso di limitazioni nell'utilizzo di AWS Database Migration Service (AWS DMS) per la migrazione. 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Le autorizzazioni necessarie per creare ruoli in AWS Identity and Access Management (IAM) e per un caricamento multiparte di Amazon S3
+ Le autorizzazioni necessarie per esportare i dati dal database di origine
+ [AWS Command Line Interface (AWS CLI[) installata e configurata](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

**Versioni del prodotto**
+ Oracle Data Pump è disponibile solo per Oracle Database 10g Release 1 (10.1) e versioni successive.

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-architecture"></a>

**Stack tecnologico di origine**
+ Database Oracle locali

**Stack tecnologico Target**
+ Amazon RDS per Oracle
+ Client SQL (Oracle SQL Developer)
+ Un bucket S3

**Architettura di origine e destinazione**

![\[Caricamento multiparte di Amazon S3 da un database Oracle locale su Amazon RDS utilizzando Oracle Data Pump.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/d8d6e00f-753e-4ecc-80e5-e60e279a699b/images/1bb6095a-0a95-4469-be0e-7b7bd59b35ae.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-tools"></a>

**Servizi AWS**
+ [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 risorse AWS controllando chi è autenticato e autorizzato a utilizzarle. In questo modello, IAM viene utilizzato per creare i ruoli e le policy necessari per la migrazione dei dati da Amazon S3 ad Amazon RDS for Oracle.
+ [Amazon Relational Database Service (Amazon RDS) per](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle ti aiuta a configurare, gestire e scalare un database relazionale Oracle nel cloud AWS.
+ [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.

**Altri strumenti**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) ti aiuta a spostare dati e metadati da un database all'altro a velocità elevate. In questo modello, Oracle Data Pump viene utilizzato per esportare il file di dump dei dati (.dmp) sul server Oracle e per importarlo in Amazon RDS for Oracle. Per ulteriori informazioni, consulta [Importazione di dati in Oracle su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3) nella documentazione di Amazon RDS.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) è un ambiente di sviluppo integrato che semplifica lo sviluppo e la gestione dei database Oracle in implementazioni tradizionali e basate su cloud. Interagisce sia con il database Oracle locale che con Amazon RDS for Oracle per eseguire i comandi SQL necessari per l'esportazione e l'importazione dei dati.

## Epiche
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-epics"></a>

### Creare un bucket S3
<a name="create-an-s3-bucket"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea il bucket. | Per creare il bucket S3, segui le istruzioni nella documentazione [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | Amministratore di sistema AWS | 

### Crea il ruolo IAM e assegna le politiche
<a name="create-the-iam-role-and-assign-policies"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura le autorizzazioni IAM. | Per configurare le autorizzazioni, segui le istruzioni nella [documentazione di AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing). | Amministratore di sistema AWS | 

### Crea l'istanza database Amazon RDS for Oracle di destinazione e associa il ruolo di integrazione di Amazon S3
<a name="create-the-target-amazon-rds-for-oracle-db-instance-and-associate-the-amazon-s3-integration-role"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'istanza database Amazon RDS for Oracle di destinazione. | Per creare l'istanza Amazon RDS for Oracle, segui le istruzioni nella documentazione [AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html). | Amministratore di sistema AWS | 
| Associa il ruolo all'istanza DB. | Per associare il ruolo all'istanza, segui le istruzioni nella [documentazione AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing.instance). | DBA | 

### Crea l'utente del database sul database di destinazione
<a name="create-the-database-user-on-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare l’utente. | Connect al database Amazon RDS for Oracle di destinazione da Oracle SQL Developer o SQL\$1Plus ed esegui il seguente comando SQL per creare l'utente in cui importare lo schema.<pre>create user SAMPLE_SCHEMA identified by <PASSWORD>;<br />grant create session, resource to <USER NAME>;<br />alter user <USER NAME> quota 100M on users;</pre> | DBA | 

### Crea il file di esportazione dal database Oracle di origine
<a name="create-the-export-file-from-the-source-oracle-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un file di dump dei dati. | Per creare un file di dump denominato `sample.dmp` nella `DATA_PUMP_DIR` directory per l'esportazione dell'`SAMPLE_SCHEMA`utente, utilizzare lo script seguente.<pre>DECLARE<br />    hdnl NUMBER;<br />BEGIN<br />    hdnl := dbms_datapump.open(operation => 'EXPORT', <br />                                job_mode => 'SCHEMA', <br />                                job_name => NULL);<br /><br />    dbms_datapump.add_file( handle => hdnl, <br />                            filename => 'sample.dmp', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />    dbms_datapump.add_file(handle => hdnl, <br />                            filename => 'export.log', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_log_file);<br /><br />    dbms_datapump.metadata_filter(hdnl, 'SCHEMA_EXPR', 'IN (''SAMPLE_SCHEMA'')');  <br /><br />    dbms_datapump.start_job(hdnl);<br />END;<br />/</pre>Controlla i dettagli dell'esportazione esaminando il `export.log` file nella tua directory locale`DATA_PUMP_DIR`.  | DBA | 

### Carica il file di dump nel bucket S3
<a name="upload-the-dump-file-to-the-s3-bucket"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Carica il file di dump dei dati dall'origine al bucket S3. | Utilizzando AWS CLI, esegui il seguente comando.<pre>aws s3 cp sample.dmp s3://<bucket_created_epic_1>/</pre> | DBA | 

### Scarica il file di esportazione dal bucket S3 all'istanza RDS
<a name="download-the-export-file-from-the-s3-bucket-to-the-rds-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica il file di dump dei dati su Amazon RDS | Per copiare il file di dump `sample.dmp` dal bucket S3 al database Amazon RDS for Oracle, esegui il seguente comando SQL. In questo esempio, il `sample.dmp` file viene scaricato dal `my-s3-integration1` bucket S3 nella directory Oracle. `DATA_PUMP_DIR` Assicurati di disporre di spazio su disco sufficiente all'istanza RDS per ospitare sia il database che il file di esportazione.<pre>-- If you want to download all the files in the S3 bucket remove the p_s3_prefix line.<br /><br />SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(<br />      p_bucket_name    =>  'my-s3-integration',    <br />      p_s3_prefix => 'sample.dmp',<br />      p_directory_name =>  'DATA_PUMP_DIR') <br />   AS TASK_ID FROM DUAL;</pre>Il comando precedente restituisce un ID di attività. Per verificare lo stato del download esaminando i dati nell'ID dell'attività, esegui il comando seguente.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<task_id>.log'));<br /><br /></pre>Per visualizzare i file nella `DATA_PUMP_DIR` directory, esegui il comando seguente.<pre>SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp<br />FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre> | Amministratore di sistema AWS | 

### Importa il file di dump nel database di destinazione
<a name="import-the-dump-file-into-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ripristina lo schema e i dati su Amazon RDS. | Per importare il file di dump nello schema del `sample_schema` database, esegui il seguente comando SQL da SQL Developer o SQL\$1Plus.<pre>DECLARE<br />hdnl NUMBER;<br />BEGIN<br /><br />hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle    => hdnl, filename  => 'import.log', directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);<br /><br />DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''SAMPLE_SCHEMA'')');<br /><br />DBMS_DATAPUMP.START_JOB(hdnl);<br /><br />END;<br />/</pre>Per visualizzare il file di registro dell'importazione, esegui il comando seguente.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('DATA_PUMP_DIR','import.log'));</pre> | DBA | 

### Rimuovi il file di dump dalla directory DATA\$1PUMP\$1DIR
<a name="remove-the-dump-file-from-the-data_pump_dir-directory"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Elenca e pulisci i file di esportazione. | Elenca e rimuovi i file di esportazione nella `DATA_PUMP_DIR` directory, esegui i seguenti comandi.<pre>-- List the files<br />SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre><pre>-- Remove the files<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample.dmp');<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','import.log');</pre> | Amministratore di sistema AWS | 

## Risorse correlate
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-resources"></a>
+ [Integrazione con Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing)
+ [Crea un'istanza DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateDBInstance.html)
+ [Importazione di dati in Oracle su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3)
+ [Documentazione Amazon S3](https://docs.aws.amazon.com/s3/index.html)
+ [Documentazione IAM](https://docs.aws.amazon.com/iam/index.html)
+ [Documentazione Amazon RDS](https://docs.aws.amazon.com/rds/index.html)
+ [Documentazione Oracle Data Pump](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html)
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/)

# Esegui la migrazione da PostgreSQL su Amazon RDS per PostgreSQL utilizzando EC2 pglogical
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical"></a>

*Rajesh Madiwale, Amazon Web Services*

## Riepilogo
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-summary"></a>

**Questo modello descrive i passaggi per la migrazione di un database PostgreSQL (versione 9.5 e successive) da Amazon Elastic Compute Cloud (Amazon) ad Amazon Relational Database EC2 Service (Amazon RDS) per PostgreSQL utilizzando l'estensione pglogica PostgreSQL.** Amazon RDS ora supporta l'estensione pglogical per PostgreSQL versione 10.

## Prerequisiti e limitazioni
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-prereqs"></a>

**Prerequisiti**
+ Scegli il tipo giusto di istanza Amazon RDS. Per ulteriori informazioni, consulta la sezione [Tipi di istanze Amazon RDS](https://aws.amazon.com/rds/instance-types/). 
+ Assicurati che le versioni di origine e di destinazione di PostgreSQL siano le stesse.   
+ Installa e integra l'estensione [**pglogical** con PostgreSQL](https://github.com/2ndQuadrant/pglogical) su Amazon. EC2 

**Versioni del prodotto**
+ PostgreSQL versione 10 e successive su Amazon RDS, con le funzionalità supportate su Amazon RDS (vedi [PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) su Amazon RDS nella documentazione AWS). Questo modello è stato testato migrando PostgreSQL 9.5 alla versione 10 di PostgreSQL su Amazon RDS, ma si applica anche alle versioni successive di PostgreSQL su Amazon RDS. 

## Architecture
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-architecture"></a>

**Architettura di migrazione dei dati**

![\[Architettura di migrazione dei dati per PostgreSQL su Amazon RDS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/29af3931-48de-499f-9c4b-e10a98e4bba5/images/5f5b906f-dc1a-49a5-ae3f-3e10ae854784.png)


## Tools (Strumenti)
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-tools"></a>
+ [https://github.com/2ndQuadrant/pglogical](https://github.com/2ndQuadrant/pglogical) pglogica
+ [https://www.postgresql.org/docs/9.5/app-pgdump.html](https://www.postgresql.org/docs/9.5/app-pgdump.html)

## Epiche
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-epics"></a>

### Migra i dati utilizzando l'estensione pglogical
<a name="migrate-data-by-using-the-pglogical-extension"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza database Amazon RDS PostgreSQL. | Configura un'istanza DB PostgreSQL in Amazon RDS. Per istruzioni, consulta la documentazione di [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html). | DBA | 
| Ottieni un dump dello schema dal database PostgreSQL di origine e ripristinalo nel database PostgreSQL di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Attiva la decodifica logica. | Nel gruppo di parametri Amazon RDS DB, imposta il parametro `rds.logical_replication` statico su 1. Per istruzioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalDecoding). | DBA | 
| Crea l'estensione pglogical sui database di origine e di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Crea un editore sul database PostgreSQL di origine. | Per creare un editore, esegui:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.create_node( node_name := 'provider1', dsn := 'host=<ec2-endpoint> port=5432 dbname=source-dbname user=source-dbuser' );<br />EOF</pre> | DBA | 
| Crea un set di replica, aggiungi tabelle e sequenze. | Per creare un set di replica sul database PostgreSQL di origine e aggiungere tabelle e sequenze al set di replica, esegui:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[],synchronize_data := true);<br />EOF</pre> | DBA | 
| Crea un abbonato. | Per creare un sottoscrittore sul database PostgreSQL di destinazione, esegui:<pre>psql -h <rds-endpoint> -d target-dbname -U target-dbuser  <<EOF<br />SELECT pglogical.create_node(<br />    node_name := 'subscriber1',<br />    dsn := 'host=<rds-endpoint> port=5432 dbname=target-dbname password=postgres user=target-dbuser'<br />);<br />EOF</pre> | DBA | 
| Crea un abbonamento. | Per creare un abbonamento sul database PostgreSQL di destinazione, esegui:<pre>psql -h <rds-endpoint> -d target -U postgres  <<EOF<br />SELECT pglogical.create_subscription(<br /> subscription_name := 'subscription1',<br /> replication_sets := array['default'],<br />    provider_dsn := 'host=<ec2-endpoint> port=5432 dbname=<source-dbname> password=<password> user=source-dbuser'<br />);</pre> | DBA | 

### Convalida i tuoi dati
<a name="validate-your-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Controlla i database di origine e di destinazione. | Controlla i database di origine e di destinazione per confermare che i dati vengano replicati correttamente. È possibile eseguire la convalida di base utilizzando le `select count(1)` tabelle di origine e destinazione. | DBA | 

## Risorse correlate
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-resources"></a>
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Replica logica per PostgreSQL su Amazon RDS (documentazione Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication) RDS)
+ [GitHub pglogical](https://github.com/2ndQuadrant/pglogical) (repository)
+ [Limitazioni di pglogical](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) (file README del repository) GitHub 
+ [Migrazione di PostgreSQL da locale o Amazon ad EC2 Amazon RDS](https://aws.amazon.com/blogs/database/migrating-postgresql-from-on-premises-or-amazon-ec2-to-amazon-rds-using-logical-replication/) utilizzando la replica logica (blog AWS Database)

# Esegui la migrazione di un database PostgreSQL locale su Aurora PostgreSQL
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql"></a>

*Baji Shaik e Jitender Kumar, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-summary"></a>

Amazon Aurora PostgreSQL Compatible Edition combina le prestazioni e la disponibilità dei database commerciali di fascia alta con la semplicità e la convenienza dei database open source. Aurora offre questi vantaggi scalando lo storage su tre zone di disponibilità nella stessa regione AWS e supporta fino a 15 istanze di replica in lettura per scalare i carichi di lavoro di lettura e fornire un'elevata disponibilità all'interno di una singola regione. Utilizzando un database globale Aurora, puoi replicare i database PostgreSQL in un massimo di cinque regioni per l'accesso in lettura remota e il disaster recovery in caso di errore di una regione. Questo modello descrive i passaggi per la migrazione di un database di origine PostgreSQL locale a un database Aurora compatibile con PostgreSQL. [https://www.postgresql.org/docs/current/app-pgrestore.html](https://www.postgresql.org/docs/current/app-pgrestore.html) 

I passaggi descritti in questo modello si applicano anche ai database PostgreSQL di destinazione su istanze Amazon Relational Database Service (Amazon RDS) e Amazon Elastic Compute Cloud (Amazon). EC2

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database sorgente PostgreSQL in un data center locale
+ [Un'istanza DB Aurora compatibile con PostgreSQL o un'istanza DB Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html) [for PostgreSQL](https://aws.amazon.com/getting-started/hands-on/create-connect-postgresql-db/)

**Limitazioni**
+ I limiti di dimensione del database sono 64 TB per Amazon RDS for PostgreSQL e 128 TB per Aurora PostgreSQL compatibile.
+ Se utilizzi l'opzione di migrazione AWS DMS, [consulta le limitazioni di AWS DMS sull'utilizzo di un database PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations) come sorgente.

**Versioni del prodotto**
+ Per il supporto delle versioni principali e secondarie di PostgreSQL in Amazon RDS, consulta gli aggiornamenti di Amazon RDS for [PostgreSQL nella documentazione di Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) RDS.
+ Per il supporto di PostgreSQL in Aurora, consulta gli aggiornamenti di [Amazon Aurora PostgreSQL nella documentazione di Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html).
+ Se utilizzi l'opzione di migrazione AWS DMS, consulta le versioni [PostgreSQL supportate](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html) nella documentazione di AWS DMS.

## Architecture
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-architecture"></a>

**Stack tecnologico di origine**
+ Database PostgreSQL locale

**Stack tecnologico Target**
+ Istanza DB Aurora compatibile con PostgreSQL

**Architettura di origine**

![\[Architettura di origine per il database PostgreSQL locale\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/a8621ad3-781b-45a9-86a8-d0b0ec5c79ea.png)


**Architettura di destinazione**

![\[Architettura di destinazione per il database PostgreSQL su Amazon Aurora\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/fc2ec0cb-7b9b-4cc0-b70c-40e47c2f4c45.png)


**Architettura di migrazione dei dati**

*Utilizzo di AWS DMS*

![\[Migrazione di un database PostgreSQL locale ad Aurora utilizzando AWS DMS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/5336adb4-e9eb-47d0-a5b5-d149261b1638.png)


*Utilizzo di strumenti PostgreSQL nativi*

![\[Migrazione di un database PostgreSQL locale su Aurora utilizzando pg_dump e pg_restore\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/3c6fb533-45ff-443e-bfb1-97e60cbdd583.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali. Questo servizio supporta diverse fonti e database di destinazione. Per informazioni su come convalidare le versioni e le edizioni del database PostgreSQL di origine e destinazione supportate per l'uso con AWS DMS, consulta Usare [un database PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html) come sorgente AWS DMS. Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità.
+ [https://www.postgresql.org/docs/current/app-pgrestore.html](https://www.postgresql.org/docs/current/app-pgrestore.html)

## Epiche
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-epics"></a>

### Analizza la migrazione
<a name="analyze-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni del database di origine e di destinazione. | Se utilizzi AWS DMS, assicurati di utilizzare una [versione supportata di PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html).  | DBA | 
| Identifica il tipo di storage e i requisiti di capacità. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, amministratore di sistema | 
| Scegli il tipo di istanza, la capacità, le funzionalità di archiviazione e le funzionalità di rete corretti. | Determina i requisiti di elaborazione dell'istanza di database di destinazione. Esamina i problemi di prestazioni noti che potrebbero richiedere ulteriore attenzione. Considerate i seguenti fattori per determinare il tipo di istanza appropriato:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Per ulteriori informazioni, consulta le [classi di istanze di Aurora DB nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) di Aurora. | DBA, amministratore di sistema | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. | Determinate i gruppi di sicurezza appropriati che consentano all'applicazione di comunicare con il database. | DBA, amministratore di sistema | 
| Identifica la strategia di migrazione delle applicazioni. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, proprietario dell'app, amministratore di sistema | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un VPC. | Crea un nuovo cloud privato virtuale (VPC) per l'istanza del database di destinazione. | Amministratore di sistema | 
| Crea gruppi di sicurezza. | Crea un gruppo di sicurezza all'interno del VPC (come determinato nell'epic precedente) per consentire le connessioni in entrata all'istanza del database.  | Amministratore di sistema | 
| Configura e avvia il cluster Aurora DB. | Crea l'istanza del database di destinazione con il nuovo VPC e il nuovo gruppo di sicurezza e avvia l'istanza. | Amministratore di sistema | 

### Migrazione dei dati ‒ opzione 1 (utilizzando AWS DMS)
<a name="migrate-data-option-1-using-aws-dms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Completa i passaggi precedenti alla migrazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| Completa i passaggi di migrazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| Convalida i dati. | Per garantire che i dati siano stati migrati con precisione dall'origine alla destinazione, segui i [passaggi di convalida dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) nella documentazione di AWS DMS. | DBA | 

### Migrazione dei dati ‒ opzione 2 (usando pg\$1dump e pg\$1restore)
<a name="migrate-data-option-2-using-pg_dump-and-pg_restore"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare il database di origine. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Per ulteriori informazioni, consulta la documentazione di [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html) e la procedura [dettagliata](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) nella documentazione di AWS DMS. | DBA | 
| Preparare il database di destinazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Per ulteriori informazioni, consulta la documentazione di [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) e la [procedura dettagliata](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) nella documentazione di AWS DMS. | DBA | 
| Convalida i dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni. | Implementa la strategia di migrazione delle applicazioni che hai creato nella prima epic. | DBA, proprietario dell'app, amministratore di sistema | 

### Passa al database di destinazione
<a name="cut-over-to-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, proprietario dell'app, amministratore di sistema | 
| Se è necessario ripristinare la migrazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse. | Chiudi le risorse AWS temporanee. | DBA, amministratore di sistema | 
| Convalida i documenti. | Rivedi e convalida i documenti del progetto. | DBA, proprietario dell'app, amministratore di sistema | 
| Raccogli le metriche. | Raccogli le metriche in tempo utile per la migrazione, la percentuale di risparmio sui costi manuali rispetto a quelli relativi agli strumenti e così via. | DBA, proprietario dell'app, amministratore di sistema | 
| Chiudi il progetto. | Chiudi il progetto e fornisci eventuali feedback. | DBA, proprietario dell'app, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-resources"></a>

**Riferimenti**
+ [Servizio di migrazione dati AWS](https://aws.amazon.com/dms/)
+ [VPCs e Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.html)
+ [Prezzi di Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Utilizzo di un database PostgreSQL come sorgente AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)
+ [Come creare un'istanza di replica AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/)
+ [Come creare endpoint di origine e destinazione utilizzando AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/create-source-target-endpoints-aws-dms/)

**Altre risorse**
+ [Guida introduttiva ad AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Procedure dettagliate sulla migrazione step-by-step dei dati](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Risorse Amazon Aurora](https://aws.amazon.com/rds/aurora/getting-started/)

# Esegui la migrazione di un database Microsoft SQL Server locale a Microsoft SQL Server su Amazon EC2 con Linux
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux"></a>

*Tirumala Dasari, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-summary"></a>

Questo modello descrive come migrare da un database Microsoft SQL Server locale in esecuzione su Microsoft Windows a Microsoft SQL Server su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) Linux utilizzando utilità di backup e ripristino.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ AMI Amazon EC2 Linux (Amazon Machine Image) con Microsoft SQL Server
+ AWS Direct Connect tra Windows locale e Microsoft SQL Server sull'istanza Linux EC2 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-architecture"></a>

**Stack tecnologico di origine**
+ Database Microsoft SQL Server locale

**Stack tecnologico Target**
+  EC2 Istanza Linux con un database Microsoft SQL Server

**Architettura di migrazione del database**

![\[Diagramma di architettura per migrare un database SQL Server locale su un'istanza Linux. EC2\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f331ad15-2d41-4087-a6d1-60e3443e2acf/images/f50a779a-ce5d-44b1-8d37-dedd6400a12c.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-tools"></a>
+ **WinSCP** - Questo strumento consente agli utenti Windows di condividere facilmente file con utenti Linux.
+ **Sqlcmd** - Questa utilità da riga di comando consente di inviare istruzioni o batch T-SQL a istanze locali e remote di SQL Server. L'utilità è estremamente utile per attività ripetitive di database come l'elaborazione in batch o il test delle unità.

## Epiche
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-epics"></a>

### Prepara l'istanza EC2 Linux con SQL Server
<a name="prepare-the-ec2-linux-instance-with-sql-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Seleziona un'AMI che fornisca il sistema operativo Linux e includa Microsoft SQL Server. |  | Amministratore di sistema | 
| Configura l'AMI per creare un' EC2 istanza. |  | Amministratore di sistema | 
| Crea regole in entrata e in uscita per i gruppi di sicurezza. |  | Amministratore di sistema | 
| Configurare l' EC2 istanza Linux per un database Microsoft SQL Server. |  | DBA | 
| Crea utenti e fornisci le autorizzazioni come nel database di origine. |  | Proprietario dell'app, DBA | 
| Installa gli strumenti di SQL Server e l'utilità sqlcmd sull'istanza Linux. EC2  |  | DBA | 

### Esegui il backup del database e sposta il file di backup sull'istanza Linux EC2
<a name="back-up-the-database-and-move-backup-file-to-linux-ec2-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eseguire il backup del database SQL Server locale. |  | DBA | 
| Installa WinSCP su Microsoft SQL Server. |  | DBA | 
| Sposta il file di backup nell' EC2 istanza Linux che esegue Microsoft SQL Server. |  | DBA | 

### Ripristina il database sull' EC2 istanza Linux che esegue SQL Server
<a name="restore-the-database-on-linux-ec2-instance-running-sql-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ripristina il database dal file di backup del database utilizzando l'utilità sqlcmd. |  | DBA | 
| Convalida oggetti e dati del database. |  | Sviluppatore, tecnico di test | 

### Passa da Windows SQL Server a Windows SQL Server su EC2 istanza Linux
<a name="cut-over-from-windows-sql-server-to-windows-sql-server-on-linux-ec2-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida oggetti e dati del database. |  | Sviluppatore, tecnico di test | 
| Passa dal database Microsoft SQL Server locale all' EC2 istanza Linux che esegue Microsoft SQL Server. |  | DBA | 

## Risorse correlate
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-resources"></a>
+ [Come configurare SQL Server 2017 su Amazon Linux e Ubuntu AMIs](https://aws.amazon.com/blogs/database/configuring-sql-server-2017-on-amazon-linux-2-and-ubuntu-amis/) 
+ [Installazione di strumenti SQL su un'istanza Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017#RHEL) 
+ [Backup e ripristino da un database Microsoft SQL Server locale a Microsoft SQL Server su un'istanza Linux EC2 ](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-migrate-restore-database?view=sql-server-2017#create-a-backup-on-windows) 

# Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server utilizzando server collegati
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers"></a>

*Kevin Yung, Viqash Adwani e Vishal Singh, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-summary"></a>

I server collegati consentono a Microsoft SQL Server di eseguire istruzioni SQL su altre istanze di server di database. Questo modello descrive come migrare il database locale di Microsoft SQL Server su Amazon Relational Database Service (Amazon RDS) per Microsoft SQL Server per ottenere costi inferiori e maggiore disponibilità. Attualmente, Amazon RDS per Microsoft SQL Server non supporta connessioni al di fuori di una rete Amazon Virtual Private Cloud (Amazon VPC). 

Puoi utilizzare questo modello per raggiungere i seguenti obiettivi:
+ Per migrare Microsoft SQL Server ad Amazon RDS per Microsoft SQL Server senza interrompere le funzionalità dei server collegati.
+ Per assegnare priorità e migrare Microsoft SQL Server collegato in diverse fasi.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Verifica se [Microsoft SQL Server su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) supporta le funzionalità richieste. 
+ Assicurati di poter utilizzare [Amazon RDS for Microsoft SQL Server con regole di confronto predefinite o regole di confronto impostate su livelli](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) di database. 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-architecture"></a>

**Stack tecnologico di origine**
+ Database locali (Microsoft SQL Server)

 **Stack tecnologico Target**
+ Amazon RDS per SQL Server

**Architettura dello stato di origine**

![\[Diagram showing data replication between two data centers with primary and secondary SQL servers.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/776b453a-7fa0-43fd-b1ca-fb9e5cc21820.png)


 

 

 

 

 

 

 

 

 

 

 

 

**Architettura dello stato di destinazione**

Nello stato di destinazione, esegui la migrazione da Microsoft SQL Server ad Amazon RDS per Microsoft SQL Server utilizzando server collegati. Questa architettura utilizza un Network Load Balancer per inoltrare il traffico da Amazon RDS per Microsoft SQL Server ai server locali che eseguono Microsoft SQL Server. Il diagramma seguente mostra la funzionalità reverse proxy per Network Load Balancer.

![\[Cloud AWS architecture with RDS SQL Server instances in two availability zones and on-premises databases.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/6bdbdfbf-b048-4fbd-acef-0aeb826edb50.png)


 

## Tools (Strumenti)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-tools"></a>
+ AWS CloudFormation
+ Network Load Balancer 
+ Amazon RDS per SQL Server in più zone di disponibilità (multipleAZs)
+ AWS Database Migration Service (AWS DMS) 

## Epiche
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-epics"></a>

### Crea un VPC per una landing zone
<a name="create-a-landing-zone-vpc"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'allocazione CIDR. |  | AWS SysAdmin | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) |  | AWS SysAdmin | 
| Crea le sottoreti VPC. |  | AWS SysAdmin | 
| Crea gli elenchi di controllo degli accessi alle sottoreti (ACLs). |  | AWS SysAdmin | 
| Crea le tabelle di routing delle sottoreti. |  | AWS SysAdmin | 
| Crea una connessione con AWS Direct Connect o AWS Virtual Private Network (VPN). |  | AWS SysAdmin | 

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza DB Amazon RDS per Microsoft SQL Server. |  | AWS SysAdmin | 
| Creare un'istanza di replica di AWS DMS. |  | AWS SysAdmin | 
| Crea gli endpoint del database di origine e di destinazione in AWS DMS. |  | AWS SysAdmin | 
| Crea l'attività di migrazione e imposta la replica continua su ON dopo un carico completo. |  | AWS SysAdmin | 
| Richiedi una modifica del firewall per consentire ad Amazon RDS for Microsoft SQL Server di accedere ai database SQL Server locali. |  | AWS SysAdmin | 
| Crea un Network Load Balancer. |  | AWS SysAdmin | 
| Crea un gruppo target destinato ai server di database nel tuo data center | Ti consigliamo di utilizzare i nomi host nella configurazione di destinazione per incorporare gli eventi di failover del data center (DC). | AWS SysAdmin | 
| Esegui l'istruzione SQL per la configurazione del server collegato. | Esegui le istruzioni SQL per aggiungere un server collegato utilizzando lo strumento di gestione Microsoft SQL sull'istanza DB di Amazon RDS for Microsoft SQL Server. Nell'istruzione SQL, imposta @datasrc per utilizzare il nome host di Network Load Balancer. Aggiungi le credenziali di accesso al server collegato utilizzando lo strumento di gestione Microsoft SQL sull'istanza DB di Amazon RDS for Microsoft SQL Server. | AWS SysAdmin | 
| Testa e convalida le funzioni di SQL Server. |  | AWS SysAdmin | 
| Crea un cutover. |  | AWS SysAdmin | 

## Risorse correlate
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-related-resources"></a>
+ [Attività di gestione comuni per Microsoft SQL Server su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General)
+ [Regole di confronto e set di caratteri per Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) 
+ [Documentazione Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Implementazione di server collegati con Amazon RDS per Microsoft SQL Server (post sul blog)](https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/)

# Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server utilizzando metodi di backup e ripristino nativi
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods"></a>

*Tirumala Dasari, David Queiroz e Vishal Singh, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-summary"></a>

Questo modello descrive come migrare un database Microsoft SQL Server locale a un'istanza database Amazon Relational Database Service (Amazon RDS) per SQL Server DB (migrazione omogenea). Il processo di migrazione si basa su metodi di backup e ripristino nativi di SQL Server. Utilizza SQL Server Management Studio (SSMS) per creare un file di backup del database e un bucket Amazon Simple Storage Service (Amazon S3) per archiviare il file di backup prima di ripristinarlo in Amazon RDS for SQL Server.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Policy di ruolo di AWS Identity and Access Management (IAM) per accedere al bucket S3 e all'istanza DB Amazon RDS for SQL Server.

**Limitazioni**
+ Il processo descritto in questo modello migra solo il database. Gli accessi SQL o gli utenti del database, inclusi i job di SQL Server Agent, non vengono migrati perché richiedono passaggi aggiuntivi.

**Versioni del prodotto**
+ SQL Server 2012-2017. Per l'elenco più recente delle versioni e delle funzionalità supportate, consulta [Microsoft SQL Server su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) nella documentazione AWS.

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-architecture"></a>

**Stack tecnologico di origine**
+ Un database Microsoft SQL Server locale

**Stack tecnologico Target**
+ Istanza database Amazon RDS per SQL Server

****Architettura di migrazione dei dati****

![\[Architettura per migrare un DB SQL Server locale su un'istanza DB Amazon RDS for SQL Server.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c2dcd6ab-deb1-4d5e-b3c5-3bf48c02ca4e/images/29f90473-6dd4-4574-bfbd-5c6a0481c40e.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-tools"></a>
+ Microsoft SQL Server Management Studio (SSMS) è un ambiente integrato per la gestione dell'infrastruttura SQL Server. Fornisce un'interfaccia utente e un gruppo di strumenti con editor di script avanzati che interagiscono con SQL Server.

## Epiche
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-epics"></a>

### Crea un'istanza DB Amazon RDS for SQL Server
<a name="create-an-amazon-rds-for-sql-server-db-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Seleziona SQL Server come motore di database in Amazon RDS for SQL Server. |  | DBA | 
| Scegli SQL Server Express Edition. |  | DBA | 
| Specificare i dettagli del database. | Per ulteriori informazioni sulla creazione di un'istanza DB, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). | DBA, proprietario dell'app | 

### Crea un file di backup dal database SQL Server locale
<a name="create-a-backup-file-from-the-on-premises-sql-server-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Connect al database SQL Server locale tramite SSMS. |  | DBA | 
| Crea un backup del database. | Per istruzioni, consulta la [documentazione SSMS](https://learn.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms). | DBA, proprietario dell'app | 

### Carica il file di backup su Amazon S3
<a name="upload-the-backup-file-to-amazon-s3"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un bucket in Amazon S3. | Per ulteriori informazioni, consulta la [Documentazione di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | DBA | 
| Carica il file di backup nel bucket S3. | Per ulteriori informazioni, consulta la [Documentazione di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). | SysOps amministratore | 

### Ripristina il database in Amazon RDS for SQL Server
<a name="restore-the-database-in-amazon-rds-for-sql-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiungi il gruppo di opzioni ad Amazon RDS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html)Per ulteriori informazioni, consulta la [documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html). | SysOps amministratore | 
| Ripristina il database. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html) | DBA | 

### Convalida il database di destinazione
<a name="validate-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida oggetti e dati. | Convalida gli oggetti e i dati tra il database di origine e Amazon RDS for SQL Server.Questa attività migra solo il database. Gli accessi e i lavori non verranno migrati. | Proprietario dell'app, DBA | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Reindirizza il traffico delle applicazioni. | Dopo la convalida, reindirizza il traffico dell'applicazione all'istanza DB di Amazon RDS for SQL Server. | Proprietario dell'app, DBA | 

## Risorse correlate
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-resources"></a>
+ [Documentazione Amazon S3](https://docs.aws.amazon.com/s3/) 
+ [Documentazione di Amazon RDS per SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) 
+ [Opzioni per il motore di database Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html) 

# Esegui la migrazione di un database Microsoft SQL Server su Aurora MySQL utilizzando AWS DMS e AWS SCT
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct"></a>

*Mark Szalkiewicz e Pavan Pusuluri, Amazon Web Services*

## Riepilogo
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-summary"></a>

Questo modello descrive come migrare un database Microsoft SQL Server locale o su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) verso Amazon Aurora MySQL. Il modello utilizza AWS Database Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT) per la migrazione dei dati e la conversione dello schema. 

## Prerequisiti e limitazioni
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database di origine Microsoft SQL Server in un data center locale o su un' EC2 istanza 
+ Driver Java Database Connectivity (JDBC) per connettori AWS SCT, installati su un computer locale o su un'istanza EC2 in cui è installato AWS SCT 

 

**Limitazioni**
+ Limite di dimensione del database: 64 TB

**Versioni del prodotto**
+ Microsoft SQL Server 2008, 2008R2, 2012, 2014, 2016 e 2017 per le edizioni Enterprise, Standard, Workgroup e Developer. Le edizioni Web ed Express non sono supportate da AWS DMS. Per l'elenco più recente delle versioni supportate, consulta [Using a Microsoft SQL Server Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html). Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità. Per informazioni sulle versioni di Microsoft SQL Server supportate da AWS SCT, consulta la documentazione di [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ MySQL versioni 5.5, 5.6 e 5.7. Per l'elenco più recente delle versioni supportate, consulta [Usare un database compatibile con MySQL come destinazione per](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) AWS DMS.

## Architecture
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-architecture"></a>

**Stack tecnologico di origine**

Una delle seguenti: 
+ Un database Microsoft SQL Server locale
+ Un database Microsoft SQL Server su un' EC2 istanza

**Stack tecnologico Target**
+ Aurora MySQL

**Architettura di migrazione dei dati**
+ Da un database Microsoft SQL Server in esecuzione nel cloud AWS 

![\[Cloud AWS architecture showing VPC with private subnet containing SQL Server and Aurora MySQL databases.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/c675ada4-e92c-4ddb-b49f-69668f532504.png)

+ Da un database Microsoft SQL Server in esecuzione in un data center locale

![\[Cloud AWS architecture diagram showing on-premises to cloud migration using AWS SCT, DMS, and Aurora MySQL.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/b6ce0199-fc56-4bf2-a8cc-67de161e3cf0.png)


## Tools (Strumenti)
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) (AWS DMS) ti aiuta a migrare i dati da e verso database commerciali e open source ampiamente utilizzati, tra cui Oracle, SQL Server, MySQL e PostgreSQL. Puoi utilizzare AWS DMS per migrare i dati nel cloud AWS, tra istanze locali (attraverso la configurazione di un cloud AWS) oppure tra combinazioni di configurazioni locali e cloud.
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) semplifica le migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione.

## Epiche
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-epics"></a>

### Preparati per la migrazione
<a name="prepare-for-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la versione e il motore del database di origine e di destinazione. |  | DBA | 
| Crea un gruppo di sicurezza in uscita per i database di origine e di destinazione. |  | SysAdmin | 
| Crea e configura un' EC2 istanza per AWS SCT, se necessario. |  | DBA | 
| Scarica la versione più recente di AWS SCT e i driver associati. |  | DBA | 
| Aggiungi e convalida gli utenti e le concessioni prerequisiti nel database di origine. |  | DBA | 
| Crea un progetto AWS SCT per il carico di lavoro e connettiti al database di origine. |  | DBA | 
| Genera un rapporto di valutazione e valuta la fattibilità. |  | DBA | 

### Preparare il database di destinazione
<a name="prepare-the-target-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza database Amazon RDS di destinazione utilizzando Amazon Aurora come motore di database. |  | DBA | 
| Estrai l'elenco di utenti, ruoli e concessioni dalla fonte. |  | DBA | 
| Associa gli utenti esistenti del database ai nuovi utenti del database. |  | Proprietario dell'app | 
| Crea utenti nel database di destinazione. |  | DBA | 
| Applica i ruoli del passaggio precedente al database di destinazione. |  | DBA | 
| Esamina le opzioni del database, i parametri, i file di rete e i collegamenti al database nel database di origine, quindi valuta la loro applicabilità al database di destinazione. |  | DBA | 
| Applica tutte le impostazioni pertinenti all'obiettivo. |  | DBA | 

### Trasferisci oggetti
<a name="transfer-objects"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la connettività AWS SCT al database di destinazione. |  | DBA | 
| Converti lo schema utilizzando AWS SCT. | AWS SCT converte automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Qualsiasi codice che lo strumento non è in grado di convertire automaticamente è chiaramente contrassegnato in modo che tu possa convertirlo tu stesso. | DBA | 
| Esamina il report SQL generato e salva eventuali errori e avvisi. |  | DBA | 
| Applica modifiche automatiche allo schema alla destinazione o salvale come file.sql. |  | DBA | 
| Verifica che AWS SCT abbia creato gli oggetti sulla destinazione.  |  | DBA | 
| Riscrivi, rifiuta o riprogetta manualmente tutti gli elementi che non sono stati convertiti automaticamente. |  | DBA | 
| Applica il ruolo generato e le concessioni degli utenti ed esamina le eventuali eccezioni. |  | DBA | 

### Migrare i dati
<a name="migrate-the-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Determinare il metodo di migrazione. |  | DBA | 
| Crea un'istanza di replica dalla console AWS DMS. | Per informazioni dettagliate sull'uso di AWS DMS, consulta i link nella sezione «Risorse correlate». | DBA | 
| Crea gli endpoint di origine e di destinazione. |  | DBA | 
| Creare un'attività di replica. |  | DBA | 
| Avvia l'attività di replica e monitora i log. |  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Usa AWS SCT per analizzare e convertire gli elementi SQL all'interno del codice dell'applicazione. | Quando converti lo schema del database da un motore a un altro, è anche necessario aggiornare il codice SQL nelle applicazioni, per interagire con il nuovo motore di database al posto di quello precedente. Puoi visualizzare, analizzare, modificare e salvare il codice SQL convertito. Per informazioni dettagliate sull'uso di AWS SCT, consulta i link nella sezione «Risorse correlate». | Proprietario dell'app | 
| Crea i nuovi server delle applicazioni su AWS. |  | Proprietario dell'app | 
| Esegui la migrazione del codice dell'applicazione sui nuovi server. |  | Proprietario dell'app | 
| Configura il server delle applicazioni per il database e i driver di destinazione. |  | Proprietario dell'app | 
| Corregge qualsiasi codice specifico del motore di database di origine dell'applicazione. |  | Proprietario dell'app | 
| Ottimizza il codice dell'applicazione per il motore di destinazione. |  | Proprietario dell'app | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Applica eventuali nuovi utenti, sovvenzioni e modifiche al codice all'obiettivo. |  | DBA | 
| Blocca l'applicazione per eventuali modifiche. |  | Proprietario dell'app | 
| Verifica che tutte le modifiche siano state propagate al database di destinazione. |  | DBA | 
| Indirizza il nuovo server delle applicazioni verso il database di destinazione. |  | Proprietario dell'app | 
| Ricontrolla tutto. |  | Proprietario dell'app | 
| Trasmetti in diretta. |  | Proprietario dell'app | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee (istanza di replica AWS DMS e EC2 istanza utilizzata per AWS SCT). |  | DBA, proprietario dell'app | 
| Aggiorna il feedback sul processo AWS DMS per i team interni. |  | DBA, proprietario dell'app | 
| Rivedi il processo AWS DMS e, se necessario, migliora il modello. |  | DBA, proprietario dell'app | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell'app | 
| Raccogli le metriche in tempo utile per la migrazione, la percentuale di risparmio sui costi manuali rispetto a quelli relativi agli strumenti e così via. |  | DBA, proprietario dell'app | 
| Chiudi il progetto e fornisci eventuali feedback. |  | DBA, proprietario dell'app | 

## Risorse correlate
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-related-resources"></a>

**Riferimenti**
+ [Guida per l'utente di AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guida per l'utente di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)  
+ [Prezzi di Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/) 

**Tutorial e video**
+ [Guida introduttiva ad AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)
+ [Guida introduttiva allo Schema Conversion Tool di AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Risorse Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Procedure dettagliate di AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) 

# Esegui la migrazione di un database MariaDB locale su Amazon RDS for MariaDB utilizzando strumenti nativi
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools"></a>

*Shyam Sunder Rakhecha, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-summary"></a>

Questo modello fornisce indicazioni per la migrazione di un database MariaDB locale ad Amazon Relational Database Service (Amazon RDS) per MariaDB utilizzando strumenti nativi. **Se hai installato strumenti MySQL, puoi **usare** mysql e mysqldump.** **Se hai installato gli strumenti MariaDB, puoi **usare** mariadb e mariadb-dump.** Gli strumenti MySQL e MariaDB hanno la stessa origine, ma ci sono piccole differenze nella versione 10.6 di MariaDB e successive.

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Un database di origine MariadB in un data center locale

**Limitazioni**
+ Limite di dimensione del database: 64 TB

**Versioni del prodotto**
+ [Versioni MariaDB 10.0-10.6 (per l'elenco più recente delle versioni supportate, consulta MariaDB su Amazon RDS nella documentazione AWS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)

## Architecture
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-architecture"></a>

**Stack tecnologico di origine**
+ Database MariaDB in un data center locale

**Stack tecnologico Target**
+ Istanza database Amazon RDS per MariaDB

**Architettura Target**

![\[Diagramma di architettura con istanze DB RDS primarie e in standby in diverse zone di disponibilità.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/eca8eb55-579a-42e2-96ce-9b14b097b4c9.png)


**Architettura di migrazione dei dati**

![\[Diagramma dell'architettura della migrazione di un database MariaDB locale su Amazon RDS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/daba40e2-a2b1-44f8-8e69-31458206a823.png)


## Tools (Strumenti)
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-tools"></a>
+ ****Strumenti MySQL nativi: mysql e mysqldump****
+ ****Strumenti MariaDB nativi: mariadb e mariadb-dump****

## Epiche
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida le versioni e i motori del database di origine e di destinazione. |  | DBA | 
| Identifica i requisiti hardware per l'istanza del server di destinazione. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). |  | DBA, amministratore di sistema | 
| Scegli il tipo di istanza corretto in base alla capacità, alle funzionalità di archiviazione e alle funzionalità di rete. |  | DBA, amministratore di sistema | 
| Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. |  | DBA, amministratore di sistema | 
| Identifica la strategia di migrazione delle applicazioni. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) |  | Amministratore di sistema | 
| Crea gruppi di sicurezza. |  | Amministratore di sistema | 
| Configura e avvia un'istanza Amazon RDS DB che esegue MariaDB. |  | Amministratore di sistema | 

### Migrazione dei dati
<a name="migrate-data"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Utilizza strumenti nativi per migrare oggetti e dati del database. | Nel database di origine, usa **mysqldump o **mariadb-dump**** per creare un file di output che contenga oggetti e dati del database. ****Nel database di destinazione, usa mysql o mariadb per ripristinare i dati.**** | DBA | 
| Convalida i dati. | Controlla i database di origine e di destinazione per confermare che la migrazione dei dati sia avvenuta correttamente. | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia di migrazione delle applicazioni. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trasferisci i client applicativi alla nuova infrastruttura. |  | DBA, proprietario dell'app, amministratore di sistema | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse AWS temporanee. |  | Amministratore di sistema | 
| Rivedi e convalida i documenti del progetto. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Raccogli le metriche relative ai tempi di migrazione, ai risparmi sui costi offerti dagli strumenti e così via. |  | DBA, proprietario dell'app, amministratore di sistema | 
| Chiudi il progetto e fornisci feedback. |  | DBA, proprietario dell'app, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-resources"></a>

**Riferimenti Amazon RDS**
+ [Amazon RDS per MariaDB](https://aws.amazon.com/rds/mariadb/)
+ [Amazon Virtual Private Cloud VPCs e Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Implementazioni Multi-AZ di Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Riferimenti a MySQL e MariadB**
+ [mariadb-dump/mysqldump](https://mariadb.com/kb/en/mariadb-dumpmysqldump/) 
+ [Client a riga di comando mysql](https://mariadb.com/kb/en/mysql-command-line-client/) 

**Tutorial e video**
+ [Nozioni di base su Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Esegui la migrazione di un database MySQL locale su Aurora MySQL
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql"></a>

*Igor Obradovic, Amazon Web Services*

## Riepilogo
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-summary"></a>

Questo modello spiega come migrare un database di origine MySQL locale verso Amazon Aurora MySQL Compatible Edition. **Descrive due opzioni per la migrazione: utilizzando AWS Database Migration Service (AWS DMS) o utilizzando strumenti MySQL nativi **come** mysqldbcopy e mysqldump.** 

## Prerequisiti e limitazioni
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un database MySQL di origine in un data center locale

**Limitazioni**
+ Limite di dimensione del database: 128 TB

**Versioni del prodotto**
+ La versione 8.0 di MySQL (Aurora MySQL versione 3) è disponibile con supporto standard. 
+ La versione 5.7 di MySQL (Aurora MySQL versione 2) è disponibile con supporto esteso, a un costo aggiuntivo.

Per l'elenco più recente delle versioni supportate, consulta le [versioni di Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html) nella AWS documentazione. Se lo stai usando AWS DMS, vedi anche [Utilizzo di un database compatibile con MySQL come destinazione per le versioni di AWS DMS MySQL supportate](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) da. AWS DMS

## Architecture
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-architecture"></a>

**Stack di tecnologia di origine**
+ Un database MySQL locale

**Stack tecnologico Target**
+ Amazon Aurora edizione compatibile con MySQL 

**Architettura di destinazione**

I dati Aurora sono archiviati in un volume cluster, che è un singolo volume virtuale che utilizza unità a stato solido ()SSDs. Un volume del cluster è composto da copie di dati distribuite su tre zone di disponibilità in una singola regione AWS. Poiché i dati vengono replicati automaticamente tra le zone di disponibilità, sono altamente durevoli con minori possibilità di perdita di dati.

Aurora divide automaticamente il volume del database in segmenti da 10 GB distribuiti su più dischi. Ogni blocco da 10 GB del volume del database viene replicato in sei modi, su tre zone di disponibilità. Il diagramma seguente illustra la relazione tra il volume del cluster, l'istanza Writer DB e le istanze DB Reader in un cluster Aurora DB e la separazione tra capacità di calcolo e archiviazione. [Per ulteriori informazioni su questa architettura, consulta la [documentazione e le domande frequenti di Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html).](https://aws.amazon.com/rds/aurora/faqs/#product-faqs)

![\[Istanze DB Aurora MySQL e volume di storage condiviso su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/0d7d8ebd-e0f2-4bcf-b296-8bdfb2f12b64.png)


**Architettura di migrazione dei dati**

*Utilizzando AWS DMS:*

Il diagramma seguente illustra la migrazione di un database MySQL locale a un cluster Aurora compatibile con MySQL in, using. Cloud AWS AWS DMS

![\[Migrazione di un database MySQL locale su Aurora MySQL utilizzando AWS DMS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/e5d72ebd-d157-45d7-8844-d1011f1646c0.png)


*Utilizzo di strumenti MySQL nativi:*

****Il diagramma seguente illustra la migrazione di un database MySQL locale in un cluster Aurora compatibile con MySQL in, utilizzando strumenti MySQL nativi come mysqldbcopy e mysqldump. Cloud AWS****

![\[Migrazione di un database MySQL locale su Aurora MySQL utilizzando mysqldbcopy e mysqldump.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/26258752-24f6-4241-a49f-59c15e946314.png)


 

## Tools (Strumenti)
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-tools"></a>
+ [AWS Database Migration Service (AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)) supporta diversi motori di database di origine e destinazione. Per informazioni sui database di origine e destinazione MySQL supportati AWS DMS da, [vedere Migrazione](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) di database compatibili con MySQL a. AWS Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità.
+ [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) è un'utilità MySQL che copia un database MySQL su un singolo server o tra server.
+ [mysqldump è](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) un'utilità MySQL che crea un file di dump da un database MySQL per scopi di backup o migrazione.

## Epiche
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-epics"></a>

### Pianifica la migrazione
<a name="plan-the-migration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida la versione e il motore. | Convalida la versione e il motore del database per i database di origine e di destinazione. | DBA | 
| Identifica i requisiti hardware. | Identifica i requisiti hardware per l'istanza del server di destinazione. | DBA, amministratore di sistema | 
| Identifica i requisiti di archiviazione. | Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). | DBA, amministratore di sistema | 
| Scegliere il tipo di istanza. | Scegli il tipo di istanza corretto in base ai tuoi requisiti di elaborazione, archiviazione e rete. | DBA, amministratore di sistema | 
| Determinare i requisiti di sicurezza dell'accesso alla rete. | Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. | DBA, amministratore di sistema | 
| Determina la strategia. | Identifica la strategia di migrazione delle applicazioni. | DBA, proprietario dell'app, amministratore di sistema | 

### Configura l'infrastruttura
<a name="configure-the-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un cloud privato virtuale (Virtual Private Cloud (VPC)) | Per istruzioni, consulta [Creare un VPC nella documentazione](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) di Amazon Virtual Private Cloud (Amazon VPC). | Amministratore di sistema | 
| Crea gruppi di sicurezza. | Per istruzioni, consulta [Creare un gruppo di sicurezza per il tuo VPC nella documentazione](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) di Amazon VPC. | Amministratore di sistema | 
| Configura e avvia un cluster DB Aurora compatibile con MySQL nel tuo. Account AWS | Per istruzioni, consulta [Creazione di un cluster Amazon Aurora DB nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) di Aurora. | Amministratore di sistema | 

### Migrazione dei dati - opzione 1
<a name="migrate-data---option-1"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Utilizza strumenti MySQL nativi o strumenti di terze parti per migrare oggetti e dati del database. | [Per istruzioni, consulta la documentazione degli strumenti MySQL [come](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) mysqldbcopy e mysqldump.](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) | DBA | 

### Migrazione dei dati - opzione 2
<a name="migrate-data---option-2"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la migrazione dei dati con AWS DMS. | Per istruzioni, vedere [Utilizzo di un database compatibile con MySQL come origine e Utilizzo di un database compatibile](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html) [con MySQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) come destinazione nella documentazione. AWS DMS  | DBA | 

### Migrare l'applicazione
<a name="migrate-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui la strategia. | Segui la strategia di migrazione delle applicazioni. | DBA, proprietario dell'app, amministratore di sistema | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Cambia client applicativo. | Passa i client dell'applicazione per connetterli al nuovo endpoint del cluster Aurora. | DBA, proprietario dell'app, amministratore di sistema | 

### Chiudi il progetto
<a name="close-the-project"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Chiudi le risorse. | Chiudi le AWS risorse temporanee. | DBA, amministratore di sistema | 
| Consulta la documentazione. | Rivedi e convalida i documenti del progetto. | DBA, proprietario dell'app, amministratore di sistema | 
| Raccogli metriche. | Raccogli le metriche relative al tempo necessario alla migrazione, alla percentuale di passaggi manuali rispetto all'utilizzo degli strumenti, ai risparmi sui costi e così via. | DBA, proprietario dell'app, amministratore di sistema | 
| Progetto di migrazione completo. | Chiudi il progetto e fornisci feedback. | Proprietario dell'app, DBA, amministratore di sistema | 

## Risorse correlate
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-resources"></a>

**Riferimenti**
+ [Migrazione dei dati al cluster Amazon Aurora MySQL DB](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
+ [AWS DMS website](https://aws.amazon.com/dms/)
+ [AWS DMS documentazione](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Prezzi di Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Creazione e connessione a un cluster Aurora MySQL DB](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html)
+ [Amazon VPC e Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Documentazione Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)

**Tutorial e video**
+ [Guida introduttiva con AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Guida introduttiva ad Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)

# Esegui la migrazione dei database MySQL locali su Aurora MySQL utilizzando Percona, Amazon EFS e Amazon S3 XtraBackup
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3"></a>

*Rohan Jamadagni, Udayasimha Theepireddy e sajith menon, Amazon Web Services*

## Riepilogo
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-summary"></a>

Questo modello descrive come migrare database MySQL locali di grandi dimensioni in modo efficiente verso Amazon Aurora MySQL utilizzando Percona. XtraBackup Percona XtraBackup è un'utilità di backup open source e non bloccante per server basati su MySQL. Il modello mostra come utilizzare Amazon Elastic File System (Amazon EFS) per ridurre i tempi di caricamento del backup su Amazon Simple Storage Service (Amazon S3) e ripristinare il backup su Amazon Aurora MySQL. Il modello fornisce anche dettagli su come effettuare backup Percona incrementali per ridurre al minimo il numero di log binari da applicare al database Aurora MySQL di destinazione.  

## Prerequisiti e limitazioni
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Autorizzazioni per creare ruoli e policy di AWS Identity and Access Management (IAM)
+ Connettività di rete tra il database MySQL locale e il cloud privato virtuale (VPC) su AWS

**Limitazioni**
+ I server di origine devono essere sistemi basati su Linux in grado di installare un client Network File System (NFS) (nfs-utils/nfs-common).
+ Il bucket S3 utilizzato per caricare i file di backup supporta solo la crittografia lato server (SSE-S3/SSE-KMS).
+ Amazon S3 limita la dimensione dei file di backup a 5 TB. Se il file di backup supera i 5 TB, puoi dividerlo in più file più piccoli.
+ Il numero di file sorgente caricati nel bucket S3 non può superare il milione di file.
+ Il modello supporta solo il backup XtraBackup completo e il backup incrementale di Percona. Non supporta backup parziali che utilizzano`--tables`,,, `--tables-exclude` `--tables-file``--databases`, `--databases-exclude` o. `--databases-file`
+ Aurora non ripristina utenti, funzioni, stored procedure o informazioni sul fuso orario dal database MySQL di origine.

**Versioni del prodotto**
+ Il database di origine deve essere MySQL versione 5.5, 5.6 o 5.7.
+ Per MySQL 5.7, è necessario utilizzare Percona 2.4. XtraBackup 
+ Per MySQL 5.6 e 5.6, è necessario utilizzare Percona 2.3 o 2.4. XtraBackup 

## Architecture
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-architecture"></a>

**Stack tecnologico di origine**
+ Sistema operativo basato su Linux
+ Server MySQL
+ Percona XtraBackup

**Stack tecnologico Target**
+ Amazon Aurora
+ Simple Storage Service (Amazon S3)
+ Amazon EFS

**Architettura di destinazione**

![\[Architettura per migrare database MySQL di grandi dimensioni su Amazon Aurora MySQL utilizzando Percona. XtraBackup\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/bf327776-bafd-484d-9ae2-a6f5c8af6edd/images/7a410539-1511-4106-90e2-8c0c8e95f92b.png)


## Tools (Strumenti)
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-tools"></a>

*Servizi AWS*
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html) è un motore di database relazionale completamente gestito che semplifica ed economica la configurazione, il funzionamento e la scalabilità delle distribuzioni MySQL. Aurora MySQL è un sostituto immediato di MySQL.
+ [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 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.

**Altri strumenti**
+ [Percona XtraBackup](https://www.percona.com/doc/percona-xtrabackup/2.4/index.html) è un'utilità open source che esegue backup in streaming, compressi e incrementali dei database MySQL senza interrompere o bloccare i database.

## Epiche
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-epics"></a>

### Creare un file system Amazon EFS
<a name="create-an-amazon-efs-file-system"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un gruppo di sicurezza da associare agli obiettivi di montaggio di Amazon EFS. | Crea un gruppo di sicurezza nel VPC configurato con un allegato VPN al database locale tramite AWS Transit Gateway. Per ulteriori informazioni sui comandi e sui passaggi descritti in questa e in altre storie, consulta i collegamenti nella sezione «Risorse correlate» alla fine di questo schema. |  DevOps/database Amministratore AWS | 
| Modifica le regole del gruppo di sicurezza. | Aggiungi una regola in entrata, utilizzando il tipo NFS, la porta 2049 e l'intervallo IP del server di database locale come origine. Per impostazione predefinita, la regola in uscita consente a tutto il traffico di uscire. In caso contrario, aggiungi una regola in uscita per aprire una connessione per la porta NFS. Aggiungi altre due regole in entrata: porta 2049 (fonte: ID del gruppo di sicurezza dello stesso gruppo di sicurezza) e porta 22 (origine: intervallo IP da cui ti connetterai a un'istanza). EC2  |  DevOps/database Amministratore AWS | 
| Creare un file system. | Nei target di montaggio, usa il VPC e il gruppo di sicurezza che hai creato nella storia precedente. Scegliete la modalità di throughput e le prestazioni in base I/O ai requisiti del database locale. Facoltativamente, abilita la crittografia a riposo. |  DevOps/database Amministratore AWS | 

### Installa il file system
<a name="mount-the-file-system"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un ruolo del profilo dell'istanza IAM da associare a un' EC2 istanza. | Crea un ruolo IAM con le autorizzazioni per caricare e accedere agli oggetti in Amazon S3. Scegli il bucket S3 in cui archiviare il backup come risorsa politica. | AWS DevOps | 
| Crea un' EC2 istanza. | Avvia un' EC2 istanza basata su Linux e collega il ruolo di profilo dell'istanza IAM creato nel passaggio precedente e il gruppo di sicurezza creato in precedenza. | AWS DevOps | 
| Installare il client NFS. | Installa il client NFS sul server di database locale e sull' EC2 istanza. Per le istruzioni di installazione, consulta la sezione «Informazioni aggiuntive». | DevOps | 
| Montare il file system Amazon EFS. | Installa il file system Amazon EFS in locale e sull' EC2 istanza. Su ogni server, crea una directory per archiviare il backup e monta il file system utilizzando l'endpoint di destinazione di montaggio. Per un esempio, consultate la sezione «Informazioni aggiuntive». | DevOps | 

### Effettuare un backup del database sorgente MySQL
<a name="make-a-backup-of-the-mysql-source-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa Percona XtraBackup. | Installa Percona XtraBackup 2.3 o 2.4 (a seconda della versione del tuo database MySQL) sul server di database locale. Per i link di installazione, consulta la sezione «Risorse correlate». | Amministratore di database | 
| Conta gli schemi e le tabelle nel database di origine. | Raccogli e annota il numero di schemi e oggetti nel database MySQL di origine. Utilizzerai questi conteggi per convalidare il database Aurora MySQL dopo la migrazione. | Amministratore di database | 
| (Facoltativo) Annotate la sequenza di log binaria più recente dal database di origine. | Eseguire questo passaggio se si desidera stabilire la replica dei log binari tra il database di origine e Aurora MySQL per ridurre al minimo i tempi di inattività. log-bin deve essere abilitato e server\$1id deve essere univoco. Annotate la sequenza di log binaria corrente dal database di origine, appena prima di avviare un backup. Esegui questo passaggio appena prima del backup completo se prevedi di utilizzare solo il backup completo. Se hai intenzione di eseguire backup incrementali dopo un backup completo, esegui questo passaggio appena prima del backup incrementale finale che ripristinerai sull'istanza DB Aurora MySQL. | Amministratore di database | 
| Avvia un backup completo del database MySQL di origine. | Effettua un backup completo del database sorgente MySQL utilizzando Percona. XtraBackup Ad esempio, i comandi per i backup completi e incrementali, consulta la sezione «Informazioni aggiuntive». | Amministratore di database | 
| (Facoltativo) Effettua backup incrementali utilizzando Percona. XtraBackup | I backup incrementali possono essere utilizzati per ridurre la quantità di log binari da applicare per sincronizzare il database di origine con Aurora MySQL. I database di grandi dimensioni e con un elevato numero di transazioni potrebbero generare un gran numero di log binari durante i backup. Eseguendo backup incrementali e archiviandoli su un file system Amazon EFS condiviso, puoi ridurre in modo significativo i tempi di backup e caricamento del database. Per i dettagli, consulta la sezione «Informazioni aggiuntive». Continua a eseguire backup incrementali finché non sei pronto per iniziare il processo di migrazione ad Aurora. | Amministratore di database | 
| Prepara i backup. | In questa fase, i log delle transazioni vengono applicati al backup per le transazioni che erano in corso durante il backup. Continuate ad applicare i log transazionali (--apply-log-only) a ogni backup incrementale per unire i backup, ad eccezione dell'ultimo backup. Per esempi, consulta la sezione «Informazioni aggiuntive». <efs\$1mount\$1name>Dopo questo passaggio, il backup completo e unito sarà in \$1/ /fullbackup. | Amministratore di database | 
| Comprimi e dividi il backup finale unito. | Dopo aver preparato il backup finale unito, usa i comandi tar, zip e split per creare file compressi più piccoli del backup. Per alcuni esempi, consultate la sezione «Informazioni aggiuntive». | Amministratore di database | 

### Ripristina il backup su un cluster Aurora MySQL DB
<a name="restore-the-backup-to-an-aurora-mysql-db-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Carica il backup su Amazon S3. | Il file system Amazon EFS in cui sono archiviati i file di backup è montato sia sul database locale che su un' EC2 istanza, in modo che i file di backup siano immediatamente disponibili per l' EC2 istanza. <efs\$1mount\$1name><bucket\$1name>Connettiti all' EC2 istanza utilizzando Secure Shell (SSH) e carica i file di backup compressi in un bucket S3 nuovo o esistente; ad esempio: aws s3 sync \$1/ /fullbackup s3:///fullbackup. Per ulteriori dettagli, consulta i link nella sezione «Risorse correlate». | AWS DevOps | 
| Crea un ruolo di servizio per Aurora per accedere ad Amazon S3. | Crea un ruolo IAM con trust «rds.amazonaws.com» e una policy che consenta ad Aurora di accedere al bucket S3 in cui sono archiviati i file di backup. Le autorizzazioni richieste sono, e. ListBucket GetObject GetObjectVersion | AWS DevOps | 
| Crea la configurazione di rete per Aurora. | Crea un gruppo di sottoreti DB del cluster con almeno due zone di disponibilità e una configurazione della tabella di routing di sottorete che consenta la connettività in uscita al database di origine. Crea un gruppo di sicurezza che consenta le connessioni in uscita al database locale e consenta agli amministratori di connettersi al cluster Aurora DB. Per ulteriori informazioni, consulta i collegamenti nella sezione «Risorse correlate». |  DevOps/database Amministratore AWS | 
| Ripristina il backup su un cluster Aurora MySQL DB. | Ripristina i dati dal backup che hai caricato su Amazon S3. Specificate la versione MySQL del vostro database di origine, fornite il nome del bucket S3 e il prefisso del percorso della cartella in cui avete caricato il file di backup (ad esempio, «fullbackup» per gli esempi nella sezione «Informazioni aggiuntive») e fornite il ruolo IAM che avete creato per autorizzare Aurora ad accedere ad Amazon S3. |  DevOps/database Amministratore AWS | 
| Convalida il database Aurora MySQL. | Convalida il conteggio dello schema e degli oggetti nel cluster Aurora DB ripristinato rispetto al conteggio ottenuto dal database di origine. | Amministratore di database | 
| Imposta la replica binlog.  | Usa la sequenza di log binaria che hai notato in precedenza, prima di eseguire l'ultimo backup ripristinato nel cluster Aurora DB. Crea un utente di replica sul database di origine e segui le istruzioni nella sezione «Informazioni aggiuntive» per fornire i privilegi appropriati, abilitare la replica su Aurora e confermare che la replica è sincronizzata. |  DevOps/database Amministratore AWS | 

## Risorse correlate
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-resources"></a>

**Creazione di un file system Amazon EFS**
+ [Creazione di un gruppo di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) (documentazione Amazon VPC)
+ [Allegati VPN Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpn-attachments.html) (documentazione Amazon VPC)
+ [Scalabilità del throughput VPN con AWS Transit Gateway](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) (blog su reti e distribuzione di contenuti)
+ [Creazione di un file system Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step1-efs) (documentazione Amazon EFS)
+ [Creazione di obiettivi di montaggio](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) (documentazione Amazon EFS)
+ [Crittografia dei dati inattivi](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html) (documentazione Amazon EFS)

**Montaggio del file system**
+ [Ruoli IAM per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) ( EC2 documentazione Amazon)
+ [Avvio di un'istanza Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) ( EC2 documentazione Amazon)
+ [Installazione del client NFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) (documentazione Amazon EFS)
+ [Montaggio del file system Amazon EFS su un client locale](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) (documentazione Amazon EFS)
+ [Montaggio di file system EFS](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) (documentazione Amazon EFS)

**Effettuare un backup del database sorgente MySQL**
+ [Installazione di Percona XtraBackup 2.3 (documentazione](https://www.percona.com/doc/percona-xtrabackup/2.3/installation.html) Percona) XtraBackup 
+ [Installazione di Percona XtraBackup 2.4 (documentazione](https://www.percona.com/doc/percona-xtrabackup/2.4/installation.html) Percona) XtraBackup  
+ [Impostazione della configurazione master di replica](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html) (documentazione MySQL)
+ [Migrazione dei dati da un database MySQL esterno a un cluster Aurora MySQL DB (documentazione Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html))
+ [Backup](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) XtraBackup incrementale (documentazione Percona)

**Ripristino del backup su Amazon Aurora MySQL**
+ [Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#create-bucket-intro) (documentazione Amazon S3)
+ [Connessione alla tua istanza Linux tramite SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) (documentazione Amazon Ec2)
+ [Configurazione dell'interfaccia a riga di comando di AWS (documentazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) dell'interfaccia a riga di comando di AWS)
+ [comando sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) (riferimento ai comandi AWS CLI)
+ [Creazione di una policy IAM per accedere alle risorse Amazon S3 (documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy.html) Aurora)
+ [Prerequisiti del cluster DB](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html#Aurora.CreateInstance.Prerequisites) (documentazione Aurora)
+ [Utilizzo dei gruppi di sottoreti DB](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) (documentazione Aurora)
+ [Creazione di un gruppo di sicurezza VPC per un'istanza DB privata (documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html#CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB) Aurora)
+ [Ripristino di un cluster Aurora MySQL DB da un bucket S3 (documentazione Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.Restore))
+ [Configurazione della replica con MySQL o un altro cluster Aurora DB (documentazione Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html#AuroraMySQL.Replication.MySQL.SettingUp))
+ [Procedura mysql.rds\$1set\$1external\$1master](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html) (riferimento SQL per MySQL su Amazon RDS)
+ [procedura mysql.rds\$1start\$1replication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_start_replication.html) (riferimento SQL per MySQL su Amazon RDS)

**Riferimenti aggiuntivi**
+ [Migrazione dei dati da un database MySQL esterno a un cluster Aurora MySQL DB (documentazione Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html))
+ Download del [server MySQL (sito](https://downloads.mysql.com/archives/community/) Web Oracle)

**Tutorial e video**
+  [Migrazione dei dati MySQL a un cluster Aurora MySQL DB](https://aws.amazon.com/premiumsupport/knowledge-center/migrate-mysql-aurora-innobackup/) utilizzando Amazon S3 (AWS Knowledge Center)
+  [Configurazione e montaggio di Amazon EFS](https://www.youtube.com/watch?v=NR8rVsSn_dY) (video)

## Informazioni aggiuntive
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-additional"></a>

**Installazione di un client NFS**
+ Se state usando Red Hat o un sistema operativo Linux simile, usate il comando:  

```
$ sudo yum -y install nfs-utils
```
+ Se stai usando Ubuntu o un sistema operativo Linux simile, usa il comando: 

```
$ sudo apt-get -y install nfs-common
```

Per ulteriori informazioni, consulta la [procedura dettagliata nella documentazione](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) di Amazon EFS.

**Montaggio del file system Amazon EFS**

Usa i comandi:

```
mkdir ~/<efs_mount_name>
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/<efs_mount_name>
```

Per ulteriori informazioni, consulta la [procedura dettagliata](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) e il montaggio [dei file system EFS nella documentazione](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) di Amazon EFS.

**Esecuzione di backup del database sorgente MySQL**

*Backup completi*

Usa un comando come il seguente, che prende il backup, lo comprime e lo divide in blocchi più piccoli da 1 GB ciascuno:

```
xtrabackup --backup --user=dbuser --password=<password> --binlog-info=AUTO --stream=tar --target-dir=~/<efs_mount_name>/fullbackup | gzip - | split -d --bytes=1024MB - ~/<efs_mount_name>/fullbackup/backup.tar.gz &
```

Se hai intenzione di eseguire backup incrementali successivi dopo il backup completo, non comprimere e dividere il backup. Utilizzate invece un comando simile al seguente:

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/fullbackup/
```

*Backup incrementali*

Utilizza il percorso di backup completo per il `--incremental-basedir` parametro, ad esempio:

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/incremental/backupdate --incremental-basedir=~/<efs_mount_name>/fullbackup
```

dove *basedir* è il percorso del backup completo e del file xtrabackup\$1checkpoints.

Per ulteriori informazioni sulla creazione di backup, consulta [Migrazione dei dati da un database MySQL esterno a un cluster Amazon Aurora MySQL DB nella documentazione di Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html).

**Preparazione dei backup**

Per preparare un backup completo:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup
```

Per preparare un backup incrementale:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06062020
```

Per preparare il backup finale:

```
xtrabackup --prepare --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06072020
```

Per ulteriori informazioni, consulta [Backup incrementali nella documentazione](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) di XtraBackup Percona.

**Compressione e suddivisione del backup unito**

<efs\$1mount\$1name>Per comprimere il backup unito in \$1/ /fullbackup:

```
tar -zcvf <backupfilename.tar.gz> ~/<efs_mount_name>/fullbackup
```

Per dividere il backup:

```
split -d -b1024M --verbose  <backupfilename.tar.gz> <backupfilename.tar.gz>
```

**Configurazione della replica binlog**

Per creare un utente di replica sul database di origine e fornire i privilegi appropriati:

```
CREATE USER 'repl_user'@'' IDENTIFIED BY ''; GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'';
```

Per abilitare la replica su Aurora collegandosi al cluster Aurora DB, abilita i log binari nel gruppo di parametri del cluster DB. Imposta `binlog_format = mixed` (è preferibile la modalità mista). Questa modifica richiede il riavvio dell'istanza per applicare l'aggiornamento.

```
CALL mysql.rds_set_external_master ('sourcedbinstanceIP', sourcedbport, 'repl_user', '', 'binlog_file_name', binlog_file_position, 0); CALL mysql.rds_start_replication;
```

Per confermare che la replica è sincronizzata:

```
SHOW Slave Status \G;
```

Il campo **master Seconds behind** mostra quanto Aurora sia indietro rispetto al database locale.

# Esegui la migrazione di applicazioni Java locali su AWS utilizzando AWS App2Container
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container"></a>

*Dhananjay Karanjkar, Amazon Web Services*

## Riepilogo
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-summary"></a>

AWS App2Container (A2C) è uno strumento a riga di comando che aiuta a trasformare le applicazioni esistenti in esecuzione su macchine virtuali in contenitori, senza bisogno di modifiche al codice. A2C rileva le applicazioni in esecuzione su un server, identifica le dipendenze e genera artefatti pertinenti per una distribuzione senza interruzioni su Amazon Elastic Container Service (Amazon ECS) e Amazon Elastic Kubernetes Service (Amazon EKS).

Questo modello fornisce i passaggi per la migrazione remota di applicazioni Java locali distribuite su un server di applicazioni su AWS Fargate o Amazon EKS utilizzando App2Container tramite la macchina di lavoro. 

La macchina worker può essere utilizzata nei seguenti casi d'uso:
+ L'installazione di Docker non è consentita o non è disponibile sui server delle applicazioni in cui sono in esecuzione le applicazioni Java.
+ È necessario gestire la migrazione di più applicazioni distribuite su server fisici o virtuali diversi.

Questo modello utilizza AWS CodeCommit AWS CodePipeline, e AWS CodeBuild.

## Prerequisiti e limitazioni
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-prereqs"></a>

**Prerequisiti**
+ Un server di applicazioni con un'applicazione Java in esecuzione su un server Linux
+ Una macchina di lavoro con sistema operativo Linux
+ Una macchina di lavoro con almeno 20 GB di spazio disponibile su disco

**Limitazioni**
+ Non tutte le applicazioni sono supportate. Per ulteriori informazioni, consulta [Applicazioni supportate per Linux](https://docs.aws.amazon.com/app2container/latest/UserGuide/supported-applications.html).

## Architecture
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-architecture"></a>

**Stack tecnologico di origine**
+ Applicazioni Java in esecuzione su server Linux

**Stack tecnologico Target**
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodeDeploy
+ AWS CodePipeline
+ Amazon Elastic Container Registry
+ AWS Fargate

**Architettura Target**

![\[Architettura per applicazioni Java locali su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/61ed65a0-fab2-4fc8-8531-18bfd56a25b3/images/602cde7b-ab0c-46a5-8c37-afe304adf061.png)


 

## Tools (Strumenti)
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-tools"></a>

**Strumenti**
+ [AWS App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html) — AWS App2Container (A2C) è uno strumento a riga di comando che consente di eseguire applicazioni eseguite nei data center locali o su macchine virtuali, in modo che vengano eseguite in contenitori gestiti da Amazon ECS o Amazon EKS.
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html): AWS CodeBuild è un servizio di build completamente gestito nel cloud. CodeBuild compila il codice sorgente, esegue test unitari e produce artefatti pronti per la distribuzione.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html): AWS CodeCommit è un servizio di controllo delle versioni ospitato da Amazon Web Services che puoi utilizzare per archiviare e gestire in modo privato risorse (come documenti, codice sorgente e file binari) nel cloud.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html): AWS CodePipeline è un servizio di distribuzione continua che puoi utilizzare per modellare, visualizzare e automatizzare i passaggi necessari per rilasciare il tuo software.
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) — Amazon Elastic Container Service (Amazon ECS) è un servizio di gestione dei container veloce e altamente scalabile per l'esecuzione, l'arresto e la gestione dei container su un cluster.
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) — Amazon Elastic Container Registry (Amazon ECR) è un servizio di registro di immagini di container gestito da AWS sicuro, scalabile e affidabile.
+ [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) — Amazon Elastic Kubernetes Service (Amazon EKS) è un servizio gestito che puoi usare per eseguire Kubernetes su AWS senza dover installare, utilizzare e gestire il tuo piano di controllo o i tuoi nodi Kubernetes.
+ [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html) — AWS Fargate è una tecnologia che puoi usare con Amazon ECS per eseguire container senza dover gestire server o cluster di istanze Amazon Elastic Compute Cloud (Amazon). EC2 Con Fargate, non è più necessario effettuare il provisioning, configurare o dimensionare i cluster di macchine virtuali per eseguire i container.

## Epiche
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-epics"></a>

### Imposta le credenziali
<a name="set-up-credentials"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un segreto per accedere al server delle applicazioni. | Per accedere al server delle applicazioni in remoto dalla macchina di lavoro, crea un segreto in AWS Secrets Manager. Per il tuo segreto, puoi utilizzare la chiave privata SSH o il certificato e la chiave privata SSH. Per ulteriori informazioni, consulta [Manage secrets for AWS App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/manage-secrets.html). | DevOps, Sviluppatore | 

### Configurare la macchina operaia
<a name="set-up-the-worker-machine"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa il file tar. | Esegui `sudo yum install -y tar`. | DevOps, Sviluppatore | 
| Installare l'interfaccia a riga di comando di AWS. | Per installare Amazon Command Line Interface (AWS CLI), esegui. `curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"` Decomprimere `awscliv2.zip`.Esegui `sudo ./aws/install`. | DevOps, Sviluppatore | 
| Installa App2Container. | Esegui i comandi seguenti:`curl -o AWSApp2Container-installer-linux.tar.gz https://app2container-release-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/AWSApp2Container-installer-linux.tar.gz``sudo tar xvf AWSApp2Container-installer-linux.tar.gz``sudo ./install.sh` | DevOps, Sviluppatore | 
| Configura i profili. | Per configurare il profilo predefinito di AWS, esegui`sudo aws configure`.Per configurare il profilo predefinito denominato AWS, esegui`sudo aws configure --profile <profile name>`. | DevOps, Sviluppatore | 
| Installazione di Docker. | Esegui i comandi seguenti.`sudo yum install -y docker``sudo systemctl enable docker & sudo systemctl restart docker` |  | 
| Inizializza App2Container. | Per inizializzare App2Container, sono necessarie le seguenti informazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Esegui `sudo app2container init`. | DevOps, Sviluppatore | 

### Configurare la macchina di lavoro
<a name="configure-the-worker-machine"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura la macchina di lavoro per connettersi in remoto ed eseguire i comandi App2Container sul server delle applicazioni. | Per configurare la macchina di lavoro, sono necessarie le seguenti informazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Esegui `sudo app2container remote configure`. | DevOps, Sviluppatore | 

### Scopri, analizza ed estrai le applicazioni sulla macchina operatrice
<a name="discover-analyze-and-extract-applications-on-the-worker-machine"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scopri le applicazioni Java locali. | Per scoprire in remoto tutte le applicazioni in esecuzione sul server delle applicazioni, esegui il comando seguente.`sudo app2container remote inventory --target <FQDN/IP of App server>`Questo comando genera un elenco di applicazioni distribuite in. `inventory.json` | Sviluppatore, DevOps | 
| Analizza le applicazioni scoperte. | Per analizzare in remoto ogni applicazione utilizzando l'application-id ottenuto nella fase di inventario, esegui il comando seguente.`sudo app2container remote analyze --application-id <java-app-id> --target <FQDN/IP of App Server>`Questo genera il `analysis.json` file nella posizione dell'area di lavoro. Dopo aver generato questo file, puoi modificare i parametri di containerizzazione in base alle tue esigenze. | Sviluppatore, DevOps | 
| Estrarre le applicazioni analizzate. | Per generare un archivio applicativo per l'applicazione analizzata, esegui in remoto il comando seguente, che genererà il pacchetto tar nella posizione dell'area di lavoro.`sudo app2container remote extract --application-id <application id> --target <FQDN/IP of App Server>`Gli artefatti estratti possono essere generati sulla macchina di lavoro locale. | Sviluppatore, DevOps | 

### Containerizza gli artefatti estratti sulla macchina operaia
<a name="containerize-the-extracted-artifacts-on-the-worker-machine"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Containerizza gli artefatti estratti. | Containerizzate gli artefatti estratti nel passaggio precedente eseguendo il comando seguente.`sudo app2container containerize --input-archive <tar bundle location on worker machine>` | Sviluppatore, DevOps | 
| Finalizza l'obiettivo. | Per finalizzare l'obiettivo, apri`deployment.json`, che viene creato all'esecuzione del `containerize` comando. Per specificare AWS Fargate come destinazione, imposta su`createEcsArtifacts`. `true` Per impostare Amazon EKS come obiettivo, imposta su `createEksArtifacts` true. | Sviluppatore, DevOps | 

### Genera ed esegui il provisioning di artefatti AWS
<a name="generate-and-provision-aws-artifacts"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera artefatti di distribuzione AWS sulla macchina di lavoro. | Per generare artefatti di distribuzione, esegui il comando seguente.`sudo app2container generate app-deployment --application-id <application id>`Questo genera il CloudFormation modello `ecs-master.yml` AWS nell'area di lavoro. | DevOps | 
| Fornisci gli artefatti. | Per fornire ulteriormente gli artefatti generati, distribuisci il CloudFormation modello AWS eseguendo il comando seguente.`aws cloudformation deploy --template-file <path to ecs-master.yml> --capabilities CAPABILITY_NAMED_IAM --stack-name <application id>–ECS` | DevOps | 
| Genera la pipeline. | Modify`pipeline.json`, creato nella storia precedente, in base alle tue esigenze. Quindi esegui il `generate pipeline` comando per generare gli artefatti di distribuzione della pipeline. | DevOps | 

## Risorse correlate
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-resources"></a>
+ [Che cos'è App2Container?](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html)
+ [Post sul blog di AWS App2Container](https://aws.amazon.com/blogs/aws/aws-app2container-a-new-containerizing-tool-for-java-and-asp-net-applications/)
+ [Nozioni di base sulla configurazione dell'interfaccia a riga di comando di AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
+ [Nozioni di base su Docker per Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html)
+ [Comandi Docker](https://docs.docker.com/engine/reference/commandline/cli/)

# Migrazione di file system condivisi in una migrazione di AWS grandi dimensioni
<a name="migrate-shared-file-systems-in-an-aws-large-migration"></a>

*Amit Rudraraju, Sam Apa, Bheemeswararao Balla, Wally Lu e Sanjeev Prakasam, Amazon Web Services*

## Riepilogo
<a name="migrate-shared-file-systems-in-an-aws-large-migration-summary"></a>

La migrazione di 300 o più server è considerata una *migrazione* di grandi dimensioni. Lo scopo di una migrazione su larga scala è migrare i carichi di lavoro dai data center locali esistenti a Cloud AWS, e questi progetti si concentrano in genere sui carichi di lavoro di applicazioni e database. Tuttavia, i file system condivisi richiedono un'attenzione mirata e un piano di migrazione separato. Questo modello descrive il processo di migrazione per i file system condivisi e fornisce le migliori pratiche per migrarli con successo nell'ambito di un progetto di migrazione di grandi dimensioni.

Un *file system condiviso* (SFS), noto anche come file system di *rete* o *cluster*, è una condivisione di file montata su più server. L'accesso ai file system condivisi avviene tramite protocolli come Network File System (NFS), Common Internet File System (CIFS) o Server Message Block (SMB).

Questi sistemi non vengono migrati con strumenti di migrazione standard, ad esempio AWS Application Migration Service perché non sono dedicati all'host oggetto della migrazione né sono rappresentati come dispositivi a blocchi. Sebbene la maggior parte delle dipendenze degli host venga migrata in modo trasparente, il coordinamento e la gestione dei file system dipendenti devono essere gestiti separatamente.

La migrazione dei file system condivisi avviene nelle seguenti fasi: individuazione, pianificazione, preparazione, suddivisione e convalida. Utilizzando questo modello e le cartelle di lavoro allegate, migri il tuo file system condiviso verso un servizio di AWS storage, come Amazon Elastic File System (Amazon EFS), Amazon FSx for NetApp ONTAP o Amazon FSx for Windows File Server. Per trasferire il file system, puoi utilizzare AWS DataSync uno strumento di terze parti, ad esempio. NetApp SnapMirror

**Nota**  
Questo modello fa parte di una serie di AWS Prescriptive Guidance sulle [migrazioni di grandi dimensioni verso](https://aws.amazon.com/prescriptive-guidance/large-migrations/). Cloud AWS Questo modello include le migliori pratiche e istruzioni da SFSs incorporare nei piani wave per i server. Se stai migrando uno o più file system condivisi al di fuori di un progetto di migrazione di grandi dimensioni, consulta le istruzioni per il trasferimento dei dati nella AWS documentazione per [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) e [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).

## Prerequisiti e limitazioni
<a name="migrate-shared-file-systems-in-an-aws-large-migration-prereqs"></a>

**Prerequisiti**

I prerequisiti possono variare in base ai file system condivisi di origine e destinazione e al caso d'uso. I più comuni sono i seguenti:
+ Un attivo Account AWS.
+ Avete completato l'esplorazione del portafoglio di applicazioni per il vostro grande progetto di migrazione e avete iniziato a sviluppare piani d'ondata. Per ulteriori informazioni, consulta [Portfolio playbook per migrazioni di AWS grandi dimensioni](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html).
+ Cloud privati virtuali (VPCs) e gruppi di sicurezza che consentono il traffico in ingresso e in uscita tra il data center locale e l'ambiente. AWS [Per ulteriori informazioni, consulta Opzioni di [connettività da rete ad Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) e requisiti di rete.AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html)
+ Autorizzazioni per creare AWS CloudFormation stack o autorizzazioni per creare risorse Amazon EFS o Amazon. FSx Per ulteriori informazioni, consulta la [CloudFormation documentazione](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html), la documentazione di [Amazon EFS o la FSx ](https://docs.aws.amazon.com/efs/latest/ug/security-iam.html) [documentazione di Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/security-iam.html).
+ Se utilizzi AWS DataSync per eseguire la migrazione, hai bisogno delle seguenti autorizzazioni:
  + Autorizzazioni per AWS DataSync inviare log a un gruppo di log di Amazon CloudWatch Logs. Per ulteriori informazioni, consulta [Consentire il caricamento dei log DataSync in gruppi di log. CloudWatch ](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html#cloudwatchlogs)
  + Autorizzazioni per accedere al gruppo CloudWatch Logs log. Per ulteriori informazioni, vedere [Panoramica della gestione delle autorizzazioni di accesso alle risorse Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html). CloudWatch 
  + Autorizzazioni per creare agenti e attività in. DataSync Per ulteriori informazioni, consulta [Autorizzazioni IAM richieste per l'utilizzo](https://docs.aws.amazon.com/datasync/latest/userguide/permissions-requirements.html). AWS DataSync

**Limitazioni**
+ Questo modello è progettato per migrare SFSs come parte di un progetto di migrazione di grandi dimensioni. Include le migliori pratiche e istruzioni da SFSs incorporare nei piani Wave per la migrazione delle applicazioni. Se stai migrando uno o più file system condivisi al di fuori di un progetto di migrazione di grandi dimensioni, consulta le istruzioni per il trasferimento dei dati nella AWS documentazione per [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) e [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).
+ Questo modello si basa su architetture, servizi e modelli di migrazione di uso comune. Tuttavia, i progetti e le strategie di migrazione di grandi dimensioni possono variare tra le organizzazioni. Potrebbe essere necessario personalizzare questa soluzione o le cartelle di lavoro fornite in base alle proprie esigenze.

## Architecture
<a name="migrate-shared-file-systems-in-an-aws-large-migration-architecture"></a>

**Stack tecnologico di origine**

Uno o più dei seguenti:
+ File server Linux (NFS)
+ File server Windows (SMB)
+ NetApp array di storage
+ array di storage Dell EMC Isilon

**Stack tecnologico Target**

Uno o più dei seguenti:
+ Amazon Elastic File System
+ Amazon FSx per NetApp ONTAP
+ File server Amazon FSx per Windows

**Architettura Target**

![\[Diagramma dell'architettura dell'utilizzo di AWS DataSync per migrare file system condivisi locali su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/13232433-7d33-44c8-8998-b720f33f67b3.png)


Il diagramma mostra il seguente processo:

1. Si stabilisce una connessione tra il data center locale e il Cloud AWS utilizzando un sistema Servizio AWS come AWS Direct Connect o. AWS Site-to-Site VPN

1. L' DataSync agente viene installato nel data center locale.

1. In base al vostro piano d'azione, dovete DataSync replicare i dati dal file system condiviso di origine alla condivisione di file di destinazione AWS .

**Fasi di migrazione**

L'immagine seguente mostra le fasi e i passaggi di alto livello per la migrazione di un SFS in un progetto di migrazione di grandi dimensioni.

![\[Scopri, pianifica, prepara, taglia e convalida le fasi della migrazione dei file system condivisi su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/f1e0c94d-0eea-46a8-bdec-3297b34c1d43.png)


La sezione [Epics](#migrate-shared-file-systems-in-an-aws-large-migration-epics) di questo modello contiene istruzioni dettagliate su come completare la migrazione e utilizzare le cartelle di lavoro allegate. Di seguito è riportata una panoramica di alto livello delle fasi di questo approccio graduale.


| 
| 
| Fase | Fasi | 
| --- |--- |
| Scopri | 1. Utilizzando uno strumento di rilevamento, raccogli dati sul file system condiviso, inclusi server, punti di montaggio e indirizzi IP.2. Utilizzando un database di gestione della configurazione (CMDB) o lo strumento di migrazione, si raccolgono dettagli sul server, tra cui informazioni sull'ondata di migrazione, sull'ambiente, sul proprietario dell'applicazione, sul nome del servizio di gestione dei servizi IT (ITSM), sull'unità organizzativa e sull'ID dell'applicazione. | 
| Pianificazione | 3. Utilizzando le informazioni raccolte su SFSs e sui server, create il piano d'onda SFS.4. Utilizzando le informazioni nel foglio di lavoro di compilazione, per ogni SFS, scegliete una destinazione Servizio AWS e uno strumento di migrazione. | 
| Preparazione | 5. Configura l'infrastruttura di destinazione in Amazon EFS, Amazon FSx for NetApp ONTAP o Amazon FSx for Windows File Server.6. Configura il servizio di trasferimento dati, ad esempio DataSync, e quindi avvia la sincronizzazione iniziale dei dati. Una volta completata la sincronizzazione iniziale, puoi configurare sincronizzazioni ricorrenti da eseguire secondo una pianificazione,7. Aggiorna il piano d'onda SFS con informazioni sulla condivisione del file di destinazione, come l'indirizzo IP o il percorso. | 
| Tagliare | 8. Blocca le applicazioni che accedono attivamente all'SFS di origine.9. Nel servizio di trasferimento dati, eseguite una sincronizzazione finale dei dati.10. Una volta completata la sincronizzazione, verifica che sia avvenuta correttamente esaminando i dati di registro in CloudWatch Logs. | 
| Convalida | 11. Sui server, modificate il punto di montaggio sul nuovo percorso SFS.12. Riavviare e convalidare le applicazioni. | 

## Tools (Strumenti)
<a name="migrate-shared-file-systems-in-an-aws-large-migration-tools"></a>

**Servizi AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ti aiuta a centralizzare i log di tutti i tuoi sistemi e applicazioni, Servizi AWS così puoi monitorarli e archiviarli in modo sicuro.
+ [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 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 FSx](https://docs.aws.amazon.com/fsx/?id=docs_gateway) fornisce file system che supportano i protocolli di connettività standard del settore e offrono disponibilità e replica elevate in tutto il mondo. Regioni AWS

**Altri strumenti**
+ [SnapMirror](https://library.netapp.com/ecmdocs/ECMP1196991/html/GUID-BA1081BE-B2BB-4C6E-8A82-FB0F87AC514E.html)è uno strumento di replica NetApp dei dati che replica i dati da volumi o [qtree di origine specificati rispettivamente su volumi o qtree](https://library.netapp.com/ecmdocs/ECMP1154894/html/GUID-8F084F85-2AB8-4622-B4F3-2D9E68559292.html) di destinazione. Puoi utilizzare questo strumento per migrare un file system di NetApp origine su Amazon FSx for NetApp ONTAP.
+ [Robocopy](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy), che è l'abbreviazione di *Robust File Copy*, è una directory a riga di comando e un comando per Windows. Puoi utilizzare questo strumento per migrare un file system di origine di Windows su Amazon FSx for Windows File Server.

## Best practice
<a name="migrate-shared-file-systems-in-an-aws-large-migration-best-practices"></a>

**Approcci alla pianificazione delle onde**

Quando pianificate ondate per un progetto di migrazione di grandi dimensioni, tenete conto della latenza e delle prestazioni delle applicazioni. Quando l'SFS e le applicazioni dipendenti operano in luoghi diversi, ad esempio uno nel cloud e l'altro nel data center locale, ciò può aumentare la latenza e influire sulle prestazioni delle applicazioni. Le seguenti sono le opzioni disponibili per la creazione di piani ondulatori:

1. **Migra l'SFS e tutti i server dipendenti all'interno della stessa ondata**: questo approccio previene problemi di prestazioni e riduce al minimo le rilavorazioni, come la riconfigurazione dei punti di montaggio più volte. È consigliato quando è richiesta una latenza molto bassa tra l'applicazione e l'SFS. Tuttavia, la pianificazione delle ondate è complessa e l'obiettivo in genere è rimuovere le variabili dai raggruppamenti di dipendenze, anziché aggiungerle. Inoltre, questo approccio non è consigliato se molti server accedono allo stesso SFS perché rende l'onda troppo grande.

1. Eseguite **la migrazione dell'SFS dopo la migrazione dell'ultimo server dipendente**: ad esempio, se più server accedono a un SFS e tali server sono programmati per migrare nelle ondate 4, 6 e 7, pianificate la migrazione dell'SFS nell'ondata 7.

   Questo approccio è spesso il più logico per le migrazioni di grandi dimensioni ed è consigliato per le applicazioni sensibili alla latenza. Riduce i costi associati al trasferimento dei dati. Inoltre, riduce al minimo il periodo di latenza tra SFS e le applicazioni di livello superiore (come la produzione), poiché le applicazioni di livello superiore sono in genere programmate per migrare per ultime, dopo lo sviluppo e le applicazioni di controllo qualità.

   Tuttavia, questo approccio richiede ancora scoperta, pianificazione e agilità. Potrebbe essere necessario migrare l'SFS in un'ondata precedente. Verificate che le applicazioni siano in grado di sopportare la latenza aggiuntiva per il periodo di tempo compreso tra la prima onda dipendente e l'onda contenente l'SFS. Conduci una sessione di rilevamento con i proprietari delle applicazioni e migra l'applicazione nella stessa ondata, l'applicazione più sensibile alla latenza. Se vengono rilevati problemi di prestazioni dopo la migrazione di un'applicazione dipendente, preparatevi a passare rapidamente alla migrazione SFS il più rapidamente possibile.

1. **Migrate l'SFS al termine di un ampio progetto di migrazione: questo approccio è consigliato se la** latenza non è un fattore, ad esempio quando i dati nell'SFS sono accessibili di rado o non sono critici per le prestazioni dell'applicazione. Questo approccio semplifica la migrazione e semplifica le attività di cutover.

È possibile combinare questi approcci in base alla sensibilità alla latenza dell'applicazione. Ad esempio, è possibile migrare sensibili alla latenza SFSs utilizzando gli approcci 1 o 2 e quindi migrare il resto utilizzando l'approccio 3. SFSs 

**Scelta di un servizio di file system AWS **

AWS offre diversi servizi cloud per l'archiviazione di file. Ciascuno offre vantaggi e limiti diversi in termini di prestazioni, scalabilità, accessibilità, integrazione, conformità e ottimizzazione dei costi. Esistono alcune opzioni logiche predefinite. Ad esempio, se il tuo attuale file system locale utilizza Windows Server, Amazon FSx for Windows File Server è la scelta predefinita. Oppure, se il file system locale utilizza NetApp ONTAP, Amazon FSx for NetApp ONTAP è la scelta predefinita. Tuttavia, potresti scegliere un servizio mirato in base ai requisiti della tua applicazione o per ottenere altri vantaggi operativi sul cloud. Per ulteriori informazioni, consulta [Scelta del servizio di archiviazione dei AWS file giusto per la propria implementazione](https://d1.awsstatic.com/events/Summits/awsnycsummit/Choosing_the_right_AWS_file_storage_service_for_your_deployment_STG302.pdf) (presentazione AWS Summit).

**Scelta di uno strumento di migrazione**

Amazon EFS e Amazon FSx supportano l'uso di AWS DataSync per migrare i file system condivisi verso Cloud AWS. Per ulteriori informazioni sui sistemi e servizi di storage supportati, sui vantaggi e sui casi d'uso, consulta [What is AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html). Per una panoramica del processo di utilizzo DataSync del trasferimento dei file, consulta [Come funzionano AWS DataSync i trasferimenti](https://docs.aws.amazon.com/datasync/latest/userguide/how-datasync-transfer-works.html).

Sono disponibili anche diversi strumenti di terze parti, tra cui:
+ Se scegli Amazon FSx for NetApp ONTAP, puoi utilizzarlo NetApp SnapMirror per migrare i file dal data center locale al cloud. SnapMirror utilizza la replica a livello di blocco, che può essere più veloce DataSync e ridurre la durata del processo di trasferimento dei dati. Per ulteriori informazioni, consulta [Migrazione a FSx ](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap-snapmirror.html) for ONTAP using. NetApp SnapMirror
+ Se scegli Amazon FSx for Windows File Server, puoi usare Robocopy per migrare i file nel cloud. Per ulteriori informazioni, consulta [Migrazione di file esistenti su Windows File Server FSx utilizzando Robocopy](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-files-to-fsx.html).

## Poemi epici
<a name="migrate-shared-file-systems-in-an-aws-large-migration-epics"></a>

### Scopri
<a name="discover"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparate la cartella di lavoro SFS Discovery. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingegnere addetto alla migrazione, responsabile della migrazione | 
| Raccogli informazioni sulla fonte SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingegnere addetto alla migrazione, responsabile della migrazione | 
| Raccogli informazioni sui server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingegnere addetto alla migrazione, responsabile della migrazione | 

### Pianificazione
<a name="plan"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Costruisci il piano d'onda SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Responsabile sviluppo, responsabile Cutover, ingegnere addetto alla migrazione, responsabile della migrazione | 
| Scegli lo strumento di destinazione Servizio AWS e di migrazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingegnere addetto alla migrazione, responsabile della migrazione | 

### Preparazione
<a name="prepare"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il file system di destinazione. | In base ai dettagli registrati nel tuo piano d'onda, configura i file system di destinazione nel target Account AWS, nel VPC e nelle sottoreti. Per istruzioni, consulta la seguente documentazione: AWS [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingegnere addetto alla migrazione, responsabile della migrazione, amministratore AWS | 
| Configura lo strumento di migrazione e trasferisci i dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Amministratore AWS, amministratore cloud, ingegnere addetto alla migrazione, responsabile della migrazione | 
| Aggiorna il piano d'ondata. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingegnere addetto alla migrazione, responsabile della migrazione | 

### Tagliare
<a name="cut-over"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Interrompi le applicazioni. | Se le applicazioni o i client eseguono attivamente operazioni di lettura e scrittura nell'SFS di origine, interrompili prima di eseguire la sincronizzazione finale dei dati. Per istruzioni, consultate la documentazione dell'applicazione o i processi interni per interrompere le attività di lettura e scrittura. Ad esempio, [consultate Avvio o arresto del server Web (IIS 8)](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635851(v=ws.11)) (documentazione Microsoft) o [Gestione dei servizi di sistema con systemctl](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-systemd_configuring-basic-system-settings#managing-system-services-with-systemctl_managing-systemd) (documentazione Red Hat). | Proprietario dell'app, sviluppatore dell'app | 
| Esegui il trasferimento finale dei dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingegnere addetto alla migrazione, responsabile della migrazione | 
| Convalida il trasferimento dei dati. | Se lo utilizzi AWS DataSync, procedi come segue per convalidare il trasferimento finale dei dati completato con successo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html)Se utilizzi uno strumento di terze parti, consulta le istruzioni per la convalida del trasferimento dei dati nella documentazione dello strumento di migrazione selezionato. | Ingegnere addetto alla migrazione, responsabile della migrazione | 

### Convalida
<a name="validate"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimontare il file system e convalidare la funzione e le prestazioni dell'applicazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Amministratore di sistema AWS, proprietario dell'app | 

## risoluzione dei problemi
<a name="migrate-shared-file-systems-in-an-aws-large-migration-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| I valori delle celle in Microsoft Excel non vengono aggiornati. | Copia le formule nelle righe di esempio trascinando la maniglia di riempimento. Per ulteriori informazioni, consulta le istruzioni per [Windows](https://support.microsoft.com/en-us/office/fill-a-formula-down-into-adjacent-cells-041edfe2-05bc-40e6-b933-ef48c3f308c6) o per [Mac](https://support.microsoft.com/en-au/office/copy-a-formula-by-dragging-the-fill-handle-in-excel-for-mac-dd928259-622b-473f-9a33-83aa1a63e218) (sito Web Microsoft Support). | 

## Risorse correlate
<a name="migrate-shared-file-systems-in-an-aws-large-migration-resources"></a>

**AWS documentazione**
+ [AWS DataSync documentazione](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)
+ [Documentazione Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)
+ [ FSx Documentazione Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/index.html)
+ [Grandi migrazioni verso Cloud AWS](https://aws.amazon.com/prescriptive-guidance/large-migrations/)
  + [Guida per migrazioni di AWS grandi dimensioni](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-guide/welcome.html)
  + [Guida al portfolio per AWS migrazioni di grandi dimensioni](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html)

**Risoluzione dei problemi**
+ [Risoluzione dei problemi AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync.html)
+ [Risoluzione dei problemi di Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/troubleshooting.html)
+ [Risoluzione dei problemi FSx di Amazon per Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/troubleshooting.html)
+ [Risoluzione dei problemi di Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/troubleshooting.html)

## Allegati
<a name="attachments-a30cf791-7a8a-4f71-8927-bc61f3b332f2"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/a30cf791-7a8a-4f71-8927-bc61f3b332f2/attachments/attachment.zip)

# Esegui la migrazione di un database Oracle ad Amazon RDS for Oracle utilizzando gli adattatori flat file GoldenGate Oracle
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters"></a>

*Dhairya Jindani e Baji Shaik, Amazon Web Services*

## Riepilogo
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-summary"></a>

Oracle GoldenGate è un servizio di acquisizione e replica dei dati in tempo reale per database e ambienti IT eterogenei. Tuttavia, questo servizio attualmente non supporta Amazon Relational Database Service (Amazon RDS) per Oracle. Per un elenco dei database supportati, consulta [Oracle GoldenGate for Heterogeneous Databases](https://docs.oracle.com/goldengate/c1230/gg-winux/GGHDB/12.3-what-is-oracle-goldengate-heterogeneous-databases.htm#GGHDB-GUID-08EAC588-F76C-4E37-BEBA-0DC57B98CA46) (documentazione Oracle). Questo modello descrive come utilizzare gli adattatori GoldenGate flat file Oracle GoldenGate e Oracle per generare file flat dal database Oracle di origine, che può essere locale o su un'istanza Amazon Elastic Compute Cloud (Amazon EC2). È quindi possibile importare tali file flat in un'istanza di database Amazon RDS for Oracle.

In questo modello, si utilizza Oracle GoldenGate per estrarre i file trail dal database Oracle di origine. Il data pump copia i file trail su un server di integrazione, che è un' EC2 istanza Amazon. Sul server di integrazione, Oracle GoldenGate utilizza l'adattatore flat file per generare una serie di file flat sequenziali basati sull'acquisizione dei dati transazionali dei file trail. Oracle GoldenGate formatta i dati come valori separati da delimitatori o valori delimitati dalla lunghezza. Si utilizza quindi Oracle SQL\$1Loader per importare i file flat nell'istanza di database Amazon RDS for Oracle di destinazione.

**Destinatari**

Questo modello è destinato a coloro che hanno esperienza e conoscenza degli elementi costitutivi fondamentali GoldenGate di un Oracle. Per ulteriori informazioni, vedere [Panoramica dell' GoldenGate architettura Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD115) (documentazione Oracle).

## Prerequisiti e limitazioni
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS.
+ Una GoldenGate licenza Oracle.
+ Una licenza separata per un GoldenGate adattatore Oracle.
+ Un database Oracle di origine, in esecuzione in locale o su un' EC2 istanza Amazon.
+ Un'istanza Amazon EC2 Linux utilizzata come server di integrazione. Per ulteriori informazioni, consulta [Guida introduttiva alle istanze Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) ( EC2 documentazione Amazon).
+ Un'istanza di database Amazon RDS for Oracle di destinazione. Per ulteriori informazioni, consulta [Creazione di un'istanza DB Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html) (documentazione Amazon RDS).

**Versioni del prodotto**
+ Oracle Database Enterprise Edition versione 10g, 11g, 12c o successiva
+ Oracle GoldenGate versione 12.2.0.1.1 o successiva

## Architecture
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-architecture"></a>

**Stack tecnologico di origine**

Un database Oracle (locale o su un' EC2 istanza Amazon)

**Stack tecnologico Target**

Amazon RDS per Oracle

**Architettura di origine e destinazione**

![\[Migrazione di un database Oracle su Amazon RDS for Oracle utilizzando un GoldenGate adattatore Oracle.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/f34961f7-aa9a-41cb-b1ea-522e36ef2f67/images/21ef5177-e669-4591-aced-28d2f22decf2.png)


1. Oracle GoldenGate estrae le tracce dai log del database di origine.

1. La data pump estrae le tracce e le migra su un server di integrazione.

1. L'adattatore di file GoldenGate flat di Oracle legge gli itinerari, le definizioni di origine e i parametri di estrazione.

1. Si esce dall'estrazione, che genera un control file e file di dati flat.

1. È possibile migrare i file di dati flat su un'istanza di database Amazon RDS for Oracle in. Cloud AWS

## Tools (Strumenti)
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-tools"></a>

**Servizi AWS**
+ [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.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) per Oracle ti aiuta a configurare, gestire e scalare un database relazionale Oracle in. Cloud AWS

**Altri servizi**
+ [Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD110) è un servizio che consente di replicare, filtrare e trasformare i dati da un database a un altro database eterogeneo o a un'altra topologia di destinazione, come i file flat.
+ Gli [ GoldenGate application adapter Oracle](https://docs.oracle.com/goldengate/gg121211/gg-adapter/GADAD/flatfile_config.htm#GADAD424) consentono GoldenGate a Oracle di produrre una serie di file flat sequenziali e file di controllo a partire dai dati transazionali acquisiti nei file trail di un database di origine. Questi adattatori sono ampiamente utilizzati per le operazioni di estrazione, trasformazione e caricamento (ETL) in applicazioni di data warehouse e applicazioni proprietarie o legacy. Oracle GoldenGate esegue questa acquisizione e la applica quasi in tempo reale su database, piattaforme e sistemi operativi eterogenei. Gli adattatori supportano diversi formati per i file di output, come CSV o Apache Parquet. È possibile caricare questi file generati per caricare i dati in diversi database eterogenei.

## Epiche
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-epics"></a>

### Configura Oracle GoldenGate sul server del database di origine
<a name="set-up-oracle-goldengate-on-the-source-database-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica Oracle GoldenGate. | Sul server del database di origine, scarica la GoldenGate versione Oracle 12.2.0.1.1 o successiva. Per istruzioni, vedere [Download di Oracle GoldenGate (documentazione Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)). | DBA | 
| Installa Oracle GoldenGate. | Per istruzioni, vedere [Installazione di Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentazione Oracle). | DBA | 
| Configura Oracle GoldenGate. | Per istruzioni, vedere [Preparazione del database per Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentazione Oracle). | DBA | 

### Configura Oracle GoldenGate sul server di integrazione
<a name="set-up-oracle-goldengate-on-the-integration-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica Oracle GoldenGate. | Sul server di integrazione, scarica la GoldenGate versione Oracle 12.2.0.1.1 o successiva. Per istruzioni, vedere [Download di Oracle GoldenGate (documentazione Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)). | DBA | 
| Installa Oracle GoldenGate. | Crea directory, configura il processo di gestione e crea il `defgen` file per un ambiente eterogeneo. Per istruzioni, vedere [Installazione di Oracle GoldenGate (documentazione Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162)). | DBA | 

### Modifica la configurazione di acquisizione GoldenGate dei dati Oracle
<a name="change-the-oracle-goldengate-data-capture-configuration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparare gli GoldenGate adattatori Oracle. | Sul server di integrazione, configura il software dell' GoldenGate adattatore Oracle. Esegui questa operazione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.html) | DBA | 
| Configura la pompa dati. | Sul server di origine, configura la pompa di dati per trasferire il file trail dal server di origine al server di integrazione. Crea il file dei parametri della pompa dati e la directory dei file trail. Per istruzioni, vedere [Configurazione del Flat File Adapter](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) (documentazione Oracle). | DBA | 

### Genera e migra i file flat
<a name="generate-and-migrate-the-flat-files"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera i file flat. | Crea il file di estrazione e il file di controllo, quindi avvia il processo di estrazione sul server di integrazione. Questo estrae le modifiche al database e scrive il database di origine nei file flat. Per istruzioni, vedere [Using the Flat File Adapter](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD432) (documentazione Oracle). | DBA | 
| Carica i file flat nel database di destinazione. | Carica i file flat nell'istanza di database Amazon RDS for Oracle di destinazione. Per ulteriori informazioni, consulta [Importazione tramite Oracle SQL\$1Loader](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.SQLLoader.html) (documentazione Amazon RDS). | DBA | 

## risoluzione dei problemi
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| L'adattatore di file GoldenGate flat Oracle genera un errore. | Per una descrizione degli errori dell'adattatore, vedere [Localizzazione dei messaggi di errore](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD437) (documentazione Oracle). Per istruzioni sulla risoluzione dei problemi, vedere [Risoluzione dei problemi del Flat File Adapter](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-CB3D9B2C-49CC-408A-8C00-06E0C7923DD6.htm#GADAD552) (documentazione Oracle). | 

## Risorse correlate
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-resources"></a>
+ [Installazione di Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentazione Oracle)
+ [Configurazione di Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentazione Oracle)
+ [Informazioni sugli GoldenGate adattatori Oracle (documentazione](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-F9105B02-9836-4F98-99F8-6E9C46D42764.htm#GADAD101) Oracle)
+ [Configurazione del Flat File Adapter (documentazione](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) Oracle)

# Modifica le applicazioni Python e Perl per supportare la migrazione dei database da Microsoft SQL Server a Amazon Aurora PostgreSQL Compatible Edition
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition"></a>

*Dwarika Patra e Deepesh Jayaprakash, Amazon Web Services*

## Riepilogo
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-summary"></a>

Questo modello descrive le modifiche ai repository delle applicazioni che potrebbero essere necessarie durante la migrazione dei database da Microsoft SQL Server a Amazon Aurora PostgreSQL Compatible Edition. Il modello presuppone che queste applicazioni siano basate su Python o su Perl e fornisce istruzioni separate per questi linguaggi di scripting.

La migrazione dei database di SQL Server verso la compatibilità con Aurora PostgreSQL comporta la conversione dello schema, la conversione degli oggetti del database, la migrazione dei dati e il caricamento dei dati. A causa delle differenze tra PostgreSQL e SQL Server (relative ai tipi di dati, agli oggetti di connessione, alla sintassi e alla logica), l'attività di migrazione più difficile consiste nell'apportare le modifiche necessarie alla base di codice in modo che funzioni correttamente con PostgreSQL.

Per un'applicazione basata su Python, gli oggetti e le classi di connessione sono sparsi in tutto il sistema. Inoltre, la base di codice Python potrebbe utilizzare più librerie per connettersi al database. Se l'interfaccia di connessione al database cambia, anche gli oggetti che eseguono le query in linea dell'applicazione richiedono modifiche.

Per un'applicazione basata su Perl, le modifiche riguardano oggetti di connessione, driver di connessione al database, istruzioni SQL in linea statiche e dinamiche e il modo in cui l'applicazione gestisce query DML dinamiche complesse e set di risultati.

Quando esegui la migrazione della tua applicazione, puoi anche prendere in considerazione possibili miglioramenti su AWS, come la sostituzione del server FTP con l'accesso ad Amazon Simple Storage Service (Amazon S3).

Il processo di migrazione delle applicazioni comporta le seguenti sfide:
+ Oggetti di connessione. Se gli oggetti di connessione sono sparsi nel codice con più librerie e chiamate di funzioni, potrebbe essere necessario trovare un modo generalizzato per modificarli per supportare PostgreSQL.
+ Gestione degli errori o delle eccezioni durante il recupero o l'aggiornamento dei record. Se sul database sono presenti operazioni condizionali di creazione, lettura, aggiornamento ed eliminazione (CRUD) che restituiscono variabili, set di risultati o frame di dati, eventuali errori o eccezioni potrebbero causare errori di applicazione con effetti a cascata. Queste devono essere gestite con cura con convalide e punti di salvataggio adeguati. Uno di questi punti di salvataggio consiste nel richiamare query SQL in linea di grandi dimensioni o oggetti di database all'interno di blocchi. `BEGIN...EXCEPTION...END`
+ Controllo delle transazioni e loro convalida. Questi includono commit e rollback manuali e automatici. Il driver PostgreSQL per Perl richiede di impostare sempre in modo esplicito l'attributo auto-commit.
+ Gestione di query SQL dinamiche. Ciò richiede una conoscenza approfondita della logica delle query e dei test iterativi per garantire che le query funzionino come previsto.
+ Prestazioni. È necessario assicurarsi che le modifiche al codice non comportino un peggioramento delle prestazioni dell'applicazione.

Questo modello spiega in dettaglio il processo di conversione.

## Prerequisiti e limitazioni
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-prereqs"></a>

**Prerequisiti**
+ Conoscenza pratica della sintassi Python e Perl.
+ Competenze di base in SQL Server e PostgreSQL.
+ Comprensione dell'architettura applicativa esistente.
+ Accesso al codice dell'applicazione, al database SQL Server e al database PostgreSQL.
+ Accesso all'ambiente di sviluppo Windows o Linux (o altro Unix) con credenziali per lo sviluppo, il test e la convalida delle modifiche alle applicazioni.
+ **Per un'applicazione basata su Python, le librerie Python standard che l'applicazione potrebbe richiedere, come **Pandas per gestire i frame di dati e psycopg2** per le connessioni al database. **SQLAlchemy****
+ Per un'applicazione basata su Perl, sono necessari pacchetti Perl con librerie o moduli dipendenti. Il modulo Comprehensive Perl Archive Network (CPAN) può supportare la maggior parte dei requisiti delle applicazioni.
+ Tutte le librerie o i moduli personalizzati dipendenti richiesti. 
+ Credenziali del database per l'accesso in lettura a SQL Server e read/write l'accesso ad Aurora.
+ PostgreSQL per convalidare ed eseguire il debug delle modifiche alle applicazioni con servizi e utenti.
+ Accesso a strumenti di sviluppo durante la migrazione delle applicazioni come Visual Studio Code, Sublime Text o **pgAdmin**.

**Limitazioni**
+ Alcune versioni, moduli, librerie e pacchetti di Python o Perl non sono compatibili con l'ambiente cloud.
+ Alcune librerie e framework di terze parti utilizzati per SQL Server non possono essere sostituiti per supportare la migrazione PostgreSQL. 
+ Le variazioni delle prestazioni potrebbero richiedere modifiche all'applicazione, alle query Transact-SQL (T-SQL) in linea, alle funzioni del database e alle stored procedure.
+ PostgreSQL supporta nomi minuscoli per nomi di tabelle, nomi di colonne e altri oggetti di database. 
+ Alcuni tipi di dati, come le colonne UUID, vengono memorizzati solo in lettere minuscole. Le applicazioni Python e Perl devono gestire tali differenze di casi. 
+ Le differenze di codifica dei caratteri devono essere gestite con il tipo di dati corretto per le colonne di testo corrispondenti nel database PostgreSQL.                                

**Versioni del prodotto**
+ Python 3.6 o versione successiva (usa la versione che supporta il tuo sistema operativo)
+ Perl 5.8.3 o versione successiva (usa la versione che supporta il tuo sistema operativo)
+ [Aurora PostgreSQL Compatible Edition 4.2 o versione successiva (vedi dettagli)](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html#AuroraPostgreSQL.Updates.20180305.42)

## Architecture
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-architecture"></a>

**Stack tecnologico di origine**
+ Linguaggio di scripting (programmazione di applicazioni): Python 2.7 o successivo o Perl 5.8 
+ Database: Microsoft SQL Server versione 13
+ Sistema operativo: Red Hat Enterprise Linux (RHEL) 7 

**Stack tecnologico Target**
+ Linguaggio di scripting (programmazione di applicazioni): Python 3.6 o successivo o Perl 5.8 o successivo 
+ Database: Aurora PostgreSQL compatibile 4.2
+ Sistema operativo: RHEL 7 

**Architettura di migrazione**

![\[Migrazione di un'applicazione Perl o Python con SQL Server a Aurora compatibile con PostgreSQL\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/b64de64a-bd55-4db7-ba7b-0a2557862af1/images/b8fab3e2-ded5-4f58-86bf-3f645252e9fc.png)


## Tools (Strumenti)
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-tools"></a>

**Servizi e strumenti AWS**
+ [Aurora PostgreSQL—Compatible Edition è un motore di database relazionale completamente gestito, compatibile con](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) PostgreSQL e conforme ad ACID che combina la velocità e l'affidabilità dei database commerciali di fascia alta con l'economicità dei database open source. Aurora PostgreSQL è un sostituto immediato di PostgreSQL e semplifica e rende più conveniente configurare, utilizzare e scalare le implementazioni PostgreSQL nuove ed esistenti.
+ [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 con i servizi AWS utilizzando i comandi nella shell della riga di comando.

**Altri strumenti**
+ [Librerie di connessione al database [Python](https://www.python.org/) e PostgressSQL come psycopg2 e [SQLAlchemy](https://www.sqlalchemy.org/)](https://pypi.org/project/psycopg2/)
+ [Perl](https://www.perl.org/) e [i](https://metacpan.org/pod/DBD::Pg) suoi moduli DBI
+ Terminale [interattivo PostgreSQL (psql](https://www.postgresql.org/docs/13/app-psql.html))

## Epiche
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-epics"></a>

### Migra il tuo repository di applicazioni a PostgreSQL: passaggi di alto livello
<a name="migrate-your-application-repository-to-postgresql-ndash-high-level-steps"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Segui questi passaggi di conversione del codice per migrare la tua applicazione a PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)I seguenti poemi epici forniscono istruzioni dettagliate per alcune di queste attività di conversione per applicazioni Python e Perl. | Sviluppatore di app | 
| Usa una lista di controllo per ogni fase della migrazione. | Aggiungi quanto segue alla tua lista di controllo per ogni fase della migrazione delle applicazioni, inclusa la fase finale:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Sviluppatore di app | 

### Analizza e aggiorna la tua applicazione — Python code base
<a name="analyze-and-update-your-application-ndash-python-code-base"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Analizza la tua base di codice Python esistente.  | L'analisi dovrebbe includere quanto segue per facilitare il processo di migrazione delle applicazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Sviluppatore di app | 
| Converti le connessioni al database per supportare PostgreSQL.  | La maggior parte delle applicazioni Python utilizza la libreria **pyodbc** per connettersi ai database di SQL Server come segue.<pre>import pyodbc<br />....<br />try:<br />    conn_string = "Driver=ODBC Driver 17 for SQL<br />    Server;UID={};PWD={};Server={};Database={}".format (conn_user, conn_password,<br />    conn_server, conn_database)<br />    conn = pyodbc.connect(conn_string)<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre>Converti la connessione al database per supportare PostgreSQL come segue.<pre>import pyodbc<br />import psycopg2<br />....<br />try:<br />    conn_string = ‘postgresql+psycopg2://’+<br />    conn_user+’:’+conn_password+’@’+conn_server+’/’+conn_database<br />    conn = pyodbc.connect(conn_string, connect_args={‘options’:’-csearch_path=dbo’})<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre> | Sviluppatore di app | 
| Cambia le query SQL in linea in PostgreSQL. | Converti le tue query SQL in linea in un formato compatibile con PostgreSQL. Ad esempio, la seguente query di SQL Server recupera una stringa da una tabella.<pre>dtype = "type1"<br />stm = ‘"SELECT TOP 1 searchcode FROM TypesTable (NOLOCK)<br />WHERE code="’ + "’" + str(dtype) + "’"<br /># For Microsoft SQL Server Database Connection<br />engine = create_engine(‘mssql+pyodbc:///?odbc_connect=%s’ % urllib.parse.quote_plus(conn_string), connect_args={‘connect_timeout’:login_timeout})<br />conn = engine_connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre>Dopo la conversione, la query SQL in linea compatibile con PostgreSQL ha il seguente aspetto.<pre>dtype = "type1"<br />stm = ‘"SELECT searchcode FROM TypesTable<br />WHERE code="’ + "’" + str(dtype) + "’ LIMIT 1"<br /># For PostgreSQL Database Connection<br />engine = create_engine(‘postgres+psycopg2://%s’ %conn_string, connect_args={‘connect_timeout’:login_timeout})<br />conn = engine.connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre> | Sviluppatore di app | 
| Gestisci le query SQL dinamiche. | L'SQL dinamico può essere presente in uno script o in più script Python. Gli esempi precedenti hanno mostrato come utilizzare la funzione di sostituzione delle stringhe di Python per inserire variabili per la costruzione di query SQL dinamiche. Un approccio alternativo consiste nell'aggiungere la stringa di query con variabili laddove applicabile. Nell'esempio seguente, la stringa di query viene costruita al volo in base ai valori restituiti da una funzione.<pre>query = ‘"SELECT id from equity e join issues i on e.permId=i.permId where e.id’"<br />query += get_id_filter(ids) + " e.id is NOT NULL</pre>Questi tipi di interrogazioni dinamiche sono molto comuni durante la migrazione delle applicazioni. Segui questi passaggi per gestire le query dinamiche:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Sviluppatore di app | 
| Gestisci set di risultati, variabili e frame di dati. | Per Microsoft SQL Server, si utilizzano metodi Python come `fetchone()` o `fetchall()` per recuperare il set di risultati dal database. È inoltre possibile utilizzare `fetchmany(size)` e specificare il numero di record da restituire dal set di risultati. A tale scopo, è possibile utilizzare l'oggetto di connessione **pyodbc** come illustrato nell'esempio seguente.**pyodbc (Microsoft SQL Server)**<pre>import pyodbc <br />server = 'tcp:myserver.database.windows.net' <br />database = 'exampledb' <br />username = 'exampleusername' <br />password = 'examplepassword' <br />conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)<br />cursor = conn.cursor()<br />cursor.execute("SELECT * FROM ITEMS") <br />row = cursor.fetchone() <br />while row: <br />    print(row[0])<br />    row = cursor.fetchone()</pre>**In Aurora, per eseguire attività simili come la connessione a PostgreSQL e il recupero dei set di risultati, puoi usare psycopg2 o. **SQLAlchemy**** Queste librerie Python forniscono il modulo di connessione e l'oggetto cursore da attraversare tra i record del database PostgreSQL, come mostrato nell'esempio seguente.**psycopg2 (compatibile con Aurora PostgreSQL)**<pre>import psycopg2<br />query = "SELECT * FROM ITEMS;"<br />//Initialize variables<br />host=dbname=user=password=port=sslmode=connect_timeout=""<br />connstring = "host='{host}' dbname='{dbname}' user='{user}' \<br />password='{password}'port='{port}'".format(host=host,dbname=dbname,\<br />user=user,password=password,port=port) <br />conn = psycopg2.connect(connstring)<br />cursor = conn.cursor()<br />cursor.execute(query)<br />column_names = [column[0] for column in cursor.description]<br />print("Column Names: ", column_names)<br />print("Column values: "<br />for row in cursor:<br />    print("itemid :", row[0])<br />    print("itemdescrption :", row[1])<br />    print("itemprice :", row[3]))</pre>**SQLAlchemy (Compatibile con Aurora PostgreSQL)**<pre>from sqlalchemy import create_engine<br />from pandas import DataFrame<br />conn_string = 'postgresql://core:database@localhost:5432/exampledatabase'<br />engine = create_engine(conn_string)<br />conn = engine.connect()<br />dataid = 1001<br />result = conn.execute("SELECT * FROM ITEMS")<br />df = DataFrame(result.fetchall())<br />df.columns = result.keys()<br />df = pd.DataFrame()<br />engine.connect()<br />df = pd.read_sql_query(sql_query, engine, coerce_float=False)<br />print("df=", df)</pre> | Sviluppatore di app | 
| Testa la tua applicazione durante e dopo la migrazione. | Il test dell'applicazione Python migrata è un processo continuo. Poiché la migrazione include modifiche agli oggetti di connessione (**psycopg2** o **SQLAlchemy**), gestione degli errori, nuove funzionalità (frame di dati), modifiche SQL in linea, funzionalità di copia in blocco (`bcp`anziché`COPY`) e modifiche simili, deve essere testata attentamente durante e dopo la migrazione dell'applicazione. Controlla:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Sviluppatore di app | 

### Analizza e aggiorna la tua applicazione: codice base Perl
<a name="analyze-and-update-your-application-ndash-perl-code-base"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Analizza la tua base di codice Perl esistente. | L'analisi dovrebbe includere quanto segue per facilitare il processo di migrazione delle applicazioni. È necessario identificare:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Sviluppatore di app | 
| Converti le connessioni dall'applicazione Perl e dal modulo DBI per supportare PostgreSQL. | Le applicazioni basate su Perl utilizzano generalmente il modulo Perl DBI, che è un modulo di accesso al database standard per il linguaggio di programmazione Perl. È possibile utilizzare lo stesso modulo DBI con driver diversi per SQL Server e PostgreSQL.[Per ulteriori informazioni sui moduli Perl richiesti, sulle installazioni e altre istruzioni, consultate la documentazione di DBD: :Pg.](https://metacpan.org/pod/DBD::Pg) L'esempio seguente si connette a Aurora, compatibile con PostgreSQL all'indirizzo. `exampletest-aurorapg-database.cluster-sampleclusture.us-east.-rds.amazonaws.com`<pre>#!/usr/bin/perl<br />use DBI;<br />use strict;<br />my $driver = "Pg";<br />my $hostname = "exampletest-aurorapg-database-sampleclusture.us-east.rds.amazonaws.com"<br />my $dsn = "DBI:$driver: dbname = $hostname;host = 127.0.0.1;port = 5432";<br />my $username = "postgres";<br />my $password = "pass123";<br />$dbh = DBI->connect("dbi:Pg:dbname=$hostname;host=$host;port=$port;options=$options",<br />      $username,<br />      $password,<br />      {AutoCommit => 0, RaiseError => 1, PrintError => 0}<br />      );</pre> | Sviluppatore di app | 
| Cambia le query SQL in linea in PostgreSQL. | L'applicazione potrebbe avere query SQL in linea con`SELECT`, `DELETE``UPDATE`, e istruzioni simili che includono clausole di query non supportate da PostgreSQL. Ad esempio, parole chiave di query come `TOP` e `NOLOCK` non sono supportate in PostgreSQL. Gli esempi seguenti mostrano come è possibile gestire le variabili `TOP` `NOLOCK` booleane e.In SQL Server:<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id   \<br />FROM active_student_record b WITH (NOLOCK) \<br />INNER JOIN student_contributor c WITH (NOLOCK) on c.contributor_id = b.c_st)</pre>Per PostgreSQL, converti in:<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id  \<br />FROM active_student_record b INNER JOIN student_contributor c  \<br />on c.contributor_id = b.c_student_contr_id WHERE b_current_1 is true \<br />LIMIT $numofRecords)"</pre> | Sviluppatore di app | 
| Gestisci query SQL dinamiche e variabili Perl. | Le query SQL dinamiche sono istruzioni SQL create in fase di esecuzione dell'applicazione. Queste query vengono create dinamicamente durante l'esecuzione dell'applicazione, a seconda di determinate condizioni, in modo che il testo completo della query non sia noto fino all'esecuzione. Un esempio è un'applicazione di analisi finanziaria che analizza quotidianamente le prime 10 azioni e queste azioni cambiano ogni giorno. Le tabelle SQL vengono create in base alle migliori prestazioni e i valori sono noti solo in fase di esecuzione.Supponiamo che le query SQL in linea per questo esempio vengano passate a una funzione wrapper per ottenere i risultati impostati in una variabile e che quindi una variabile utilizzi una condizione per determinare se la tabella esiste:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)Ecco un esempio di gestione delle variabili, seguito dalle query SQL Server e PostgreSQL per questo caso d'uso.<pre>my $tableexists = db_read( arg 1, $sql_qry, undef, 'writer');<br />my $table_already_exists = $tableexists->[0]{table_exists};<br />if ($table_already_exists){<br /># do some thing<br />}<br />else {<br /># do something else<br />}</pre>SQL Server:<pre>my $sql_qry = "SELECT OBJECT_ID('$backendTable', 'U') table_exists", undef, 'writer')";</pre>PostgreSQL:<pre>my $sql_qry = "SELECT TO_REGCLASS('$backendTable', 'U') table_exists", undef, 'writer')";</pre>L'esempio seguente utilizza una variabile**** Perl in SQL in linea, che esegue un'`SELECT`istruzione con `JOIN` a per recuperare la chiave primaria della tabella e la posizione della colonna chiave.SQL Server:<pre>my $sql_qry = "SELECT column_name', character_maxi mum_length \<br />FROM INFORMATION_SCHEMA.COLUMNS \<br />WHERE TABLE_SCHEMA='$example_schemaInfo' \<br />AND TABLE_NAME='$example_table' \<br />AND DATA_TYPE IN ('varchar','nvarchar');";</pre>PostgreSQL:<pre>my $sql_qry = "SELECT c1.column_name, c1.ordinal_position \<br />FROM information_schema.key_column_usage AS c LEFT \<br />JOIN information_schema.table_constraints AS t1 \<br />ON t1.constraint_name = c1.constraint_name \<br />WHERE t1.table_name = $example_schemaInfo'.'$example_table’ \<br />AND t1.constraint_type = 'PRIMARY KEY' ;";</pre> | Sviluppatore di app | 

### Apporta ulteriori modifiche alla tua applicazione basata su Perl o Python per supportare PostgreSQL
<a name="make-additional-changes-to-your-perl-based-or-python-based-application-to-support-postgresql"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Converti costrutti SQL Server aggiuntivi in PostgreSQL. | Le seguenti modifiche si applicano a tutte le applicazioni, indipendentemente dal linguaggio di programmazione.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Sviluppatore di app | 

### Migliora le prestazioni
<a name="improve-performance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Sfrutta i servizi AWS per migliorare le prestazioni. | Quando esegui la migrazione al cloud AWS, puoi perfezionare la progettazione di applicazioni e database per sfruttare i servizi AWS. Ad esempio, se le query della tua applicazione Python, connessa a un server di database Aurora compatibile con PostgreSQL, richiedono più tempo rispetto alle query originali di Microsoft SQL Server, potresti prendere in considerazione la creazione di un feed di dati storici direttamente in un bucket Amazon Simple Storage Service (Amazon S3) dal server Aurora e utilizzare Amazon Athena Query SQL per generare report e query di dati analitici per i dashboard degli utenti. | Sviluppatore di app, architetto cloud | 

## Risorse correlate
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-resources"></a>
+ [Perl](https://www.perl.org/)
+ [Modulo Perl DBI](https://metacpan.org/pod/DBI)
+ [Python](https://www.python.org/)
+ [psycopg2](https://pypi.org/project/psycopg2/)
+ [SQLAlchemy](https://www.sqlalchemy.org/)
+ [Copia in blocco - PostgreSQL](https://www.postgresql.org/docs/9.2/sql-copy.html)
+ [Copia in blocco - Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15)
+ [PostgreSQL](https://www.postgresql.org/)
+ [Lavorare con Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)

## Informazioni aggiuntive
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-additional"></a>

Sia Microsoft SQL Server che Aurora PostgreSQL sono compatibili con ANSI SQL. Tuttavia, dovresti comunque essere consapevole di eventuali incompatibilità nella sintassi, nei tipi di dati delle colonne, nelle funzioni native specifiche del database, negli inserimenti in blocco e nella distinzione tra maiuscole e minuscole quando migri la tua applicazione Python o Perl da SQL Server a PostgreSQL.

Le sezioni seguenti forniscono ulteriori informazioni sulle possibili incongruenze.

**Confronto dei tipi di dati**

Le modifiche ai tipi di dati da SQL Server a PostgreSQL possono portare a differenze significative nei dati risultanti su cui operano le applicazioni. [Per un confronto dei tipi di dati, consulta la tabella sul sito Web Sqlines.](https://www.sqlines.com/sql-server-to-postgresql)

**Funzioni SQL native o integrate**

Il comportamento di alcune funzioni è diverso tra i database SQL Server e PostgreSQL. La tabella seguente fornisce un confronto.


| 
| 
| Microsoft SQL Server | Description | PostgreSQL | 
| --- |--- |--- |
| `CAST`  | Converte un valore da un tipo di dati a un altro. | PostgreSQL `type :: operator` | 
| `GETDATE()` | Restituisce la data e l'ora correnti del sistema di database, in un formato. `YYYY-MM-DD hh:mm:ss.mmm` | `CLOCK_TIMESTAMP` | 
| `DATEADD` | Aggiunge un time/date intervallo a una data. | `INTERVAL`espressione | 
| `CONVERT` | Converte un valore in un formato di dati specifico. | `TO_CHAR` | 
| `DATEDIFF` | Restituisce la differenza tra due date. | `DATE_PART` | 
| `TOP` | Limita il numero di righe in un set di `SELECT` risultati. | `LIMIT/FETCH` | 

**Blocchi anonimi**

Una query SQL strutturata è organizzata in sezioni quali dichiarazione, eseguibili e gestione delle eccezioni. La tabella seguente confronta le versioni Microsoft SQL Server e PostgreSQL di un semplice blocco anonimo. Per blocchi anonimi complessi, si consiglia di richiamare una funzione di database personalizzata all'interno dell'applicazione.


| 
| 
| Microsoft SQL Server | PostgreSQL | 
| --- |--- |
| <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sqlqry = "BEGIN TRAN<br />$sql_qry1 $sql_qry2<br />if @\@error !=0 ROLLBACK<br />TRAN<br />else COMIT TRAN";</pre> | <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sql_qry = " DO \$\$<br />BEGIN<br />$header_sql $content_sql<br />END<br />\$\$";</pre> | 

 

**Altre differenze**
+ **Inserimenti di righe in blocco:** [l'equivalente PostgreSQL dell'utilità bcp di [Microsoft](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15) SQL Server è COPY.](https://www.postgresql.org/docs/9.2/sql-copy.html)
+ **Sensibilità tra maiuscole e minuscole:** i nomi delle colonne fanno distinzione tra maiuscole e minuscole in PostgreSQL, quindi è necessario convertire i nomi delle colonne di SQL Server in lettere minuscole o maiuscole. Questo diventa un fattore quando si estraggono o si confrontano dati o si inseriscono nomi di colonna in set di risultati o variabili. L'esempio seguente identifica le colonne in cui i valori possono essere memorizzati in lettere maiuscole o minuscole.

```
my $sql_qry = "SELECT $record_id FROM $exampleTable WHERE LOWER($record_name) = \'failed transaction\'"; 
```
+ **Concatenazione:** SQL Server utilizza `+` come operatore per la concatenazione di stringhe, mentre PostgreSQL utilizza. `||`
+ **Convalida:** è necessario testare e convalidare le query e le funzioni SQL in linea prima di utilizzarle nel codice dell'applicazione per PostgreSQL.
+ **Inclusione della libreria ORM:** [puoi anche cercare di includere o sostituire la libreria di connessione al database esistente con librerie ORM Python come [SQLAlchemy](https://www.sqlalchemy.org/)Python e PynomODB.](https://pynamodb.readthedocs.io/en/latest/quickstart.html) Ciò contribuirà a interrogare e manipolare facilmente i dati da un database utilizzando un paradigma orientato agli oggetti.

# Modelli di migrazione per carico di lavoro
<a name="migration-migration-patterns-by-workload-pattern-list"></a>

**Topics**
+ [IBM](migration-migration-patterns-by-workload-ibm-pattern-list.md)
+ [Microsoft](migration-migration-patterns-by-workload-microsoft-pattern-list.md)
+ [N/D](migration-migration-patterns-by-workload-notapplicable-pattern-list.md)
+ [Open source](migration-migration-patterns-by-workload-open-source-pattern-list.md)
+ [Oracle](migration-migration-patterns-by-workload-oracle-pattern-list.md)
+ [SAP](migration-migration-patterns-by-workload-sap-pattern-list.md)

# IBM
<a name="migration-migration-patterns-by-workload-ibm-pattern-list"></a>

**Topics**
+ [Esegui la migrazione di un database Db2 da Amazon a EC2 Aurora compatibile con MySQL utilizzando AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Esegui la migrazione di Db2 for LUW ad Amazon EC2 utilizzando la spedizione di log per ridurre i tempi di interruzione](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Esegui la migrazione di Db2 per LUW ad Amazon EC2 con disaster recovery ad alta disponibilità](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Esegui la migrazione da IBM Db2 su Amazon a EC2 Aurora PostgreSQL compatibile con AWS DMS e AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione da IBM WebSphere Application Server ad Apache Tomcat su Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)

# Microsoft
<a name="migration-migration-patterns-by-workload-microsoft-pattern-list"></a>

**Topics**
+ [Accelera la scoperta e la migrazione dei carichi di lavoro Microsoft su AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Modifica le applicazioni Python e Perl per supportare la migrazione dei database da Microsoft SQL Server a Amazon Aurora PostgreSQL Compatible Edition](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)
+ [Crea CloudFormation modelli AWS per attività AWS DMS utilizzando Microsoft Excel e Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Esportazione di un database Microsoft SQL Server in Amazon S3 utilizzando AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [SHA1 Implementa l'hashing per i dati PII durante la migrazione da SQL Server a PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Acquisisci e migra istanze EC2 Windows in un account AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Esegui la migrazione di una coda di messaggistica da Microsoft Azure Service Bus ad Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Esegui la migrazione di un database Microsoft SQL Server da Amazon EC2 ad Amazon DocumentDB utilizzando AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Esegui la migrazione di un database Microsoft SQL Server su Aurora MySQL utilizzando AWS DMS e AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un'applicazione.NET da Microsoft Azure App Service ad AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server utilizzando server collegati](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon RDS for SQL Server utilizzando metodi di backup e ripristino nativi](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon Redshift utilizzando AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon Redshift utilizzando gli agenti di estrazione dati AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale a Microsoft SQL Server su Amazon EC2 con Linux](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Esegui la migrazione dei dati da Microsoft Azure Blob ad Amazon S3 utilizzando Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Esegui la migrazione di applicazioni ospitate da IIS su Amazon utilizzando appcmd.exe EC2](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Esegui la migrazione di un database Microsoft SQL Server locale su Amazon EC2 utilizzando Application Migration Service](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Migrazione dei certificati SSL di Windows su un Application Load Balancer utilizzando ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Rehosting dei carichi di lavoro locali nel cloud AWS: lista di controllo per la migrazione](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Risolvi gli errori di connessione dopo la migrazione di Microsoft SQL Server al cloud AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.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)

# N/D
<a name="migration-migration-patterns-by-workload-notapplicable-pattern-list"></a>

**Topics**
+ [Creare un processo di approvazione per le richieste del firewall durante una migrazione di rehosting a AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)

# Open source
<a name="migration-migration-patterns-by-workload-open-source-pattern-list"></a>

**Topics**
+ [Crea utenti e ruoli delle applicazioni in Aurora, compatibile con PostgreSQL](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL con e utilizzando e AWS SCT AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Esegui la migrazione di un database MariaDB locale su Amazon RDS for MariaDB utilizzando strumenti nativi](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Esegui la migrazione di un database MySQL locale su Amazon RDS for MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Esegui la migrazione di un database MySQL locale su Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Esegui la migrazione di un database PostgreSQL locale su Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Esegui la migrazione di un database Couchbase Server su Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Esegui la migrazione da IBM WebSphere Application Server ad Apache Tomcat su Amazon EC2 con Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Esegui la migrazione da PostgreSQL su Amazon RDS per PostgreSQL utilizzando EC2 pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Esegui la migrazione di applicazioni Java locali su AWS utilizzando AWS App2Container](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Esegui la migrazione dei database MySQL locali su Aurora MySQL utilizzando Percona, Amazon EFS e Amazon S3 XtraBackup](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Esegui la migrazione di tabelle esterne Oracle verso Amazon Aurora, compatibile con PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Riavvia automaticamente l'AWS Replication Agent senza disabilitarlo SELinux dopo il riavvio di un server di origine RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Trasporta i database PostgreSQL tra due istanze DB Amazon RDS utilizzando pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Oracle
<a name="migration-migration-patterns-by-workload-oracle-pattern-list"></a>

**Topics**
+ [Converti VARCHAR2 (1) il tipo di dati per Oracle in tipo di dati booleano per Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Emula Oracle DR utilizzando un database globale Aurora compatibile con PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [Migrazione incrementale da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL utilizzando Oracle SQL Developer e AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Carica i file BLOB in formato TEXT utilizzando la codifica dei file in Aurora, compatibile con PostgreSQL](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL in modalità SSL utilizzando AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migrazione di un database Amazon RDS for Oracle su Account AWS un altro database Regione AWS e AWS DMS utilizzo per la replica continua](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Esegui la migrazione di un database Oracle locale su Amazon EC2 utilizzando Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon OpenSearch Service utilizzando Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for MySQL utilizzando AWS DMS e AWS SCT](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for Oracle utilizzando Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Esegui la migrazione di un database Oracle locale ad Amazon RDS for PostgreSQL utilizzando un bystander Oracle e AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Esegui la migrazione di un database Oracle locale a Oracle su Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Esegui la migrazione di un database Oracle da Amazon EC2 ad Amazon RDS for MariaDB utilizzando AWS DMS e AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle da Amazon EC2 ad Amazon RDS for Oracle utilizzando AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Esegui la migrazione di un database Oracle ad Amazon RDS for Oracle utilizzando gli adattatori flat file GoldenGate Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Esegui la migrazione di un database Oracle ad Amazon Redshift utilizzando AWS DMS e AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle ad Aurora PostgreSQL utilizzando AWS DMS e AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione di un database Oracle JD Edwards EnterpriseOne su AWS utilizzando Oracle Data Pump e AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Esegui la migrazione di una tabella partizionata Oracle su PostgreSQL utilizzando AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Esegui la migrazione di un PeopleSoft database Oracle su AWS utilizzando AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Esegui la migrazione dei dati da un database Oracle locale ad Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando viste materializzate e AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Esegui la migrazione da Oracle Database ad Amazon RDS for PostgreSQL utilizzando Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Esegui la migrazione da Oracle su Amazon EC2 ad Amazon RDS for MySQL utilizzando AWS DMS e AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Esegui la migrazione da Oracle WebLogic ad Apache Tomcat (ToMee) su Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Migrazione di indici basati su funzioni da Oracle a PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migrazione delle applicazioni legacy da Oracle Pro\$1C a ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Esegui la migrazione dei valori Oracle CLOB su singole righe in PostgreSQL su AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Esegui la migrazione dei codici di errore del database Oracle a un database compatibile con Amazon Aurora PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Migrazione delle funzioni native di Oracle su PostgreSQL utilizzando le estensioni](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Esegui la migrazione PeopleSoft da Oracle ad Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Esegui la migrazione della funzionalità Oracle ROWID a PostgreSQL su AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Migrazione dei pacchetti pragma Oracle SERIALLY\$1REUSABLE in PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Migra le colonne virtuali generate da Oracle a PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configura la funzionalità Oracle UTL\$1FILE su Aurora, compatibile con PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Convalida gli oggetti del database dopo la migrazione da Oracle ad Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# SAP
<a name="migration-migration-patterns-by-workload-sap-pattern-list"></a>

**Topics**
+ [Esegui la migrazione da SAP ASE ad Amazon RDS per SQL Server utilizzando AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Esegui la migrazione di SAP ASE su Amazon Aurora, compatibile EC2 con PostgreSQL utilizzando AWS SCT e AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)

# Altri modelli
<a name="migration-more-patterns-pattern-list"></a>

**Topics**
+ [Accesso Servizi AWS da IBM z/OS installando AWS CLI](access-aws-services-from-ibm-z-os-by-installing-aws-cli.md)
+ [Valuta le prestazioni delle query per la migrazione dei database SQL Server su MongoDB Atlas su AWS](assess-query-performance-for-migrating-sql-server-databases-to-mongodb-atlas-on-aws.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)
+ [Automatizza le attività di database in SQL Server Express su Amazon EC2 AWS Lambda utilizzando Task Scheduler](automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.md)
+ [Crea un visualizzatore di file mainframe avanzato nel cloud AWS](build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.md)
+ [Connect ai dati e ai piani di controllo dell'Application Migration Service tramite una rete privata](connect-to-application-migration-service-data-and-control-planes-over-a-private-network.md)
+ [Containerizza i carichi di lavoro mainframe che sono stati modernizzati da Blu Age](containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.md)
+ [Convertire le query JSON Oracle in SQL del database PostgreSQL](convert-json-oracle-queries-into-postgresql-database-sql.md)
+ [Convertire la funzionalità temporale Teradata NORMALIZE in Amazon Redshift SQL](convert-the-teradata-normalize-temporal-feature-to-amazon-redshift-sql.md)
+ [Convertire la funzionalità Teradata RESET WHEN in Amazon Redshift SQL](convert-the-teradata-reset-when-feature-to-amazon-redshift-sql.md)
+ [Copia le tabelle Amazon DynamoDB tra gli account utilizzando AWS Backup](copy-amazon-dynamodb-tables-across-accounts-using-aws-backup.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)
+ [Distribuisci applicazioni multi-stack utilizzando AWS CDK con TypeScript](deploy-multiple-stack-applications-using-aws-cdk-with-typescript.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)
+ [Emula gli array PL/SQL associativi Oracle in Amazon Aurora PostgreSQL e Amazon RDS per PostgreSQL](emulate-oracle-plsql-associative-arrays-in-aurora-and-rds-postgresql.md)
+ [Stima le dimensioni del motore Amazon RDS per un database Oracle utilizzando i report AWR](estimate-the-amazon-rds-engine-size-for-an-oracle-database-by-using-awr-reports.md)
+ [Genera approfondimenti sui dati utilizzando Modernizzazione del mainframe AWS Amazon Q in Quick Sight](generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.md)
+ [Gestisci blocchi anonimi nelle istruzioni SQL dinamiche in Aurora PostgreSQL](handle-anonymous-blocks-in-dynamic-sql-statements-in-aurora-postgresql.md)
+ [Identifica automaticamente le immagini duplicate dei container durante la migrazione a un repository Amazon ECR](identify-duplicate-container-images-automatically-when-migrating-to-ecr-repository.md)
+ [Configura un cluster di failover di Microsoft SQL Server su Amazon EC2 FSx utilizzando per Windows File Server](microsoft-sql-failover-cluster-on-amazon-ec2.md)
+ [Esegui la migrazione dei carichi di lavoro Apache Cassandra su Amazon Keyspaces utilizzando AWS Glue](migrate-apache-cassandra-workloads-to-amazon-keyspaces-by-using-aws-glue.md)
+ [Esegui la migrazione dei carichi di lavoro dei container da Azure Red Hat OpenShift (ARO) a Servizio Red Hat OpenShift su AWS (ROSA)](migrate-container-workloads-from-aro-to-rosa.md)
+ [Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for Oracle utilizzando AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.md)
+ [Esegui la migrazione del gruppo di disponibilità Microsoft SQL Server Always On utilizzando AWS Application Migration Service](migrate-microsoft-sql-server-always-on-group-using-mgn.md)
+ [Esegui la migrazione di funzioni e procedure Oracle con più di 100 argomenti a PostgreSQL](migrate-oracle-functions-and-procedures-that-have-more-than-100-arguments-to-postgresql.md)
+ [Esegui la migrazione da SAP HANA ad AWS utilizzando SAP HSR con lo stesso nome host](migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname.md)
+ [Esegui la migrazione di SQL Server su AWS utilizzando gruppi di disponibilità distribuiti](migrate-sql-server-to-aws-using-distributed-availability-groups.md)
+ [Modernizza e implementa le applicazioni mainframe utilizzando e Terraform AWS Transform](modernize-mainframe-app-transform-terraform.md)
+ [Modernizza i carichi di lavoro di stampa online mainframe su AWS utilizzando Micro Focus Enterprise Server e LRS VPSX/MFI](modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Modernizza la gestione dell'output del mainframe AWS utilizzando Rocket Enterprise Server e LRS X PageCenter](modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.md)
+ [Modifica le intestazioni HTTP durante la migrazione da F5 a un Application Load Balancer su AWS](modify-http-headers-when-you-migrate-from-f5-to-an-application-load-balancer-on-aws.md)
+ [Gestione del failover Multi-AZ per i cluster EMR utilizzando Application Recovery Controller](multi-az-failover-spark-emr-clusters-arc.md)
+ [Analizza le dipendenze degli oggetti per le migrazioni parziali del database da Oracle a PostgreSQL](multilevel-object-analysis-for-database-migration-from-oracle-to-postgresql.md)
+ [Configura una CI/CD pipeline per la migrazione del database utilizzando Terraform](set-up-ci-cd-pipeline-for-db-migration-with-terraform.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)
+ [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)
+ [Trasferisci z/OS dati Db2 su larga scala su Amazon S3 in file CSV](transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.md)
+ [Trasforma Easytrieve in linguaggi moderni utilizzando soluzioni personalizzate AWS Transform](transform-easytrieve-modern-languages.md)