Bootstrapping von AWS-Konten für nahtlose Backstage.io-Integration
by Keiran Holloway, Senior Technical Manager - EMEA Professional Services, Rackspace Technology
Einführung
Der Einstieg in die Backstage.io-Plattform bringt einige anfängliche Herausforderungen mit sich, insbesondere die Einrichtung eines Interaktionsmechanismus mit Ihrem Cloud-Service-Anbieter. Dieser Beitrag beleuchtet den Ansatz, den Rackspace Technology für die nahtlose Integration von Amazon Web Services (AWS)-Konten mit Backstage verwendet, einem Eckpfeiler für einen reibungslosen und effizienten Entwicklungsworkflow.
Unser Ziel
Unser Ziel ist simpel, aber wichtig:
- Ermöglichen Sie Backstage und CI/CD-Pipelines die Interaktion mit AWS-Services.
- Sicherstellen, dass die Dienste in Backstage auffindbar sind.
- Behalten Sie Einfachheit und Effizienz bei und minimieren Sie den Aufwand für ein maximales Ergebnis.
Dieses Vorhaben führte zur Erstellung einer unserer ersten Backstage-Vorlagen, die die Einführung der Plattform erleichtern und die Interaktion mit der Cloud vereinfachen soll.
Unser Ansatz
Es gibt zwar zahlreiche potenzielle Strategien für die Integration von Cloud-Diensten, aber wir stellen Ihnen hier eine Methode vor, die auf die schnelle MVP-Entwicklung zugeschnitten ist. Es ist keine Einheitslösung, die für alle gilt. Es ist ein Konzept, das für viele unserer Projekte von großem Nutzen war und als Inspiration für andere Umsetzungsstrategien dient. Ein Überblick über unseren Arbeitsablauf umfasst Folgendes:
< Drupal-Entität data-align="left" data-embed-button="media_entity_embed" data-entity-embed-display="view_mode:media.full" data-entity-type="media" data-entity-uuid="ffc70d81-8bc0-42e9-b646-2faec089e354" data-langcode="en"> < /drupal-entity>
Voraussetzungen
Um den Prozess in Gang zu setzen, benötigen Sie:
- AWS-Anmeldeinformationen: Temporäre Zugangsdaten für das AWS-Zielkonto
- AWS-Region: Die Zielregion für die Bereitstellung ist normalerweise US-EAST-1
AWS-Authentifizierung
Die Authentifizierung gegenüber AWS ist der erste Schritt, der Folgendes erfordert:
- Ein bestehendes AWS-Konto
- Eine IAM-Rolle, die Backstage übernehmen kann
- Ein Benutzerkonto mit temporären Zugangsdaten für Backstage
Diese Einrichtung ermöglicht die Einspeisung von Anmeldeinformationen in die Backstage-Bootstrap-Vorlage und legt damit die Grundlage für weitere Aktionen.
Handhabung von Berechtigungsnachweisen
Mit der benutzerdefinierten Aktion aws:get: credentials von Rackspace Technology werden die bereitgestellten AWS-Anmeldedaten als Umgebungsvariablen analysiert und geladen. Die Anmeldeinformationen werden dann gegenüber den AWS-APIs authentifiziert, wodurch der Zugriff von Backstage auf die AWS-Dienste gesichert wird.
Automatisierung der Infrastruktur
- ASW CloudFormation für die Erstellung von AWS IAM-Rollen: Wir automatisieren die Bereitstellung der erforderlichen AWS Identity and Access Management (IAM)-Rollen über ASW CloudFormation, wobei wir uns an eine Namenskonvention halten und ein Zugriffsmodell mit den geringsten Rechten sicherstellen.
- OICD-Identitätsanbieter einrichten: Einrichten einer OpenID Connect- und OpenID Provider-Brücke GitHub-Aktionen mit AWS IAM-Rollen.
- Einrichtung von S3 und DynamoDB: Wir erstellen S3-Buckets und DynamoDB-Tabellen nach bestimmten Namenskonventionen, die für die Verwaltung von Terraform-Zuständen und die Gewährleistung der Sicherheit bei gleichzeitigem Betrieb unerlässlich sind.
Struktur des Repository
Unsere Vorlage gliedert das Repository in verschiedene Schichten, die unterschiedliche Aspekte der Infrastruktur- und Servicebereitstellung abdecken, darunter:
- /bootstrap: Für anfängliche Einrichtungsskripte
- /Grundlage: Für Kernnetz- und Landezonen-Konfigurationen
- /Dienste: Für die Bereitstellung und Verwaltung von dienstspezifischen Ressourcen
- /fullstack: Für umfassende Vorlagen, die mehrere Infrastrukturebenen umfassen
Diese Struktur vereinfacht nicht nur die Entwicklung, sondern steht auch im Einklang mit den bewährten Verfahren für Infrastructure as Code (IaC).
Anmeldung zum Backstage-Katalog
Zum Abschluss des Prozesses registrieren wir die neu konfigurierte Entität im Softwarekatalog von Backstage, damit sie über die Plattform sichtbar und verwaltbar wird.
Fazit
Unsere Reise durch die Integration von AWS-Konten mit Backstage unterstreicht die Bedeutung eines methodischen und schlanken Ansatzes. Indem wir unsere Erfahrungen weitergeben, hoffen wir, Entwickler in die Lage zu versetzen, robuste, effiziente und skalierbare Lösungen zu entwickeln und das volle Potenzial von Backstage zu nutzen, um ihr Entwicklungs-Ökosystem zu verbessern.
Recent Posts
Der Bericht über den Zustand der Cloud 2025
Januar 10th, 2025
Google Cloud Hybrid Networking-Muster - Teil 2
Oktober 16th, 2024
Google Cloud Hybrid Networking-Muster - Teil 2
Oktober 15th, 2024
How Rackspace Leverages AWS Systems Manager
Oktober 9th, 2024
Windows Server verhindert Zeitsynchronisation mit Rackspace NTP
Oktober 3rd, 2024