Esporta tabelle Amazon RDS for SQL Server in un bucket S3 utilizzando AWS DMS - Prontuario AWS

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

Esporta tabelle Amazon RDS for SQL Server in un bucket S3 utilizzando AWS DMS

Creato da Subhani Shaik () AWS

Ambiente: PoC o pilota

Fonte: RDS

Obiettivo: S3

Tipo R: N/A

Carico di lavoro: Microsoft

Tecnologie: database; CloudNative

AWSservizi: AWSDMS; AmazonRDS; Amazon S3; AWS Secrets Manager; AWS Identity and Access Management

Riepilogo

Amazon Relational Database Service (RDSAmazon) SQL for Server non supporta il caricamento di dati su altri server collegati al motore DB sul cloud Amazon Web Services AWS (). Puoi invece utilizzare AWS Database Migration Service (AWSDMS) per esportare le tabelle di Amazon RDS for SQL Server in un bucket Amazon Simple Storage Service (Amazon S3), dove i dati sono disponibili per altri motori DB.

AWSDMSti aiuta a migrare i database in AWS 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. AWSDMSpuò migrare i dati da e verso i database commerciali e open source più utilizzati.

Questo modello utilizza AWS Secrets Manager durante la configurazione degli AWS DMS endpoint. Secrets Manager ti aiuta a proteggere i segreti necessari per accedere alle tue applicazioni, servizi e risorse IT. È possibile utilizzare il servizio per ruotare, gestire e recuperare credenziali, API chiavi e altri segreti del database durante il loro ciclo di vita. Gli utenti e le applicazioni recuperano i segreti con una chiamata a Secrets Manager, riducendo la necessità di codificare le informazioni sensibili. Secrets Manager offre una rotazione segreta con integrazione integrata per AmazonRDS, Amazon Redshift e Amazon DocumentDB. Inoltre, il servizio è estensibile ad altri tipi di segreti, tra cui API chiavi e token. OAuth Con Secrets Manager, puoi controllare l'accesso ai segreti utilizzando autorizzazioni granulari e controllare centralmente la rotazione segreta per le risorse nel AWS cloud, nei servizi di terze parti e in locale.

Prerequisiti e limitazioni

Prerequisiti

  • Un account attivo AWS

  • Un bucket S3

  • Un cloud privato virtuale (VPC)

  • Una sottorete DB

  • Amazon RDS per SQL server

  • Un ruolo AWS Identity and Access Management (IAM) con accesso (elenco, get e put oggetti) al bucket S3 per conto dell'istanza AmazonRDS.

  • Secrets Manager per memorizzare le credenziali dell'RDSistanza.

Architettura

Stack tecnologico

  • Amazon RDS per SQL server

  • AWS DMS

  • Amazon S3

  • AWS Secrets Manager

Architettura Target

Il diagramma seguente mostra l'architettura per l'importazione di dati dall'RDSistanza Amazon al bucket S3 con l'aiuto di. AWS DMS

La descrizione segue il diagramma.
  1. L'attività di AWS DMS migrazione che si connette all'RDSistanza Amazon di origine tramite l'endpoint di origine

  2. Copiare i dati dall'istanza Amazon RDS di origine

  3. L'attività di AWS DMS migrazione che si connette al bucket S3 di destinazione tramite l'endpoint di destinazione

  4. Esportazione dei dati copiati nel bucket S3 in formato valori separati da virgole () CSV

Strumenti

AWSservizi

Altri servizi

Epiche

AttivitàDescrizioneCompetenze richieste

Crea l'istanza Amazon RDS for SQL Server.

  1. Apri la console di AWS gestione RDS, scegli e utilizza l'opzione di creazione Standard per creare un'RDSistanza Amazon con l'edizione richiesta, come SQL Server Express Edition, SQL Server Standard Edition o SQL Server Enterprise Edition. Per la versione, scegli 2016 o successiva.

  2. In Modelli, scegli Dev/Test.

DBA, ingegnere DevOps

Imposta le credenziali per l'istanza.

  1. Immettete un nome per l'istanza.

  2. Fornisci un nome utente e una password per l'RDSistanza Amazon.

DBA, DevOps ingegnere

Configura la classe, lo storage, la scalabilità automatica e la disponibilità dell'istanza.

  1. Seleziona la classe di istanza DB dall'elenco: classi Standard, Memory Optimized e Burstable. Scegli il tipo di istanza DB che alloca la capacità di calcolo, di rete e di memoria richiesta dai carichi di lavoro pianificati per questa istanza DB. Per ulteriori informazioni, consulta la documentazione. AWS

  2. Seleziona il tipo di storage dall'elenco: General Purpose SSD, Provisioned IOPS SSD o Magnetic. Alloca la dimensione di archiviazione predefinita in base alle esigenze.

  3. Scegli Enable storage autoscaling per aumentare lo RDS storage Amazon in base alla tua pianificazione della capacità.

  4. Una distribuzione Multi-AZ con un'istanza di replica è supportata da. AWS DMS In caso di interruzione nella zona di disponibilità, l'hardware interno o la rete AWS DMS creerà un'istanza di standby e fornirà l'alta disponibilità (HA) tramite il failover automatico sulle repliche in standby. A seconda delle dimensioni dell'importazione, selezionate l'opzione appropriata.

DBA, DevOps ingegnere

Specificare il VPC gruppo di sottorete, l'accesso pubblico e il gruppo di sicurezza.

