Konfigurieren einer DB-Instance für Amazon RDS Custom für Oracle - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren einer DB-Instance für Amazon RDS Custom für Oracle

Sie können eine RDS Custom DB-Instance erstellen und sich dann über Secure Shell (SSH) mit dieser oder AWS Systems Manager verbinden.

Überlegungen zur Multi-Tenant-Architektur

Wenn Sie eine Amazon RDS Custom for Oracle DB-Instance mit der Oracle Multitenant-Architektur (custom-oracle-ee-cdboder dem custom-oracle-se2-cdb Engine-Typ) erstellen, ist Ihre Datenbank eine Container-Datenbank (CDB). Wenn Sie die Oracle-Multitenant-Architektur nicht angeben, handelt es sich bei Ihrer Datenbank um eine herkömmliche Nicht-CDB-Datenbank, die den Engine-Typ oder verwendet. custom-oracle-ee custom-oracle-se2 Eine Nicht-CDB kann keine Pluggable Databases (PDBs) enthalten. Weitere Informationen finden Sie unter Datenbankarchitektur für Amazon RDS Custom für Oracle.

Beachten Sie beim Erstellen einer CDB-Instance von RDS Custom für Oracle Folgendes:

  • Sie können eine Multi-Tenant-Datenbank nur von einer Oracle-Database-19c-CEV erstellen.

  • Sie können eine CDB-Instance nur erstellen, wenn die CEV den Engine-Typ oder verwendet. custom-oracle-ee-cdb custom-oracle-se2-cdb

  • Wenn Sie eine CDB-Instanz mit Standard Edition 2 erstellen, kann die CDB maximal 3 PDBs enthalten.

  • Standardmäßig erhält Ihre CDB den Namen RDSCDB. Dies ist auch der Name der Oracle-System-ID (Oracle SID). Sie können einen anderen Namen wählen.

  • Ihre CDB enthält nur eine anfängliche PDB. Der PDB-Name ist standardmäßig ORCL. Sie können einen anderen Namen für Ihre anfängliche PDB auswählen, die Oracle-SID und der PDB-Name dürfen jedoch nicht identisch sein.

  • RDS Custom für Oracle stellt keine APIs für PDBs bereit. Verwenden Sie den Oracle-SQL-Befehl CREATE PLUGGABLE DATABASE, um zusätzliche PDBs zu erstellen. RDS Custom für Oracle schränkt die Anzahl der PDBs, die Sie erstellen können, nicht ein. Im Allgemeinen sind Sie wie bei einer On-Premises Bereitstellung für die Erstellung und Verwaltung von PDBs verantwortlich.

  • Zum Erstellen, Ändern und Löschen von PDBs können Sie keine RDS-APIs verwenden. Sie müssen stattdessen Oracle-SQL-Anweisungen verwenden. Wenn Sie eine PDB mit Oracle SQL erstellen, empfehlen wir, dass Sie anschließend einen manuellen Snapshot erstellen, falls Sie eine Wiederherstellung (PITR) durchführen point-in-time müssen.

  • Sie können vorhandene PDBs nicht mithilfe von Amazon-RDS-APIs umbenennen. Sie können die CDB auch nicht mit dem modify-db-instance-Befehl umbenennen.

  • Der offene Modus für das CDB-Root ist READ WRITE in der primären und MOUNTED in einer gemounteten Standby-Datenbank. RDS Custom für Oracle versucht, beim Öffnen der CDB alle PDBs zu öffnen. Wenn RDS Custom für Oracle nicht alle PDBs öffnen kann, wird das Ereignis tenant database shutdown ausgegeben.

Erstellen einer RDS Custom für Oracle DB-Instance

Erstellen Sie eine Amazon RDS Custom for Oracle DB-Instance mit entweder dem AWS Management Console oder dem AWS CLI. Das Verfahren ähnelt dem Verfahren zum Erstellen einer Amazon RDS DB-Instance. Weitere Informationen finden Sie unter Erstellen einer Amazon RDS-DB-Instance.

Wenn Sie Installationsparameter in Ihr CEV-Manifest aufgenommen haben, verwendet Ihre DB-Instance die Oracle-Basis, das Oracle-Standardverzeichnis sowie die ID und den Namen des von Ihnen angegebenen UNIX/Linux-Benutzers und der Gruppe. Die oratab-Datei, die von Oracle Database während der Installation erstellt wird, verweist auf den tatsächlichen Installationsort und nicht auf einen symbolischen Link. Wenn RDS Custom für Oracle Befehle ausführt, wird es als konfigurierter Betriebssystembenutzer und nicht als Standardbenutzer rdsdb ausgeführt. Weitere Informationen finden Sie unter Schritt 5: Vorbereiten des CEV-Manifests.

