Suchen

Kommentar von Constantin Gonzalez, Amazon Web Services Aufbau automatisierter Prognose-Fähigkeiten mit AWS Lake Formation und Amazon Forecast, Teil 1

| Autor / Redakteur: Constantin Gonzalez / Nico Litzel

Amazon Forecast erzeugt mithilfe von Machine Learning (ML) hochgradig präzise Prognosen – ohne dass Anwender über ML-Erfahrung verfügen müssen. In unserem zweiteiligen Artikel zeigen wir, wie Sie automatisierte Prognosen entwickeln. Der erste Teil behandelt die Implementierung eines Date Lake unter Berücksichtigung notwendiger Sicherheitsrichtlinien mit dem Dienst AWS Lake Formation. Im zweiten Teil geht es um das automatisierte Importieren von Daten in Ihren Data Lake und deren Transformation mit einem AWS Glue-Workflow.

Firma zum Thema

Der Autor: Constantin Gonzalez ist Principal Solutions Architect bei Amazon Web Services
Der Autor: Constantin Gonzalez ist Principal Solutions Architect bei Amazon Web Services
(Bild: blende11_Fotografen)

Mit AWS-Diensten lassen sich ohne ML-Erfahrungen Prognosen durchführen. Die Abbildung zeigt die End-to-End-Systemarchitektur einer dafür geeigneten Lösung aus den Diensten Amazon Forecast, AWS Lake Formation, AWS Glue und Amazon QuickSight.
Mit AWS-Diensten lassen sich ohne ML-Erfahrungen Prognosen durchführen. Die Abbildung zeigt die End-to-End-Systemarchitektur einer dafür geeigneten Lösung aus den Diensten Amazon Forecast, AWS Lake Formation, AWS Glue und Amazon QuickSight.
(Bild: AWS)

Hinweis: Die nachfolgende Anleitung für ein Beispiel-Setup nimmt Konfigurationsänderungen vor, die sich auf den gesamten AWS-Account auswirken könnten. Wir empfehlen daher grundsätzlich, die nachfolgenden Schritte in einem eigenen, nicht für die Produktion vorgesehenen AWS-Account durchzuführen. So können Sie dieses Beispiel in Ruhe studieren und Experimente ausprobieren, ohne andere Anwendungen zu beeinflussen.

Bildergalerie

Die nachfolgenden Schritte setzen die AWS-Region Frankfurt (eu-central-1) voraus und verwenden (sofern vorhanden) Begriffe aus der deutschen AWS-Dokumentation.

Aufsetzen der benötigten IAM-Richtlinien

AWS Lake Formation, AWS Glue und Amazon Forecast benötigen verschiedene Berechtigungen, um auf Ihre Daten zuzugreifen und untereinander Vorgänge zu starten. Dafür legen Sie zunächst die benötigten IAM-Richtlinien fest:

  • 1. Melden Sie sich mit einem IAM-Benutzer, der über die Berechtigung AdministratorAccess verfügt, bei der AWS-Managementkonsole an
  • 2. Sobald Sie angemeldet sind, wechseln Sie in den IAM-Service:
    1. Klick auf Services in der Kopfleiste → IAM in die Suchmaske eingeben und IAM auswählen
  • 3. Im IAM-Service legen Sie eine neue IAM-Rolle an, die von AWS Glue-Aufträgen (Jobs), Crawler und Workflows für die korrekte Ausführung benötigt wird:
    1. Klicken Sie auf Rollen in der linken Menüleiste → Rolle erstellen → Typ der vertrauenswürdigen Entität auswählen: AWS-Service → Wählen Sie Glue in der weiter unten aufgeführten AWS-Serviceliste aus → Weiter: Berechtigungen
    2. AWSGlueServiceRole in die Suchmaske eingeben → Checkbox auswählen → Weiter: Tags → Weiter: Prüfen
    3. Verwenden Sie GLUE_WORKFLOW_ROLE als Rollenname → Rolle erstellen
  • 4. Nachdem die Rolle erfolgreich erstellt wurde, suchen Sie nach dem Rollenamen GLUE_WORKFLOW_ROLE über die Suchmaske und wählen diese aus
    1. Wählen Sie den Reiter Vertrauenseinstellungen aus → Klick auf Vertrauensbeziehung bearbeiten
    2. Ändern Sie das Richtliniendokument folgendermaßen, um Amazon Forecast zu erlauben, die Rolle zu verwenden:

