GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit instanci RDS pomocí Pythonu Boto3 na AWS

V tomto článku uvidíme, jak vytvořit instanci RDS MySql pomocí knihovny Boto3. K vytvoření instance použijeme metodu "create_db_instance".

Než budeme pokračovat, předpokládám, že jste obeznámeni se službou AWS RDS. Pokud s tím nejste obeznámeni a co se nejprve naučit vytvořit instanci RDS MySql z konzoly AWS, vyhledejte „Jak nastavit instanci RDS MySql (Relation Database MySql) na AWS?“.

Předpoklady

  1. Účet AWS (vytvořte si jej, pokud jej nemáte)
  2. Základní pochopení RDS.
  3. Základní pochopení jazyka Python.
  4. Python je v systému k dispozici.

Co uděláme

  1. Instalovat závislosti.
  2. Znáte požadovanou metodu.
  3. Vytvořte instanci RDS MySql pomocí Python Boto3.

Instalační závislosti

Python je standardně dodáván na serveru Ubuntu, takže jej nemusíte instalovat.

Pro kontrolu verze Pythonu ve vašem systému použijte následující příkaz.

který python
/usr/bin/python --version

NEBO

python --version

Pokud nemáte pip a používáte Ubuntu 18.04, spusťte následující příkaz a nejprve aktualizujte místní repo.

aktualizace sudo apt

Pro instalaci pip použijte následující příkaz.

sudo apt install python-pip

Chcete-li zkontrolovat nainstalovanou verzi Pipu, spusťte následující příkaz.

pip --version

Jakmile budete mít python a pip, můžete nainstalovat Boto3.

Instalace Boto3 je velmi jednoduchá a přímočará. Pro instalaci Boto3 použijte následující příkaz.

pip install boto3

Chcete-li zkontrolovat, zda je nainstalován Boto3 a jeho verze, spusťte následující příkaz.

pip show boto3

Znáte požadovanou metodu

Pro vytvoření instance RDS použijeme metodu "create_db_instance". Následuje syntaxe metody se všemi parametry, které přijímá. K vytvoření instance nepoužijeme všechny tyto parametry, ale pokud chcete, můžete to zkusit. Použijeme pouze požadované a povinné parametry. Pokud se chcete dozvědět více o všech dostupných parametrech, můžete navštívit oficiální stránku Boto3 zde.

Syntaxe požadavku

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. Název DB: Význam tohoto parametru se liší podle používaného databázového stroje.
  2. DBInstanceIdentifier:  Toto je povinný parametr. Je to identifikátor instance DB. Tento parametr je uložen jako řetězec s malými písmeny.
  3. DBInstanceClass:  Toto je povinný parametr. Specifikuje výpočetní a paměťovou kapacitu instance DB.
  4. Motor:  Název databázového stroje, který se má použít pro vytvořenou instanci. Toto je povinné pole
  5. Hlavní uživatelské jméno: Jméno hlavního uživatele. Toto je uživatel DB v instanci
  6. MasterUserPassword: Heslo pro hlavního uživatele, které vytvoříme v instanci.
  7. VpcSecurityGroupIds:  Seznam skupin zabezpečení Amazon EC2 VPC, které se mají přidružit k této instanci DB. Tato skupina zabezpečení má pravidla, která povolují připojení na zadaných portech v ní.
  8. Port:  Číslo portu, na kterém databáze přijímá připojení. Pokud chcete povolit připojení na tomto portu, musíte tento port zadat ve skupině zabezpečení.

Vytvořte instanci RDS MySql pomocí Python Boto3

Chcete-li vytvořit instanci RDS, vytvořte soubor "create-rds-instance.py" a zkopírujte a vložte do něj následující kód.

Nezapomeňte změnit hodnoty „aws_access_key_id_value“ a „aws_secret_access_key_value“ pomocí vlastního access_key_id a access_key_value.

Pokud chcete vytvořit instanci v oblasti podle svého výběru, změňte také hodnotu „region_name“, jinak ji ponechte nezměněnou.

Ujistěte se také, že jste ID výstupní skupiny zabezpečení přiřadili „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)

Nyní jste připraveni vytvořit instanci. Spusťte skript python pomocí následujícího příkazu.

python create-rds-instance.py

Odpověď uvidíte na terminálu.

Chcete-li ověřit stav instance z konzoly AWS, přejděte na řídicí panel RDS.

Závěr

V tomto článku jsme se naučili vytvářet instanci RDS MySql pomocí knihovny Boto3 v Pythonu. Kód si můžete přizpůsobit a vytvořit instanci dle vlastního výběru. Také jsme viděli, jak nainstalovat závislosti potřebné k zápisu a spuštění kódu Pythonu.


Linux
  1. Jak vytvořit instanci RDS na AWS pomocí Terraform

  2. Jak vytvořit roli IAM v AWS pomocí Terraform

  3. Jak vytvořit slovník Python

  1. Vytvořte instanci EC2 na AWS pomocí Terraform

  2. Jak trasovat Python skripty pomocí trace.py

  3. Jak vytvořit uživatele v linuxu pomocí pythonu

  1. Jak vytvořit a přidat svazek EBS v instanci AWS (EC2)

  2. Jak spustit instanci AWS EC2 pomocí Terraform

  3. Jak vytvořit uživatele v instanci Linux EC2 na AWS a přidat k němu veřejný klíč pomocí skriptu shell