Sie müssen die Aufgaben im Abschnitt Einrichten Ihrer Umgebung für Amazon RDS Custom for Oracle abschließen, bevor Sie versuchen, eine DB-Instance von RDS Custom zu erstellen oder eine Verbindung mit einer solchen DB-Instance herzustellen.

So erstellen Sie eine RDS Custom for Oracle DB-Instance
  1. Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

  3. Wählen Sie Create database (Datenbank erstellen) aus.

  4. Wählen Sie unter Choose a database creation method (Wählen Sie eine Datenbankerstellungsmethode aus) Standard Create (Standarderstellung) aus.

  5. Gehen Sie im Abschnitt Engine-Optionen wie folgt vor:

    1. Wählen Sie in Engine type (Engine-Typ) Oracle.

    2. Für Typ der Datenbankverwaltung, wählenBenutzerdefiniert Amazon RDS Custom aus.

    3. Führen Sie unter Architektureinstellungen einen der folgenden Schritte aus:

      • Wählen Sie Multi-Tenant-Architektur aus, um eine Container-Datenbank (CDB) zu erstellen. Zum Zeitpunkt der Erstellung enthält Ihre CDB einen PDB-Seed und eine anfängliche PDB.

        Anmerkung

        Die Einstellung Multi-Tenant-Architektur wird nur für Oracle Database 19c unterstützt.

      • Deaktivieren Sie Multi-Tenant-Architektur, um eine Nicht-CDB zu erstellen. Eine Nicht-CDB kann keine PDBs enthalten.

    4. Wählen Sie für Edition Oracle Enterprise Edition oder Oracle Standard Edition 2.

    5. Wählen Sie für Benutzerdefinierte Engine-Version eine vorhandene benutzerdefinierte Engine-Version (CEV) von RDS Custom aus. Eine CEV hat folgendes Format: major-engine-version.customized_string. Ein Beispiel-Bezeichner ist 19.cdb_cev1.

      Wenn Sie im vorherigen Schritt die Multitenant-Architektur gewählt haben, können Sie nur ein CEV angeben, das den custom-oracle-se2-cdb Engine-Typ custom-oracle-ee-cdb oder verwendet. Die Konsole filtert CEVs heraus, die mit unterschiedlichen Engine-Typen erstellt wurden.

  6. Wählen Sie für VorlagenProduktion.

  7. Gehen Sie im Abschnitt Settings (Einstellungen) wie folgt vor:

    1. Geben Sie für DB-Instance-Kennung einen eindeutigen Namen für Ihre DB-Instance ein.

    2. Geben Sie im Feld Hauptbenutzername einen Benutzernamen ein. Sie können diesen Wert später von der Konsole abrufen.

      Wenn Sie eine Verbindung mit einer Nicht-CDB herstellen, ist der Hauptbenutzer der Benutzer der Nicht-CDB. Wenn Sie eine Verbindung mit einer CDB herstellen, ist der Hauptbenutzer der Benutzer der PDB. Um eine Verbindung zum CDB-Root herzustellen, melden Sie sich beim Host an, starten Sie einen SQL-Client und erstellen Sie einen Administratorbenutzer mit SQL-Befehlen.

    3. Deaktivieren Sie Passwort automatisch generieren.

  8. Wählen Sie eine DB-Instance-Klasse aus.

    Informationen zu unterstützten Klassen finden Sie unter Unterstützung von DB-Instance-Klassen für RDS Custom for Oracle.

  9. Gehen Sie im Abschnitt Storage (Speicher) wie folgt vor:

    1. Wählen Sie als Speichertyp einen SSD-Typ aus: io1, gp2 oder gp3. Ihnen stehen folgende zusätzliche Optionen zur Verfügung:

      • Wählen Sie für io1 oder gp3 eine Rate für Bereitgestellte IOPS aus. Die Standardeinstellung ist 1 000 für io1 und 12 000 für gp3.

      • Wählen Sie für gp3 eine Rate für den Speicherdurchsatz aus. Die Standardeinstellung ist 500. MiBps

    2. Wählen Sie für Zugewiesener Speicher eine Speichergröße aus. Der Standardwert ist 40 GiB.

  10. Geben Sie für Konnektivität Ihre Virtual Private Cloud (VPC), DB-Subnetzgruppe und VPC-Sicherheitsgruppe (Firewall) an.

  11. FürRDS Benutzerdefinierte Sicherheitwie folgt:

    1. Für IAM-Instance-Profil, wählen Sie das Instanzprofil für Ihre RDS Custom for Oracle DB-Instance aus.

      Das IAM-Instanzprofil muss AWSRDSCustom beispielsweise AWSRDSCustomInstanceProfileForRdsCustomInstancemit beginnen.

    2. Wählen Sie unter Verschlüsselung Enter a key ARN aus, um die verfügbaren AWS KMS Schlüssel aufzulisten. Wählen Sie dann Ihren Schlüssel aus der Liste aus.

      Für RDS Custom ist ein AWS KMS Schlüssel erforderlich. Weitere Informationen finden Sie unter Schritt 1: Erstellen oder Wiederverwenden eines symmetrischen AWS KMS -Verschlüsselungsschlüssels.

  12. Führen Sie unter Datenbankoptionen folgende Schritte aus:

    1. (Optional) Geben Sie für System-ID (SID) einen Wert für die Oracle-SID ein, der auch der Name Ihrer CDB ist. Der SID ist der Name der Oracle-Datenbank-Instance, die Ihre Datenbankdateien verwaltet. In diesem Zusammenhang bezieht sich der Begriff „Oracle-Datenbank-Instance“ ausschließlich auf die System Global Area (SGA) und die Oracle-Hintergrundprozesse. Wenn Sie keinen SID angeben, verwendet das System standardmäßig RDSCDB.

    2. (Optional) Geben Sie für Anfänglicher Datenbankname einen Namen ein. Der Standardwert ist ORCL. In der Multi-Tenant-Architektur ist der anfängliche Datenbankname der PDB-Name.

      Anmerkung

      SID- und PDB-Name müssen unterschiedlich sein.

    3. Wählen Sie für Optionsgruppe eine Optionsgruppe aus, oder akzeptieren Sie die Standardeinstellung.

      Anmerkung

      Die einzige unterstützte Option für RDS Custom for Oracle istTimezone. Weitere Informationen finden Sie unter Oracle-Zeitzone.

    4. Wählen Sie unter Aufbewahrungszeitraum für Backups einen Wert aus. Sie können keine 0 Tage auswählen.

    5. Geben Sie für die restlichen Abschnitte die gewünschten Einstellungen für die RDS Custom DB-Instance an. Weitere Informationen zu den einzelnen Einstellungen finden Sie unter Einstellungen für DB-Instances. Die folgenden Einstellungen werden nicht in der Konsole angezeigt und werden nicht unterstützt:

      • Prozessorfunktionen

      • Automatische Speicherskalierung

      • Passwort und Kerberos-AuthentifizierungOption inDatenbankauthentifizierung(nurPasswortauthentifizierungwird unterstützt)

      • Performance Insights

      • Protokollexporte

      • Auto minor version upgrade (Upgrade einer Unterversion automatisch durchführen)

      • Löschschutz

  13. Wählen Sie Datenbank erstellen aus.

    Wichtig

    Wenn Sie Mal eine DB-Instance von RDS Custom für Oracle erstellen, wird möglicherweise der folgende Fehler angezeigt: Die serviceverknüpfte Rolle wird gerade erstellt. Bitte versuchen Sie es später erneut. Wenn Sie dies der Fall sind, warten Sie einige Minuten und versuchen Sie dann erneut, die DB-Instance zu erstellen.

    DieAnzeigen von Anmeldeinformationenerscheint auf der SchaltflächeDatenbankenangezeigten.

    Um den Namen und das Passwort des Hauptbenutzers für die RDS Custom DB-Instance anzuzeigen, wählen Sie View credential details (Details zu Anmeldeinformationen anzeigen) aus.

    Verwenden Sie den angezeigten Benutzernamen und das angezeigte Passwort, um eine Verbindung zu DB-Instance als Hauptbenutzer herzustellen.

    Wichtig

    Sie können dieses Passwort für den Hauptbenutzer in der Konsole nicht erneut anzeigen. Wenn Sie es nicht notieren, müssen Sie es möglicherweise ändern. Um das Passwort für den Hauptbenutzer zu ändern, nachdem die DB-Instance von RDS Custom verfügbar wurde, melden Sie sich bei der Datenbank an und führen Sie einen ALTER USER-Befehl aus. Sie können das Passwort nicht über die Option Ändern in der Konsole zurücksetzen.

  14. Klicken Sie aufDatenbankenum die Liste der RDS Custom DB-Instanzen anzuzeigen.

  15. Wählen Sie die RDS-DB-Instance aus, die Sie soeben erstellt haben.

    In der RDS-Konsole werden die Details der neuen DB-Instance angezeigt.

    • Die RDS Custom DB-Instance wird mit dem Status creating (Wird erstellt) angezeigt, bis sie erstellt wurde und einsatzbereit ist. Wenn sich der Status in available (Verfügbar) ändert, können Sie die Verbindung zur DB-Instance herstellen. Abhängig von der Klasse der DB-Instance und dem dieser zugeteilten Speicher kann es einige Minuten dauern, bis die neue DB-Instance verfügbar ist.

    • -Rolle hat den Wert Instanz (RDS Custom).

    • RDS Benutzerdefinierter Automatisierungsmodus hat den Wert Vollständige Automatisierung. Diese Einstellung bedeutet, dass die DB-Instance eine automatische Überwachung und Instanzwiederherstellung bietet.