Seleziona i VPCgruppi di sottorete DB e il gruppo VPC di sicurezza come richiesto per creare l'RDSistanza Amazon. Segui le migliori pratiche, ad esempio:

  • Non abilitate l'accesso pubblico all'istanza RDS DB.

  • Non utilizzare CIDR 0.0.0.0/0 nei gruppi di sicurezza.

  • Utilizzate solo l'indirizzo IP e i dettagli della porta richiesti per accedere all'istanza. RDS

DBA, DevOps ingegnere

Configura il monitoraggio, il backup e la manutenzione.

  1. Specificate le opzioni di backup desiderate. Per impostazione predefinita, i backup automatici sono abilitati con un periodo di conservazione di 7 giorni.

  2. Scegli le impostazioni appropriate per l'aggiornamento automatico della versione secondaria e la finestra di manutenzione per applicare le modifiche o la manutenzione in sospeso al database da parte di Amazon. RDS

  3. Scegliere Crea database.

DBA, ingegnere DevOps
AttivitàDescrizioneCompetenze richieste

Crea una tabella e carica i dati di esempio.

Nel nuovo database, crea una tabella. Utilizzate il codice di esempio nella sezione Informazioni aggiuntive per caricare i dati nella tabella.

DBA, DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Crea il segreto.

  1. Sulla console, scegli Secrets Manager e scegli Archivia un nuovo segreto.

  2. Inserisci un nome utente e una password per il database Amazon RDS for SQL Server.

Questo segreto verrà utilizzato per l'endpoint AWS DMS di origine.

DBA, DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Crea un IAM ruolo per l'accesso ad AmazonRDS.

  1. Sulla console IAM, scegli e crea un IAM ruolo che consenta a un bucket S3 di accedere in lettura/scrittura ad Amazon. RDS

  2. In Funzionalità, seleziona S3 Integration.

DBA, DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Crea il bucket S3.

Per salvare i dati da Amazon RDS for SQL Server, sulla console, scegli S3, quindi scegli Crea bucket. Assicurati che il bucket S3 non sia disponibile pubblicamente.

DBA, ingegnere DevOps
AttivitàDescrizioneCompetenze richieste

Crea un IAM ruolo per accedere AWS DMS ad Amazon S3.

Crea un IAM ruolo che AWS DMS consenta di elencare, ottenere e inserire oggetti dal bucket S3.

DBA, ingegnere DevOps
AttivitàDescrizioneCompetenze richieste

Crea l'endpoint AWS DMS di origine.

  1. Sulla console, scegli Database Migration Service e scegli Endpoints. Crea l'endpoint di origine, selezionando la casella di controllo Seleziona istanza RDS DB.

  2. Per il motore Source, seleziona Microsoft SQL Server.

  3. In Accesso al database degli endpoint, scegli AWSSecrets Manager e inserisci il segreto e il IAM ruolo che hai creato in precedenza e il nome del database.

  4. Prova l'endpoint di origine.

DBA, DevOps ingegnere

Crea l'endpoint AWS DMS di destinazione.

Crea l'endpoint Target, selezionando Amazon S3 come motore di Target.

Fornisci il nome del bucket S3 e il nome della cartella per il IAM ruolo che hai creato in precedenza.

DBA, ingegnere DevOps

Crea l'istanza di AWS DMS replica.

Nella stessa VPC sottorete e nel gruppo di sicurezza, create l'istanza di AWS DMS replica. Per ulteriori informazioni sulla scelta di una classe di istanza, consulta la AWS documentazione.

DBA, DevOps ingegnere

Crea l'attività di AWS DMS migrazione.

Per esportare i dati da Amazon RDS for SQL Server al bucket S3, crea un'attività di migrazione del database. Per il tipo di migrazione, scegli Migra dati esistenti. Seleziona gli AWS DMS endpoint e l'istanza di replica che hai creato.

DBA, ingegnere DevOps
AttivitàDescrizioneCompetenze richieste

Esegui l'attività di migrazione del database.

Per esportare i dati della tabella SQL Server, avvia l'attività di migrazione del database. L'attività esporterà i dati da Amazon RDS for SQL Server al bucket S3 in CSV formato.

DBA, ingegnere DevOps
AttivitàDescrizioneCompetenze richieste

Eliminare le risorse.

Per evitare costi aggiuntivi, utilizza la console per eliminare le risorse nell'ordine seguente:

  1. Attività di migrazione

  2. Istanza di replica

  3. Endpoints

  4. Bucket S3

  5. Istanza di database

DBA, DevOps ingegnere

Risorse correlate

Informazioni aggiuntive

Per creare il database e la tabella e caricare i dati di esempio, usa il codice seguente.

--Step1: Database creation in RDS SQL Server CREATE DATABASE [Test_DB] ON PRIMARY ( NAME = N'Test_DB', FILENAME = N'D:\rdsdbdata\DATA\Test_DB.mdf' , SIZE = 5120KB , FILEGROWTH = 10%) LOG ON ( NAME = N'Test_DB_log', FILENAME = N'D:\rdsdbdata\DATA\Test_DB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) GO --Step2: Create Table USE Test_DB GO Create Table Test_Table(ID int, Company Varchar(30), Location Varchar(20)) --Step3: Load sample data. USE Test_DB GO Insert into Test_Table values(1,'AnyCompany','India') Insert into Test_Table values(2,'AnyCompany','USA') Insert into Test_Table values(3,'AnyCompany','UK') Insert into Test_Table values(4,'AnyCompany','Hyderabad') Insert into Test_Table values(5,'AnyCompany','Banglore')