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
L'attività di AWS DMS migrazione che si connette all'RDSistanza Amazon di origine tramite l'endpoint di origine
Copiare i dati dall'istanza Amazon RDS di origine
L'attività di AWS DMS migrazione che si connette al bucket S3 di destinazione tramite l'endpoint di destinazione
Esportazione dei dati copiati nel bucket S3 in formato valori separati da virgole () CSV
Strumenti
AWSservizi
AWSDatabase Migration Service (AWSDMS) ti aiuta a migrare gli archivi di dati nel AWS Cloud o tra combinazioni di configurazioni cloud e locali.
AWSIdentity and Access Management (IAM) consente di gestire in modo sicuro l'accesso alle AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
Amazon Relational Database Service (RDSAmazon) ti aiuta a configurare, gestire e scalare un database relazionale nel AWS cloud.
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
AWSSecrets Manager consente di sostituire le credenziali codificate nel codice, comprese le password, con una chiamata a API Secrets Manager per recuperare il segreto a livello di codice.
Altri servizi
Microsoft SQL Server Management Studio (SSMS)
è uno strumento per la gestione SQL del server, incluso l'accesso, la configurazione e l'amministrazione dei componenti SQL del server.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea l'istanza Amazon RDS for SQL Server. |
| DBA, ingegnere DevOps |
Imposta le credenziali per l'istanza. |
| DBA, DevOps ingegnere |
Configura la classe, lo storage, la scalabilità automatica e la disponibilità dell'istanza. |
| 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:
| DBA, DevOps ingegnere |
Configura il monitoraggio, il backup e la manutenzione. |
| DBA, ingegnere DevOps |
Attività | Descrizione | Competenze 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à | Descrizione | Competenze richieste |
---|---|---|
Crea il segreto. |
Questo segreto verrà utilizzato per l'endpoint AWS DMS di origine. | DBA, DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un IAM ruolo per l'accesso ad AmazonRDS. |
| DBA, DevOps ingegnere |
Attività | Descrizione | Competenze 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à | Descrizione | Competenze 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à | Descrizione | Competenze richieste |
---|---|---|
Crea l'endpoint AWS DMS 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à | Descrizione | Competenze 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à | Descrizione | Competenze richieste |
---|---|---|
Eliminare le risorse. | Per evitare costi aggiuntivi, utilizza la console per eliminare le risorse nell'ordine seguente:
| 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')