Sie erstellen eine benutzerdefinierte RDS-DB-Instance mithilfe des create-db-instance AWS CLI Befehls.

Die folgenden Optionen sind erforderlich:

  • --db-instance-identifier

  • --db-instance-class (eine Liste der unterstützten Klassen, finden Sie unter Unterstützung von DB-Instance-Klassen für RDS Custom for Oracle.

  • --engine engine-type, wobei der Engine-Typcustom-oracle-ee,,custom-oracle-se2, custom-oracle-ee-cdb oder ist custom-oracle-se2-cdb

  • --engine-version cev(wocevist der Name der benutzerdefinierten Engine-Version, die Sie inErstellen einer CEV)

  • --kms-key-id my-kms-key

  • --backup-retention-period days (wobei days ein Wert größer 0 ist)

  • --no-auto-minor-version-upgrade

  • --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1 (wobei region die AWS-Region ist, in der Sie Ihre DB-Instance erstellen)

Im folgenden Beispiel wird eine RDS Custom-DB-Instance mit dem Namen erstell my-cfo-cdb-instance. Die Datenbank ist eine CDB mit dem nicht standardmäßigen Namen MYCDB. Der nicht standardmäßige PDB-Name lautet MYPDB. Die Aufbewahrungszeitraum für Backups beträgt drei Tage.

FürLinux, odermacOS: Unix

aws rds create-db-instance \ --engine custom-oracle-ee-cdb \ --db-instance-identifier my-cfo-cdb-instance \ --engine-version 19.cdb_cev1 \ --db-name MYPDB \ --db-system-id MYCDB \ --allocated-storage 250 \ --db-instance-class db.m5.xlarge \ --db-subnet-group mydbsubnetgroup \ --master-username myuser \ --master-user-password mypassword \ --backup-retention-period 3 \ --port 8200 \ --kms-key-id my-kms-key \ --no-auto-minor-version-upgrade \ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1

Windows:

aws rds create-db-instance ^ --engine custom-oracle-ee-cdb ^ --db-instance-identifier my-cfo-cdb-instance ^ --engine-version 19.cdb_cev1 ^ --db-name MYPDB ^ --db-system-id MYCDB ^ --allocated-storage 250 ^ --db-instance-class db.m5.xlarge ^ --db-subnet-group mydbsubnetgroup ^ --master-username myuser ^ --master-user-password mypassword ^ --backup-retention-period 3 ^ --port 8200 ^ --kms-key-id my-kms-key ^ --no-auto-minor-version-upgrade ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1
Anmerkung

Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.

Rufen Sie Details zu Ihrer Instance ab, indem Sie diedescribe-db-instancesbefehl.

aws rds describe-db-instances --db-instance-identifier my-cfo-cdb-instance

Die folgende Teilausgabe zeigt die Engine, die Parametergruppen und andere Informationen.

{ "DBInstanceIdentifier": "my-cfo-cdb-instance", "DBInstanceClass": "db.m5.xlarge", "Engine": "custom-oracle-ee-cdb", "DBInstanceStatus": "available", "MasterUsername": "admin", "DBName": "MYPDB", "DBSystemID": "MYCDB", "Endpoint": { "Address": "my-cfo-cdb-instance.abcdefghijkl.us-east-1.rds.amazonaws.com", "Port": 1521, "HostedZoneId": "A1B2CDEFGH34IJ" }, "AllocatedStorage": 100, "InstanceCreateTime": "2023-04-12T18:52:16.353000+00:00", "PreferredBackupWindow": "08:46-09:16", "BackupRetentionPeriod": 7, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-0a1bcd2e", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-oracle-ee-cdb-19", "ParameterApplyStatus": "in-sync" } ], ...

