App Runner-Dienst, der auf einem Quellbild basiert - AWS App Runner

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.

App Runner-Dienst, der auf einem Quellbild basiert

Sie können AWS App Runner damit Dienste erstellen und verwalten, die auf zwei grundlegend unterschiedlichen Typen von Dienstquellen basieren: Quellcode und Quell-Image. Unabhängig vom Quelltyp kümmert sich App Runner um das Starten, Ausführen, Skalieren und den Lastenausgleich Ihres Dienstes. Sie können die CI/CD-Funktion von App Runner verwenden, um Änderungen an Ihrem Quell-Image oder Code nachzuverfolgen. Wenn App Runner eine Änderung entdeckt, erstellt es automatisch die neue Version (für den Quellcode) und stellt sie für Ihren App Runner-Dienst bereit.

In diesem Kapitel werden Dienste beschrieben, die auf einem Quell-Image basieren. Informationen zu Diensten, die auf Quellcode basieren, finden Sie unterApp Runner-Dienst basiert auf Quellcode.

Ein Quell-Image ist ein öffentliches oder privates Container-Image, das in einem Image-Repository gespeichert ist. Sie verweisen App Runner auf ein Image und es startet einen Dienst, der einen Container ausführt, der auf diesem Image basiert. Es ist keine Erstellungsphase erforderlich. Vielmehr stellen Sie ein ready-to-deploy Bild bereit.

Anbieter von Bild-Repositorien

App Runner unterstützt die folgenden Image-Repository-Anbieter:

  • Amazon Elastic Container Registry (Amazon ECR) — Speichert Bilder, die privat für einen AWS-Konto sind.

  • Amazon Elastic Container Registry Public (Amazon ECR Public) — Speichert Bilder, die öffentlich lesbar sind.

Verwenden eines in Amazon ECR gespeicherten Bildes in Ihrem Konto AWS

Amazon ECR speichert Bilder in Repositorys. Es gibt private und öffentliche Repositorien. Um Ihr Image aus einem privaten Repository für einen App Runner-Service bereitzustellen, benötigt App Runner die Erlaubnis, Ihr Image aus Amazon ECR zu lesen. Um App Runner diese Berechtigung zu erteilen, müssen Sie App Runner eine Zugriffsrolle zuweisen. Dies ist eine AWS Identity and Access Management (IAM-) Rolle, die über die erforderlichen Amazon ECR-Aktionsberechtigungen verfügt. Wenn Sie die App Runner-Konsole verwenden, um den Service zu erstellen, können Sie eine bestehende Rolle in Ihrem Konto auswählen. Alternativ können Sie die IAM-Konsole verwenden, um eine neue benutzerdefinierte Rolle zu erstellen. Sie können auch festlegen, dass die App Runner-Konsole auf der Grundlage verwalteter Richtlinien eine Rolle für Sie erstellt.

Wenn Sie die App Runner API oder die verwenden AWS CLI, führen Sie einen zweistufigen Prozess durch. Zunächst verwenden Sie die IAM-Konsole, um eine Zugriffsrolle zu erstellen. Sie können eine verwaltete Richtlinie verwenden, die App Runner bereitstellt, oder Ihre eigenen benutzerdefinierten Berechtigungen eingeben. Anschließend geben Sie die Zugriffsrolle bei der Diensterstellung mithilfe der CreateServiceAPI-Aktion an.

Informationen zur Erstellung des App Runner-Dienstes finden Sie unterEinen App Runner-Dienst erstellen.

Verwenden eines in Amazon ECR gespeicherten Bildes in einem anderen Konto AWS

