Amazon RDS - Arayüzler
RDS arayüzleri, oluşturduğumuz RDS hizmetine erişmenin bir yoludur. RDS hizmetinin yaratılmasından ve yapılandırılmasından sonra verilere erişme, bu veri tabanına veri yükleme ve veri tabanına bağlanabilecek başka bir program çalıştırma ihtiyacı vardır. Veritabanının son kullanıcıları tarafından verilere erişme ve verileri değiştirme gereksinimleri ve veritabanını oluşturan AWS hesap sahibinin bu arabirimlere ihtiyacı vardır.
Bu tür üç ana arayüz vardır.
Bu, kullanıcının bir web tarayıcısı üzerinden oturum açabileceği ve DB hizmetlerini kullanmaya başlayabileceği arayüzlerin en basitidir. Bu tür erişimin olumsuz tarafı, RDS hizmetleriyle etkileşimde bulunmak için bir insana ihtiyaç duyması ve DB'yi yedeklemek veya analiz etmek gibi bazı düzenli görevleri yapmak için bir veritabanı programı çalıştıramayız.
Ayrıca, kullandığınız istemci bilgisayara kurulmuş olması gereken AWS komut istemi ekranı aracılığıyla DB komutunu çalıştırabileceğiniz CLI erişimi olarak da adlandırılır. Aşağıda, AWS hizmetlerine erişeceğiniz yerel sisteminize CLI kurma adımları verilmiştir.
AWS CLI'yi kurma adımları aşağıdaki gibidir.
Aşama 1
Ortamınızdaki python sürümünü kontrol edin.
ubuntu@ubuntu:~$ python -V
ubuntu@ubuntu:~$ python3 -V
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı elde ederiz -
Python 2.7.12
Python 3.5.2
Sürüm 2.6 veya 3.3'ten küçükse, sisteminizdeki python sürümünü yükseltmeniz gerekir.
Adım 2
Pip adlı python paketinin kullanılabilirliğini kontrol edin. AWS CLI'yi yüklemeniz gerekecek.
Pip -V
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı elde ederiz -
pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)
Aşama 3
AWS CLI'yi yüklemek için aşağıdaki komutu verin.
pip install awscli –upgrade –user
aws --version
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı elde ederiz -
Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0
Adım 4
Ardından, aws CLI'yi kimlik bilgileriyle yapılandırıyoruz. Bu komutu veriyoruz ve ardından gerekli değerleri tek tek giriyoruz.
aws configure
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı elde ederiz -
AWS Access Key ID [None]: ****PLE
AWS Secret Access Key [None]: ********8
Default region name [None]: us-west-2
Default output format [None]: json
Yukarıdaki yapılandırma uygulandığında, artık Amazon RDS'yi kurmak ve kullanmak için AWS ortamlarıyla iletişim kurmak için CLI kullanmaya hazırsınız. Sonraki bölümlerde bunu nasıl yapabileceğimizi göreceğiz.
Amazon Relational Database Service (Amazon RDS) ayrıca bir uygulama programlama arabirimi (API) sağlar. API'ler, komutları veren ve sonucu alan bir insan yerine sistemler arasında bilgi alışverişinde bulunurken kullanılır. Örneğin, işlem sayısı belirli bir eşiğe ulaştığında veritabanı örneklerinin bir RDS hizmetine eklenmesini otomatikleştirmek istiyorsanız, veritabanı işlemlerinin sayısını izleyecek ve bir RDS'yi ayıracak bir program yazmak için bir AWS SDK kullanırsınız. gerekli koşul karşılandığında örnek.
Aşağıda, DB anlık görüntüsünün bir kopyasını oluşturan bir API kodu örneği verilmiştir. Boto3 adlı AWS sdk kullanan bir python programıdır. Boto3'teki istemci kitaplığı, aşağıda gösterildiği gibi gerekli parametrelerle DB anlık görüntüsünün bir kopyasını oluşturmak için python programı tarafından çağrılan copy_db_snapshot adlı bir yönteme sahiptir.
import boto3
client = boto3.client('rds')
response = client.copy_db_snapshot(
SourceDBSnapshotIdentifier='mydbsnapshot',
TargetDBSnapshotIdentifier='mydbsnapshot-copy',
)
print(response)
Yukarıdaki program çalıştırıldığında, kopyalama olayının çeşitli özelliklerini tanımlayan yanıtı alıyoruz. Burada string terimi, kullanıcı tarafından ortamları için tanımlanan çeşitli parametre isimlerini temsil eder. Örneğin VpcID, kopyalama işleminin gerçekleştiği vpc'nin kimliğini temsil eder.
{
'DBSnapshot': {
'DBSnapshotIdentifier': 'string',
'DBInstanceIdentifier': 'string',
'SnapshotCreateTime': datetime(2015, 1, 1),
'Engine': 'string',
'AllocatedStorage': 123,
'Status': 'string',
'Port': 123,
'AvailabilityZone': 'string',
'VpcId': 'string',
'InstanceCreateTime': datetime(2015, 1, 1),
'MasterUsername': 'string',
'EngineVersion': 'string',
'LicenseModel': 'string',
'SnapshotType': 'string',
'Iops': 123,
'OptionGroupName': 'string',
'PercentProgress': 123,
'SourceRegion': 'string',
'SourceDBSnapshotIdentifier': 'string',
'StorageType': 'string',
'TdeCredentialArn': 'string',
'Encrypted': True|False,
'KmsKeyId': 'string',
'DBSnapshotArn': 'string',
'Timezone': 'string',
'IAMDatabaseAuthenticationEnabled': True|False,
'ProcessorFeatures': [
{
'Name': 'string',
'Value': 'string'
},
]
}
}