AWS CodeStar einrichten Amazon Web Services für Entwickler, Teil 1

AWS Codestar erlaubt nicht nur das Hosten von (Web)Anwendungen in der Cloud, sondern auch deren Entwicklung in einer gehosteten Entwicklungs- und Deployment-Umgebung.

Amazon Web Services baut kontinuierlich sein Portfolio an Cloud-Diensten aus. Einige davon richten sich explizit an Software-Entwickler, darunter AWS CodeStar, CodeCommit, CodeBuild, CodeDeploy und CodePipeline. Genau solche Dienste schauen wir uns in dieser Reihe an.

Stand Anfang 2018 konnte der Cloud-affine Kunde in Amazon Web Services (AWS) rund 140 Dienste on demand buchen – und es werden immer mehr. So nimmt auch die Zahl der Services zu, die sich speziell an Entwickler richten. In diesem Workshop befassen wir uns mit der Einrichtung entsprechender Dienste.

Was ist AWS CodeStar?

AWS CodeStar wurde erstmals im April 2017 präsentiert. Der Cloud-Service soll Entwicklern das Erstellen, Bereitstellen, Verwalten und Bearbeiten von Software-Entwicklungsprojekten auf AWS ermöglichen bzw. erleichtern.

Jedes CodeStar-Projekt erstellt und integriert AWS-Services für die persönliche Projektentwicklungs-Toolchain. Welche das sind, hängt von der gewählten Projektvorlage ab. Dazu gehören z. B. Dinge wie Quellenkontrolle, Entwicklung, Bereitstellung, virtuelle Server oder serverlose Ressourcen und mehr.

AWS CodeStar verwaltet darüber hinaus aber auch alle notwendigen Berechtigungen für die (als „Teammitglieder“ bezeichneten) Projektmitarbeiter. Fügt man z. B. einen Benutzer als Teammitglied hinzu, können Projekteigentümer ihm eine Rolle zuweisen, die den jeweiligen Zugriff auf das Projekt nebst zugehöriger Ressourcen gewährt.

Use-Cases für CodeStar

Selbstverständlich können AWS-Kunden auch ohne CodeStar ihre Anwendungsentwicklung in der Cloud betreiben. Dies ist schließlich eine der wichtigsten Anwendungsfälle von Cloud Computing im Allgemeinen und AWS im Besonderen. Mit CodeStar können einzelne Entwickler eines Unternehmens oder gar das ganze Unternehmen ihre Entwicklung aber komfortabel über ein einzelnes, zentrales Dashboard steuern.

Neue Softwareprojekte lassen sich beispielsweise binnen Minuten mithilfe von Vorlagen für Web-Anwendungen, Web-Services usw. bereitstellen, verschiedene Projektarten und Programmiersprachen werden dabei berücksichtigt. Das ginge zwar auch von Hand, weil CodeStar aber die komplette Einrichtung übernimmt, passen sämtliche Projektressourcen immer perfekt zusammen und sind jeweils so konfiguriert, dass sie optimal zusammenarbeiten.

AWS CodeStar verwaltet auch den Projektzugriff ganzer Teams. Hierfür steht eine zentrale Konsole zur Verfügung, mit deren Hilfe Projektverantwortliche den Teammitgliedern bestimmte Tools und Ressourcen abhängig von ihren Rollen zuweisen können. Alle erforderlichen Berechtigungen werden automatisch auf sämtliche im Projekt verwendeten AWS-Services angewendet, so dass Teamleiter oder Entwickler nicht eigenhändig ggf. komplexe IAM-Richtlinien erstellen und verwalten müssen.

Das Projekt-Dashboard ermöglicht das Zusammenarbeiten an sämtlichen Projekten an einem zentralen Ort und bietet z. B. einen Überblick über das Projekt, die Toolchain und alle wichtigen Events. Ferner können Teammitglieder Aktivitäten wie Code-Commits überwachen oder den Status von Code-Änderungen, Build-Ergebnisse und Bereitstellungen verfolgen.

Zudem enthält AWS CodeStar eine individuelle Entwicklungs-Toolchain für jedes Projekt. So übertragen Teammitglieder z. B. Code, wonach Änderungen automatisch bereitgestellt werden. Dank der Integration mit dem Issue Tracker erkennen Teammitglieder unter anderem, welche Aufgaben als Nächstes auszuführen sind.

Im folgenden Beispiel nutzen wir AWS CodeStar zum Erstellen einer Web-Anwendung. Das Projekt soll aus einem Quell-Repository bestehen, das einen Beispiel-Code enthält, sowie aus einer kontinuierlichen Toolchain für die Bereitstellung und dem obligatorischen Projekt-Dashboard.

Vorbereitung

Bevor man ein Projekt erstellen kann, ist es erforderlich, AWS CodeStar grundlegend einzurichten und eine entsprechende Service-Rolle zuzuweisen. Das Teammitglied, dem diese Aufgabe zuteil wird, muss zwingend ein administrativer Nutzer in IAM sein. Ist ein solcher Zugriff noch nicht vorhanden, gilt es zunächst, einen neuen IAM-Nutzer anzulegen und für ihn ein neues EC2-RSA-Schlüsselpaar für AWS-CodeStar-Projekte zu generieren. Dies geschieht im EC2-Dashboard unter „Network & Security / Key Pairs“.

Nun geht es daran, an der CodeStar-Konsole die erwähnte Service-Rolle für AWS CodeStar zu erstellen. Dazu klickt man auf „Start Project“ und dann im Dialogfeld „Create Service Role“ auf „Yes, create role“. Dies könnte man zwar auch in erster Instanz veranlassen, aber spätestens jetzt sollte man ohnehin über einen IAM-Nutzer verfügen.

Der Grund hierfür ist, dass AWS CodeStar keine verbundenen Benutzer (Federation User) unterstützt, von der Bedienung über ein AWS-Stammkonto ist aber aus Sicherheitsgründen dringend abzuraten. Erstellt man später Projekte in AWS CodeStar, wendet man im IAM-Dashboard die verwaltete Richtlinie „AWSCodeStarFullAccess“ auf den betreffenden IAM-Benutzer an.

Hier weiterlesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.