Dalam artikel ini, kita akan melihat cara membuat Instance MySql RDS menggunakan Pustaka Boto3. Kami akan menggunakan metode "create_db_instance" untuk membuat sebuah Instance.
Sebelum kita melanjutkan, saya berasumsi bahwa Anda sudah familiar dengan AWS RDS Service. Jika Anda tidak terbiasa dengannya dan apa yang pertama kali dipelajari untuk membuat Instans RDS MySql dari AWS Console, cari "Cara menyiapkan instans RDS MySql (Relation Database MySql ) di AWS?".
Prasyarat
- Akun AWS (Buat jika Anda belum memilikinya)
- Pemahaman dasar tentang RDS.
- Pemahaman dasar tentang Python.
- Python tersedia di sistem.
Apa yang akan kami lakukan
- Instal Dependensi.
- Ketahui metode yang diperlukan.
- Buat Instance MySql RDS menggunakan Python Boto3.
Instal Ketergantungan
Python hadir secara default di Server Ubuntu, jadi Anda tidak perlu menginstalnya.
Untuk memeriksa versi Python di sistem Anda, gunakan perintah berikut.
python mana
/usr/bin/python --version
ATAU
python --versi
Jika Anda tidak memiliki pip dan menggunakan Ubuntu 18.04, jalankan perintah berikut untuk memperbarui repo lokal terlebih dahulu.
sudo apt update
Untuk menginstal pip, gunakan perintah berikut.
sudo apt install python-pip
Untuk memeriksa versi Pip yang diinstal, jalankan perintah berikut.
pip --versi
Setelah Anda memiliki python dan pip, Anda dapat menginstal Boto3.
Menginstal Boto3 sangat sederhana dan mudah. Untuk menginstal Boto3 gunakan perintah berikut.
pip instal boto3
Untuk memeriksa apakah Boto3 diinstal dan versinya, jalankan perintah berikut.
pip tampilkan boto3
Ketahui metode yang diperlukan
Untuk membuat Instance RDS, kita akan menggunakan metode "create_db_instance". Berikut ini adalah sintaks metode dengan semua parameter yang diterimanya. Kami tidak akan menggunakan semua parameter ini untuk membuat instance, tetapi Anda dapat mencobanya jika mau. Kami hanya akan menggunakan parameter wajib dan wajib. Jika Anda ingin mempelajari lebih lanjut tentang semua parameter yang tersedia, Anda dapat mengunjungi halaman resmi Boto3 di sini.
Sintaks Permintaan
response = client.create_db_instance( DBName='string', DBInstanceIdentifier='string', AllocatedStorage=123, DBInstanceClass='string', Engine='string', MasterUsername='string', MasterUserPassword='string', DBSecurityGroups=[ 'string', ], VpcSecurityGroupIds=[ 'string', ], AvailabilityZone='string', DBSubnetGroupName='string', PreferredMaintenanceWindow='string', DBParameterGroupName='string', BackupRetentionPeriod=123, PreferredBackupWindow='string', Port=123, MultiAZ=True|False, EngineVersion='string', AutoMinorVersionUpgrade=True|False, LicenseModel='string', Iops=123, OptionGroupName='string', CharacterSetName='string', PubliclyAccessible=True|False, Tags=[ { 'Key': 'string', 'Value': 'string' }, ], DBClusterIdentifier='string', StorageType='string', TdeCredentialArn='string', TdeCredentialPassword='string', StorageEncrypted=True|False, KmsKeyId='string', Domain='string', CopyTagsToSnapshot=True|False, MonitoringInterval=123, MonitoringRoleArn='string', DomainIAMRoleName='string', PromotionTier=123, Timezone='string', EnableIAMDatabaseAuthentication=True|False, EnablePerformanceInsights=True|False, PerformanceInsightsKMSKeyId='string', PerformanceInsightsRetentionPeriod=123, EnableCloudwatchLogsExports=[ 'string', ], ProcessorFeatures=[ { 'Name': 'string', 'Value': 'string' }, ], DeletionProtection=True|False, MaxAllocatedStorage=123 )
- NamaDB: Arti dari parameter ini berbeda sesuai dengan mesin database yang Anda gunakan.
- DBInstanceIdentifier: Ini adalah parameter wajib. Ini adalah pengidentifikasi instans DB. Parameter ini disimpan sebagai string huruf kecil.
- DBInstanceClass: Ini adalah parameter wajib. Ini menentukan kapasitas komputasi dan memori instans DB.
- Mesin: Nama mesin database yang akan digunakan untuk instance yang akan dibuat. Ini adalah bidang wajib
- Nama Pengguna Master: Nama untuk pengguna utama. Ini adalah pengguna DB di Instance
- MasterUserPassword: Kata sandi untuk pengguna master yang kita buat di instance.
- VpcSecurityGroupIds: Daftar grup keamanan VPC Amazon EC2 untuk dikaitkan dengan instans DB ini. Grup Keamanan ini memiliki aturan yang mengizinkan koneksi pada port tertentu di dalamnya.
- Pelabuhan: Nomor port tempat database menerima koneksi. Jika Anda ingin mengizinkan koneksi pada port ini, Anda harus menentukan port ini di Grup Keamanan.
Buat Instance MySql RDS menggunakan Python Boto3
Untuk membuat Instance RDS, buat file "create-rds-instance.py" dan salin-tempel kode berikut di dalamnya.
Jangan lupa untuk mengubah nilai "aws_access_key_id_value" dan "aws_secret_access_key_value" masing-masing dengan access_key_id dan access_key_value Anda sendiri.
Jika Anda ingin membuat instance di region pilihan Anda, ubah nilai "region_name" agar tidak berubah.
Selain itu, pastikan untuk menetapkan id grup keamanan yang ada ke "VpcSecurityGroupIds".
import boto3 conn = boto3.client('rds', aws_access_key_id='ACCESS-KEY-OF-THE-AWS-ACCOUNT', aws_secret_access_key='SECRETE-KEY-OF-THE-AWS-ACCOUNT', region_name='eu-west-3') response = conn.create_db_instance( AllocatedStorage=10, DBName="test", DBInstanceIdentifier="my-first-rds-instance", DBInstanceClass="db.t2.micro", Engine="mysql", MasterUsername="root", MasterUserPassword="pass1234", Port=3306, VpcSecurityGroupIds=["sg-7fa4d512"], ) print (response)
Sekarang, Anda siap membuat Instance. Jalankan skrip python menggunakan perintah berikut.
python create-rds-instance.py
Anda akan melihat tanggapan di terminal.
Untuk memverifikasi status instans dari AWS Console, buka Dasbor RDS.
Kesimpulan
Kami belajar membuat Instance MySql RDS dalam artikel ini menggunakan Pustaka Boto3 dengan Python. Anda dapat menyesuaikan kode dan membuat instance pilihan Anda. Kami juga melihat cara menginstal dependensi yang diperlukan untuk menulis dan mengeksekusi kode Python.