Wenn Sie einen App Runner-Service erstellen, können Sie ein Bild verwenden, das in einem Amazon ECR-Repository gespeichert ist und zu einem anderen AWS Konto gehört als dem, in dem sich Ihr Service befindet. Bei der Verwendung eines kontoübergreifenden Images sind zusätzlich zu den im vorherigen Abschnitt über ein Bild für dasselbe Konto aufgeführten Überlegungen einige weitere Überlegungen zu beachten.

  • Dem kontoübergreifenden Repository sollte eine Richtlinie beigefügt sein. Die Repository-Richtlinie gewährt Ihrer Zugriffsrolle Berechtigungen zum Lesen von Bildern im Repository. Verwenden Sie zu diesem Zweck die folgende Richtlinie. access-role-arnErsetzen Sie es durch den Amazon-Ressourcennamen (ARN) Ihrer Zugriffsrolle.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "access-role-arn" }, "Action": [ "ecr:BatchGetImage", "ecr:DescribeImages", "ecr:GetDownloadUrlForLayer" ] } ] }

    Informationen zum Anhängen einer Repository-Richtlinie an ein Amazon ECR-Repository finden Sie unter Setting a repository policy statement im Amazon Elastic Container Registry-Benutzerhandbuch.

  • App Runner unterstützt keine automatische Bereitstellung von Amazon ECR-Images in einem anderen Konto als dem, in dem sich Ihr Service befindet.

Verwenden eines in Amazon ECR Public gespeicherten Bildes

Amazon ECR Public speichert öffentlich lesbare Bilder. Dies sind die Hauptunterschiede zwischen Amazon ECR und Amazon ECR Public, die Sie im Zusammenhang mit App Runner-Diensten beachten sollten:

  • Öffentliche Amazon ECR Images sind öffentlich lesbar. Sie müssen keine Zugriffsrolle angeben, wenn Sie einen Service erstellen, der auf einem Amazon ECR Public Image basiert. An das Repository müssen keine Richtlinien angehängt werden.

  • App Runner unterstützt keine automatische (kontinuierliche) Bereitstellung von Amazon ECR Public Images.

Starten Sie einen Service direkt von Amazon ECR Public

Sie können Container-Images kompatibler Webanwendungen, die in der Amazon ECR Public Gallery gehostet werden, direkt als Webservices starten, die auf App Runner ausgeführt werden. Suchen Sie beim Durchsuchen der Galerie auf der Galerie-Seite nach Launch with App Runner nach einem Bild. Ein Bild mit dieser Option ist mit App Runner kompatibel. Weitere Informationen zur Galerie finden Sie unter Verwenden der Amazon ECR Public Gallery im Amazon ECR Public-Benutzerhandbuch.

Die öffentliche Galerie von Amazon ECR zeigt eine Container-Image-Seite mit einer Schaltfläche „Mit App Runner starten“
Um ein Galeriebild als App Runner-Service zu starten
  1. Wählen Sie auf der Galerieseite eines Bilds die Option Mit App Runner starten aus.

    Ergebnis: Die App Runner-Konsole wird in einem neuen Browser-Tab geöffnet. In der Konsole wird der Assistent zum Erstellen von Diensten angezeigt, in dem die meisten erforderlichen neuen Dienstdetails bereits ausgefüllt sind.

  2. Wenn Sie Ihren Service in einer anderen AWS Region als der, die in der Konsole angezeigt wird, erstellen möchten, wählen Sie die Region aus, die in der Kopfzeile der Konsole angezeigt wird. Wählen Sie dann eine andere Region aus.

  3. Geben Sie für Port die Portnummer ein, auf der die Image-Anwendung lauscht. Sie finden ihn normalerweise auf der Galerieseite für das Bild.

  4. Ändern Sie optional alle anderen Konfigurationsdetails.

  5. Wählen Sie Weiter, überprüfen Sie die Einstellungen und wählen Sie dann Create & Deploy aus.

Beispiel für ein Bild

Das App Runner-Team verwaltet das hello-app-runnerBeispielbild in einer Amazon ECR Public Gallery. Sie können dieses Beispiel verwenden, um mit der Erstellung eines imagebasierten App Runner-Dienstes zu beginnen. Weitere Informationen finden Sie unter. hello-app-runner