RDS Benutzerdefinierte serviceverknüpfte Rolle

Eine serviceverknüpfte Rolle gewährt Amazon RDS Custom Zugriff auf Ressourcen in Ihrem AWS-Konto. Dadurch wird das Einrichten eines RDS Custom vereinfacht, da Sie die erforderlichen Berechtigungen nicht manuell hinzufügen müssen. RDS Custom definiert die Berechtigungen seiner serviceverknüpften Rollen. Sofern keine andere Konfiguration festgelegt wurde, kann nur RDS Custom die Rollen übernehmen. Die definierten Berechtigungen umfassen die Vertrauens- und Berechtigungsrichtlinie. Diese Berechtigungsrichtlinie kann keinen anderen IAM-Entitäten zugewiesen werden.

Wenn Sie eine RDS Custom DB-Instance erstellen, werden sowohl die mit Amazon RDS als auch RDS Custom Service verknüpften Rollen erstellt (falls sie noch nicht vorhanden sind) und verwendet. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen für Amazon RDS.

Wenn Sie zum ersten Mal eine RDS Custom for Oracle DB-Instance erstellen, wird möglicherweise der folgende Fehler angezeigt:Die serviceverknüpfte Rolle wird gerade erstellt. Bitte versuchen Sie es später erneut. Wenn Sie dies der Fall sind, warten Sie einige Minuten und versuchen Sie dann erneut, die DB-Instance zu erstellen.

