GNU/Linux >> Belajar Linux >  >> Linux

Cara membuat Instans RDS menggunakan Python Boto3 di AWS

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

  1. Akun AWS (Buat jika Anda belum memilikinya)
  2. Pemahaman dasar tentang RDS.
  3. Pemahaman dasar tentang Python.
  4. Python tersedia di sistem.

Apa yang akan kami lakukan

  1. Instal Dependensi.
  2. Ketahui metode yang diperlukan.
  3. 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
)
  1. NamaDB: Arti dari parameter ini berbeda sesuai dengan mesin database yang Anda gunakan.
  2. DBInstanceIdentifier:  Ini adalah parameter wajib. Ini adalah pengidentifikasi instans DB. Parameter ini disimpan sebagai string huruf kecil.
  3. DBInstanceClass:  Ini adalah parameter wajib. Ini menentukan kapasitas komputasi dan memori instans DB.
  4. Mesin:  Nama mesin database yang akan digunakan untuk instance yang akan dibuat. Ini adalah bidang wajib
  5. Nama Pengguna Master: Nama untuk pengguna utama. Ini adalah pengguna DB di Instance
  6. MasterUserPassword: Kata sandi untuk pengguna master yang kita buat di instance.
  7. 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.
  8. 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.


Linux
  1. Cara membuat instans RDS di AWS menggunakan Terraform

  2. Cara membuat Peran IAM di AWS menggunakan Terraform

  3. Cara membuat Kamus Python

  1. Buat instans EC2 di AWS menggunakan Terraform

  2. Cara Melacak Skrip Python menggunakan trace.py

  3. Cara membuat user di linux menggunakan python

  1. Cara Membuat dan Menambahkan Volume EBS di AWS Instance (EC2)

  2. Cara Meluncurkan Instans AWS EC2 Menggunakan Terraform

  3. Cara membuat pengguna di instance Linux EC2 di AWS dan menambahkan kunci publik ke dalamnya menggunakan skrip shell