Verwenden von Daten aus einer Amazon RDS-Datenbank zum Erstellen einer Amazon ML-Datenquelle - Amazon Machine Learning

Wir aktualisieren den Amazon Machine Learning Learning-Service nicht mehr und akzeptieren keine neuen Benutzer mehr dafür. Diese Dokumentation ist für bestehende Benutzer verfügbar, wir aktualisieren sie jedoch nicht mehr. Weitere Informationen finden Sie unterWas Amazon Machine Learning.

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.

Verwenden von Daten aus einer Amazon RDS-Datenbank zum Erstellen einer Amazon ML-Datenquelle

Amazon ML ermöglicht Ihnen die Erstellung eines Datenquellenobjekts mithilfe von Daten, die in einer MySQL-Datenbank im Amazon Relational Database Service (Amazon RDS) gespeichert sind. Wenn Sie diese Aktion ausführen, erstellt Amazon ML ein AWS Data Pipeline Pipeline-Objekt, das die von Ihnen angegebene SQL-Abfrage ausführt, und platziert die Ausgabe in einem S3-Bucket Ihrer Wahl. Amazon ML verwendet diese Daten zum Erstellen der Datenquelle.

Anmerkung

Amazon ML unterstützt nur MySQL-Datenbanken in VPCs.

Damit Amazon ML Ihre Eingabedaten lesen kann, müssen Sie die Daten zuvor in Amazon Simple Storage Service (Amazon S3) exportieren. Sie können Amazon ML mithilfe der API so einrichten, dass es den Export für Sie durchführt. (RDS ist auf die API beschränkt und nicht von der Konsole aus verfügbar.)

Damit Amazon ML eine Verbindung mit Ihrer MySQL-Datenbank in Amazon RDS herstellt und Daten in Ihrem Auftrag liest, müssen Sie Folgendes angeben:

  • RDS DB-Instance-Kennung

  • Name der MySQL-Datenbank

  • DieAWS Identity and Access ManagementDie (IAM) -Rolle, die zum Erstellen, Aktivieren und Ausführen der Daten-Pipeline verwendet wird

  • Benutzeranmeldeinformationen für die Datenbank:

    • Benutzername

    • Passwort

  • Sicherheitsinformationen zur AWS Data Pipeline:

    • Die IAM-Ressourcenrolle

    • Die IAM-Servicerolle

  • Die Amazon RDS-Sicherheitsinformationen:

    • Die Subnetz-ID

    • Die Sicherheitsgruppen-IDs

  • Die SQL-Abfrage, welche die Daten angibt, die Sie verwenden möchten, um die Datenquelle zu erstellen

  • Der S3-Ausgabespeicherort (Bucket) zum Speichern der Ergebnisse der Abfrage

  • (Optional) Der Speicherort der Datenschemadatei

Darüber hinaus müssen Sie sicherstellen, dass die IAM-Benutzer und -Rollen zum Erstellen der Amazon RDS-Datenquellen mithilfe desCreateDataSourceFromRDSBetrieb haben dieiam:PassRoleErlaubnis Weitere Informationen finden Sie unter Steuern des Zugriffs auf Amazon ML-Ressourcen – mit IAM .

RDS-Datenbank-Instance-Kennung

Die RDS-DB-Instance-Kennung ist ein eindeutiger Name, den Sie festlegen und der die Datenbank-Instance identifiziert, welche Amazon ML zur Interaktion mit Amazon RDS verwenden soll. Sie finden die RDS-DB-Instance-Kennung in der Amazon RDS-Konsole.

MySQL-Datenbankname

Der MySQL-Datenbankname gibt den Namen der MySQL-Datenbank in der RDS-DB-Instance an.

Benutzeranmeldeinformationen für die Datenbank

Zum Herstellen einer Verbindung mit der RDS-DB-Instance müssen Sie den Benutzernamen und das Kennwort des Datenbankbenutzers angeben, der über die erforderlichen Berechtigungen zum Ausführen der SQL-Abfrage verfügt, die Sie bereitgestellt haben.

Sicherheitsinformationen zur AWS Data Pipeline

Zum Aktivieren des sicheren Zugriffs auf die AWS Data Pipeline müssen Sie die Namen der IAM-Ressourcenrolle und der IAM-Servicerolle angeben.

Eine EC2-Instance nimmt die Ressourcenrolle zum Kopieren von Daten von Amazon RDS in Amazon S3 an. Die einfachste Möglichkeit zum Erstellen dieser Ressourcenrolle ist mithilfe der DataPipelineDefaultResourceRole-Vorlage und Auflisten von machinelearning.aws.com als vertrauenswürdiger Service. Weitere Informationen zur Vorlage finden Sie unter Einrichten von IAM-Rollen im AWS Data Pipeline-Entwicklerhandbuch.

Wenn Sie eine eigene Rolle erstellen, muss sie folgende Inhalte haben:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:datasource/*" } } }] }

AWS Data Pipeline nimmt die Servicerolle zur Überwachung des Fortschritts beim Kopieren der Daten von Amazon RDS in Amazon S3 an. Die einfachste Möglichkeit zum Erstellen dieser Ressourcenrolle ist mithilfe der DataPipelineDefaultRole-Vorlage und Auflisten von machinelearning.aws.com als vertrauenswürdiger Service. Weitere Informationen zur Vorlage finden Sie unter Einrichten von IAM-Rollen im AWS Data Pipeline-Entwicklerhandbuch.

Amazon RDS-Sicherheitsinformationen

Zum Aktivieren des sicheren Amazon RDS-Zugriffs müssen Sie dieVPC Subnet IDundRDS Security Group IDsaus. Darüber hinaus müssen Sie geeignete Eingangsregeln für das VPC-Subnetz einrichten, auf das vom Parameter Subnet ID verwiesen wird, und die ID der Sicherheitsgruppe angeben, die über diese Berechtigung verfügt.

MySQL-SQL-Abfragen

Der Parameter MySQL SQL Query gibt die SQL SELECT-Abfrage an, die Sie für die MySQL-Datenbank ausführen möchten. Die Ergebnisse der Abfrage werden an den S3-Ausgabespeicherort (Bucket) kopiert, den Sie angeben.

Anmerkung

Machine Learning-Technologie eignet sich besonders dann, wenn Eingabedatensätze in zufälliger Reihenfolge (gemischt) bereitgestellt werden. Sie können problemlos die Ergebnisse Ihrer MySQL-SQL-Abfrage mischen, indem Sie die Funktion rand() verwenden. Beispiel: Angenommen, dies ist die ursprüngliche Abfrage:

"SELECT col1, col2, … FROM training_table"

Sie können durch Aktualisierung der Abfrage zufällig mischen:

"SELECT col1, col2, … FROM training_table ORDER BY rand()"

S3-Ausgabespeicherort

DieS3 Output LocationDer Parameter gibt den Namen des Amazon S3 S3-Speicherorts zum -Staging an, in den die Ergebnisse der MySQL-SQL-Abfrage ausgegeben werden.

Anmerkung

Sie müssen sicherstellen, dass Amazon ML Berechtigungen zum Lesen von Daten von diesem Speicherort hat, nachdem die Daten von Amazon RDS exportiert wurden. Informationen zur Einrichtung dieser Berechtigungen finden Sie unter "Gewähren von Amazon ML-Berechtigungen zum Lesen von Daten aus Amazon S3".