Herstellen einer Verbindung mit Ihrer DB-Instance von RDS Custom mithilfe von Session Manager

Nachdem Sie Ihre benutzerdefinierte RDS-DB-Instance erstellt haben, können Sie mithilfe AWS Systems Manager Session Manager von... eine Verbindung zu ihr herstellen. Dies ist die bevorzugte Methode, wenn Ihre DB-Instance nicht öffentlich zugänglich ist.

Mit Session Manager können Sie über eine browserbasierte Shell oder über die AWS CLI auf Amazon-EC2-Instances zugreifen. Weitere Informationen erhalten Sie unter AWS Systems Manager Session Manager.

Herstellen einer Verbindung mit Ihrer Instance mithilfe von Session Manager
  1. Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die RDS Custom DB-Instance aus, die Sie anhalten möchten.

  3. Wählen Sie Konfiguration.

  4. Notieren Sie die Ressource-ID für die DB-Instance. Die Ressourcen-ID kann beispielsweise db-ABCDEFGHIJKLMNOPQRS0123456 sein.

  5. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  6. Wählen Sie im Navigationsbereich Instances aus.

  7. Suchen Sie nach dem Namen Ihrer EC2-Instance und klicken Sie dann auf die damit verbundene Instanz-ID. Die Instance-ID kann beispielsweise i-abcdefghijklm01234 sein.

  8. Wählen Sie Connect aus.

  9. Klicken Sie auf Session Manager.

  10. Wählen Sie Connect aus.

    Es öffnet sich ein Fenster für Ihre Sitzung.

Sie können eine Verbindung mit Ihrer RDS Custom DB-Instance herstellen, indem Sie AWS CLI nutzen. Für diese Technik ist das Session Manager-Plugin für die AWS CLI. Informationen zum Installieren des Plugins finden Sie unter Installieren Sie das Session Manager-Plugin für das AWS CLI.

Um die DB-Ressourcen-ID Ihrer RDS Custom DB-Instance zu finden, verwenden Sie aws rds describe-db-instances.

aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

Die folgende Beispielausgabe zeigt die Ressourcen-ID für Ihre RDS Custom Instance. Das Präfix lautet db-.

db-ABCDEFGHIJKLMNOPQRS0123456

Um die EC2-Instance-ID Ihrer DB-Instance zu suchen, verwenden Sie aws ec2 describe-instances. Im folgenden Beispiel wird verwendetdb-ABCDEFGHIJKLMNOPQRS0123456für die Ressourcen-ID.

aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

Die folgende Beispielausgabe zeigt die EC2-Instance-ID.

i-abcdefghijklm01234

Verwenden deraws ssm start-session-Befehl zur Bereitstellung der EC2-Instance-ID im--target-Parameter.

aws ssm start-session --target "i-abcdefghijklm01234"

Ein erfolgreiches Ergebnis sieht wie folgt aus.

Starting session with SessionId: yourid-abcdefghijklm1234 [ssm-user@ip-123-45-67-89 bin]$

Herstellen einer Verbindung mit Ihrer RDS Custom DB-Instance über SSH

Das Secure Shell Protocol (SSH) ist ein Netzwerkprotokoll, das verschlüsselte Kommunikation über ein nicht gesichertes Netzwerk unterstützt. Nachdem Sie Ihre DB-Instance von RDS Custom erstellt haben, können Sie sich über einen SSH-Client mit dieser Instance verbinden. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Ihrer Linux-Instance mithilfe von SSH.

Ihre SSH-Verbindungsmethode hängt davon ab, ob Ihre DB-Instance privat ist, was bedeutet, dass sie keine Verbindungen aus dem öffentlichen Internet akzeptiert. In diesem Fall müssen Sie SSH-Tunneling verwenden, um das SSH-Dienstprogramm mit Ihrer Instance zu verbinden. Diese Methode transportiert Daten mit einem dedizierten Datenstrom (Tunnel) innerhalb einer bestehenden SSH-Sitzung. Sie können das SSH-Tunneling mit AWS Systems Manager konfigurieren.

Anmerkung

Für den Zugriff auf private Instances werden verschiedene Strategien unterstützt. Informationen dazu, wie Sie einen SSH-Client mithilfe von Bastion-Hosts mit privaten Instances verbinden, finden Sie unter Linux Bastion Hosts in AWS. Informationen zur Konfiguration der Port-Weiterleitung finden Sie unter Port-Weiterleitung mit Using AWS Systems Manager Session Manager.