(Bild: AWS)


3. Klicken Sie auf Vertrauensrichtlinie aktualisieren

5. Zurück auf der GLUE_WORFKLOW_ROLE Übersichtsseite wechseln Sie in den Reiter Berechtigungen → Auf der rechten Seite Klick auf Eingebundene Richtlinie hinzufügen
1. Wählen sie den JSON-Reiter aus
2. Fügen Sie folgende Richtlinie hinzu und ersetzen Sie die gekennzeichneten Stellen [your aws account id] mit der ID des aktuell verwendeten AWS Accounts, sowie your-prefix mit einem kurzen, individuellen Präfix, den Sie später beim Anlegen von Amazon S3 Buckets und Glue Datenbanken verwenden wollen.

(Bild: AWS)


3. Klick auf Richtlinie überprüfen
4. Verwenden Sie als Name für die Richtlinie INLINE_GLUE_FORECAST → Klick auf Richtlinie erstellen

Einrichten Ihres Data-Lake-Speichers

Als nächstes brauchen Sie einen Data Lake zur Verwendung für diesen Automatismus. Zum Speichern der Daten wird ein Amazon S3 Bucket angelegt, dabei kommen die geeigneten Sicherheits- und Governance-Regeln zur Anwendung. Bei einem vorhandenen Data Lake auf Amazon S3 können Sie dessen S3 Buckets mit Amazon Lake Formation weiterverwenden.

Amazon S3 Bucket-Namen sind weltweit einzigartig, d. h., es können keine zwei Buckets mit dem gleichen Namen angelegt werden. Um Namens-Kollisionen zu vermeiden, schlagen wir vor, dass Sie im Folgenden eine eigene S3-Namenskonvention verwenden und die unten verwendeten Namen lediglich als Beispiel verstehen. Am einfachsten geht das, wenn Sie das zuvor von Ihnen gewählte your-prefix-Kürzel dem benutzen Namen voranstellen.

Die für den Data Lake notwendigen Amazon S3 Buckets werden nachfolgend konfiguriert:

  • your-prefix-forecast-blog-landing (für die Aufnahme von Rohdaten)
  • your-prefix-forecast-blog-processed (für transformierte Daten)
  • your-prefix-forecast-blog-published (für den Zugriff anderer Anwender im Unternehmen auf die Ergebnisse)

Amazon S3 speichert Buckets innerhalb einer bestimmten AWS Region die bei der Bucket-Anlage ausgewählt wird. In diesem Artikel wird die AWS Region Europa (Frankfurt) eu-central-1 verwendet.

  • 1. Klicken Sie zunächst in der Kopfleiste der AWS-Managementkonsole auf Services → Geben Sie in der Suchmaske S3 ein und wählen S3 aus
  • 2. Nachdem Sie in die Amazon-S3-Konsole gewechselt sind klicken Sie auf Bucket erstellen
  • 3. Starten Sie mit dem your-prefix-forecast-blog-landing Bucket und ersetzen Sie your-prefix mit dem vorher von Ihnen gewählten Präfix als Bucket-Name
  • 4. Wählen Sie die AWS-Region EU (Frankfurt) aus → Klick auf Weiter → Weiter → Weiter → Bucket erstellen
  • 5. Wiederholen Sie die Schritte 2 - 4 für die Buckets:
  • your-prefix-forecast-blog-processed
  • your-prefix-forecast-blog-published

Die folgende Anleitung für den your-prefix-forecast-blog-landing Bucket kann auch für your-prefix-forecast-blog-processed und your-prefix-forecast-blog-published verwendet werden:

