Amazon RDS - interfejsy
Interfejsy RDS to sposób na dostęp do tworzonej przez nas usługi RDS. Po utworzeniu i skonfigurowaniu usługi RDS istnieje potrzeba uzyskania dostępu do danych, załadowania danych do tej bazy i uruchomienia innego programu, który powinien mieć możliwość połączenia się z bazą danych. Takie wymagania dostępu do danych i manipulowania nimi przez użytkowników końcowych bazy danych, a niekoniecznie posiadacza konta AWS, który utworzył bazę danych, potrzebują tych interfejsów.
Istnieją trzy główne takie interfejsy.
Jest to najprostszy z interfejsów, w którym użytkownik może zalogować się przez przeglądarkę internetową i rozpocząć korzystanie z usług DB. Wadą takiego dostępu jest to, że do interakcji z usługami RDS potrzebny jest człowiek i nie możemy uruchomić programu bazy danych do wykonywania niektórych zwykłych zadań, takich jak tworzenie kopii zapasowych lub analizowanie bazy danych itp.
Nazywa się to również dostępem CLI, w którym można wykonać polecenie DB za pośrednictwem ekranu wiersza poleceń AWS, który powinien być zainstalowany na używanym komputerze klienckim. Poniżej znajdują się kroki, aby zainstalować CLI w systemie lokalnym, za pomocą którego uzyskasz dostęp do usług AWS.
Kroki instalacji AWS CLI są jak poniżej.
Krok 1
Sprawdź wersję języka Python w swoim środowisku.
ubuntu@ubuntu:~$ python -V
ubuntu@ubuntu:~$ python3 -V
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
Python 2.7.12
Python 3.5.2
Jeśli wersja jest mniejsza niż 2.6 lub 3.3, musisz zaktualizować wersję Pythona w swoim systemie.
Krok 2
Sprawdź dostępność pakietu Pythona o nazwie pip. Będzie potrzebny do zainstalowania interfejsu wiersza polecenia AWS.
Pip -V
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)
Krok 3
Wydaj następujące polecenie, aby zainstalować interfejs wiersza poleceń AWS.
pip install awscli –upgrade –user
aws --version
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0
Krok 4
Następnie konfigurujemy interfejs wiersza polecenia aws z poświadczeniami. Wydajemy to polecenie, a następnie kolejno wprowadzamy wymagane wartości.
aws configure
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
AWS Access Key ID [None]: ****PLE
AWS Secret Access Key [None]: ********8
Default region name [None]: us-west-2
Default output format [None]: json
Dzięki powyższej konfiguracji możesz teraz używać CLI do komunikacji ze środowiskami AWS w celu skonfigurowania i używania amazon RDS. W następnych rozdziałach zobaczymy, jak możemy to zrobić.
Amazon Relational Database Service (Amazon RDS) zapewnia również interfejs programowania aplikacji (API). Interfejsy API są używane, gdy informacje są wymieniane między systemami, a nie człowiek wydający polecenia i otrzymujący wynik. Na przykład, jeśli chcesz zautomatyzować dodawanie instancji bazy danych do usługi RDS, gdy liczba transakcji osiągnie określony próg, możesz użyć AWS SDK do napisania programu, który będzie monitorował liczbę transakcji w bazie danych i wydzielił RDS przypadek, gdy wymagany warunek jest spełniony.
Poniżej znajduje się przykład kodu API, który tworzy kopię migawki bazy danych. Jest to program w Pythonie, który używa zestawu SDK AWS o nazwie boto3. Biblioteka klienta w boto3 ma metodę o nazwie copy_db_snapshot, która jest wywoływana przez program w języku Python w celu utworzenia kopii migawki bazy danych z wymaganymi parametrami, jak pokazano.
import boto3
client = boto3.client('rds')
response = client.copy_db_snapshot(
SourceDBSnapshotIdentifier='mydbsnapshot',
TargetDBSnapshotIdentifier='mydbsnapshot-copy',
)
print(response)
Po uruchomieniu powyższego programu otrzymujemy odpowiedź opisującą różne właściwości zdarzenia kopiowania. Tutaj termin ciąg reprezentuje różne nazwy parametrów, które są definiowane przez użytkownika dla ich środowiska. Na przykład VpcID reprezentuje identyfikator vpc, w którym ma miejsce akcja kopiowania.
{
'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'
},
]
}
}