Wenn sich Ihre DB-Instance in einem öffentlichen Subnetz befindet und die Einstellung „Öffentlich verfügbar“ hat, ist kein SSH-Tunneling erforderlich. Sie können sich mit SSH genauso verbinden wie mit einer öffentlichen Amazon-EC2-Instance.

Führen Sie die folgenden Schritte aus, um einen SSH-Client mit Ihrer DB-Instance zu verbinden:

Schritt 1: Konfigurieren Ihrer DB-Instance, um SSH-Verbindungen zuzulassen

Gehen Sie wie folgt vor, um sicherzustellen, dass Ihre DB-Instance SSH-Verbindungen akzeptieren kann:

  • Stellen Sie sicher, dass Ihre Sicherheitsgruppe der DB-Instance eingehende Verbindungen an Port 22 für TCP zulässt.

    Informationen zum Konfigurieren der Sicherheitsgruppe für Ihre DB-Instance finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen.

  • Wenn Sie nicht vorhaben, SSH-Tunneling zu verwenden, stellen Sie sicher, dass sich Ihre DB-Instance in einem öffentlichen Subnetz befindet und öffentlich zugänglich ist.

    In der Konsole ist das relevante Feld öffentlich zugänglich auf der Registerkarte Konnektivität und Sicherheit auf der Seite mit den Datenbankdetails. Führen Sie den folgenden Befehl aus, um Ihre Einstellungen in der CLI zu überprüfen:

    aws rds describe-db-instances \ --query 'DBInstances[*].{DBInstanceIdentifier:DBInstanceIdentifier,PubliclyAccessible:PubliclyAccessible}' \ --output table

    Informationen zum Ändern der Barrierefreiheitseinstellungen für Ihre DB-Instance finden Sie unter Ändern einer Amazon RDS-DB-Instance.

Schritt 2: Abrufen Ihres geheimen SSH-Schlüssels und der EC2-Instance-ID

Zum Herstellen einer Verbindung mit der DB-Instance über SSH benötigen Sie das SSH-Schlüsselpaar, das der Instance zugeordnet ist. RDS Custom erstellt das SSH-Schlüsselpaar in Ihrem Namen und benennt es mit dem Präfixdo-not-delete-rds-custom-ssh-privatekey-db-. AWS Secrets Manager speichert Ihren privaten SSH-Schlüssel als Geheimnis.

Rufen Sie Ihren geheimen SSH-Schlüssel mit einem AWS Management Console oder dem ab. AWS CLI Wenn Ihre Instance über ein öffentliches DNS verfügt und Sie nicht beabsichtigen, SSH-Tunneling zu verwenden, rufen Sie auch den DNS-Namen ab. Sie geben den DNS-Namen für öffentliche Verbindungen an.

So rufen Sie den geheimen SSH-Schlüssel ab
  1. Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die RDS Custom DB-Instance aus, die Sie anhalten möchten.

  3. Wählen Sie Konfiguration.

  4. Beachten Sie dieRessourcen-IDWert. Die Ressourcen-ID der DB-Instance kann beispielsweise db-ABCDEFGHIJKLMNOPQRS0123456 sein.

  5. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  6. Wählen Sie im Navigationsbereich Instances aus.

  7. Suchen Sie den Namen Ihrer EC2-Instance und wählen Sie die damit verbundene Instanz-ID aus. Die EC2-Instance-ID kann beispielsweise i-abcdefghijklm01234 sein.

  8. In -Details, finden Sie Schlüsselpaarname. Der Paarname enthält die Ressourcen-ID der DB-Instance. Der Paarname kann beispielsweise do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c sein.

  9. Wenn Ihre EC2-Instance öffentlich ist, notieren Sie sich das öffentliche IPv4-DNS. Im Beispiel kann die DNS-Adresse (Public Domain Name System) ec2-12-345-678-901.us-east-2.compute.amazonaws.com sein.

  10. Öffnen Sie die AWS Secrets Manager Konsole unter https://console.aws.amazon.com/secretsmanager/.

  11. Wählen Sie das Geheimnis aus, das den gleichen Namen wie Ihr key pair hat.

  12. Wählen Sie Retrieve secret value (Secret-Wert abrufen) aus.

  13. Kopieren Sie den privaten SSH-Schlüssel in eine Textdatei und speichern Sie die Datei anschließend mit der .pem-Erweiterung. Sie können ihn beispielsweise als Datei /tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem speichern.