Aktivieren der zentralen Zugriffskontrolle für den Data Lake

Bevor Sie die nachfolgenden Schritte durchführen, empfehlen wir Ihnen, sich die einführenden Abschnitte in der AWS-Dokumentation zu Lake Formation anzusehen, um einen Überblick über die Arbeitsweise dieses Dienstes zu bekommen.

Über die zentralisierte Zugriffskontrolle von Amazon Lake Formation aktivieren Sie die Regeln über den Zugriff auf die zugrundeliegenden S3 Buckets für Anwender und Rollen.

  • 2. Wechseln Sie nach Anlage des IAM-Benutzers in den Service Amazon Lake Formation indem Sie auf Services in der Kopfleiste der AWS-Managementkonsole klicken → Geben Sie in der Suchmaske Lake Formation ein und wählen Sie den Service aus:
    • Bei der initialen Nutzung von Lake Formation werden Sie aufgefordert, einen Lake Formation Administrator zu definieren, klicken Sie Add administrators
    • Wählen Sie unter IAM users and roles den im Punkt 1 angelegten IAM-Benutzer aus → Klick auf Save
  • 3. Für die Verwaltung der zentralen Zugriffskontrolle mit Amazon Lake Formation registrieren Sie die zuvor angelegten S3 Buckets im Data Lake:
    • Klicken sie dazu im Service Amazon Lake Formation in der linken Menüleiste auf Dashboard → Stage 1 Register Location
    • Als Amazon S3 path geben Sie Ihren S3 Bucket Pfad ein:
    s3://your-prefix-forecast-blog-landing
    • Klick auf Register location

Register location
Register location
(Bild: AWS)

Wiederholen Sie den Schritt 3 für die Buckets:
• s3://your-prefix-forecast-blog-processed
• s3://your-prefix-forecast-blog-published

Aufsetzen des Lake Formation Data Catalog für Ihren Data Lake

In Ihrem Lake Formation Data Catalog legen Sie drei Datenbanken an – eine für jeden vorher angelegten S3-Bucket. Alle AWS Glue-Datentransformationen werden auf diesen Datenbanken ausgeführt.

1. Um die folgende Konfiguration vornehmen zu können, melden Sie sich zunächst von der AWS-Managementkonsole ab und mit dem zuvor erstellten IAM-Benutzer data_lake_administrator wieder an.

2. Wechseln Sie nach Anmeldung in den Amazon Lake Formation Service, indem Sie in der Kopfleiste der AWS-Managementkonsole auf Services klicken → Geben Sie in der Suchmaske Lake Formation ein und wählen Sie den Service aus:

1. Wählen Sie im Amazon Lake Formation Service in der linken Menüleiste Databases aus und klicken Sie auf Create database

2. Name: your-prefix-forecast-blog-landing-db

3. Location: s3://your-prefix-forecast-blog-landing

4. Deaktivieren Sie die Checkbox Use only IAM access control for new tables in this database

5. Klicken Sie auf Create database

Create database
Create database
(Bild: AWS)

Wiederholen Sie die Schritte 2.1. – 2.5. für:

your-prefix-forecast-blog-processed

• your-prefix-forecast-blog-published

3. Wählen Sie im Service Amazon Lake Formation in der linken Menüleiste Databases aus:

1. Auswahl Radiobutton your-prefix-forecast-blog-landing-dbActions → Grant

Databases
Databases
(Bild: AWS)

2. Wählen Sie unter IAM users and roles die GLUE_WORFKLOW_ROLE aus

3. Wählen Sie die Checkbox Create table aus

4. Klick auf Grant

Grant permissions
Grant permissions
(Bild: AWS)

Nun haben Sie Ihren Data Lake mit den unten abgebildeten Ressourcen mit AWS Lake Formation aufgesetzt. Das Verschieben der Informationen in den Data Lake ist Thema des zweiten Teils dieses Artikels.

Lake Formation Security
Lake Formation Security
(Bild: AWS)

Artikelfiles und Artikellinks

(ID:46868108)