Um den privaten SSH-Schlüssel abzurufen und in einer PEM-Datei zu speichern, können Sie die AWS CLI verwenden.

  1. Suchen Sie die DB-Ressourcen-ID Ihrer DB-Instance von RDS Custom mit aws rds describe-db-instances.

    aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

    Die folgende Beispielausgabe zeigt die Ressourcen-ID für Ihre RDS Custom Instance. Das Präfix lautet db-.

    db-ABCDEFGHIJKLMNOPQRS0123456
  2. Suchen Sie die EC2-Instance-ID Ihrer DB-Instance mit aws ec2 describe-instances. Im folgenden Beispiel wird verwendetdb-ABCDEFGHIJKLMNOPQRS0123456für die Ressourcen-ID.

    aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

    Die folgende Beispielausgabe zeigt die EC2-Instance-ID.

    i-abcdefghijklm01234
  3. Um den Schlüsselnamen zu suchen, geben Sie die EC2-Instance-ID an. Das folgende Beispiel beschreibt die EC2-Instance i-0bdc4219e66944afa.

    aws ec2 describe-instances \ --instance-ids i-0bdc4219e66944afa \ --output text \ --query 'Reservations[*].Instances[*].KeyName'

    Die folgende Beispielausgabe zeigt den Schlüsselnamen, der das Präfix do-not-delete-rds-custom-ssh-privatekey- verwendet.

    do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c
  4. Speichern Sie den privaten Schlüssel in einer PEM-Datei, die nach dem Schlüssel benannt ist, unter Verwendung von aws secretsmanager. Im folgenden Beispiel wird die Datei im Verzeichnis /tmp erstellt.

    aws secretsmanager get-secret-value \ --secret-id do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c \ --query SecretString \ --output text >/tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

Schritt 3: Herstellen einer Verbindung mit Ihrer EC2-Instance mithilfe des SSH-Dienstprogramms

Ihre Verbindungsmethode hängt davon ab, ob Sie eine Verbindung mit einer privaten DB-Instance oder mit einer öffentlichen Instance herstellen. Für eine private Verbindung müssen Sie SSH-Tunneling über AWS Systems Manager konfigurieren.

So stellen Sie eine Verbindung mit einer EC2-Instance mithilfe des SSH-Dienstprogramms her
  1. Ändern Sie für private Verbindungen Ihre SSH-Konfigurationsdatei, um Befehle an AWS Systems Manager Session Manager weiterzuleiten. Für öffentliche Verbindungen fahren Sie mit Schritt 2 fort.

    Fügen Sie die folgenden Zeilen zu ~/.ssh/config hinzu. Diese Zeilen leiten SSH-Befehle für Hosts weiter, deren Namen mit i- oder mi- beginnen.

    Host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
  2. Wechseln Sie in das Verzeichnis, das Ihre PEM-Datei enthält. Benutzen Siechmod und legen Sie die Berechtigungen auf 400 fest.

    cd /tmp chmod 400 do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem
  3. Führen Sie das SSH-Dienstprogramm aus und geben Sie die PEM-Datei und entweder den öffentlichen DNS-Namen (für öffentliche Verbindungen) oder die EC2-Instance-ID (für private Verbindungen) an. Melden Sie sich als Benutzer ec2-user an.

    Im folgenden Beispiel wird eine Verbindung mit einer öffentlichen Instance unter Verwendung des DNS-Namens ec2-12-345-678-901.us-east-2.compute.amazonaws.com hergestellt.

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@ec2-12-345-678-901.us-east-2.compute.amazonaws.com

    Im folgenden Beispiel wird mithilfe der EC2-Instance-ID i-0bdc4219e66944afa eine Verbindung mit einer privaten Instance hergestellt.

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@i-0bdc4219e66944afa

Anmelden als SYS bei Ihrer Datenbank von RDS Custom für Oracle

Nachdem Sie Ihre DB-Instance von RDS Custom erstellt haben, können Sie sich bei Ihrer Oracle-Datenbank als Benutzer SYS anmelden, wodurch Sie SYSDBA-Berechtigungen erhalten. Ihnen stehen folgende Anmeldeoptionen zur Verfügung:

  • Rufen Sie das SYS-Passwort von Secrets Manager ab und geben Sie dieses Passwort in Ihrem SQL-Client an.

  • Verwenden Sie die Betriebssystemauthentifizierung, um sich bei Ihrer Datenbank anzumelden. In diesem Fall benötigen Sie kein Passwort.

Suchen des SYS-Passworts für Ihre Datenbank von RDS Custom für Oracle

Sie können sich bei Ihrer Oracle-Datenbank als SYS oder SYSTEM oder durch Angabe des Hauptbenutzernamens in einem API-Aufruf anmelden. Das Passwort für SYS und SYSTEM ist in Secrets Manager gespeichert. Das Geheimnis verwendet das Benennungsformat do-not-delete-rds -custom- resource_id - uuid. Sie finden das Passwort über die AWS Management Console.

So finden Sie das SYS-Passwort für Ihre Datenbank in Secrets Manager
  1. Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Führen Sie in der RDS-Konsole folgende Schritte aus:

    1. Wählen Sie im Navigationsbereich Datenbanken aus.

    2. Wählen Sie den Namen Ihrer DB-Instance von RDS Custom für Oracle aus.

    3. Wählen Sie Konfiguration.

    4. Kopieren Sie den Wert unter Ressourcen-ID. Ihre Ressourcen-ID könnte beispielsweise db-ABC12CDE3FGH4I5JKLMNO6PQR7 lauten.

  3. Öffnen Sie die Secrets-Manager-Konsole unterhttps://console.aws.amazon.com/secretsmanager/.

  4. Führen Sie in der Secrets-Manager-Konsole folgende Schritte aus:

    1. Wählen Sie im linken Navigationsbereich Secrets aus.

    2. Filtern Sie die Secrets nach der Ressourcen-ID, die Sie in Schritt 5 kopiert haben.

    3. Wählen Sie den geheimen Namen do-not-delete-rds-custom- resource_id - uuid, wobei resource_id die Ressourcen-ID ist, die Sie in Schritt 5 kopiert haben. Wenn Ihre Ressourcen-ID beispielsweise db-abc12cde3fgh4i5jklmno6pqr7 lautet, wird Ihr Secret den Namen -custom-db-abc12cde3fgh4i5jklmno6pqr7 haben. do-not-delete-rds

    4. Wählen Sie im Bereich Secret-Wert die Option Secret-Wert abrufen aus.

    5. Kopieren Sie im Feld Schlüssel/Wert den Wert für Passwort.

  5. Installieren Sie SQL*Plus auf Ihrer DB-Instance und melden Sie sich bei Ihrer Datenbank als SYS an. Weitere Informationen finden Sie unter Schritt 3: Verbinden Ihres SQL-Clients mit einer Oracle-DB-Instance.

Anmelden bei Ihrer Datenbank von RDS Custom für Oracle-Datenbank mit der Betriebssystemauthentifizierung

Der Betriebssystembenutzer rdsdb besitzt die Oracle-Datenbankbinärdateien. Sie können zum Benutzer rdsdb wechseln und sich ohne Passwort bei Ihrer Datenbank von RDS Custom für Oracle anmelden.

  1. Connect zu Ihrer DB-Instance mit her AWS Systems Manager. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Ihrer DB-Instance von RDS Custom mithilfe von Session Manager.

  2. Navigieren Sie in einem Webbrowser zu https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html.

  3. Für die neueste Datenbankversion, die auf der Webseite angezeigt wird, kopieren Sie die .rpm-Links (nicht die .zip-Links) für das Instant Client Basic Package und das SQL*Plus-Paket. Die folgenden Links beziehen sich beispielsweise auf Oracle Database Version 21.9:

    • https://download.oracle.com/otn_software/linux/instantclient/219000/ oracle-instantclient-basic -21.9.0.0.0-1.el8.x86_64.rpm

    • https://download.oracle.com/otn_software/linux/instantclient/219000/ oracle-instantclient-sqlplus -21.9.0.0.0-1.el8.x86_64.rpm

  4. Führen Sie in Ihrer SSH-Sitzung den Befehl wget aus, um die .rpm-Dateien von den Links herunterzuladen, die Sie im vorherigen Schritt erhalten haben. Das folgende Beispiel lädt die .rpm-Dateien für Oracle Database Version 21.9 herunter:

    wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-basic-21.9.0.0.0-1.el8.x86_64.rpm wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-sqlplus-21.9.0.0.0-1.el8.x86_64.rpm
  5. Installieren Sie die Pakete, indem Sie den Befehl yum wie folgt ausführen:

    sudo yum install oracle-instantclient-*.rpm
  6. Wechseln Sie zum Benutzer rdsdb.

    sudo su - rdsdb
  7. Melden Sie sich mit der Betriebssystemauthentifizierung bei Ihrer Datenbank an.

    $ sqlplus / as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Wed Apr 12 20:11:08 2023 Version 21.9.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.10.0.0.0

Installieren zusätzlicher Softwarekomponenten auf Ihrer DB-Instance von RDS Custom für Oracle

In einer neu erstellten DB-Instance umfasst Ihre Datenbankumgebung Oracle-Binärdateien, eine Datenbank und einen Datenbank-Listener. Möglicherweise möchten Sie zusätzliche Software auf dem Host-Betriebssystem der DB-Instance installieren. Vielleicht möchten Sie beispielsweise Oracle Application Express (APEX), den Oracle Enterprise Manager (OEM) Agent oder den Guardium S-TAP Agent installieren. Richtlinien und allgemeine Anweisungen finden Sie im ausführlichen AWS Blogbeitrag Installieren zusätzlicher Softwarekomponenten auf Amazon RDS Custom for Oracle.