

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.

# Erste Schritte
<a name="getstarted"></a>

 Sie können damit beginnen, AWS Service Catalog indem Sie eine der gut gestalteten Produktvorlagen in der Bibliothek „Erste Schritte“ verwenden oder die Schritte in einem der Tutorials für die ersten Schritte befolgen. 

 In diesem Tutorial führen Sie Aufgaben als Katalogadministrator und Endbenutzer aus. Als Katalogadministrator erstellen Sie ein Portfolio und anschließend ein Produkt. Als Endbenutzer stellen Sie sicher, dass Sie auf die Endbenutzerkonsole zugreifen und das Produkt starten können. Bei dem Produkt handelt es sich um eines der folgenden Produkte: 
+ Eine Cloud-Entwicklungsumgebung, die auf Amazon Linux läuft und auf einer CloudFormation Vorlage basiert, die die AWS Ressourcen definiert, die das Produkt verwenden kann.
+ Eine Open-Source-Umgebung, die auf einer Terraform-Provisioning-Engine läuft und auf einer Konfigurationsdatei tar.gz basiert, die die AWS Ressourcen definiert, die das Produkt verwenden kann. 

**Anmerkung**  
 Bevor Sie beginnen, stellen Sie sicher, dass Sie die Aktionspunkte in abgeschlossen haben. [Einrichten AWS Service Catalog](setup.md) 

**Topics**
+ [

# Bibliothek „Erste Schritte“
](getstarted-library.md)
+ [

# Erste Schritte mit einem CloudFormation Produkt
](getstarted-CFN.md)
+ [

# Erste Schritte mit einem Terraform-Produkt
](getstarted-Terraform.md)

# Bibliothek „Erste Schritte“
<a name="getstarted-library"></a>

 AWS Service Catalog bietet eine Bibliothek „Erste Schritte“ mit gut gestalteten Produktvorlagen, sodass Sie schnell loslegen können. Sie können jedes der Produkte in unseren Erste Schritte-Bibliotheksportfolios in Ihr eigenes Konto kopieren und sie dann an Ihre Anforderungen anpassen. 

**Topics**
+ [

## Voraussetzungen
](#getting-started-library-prereqs)
+ [

## Weitere Informationen
](#getting-started-library-learn-more)

## Voraussetzungen
<a name="getting-started-library-prereqs"></a>

 Bevor Sie die Vorlagen in unserer Bibliothek „Erste Schritte“ verwenden, stellen Sie sicher, dass Sie Folgendes besitzen: 
+ Die erforderlichen Berechtigungen zur Verwendung CloudFormation von Vorlagen. Weitere Informationen finden Sie unter [Steuern des Zugriffs mit AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html).
+ Die erforderlichen Administratorberechtigungen zum Verwalten von AWS Service Catalog. Weitere Informationen finden Sie unter [Identity and Access Management in AWS Service Catalog](controlling_access.md).

## Weitere Informationen
<a name="getting-started-library-learn-more"></a>

[Weitere Informationen zum Well-Architected-Framework finden Sie unter AWS Well-Architected.](https://aws.amazon.com/architecture/well-architected/) 

# Erste Schritte mit einem CloudFormation Produkt
<a name="getstarted-CFN"></a>

 Sie können damit beginnen, AWS Service Catalog indem Sie eine der gut gestalteten Produktvorlagen in der Bibliothek „Erste Schritte“ verwenden oder die Schritte im Tutorial „Erste Schritte“ befolgen. 

 In diesem Tutorial führen Sie Aufgaben als Katalogadministrator und Endbenutzer aus. Als Katalogadministrator erstellen Sie ein Portfolio und anschließend ein Produkt. Als Endbenutzer stellen Sie sicher, dass Sie auf die Endbenutzerkonsole zugreifen und das Produkt starten können. Das Produkt ist eine Cloud-Entwicklungsumgebung, die auf Amazon Linux läuft und auf einer CloudFormation Vorlage basiert, die die AWS Ressourcen definiert, die das Produkt verwenden kann. 

**Anmerkung**  
 Bevor Sie beginnen, stellen Sie sicher, dass Sie die Aktionspunkte in abgeschlossen haben[Einrichten AWS Service Catalog](setup.md). 

**Topics**
+ [

# Schritt 1: Laden Sie die CloudFormation Vorlage herunter
](getstarted-template.md)
+ [

# Schritt 2: Erstellen eines Schlüsselpaares
](getstarted-keypair.md)
+ [

# Schritt 3: Erstellen Sie ein Portfolio
](getstarted-portfolio.md)
+ [

# Schritt 4: Erstellen Sie ein neues Produkt im Portfolio
](getstarted-product.md)
+ [

# Schritt 5: Fügen Sie eine Vorlagenbeschränkung hinzu, um die Instanzgröße zu begrenzen
](getstarted-constraint.md)
+ [

# Schritt 6: Fügen Sie eine Startbeschränkung hinzu, um eine IAM-Rolle zuzuweisen
](getstarted-launchconstraint.md)
+ [

# Schritt 7: Gewähren Sie Endbenutzern Zugriff auf das Portfolio
](getstarted-deploy.md)
+ [

# Schritt 8: Testen Sie die Endbenutzererfahrung
](getstarted-verify.md)

# Schritt 1: Laden Sie die CloudFormation Vorlage herunter
<a name="getstarted-template"></a>

 Sie können CloudFormation Vorlagen verwenden, um Portfolios und Produkte zu konfigurieren und bereitzustellen. Bei diesen Vorlagen handelt es sich um Textdateien, die in JSON oder YAML formatiert werden können und die Ressourcen beschreiben, die Sie bereitstellen möchten. Weitere Informationen finden Sie unter [Vorlagenformate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-formats.html) im *CloudFormation -Benutzerhandbuch*. Sie können den AWS CloudFormation Editor oder einen Texteditor Ihrer Wahl verwenden, um Vorlagen zu erstellen und zu speichern. In diesem Tutorial stellen wir eine einfache Vorlage zur Verfügung, damit Sie loslegen können. Die Vorlage startet eine einzelne Linux-Instanz, die für den SSH-Zugriff konfiguriert ist. 

**Anmerkung**  
 Für die Verwendung von CloudFormation Vorlagen sind spezielle Berechtigungen erforderlich. Bevor Sie beginnen, stellen Sie sicher, dass Sie über die richtigen Berechtigungen verfügen. Weitere Informationen zu den Voraussetzungen finden Sie unter[Bibliothek „Erste Schritte“](getstarted-library.md). 

## Herunterladen der Vorlage
<a name="template-download"></a>

Die für dieses Tutorial bereitgestellte Beispielvorlage ist unter [https://awsdocs.s3.amazonaws.com/servicecatalog/development-environment.template](https://awsdocs.s3.amazonaws.com/servicecatalog/development-environment.template) verfügbar. `development-environment.template`

## Vorlagen – Übersicht
<a name="template-overview"></a>

Der Text der Beispielvorlage lautet wie folgt:

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",

  "Description" : "AWS Service Catalog sample template. Creates an Amazon EC2 instance 
                    running the Amazon Linux AMI. The AMI is chosen based on the region 
                    in which the stack is run. This example creates an EC2 security 
                    group for the instance to give you SSH access. **WARNING** This 
                    template creates an Amazon EC2 instance. You will be billed for the AWS resources used if you create a stack from this template.",

  "Parameters" : {
    "KeyName": {
      "Description" : "Name of an existing EC2 key pair for SSH access to the EC2 instance.",
      "Type": "AWS::EC2::KeyPair::KeyName"
    },

    "InstanceType" : {
      "Description" : "EC2 instance type.",
      "Type" : "String",
      "Default" : "t2.micro",
      "AllowedValues" : [ "t2.micro", "t2.small", "t2.medium", "m3.medium", "m3.large", 
        "m3.xlarge", "m3.2xlarge" ]
    },

    "SSHLocation" : {
      "Description" : "The IP address range that can SSH to the EC2 instance.",
      "Type": "String",
      "MinLength": "9",
      "MaxLength": "18",
      "Default": "0.0.0.0/0",
      "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
      "ConstraintDescription": "Must be a valid IP CIDR range of the form x.x.x.x/x."
   }
  },

  "Metadata" : {
    "AWS::CloudFormation::Interface" : {
      "ParameterGroups" : [{
        "Label" : {"default": "Instance configuration"},
        "Parameters" : ["InstanceType"]
      },{
        "Label" : {"default": "Security configuration"},
        "Parameters" : ["KeyName", "SSHLocation"]
      }],
      "ParameterLabels" : {
        "InstanceType": {"default": "Server size:"},
        "KeyName": {"default": "Key pair:"},
        "SSHLocation": {"default": "CIDR range:"}
      }
    }
  },

  "Mappings" : {
    "AWSRegionArch2AMI" : {
      "us-east-1"      : { "HVM64" : "ami-08842d60" },
      "us-west-2"      : { "HVM64" : "ami-8786c6b7" },
      "us-west-1"      : { "HVM64" : "ami-cfa8a18a" },
      "eu-west-1"      : { "HVM64" : "ami-748e2903" },
      "ap-southeast-1" : { "HVM64" : "ami-d6e1c584" },
      "ap-northeast-1" : { "HVM64" : "ami-35072834" },
      "ap-southeast-2" : { "HVM64" : "ami-fd4724c7" },
      "sa-east-1"      : { "HVM64" : "ami-956cc688" },
      "cn-north-1"     : { "HVM64" : "ami-ac57c595" },
      "eu-central-1"   : { "HVM64" : "ami-b43503a9" }
    }

  },

  "Resources" : {
    "EC2Instance" : {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "InstanceType" : { "Ref" : "InstanceType" },
        "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
        "KeyName" : { "Ref" : "KeyName" },
        "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, "HVM64" ] }
      }
    },

    "InstanceSecurityGroup" : {
      "Type" : "AWS::EC2::SecurityGroup",
      "Properties" : {
        "GroupDescription" : "Enable SSH access via port 22",
        "SecurityGroupIngress" : [ {
          "IpProtocol" : "tcp",
          "FromPort" : "22",
          "ToPort" : "22",
          "CidrIp" : { "Ref" : "SSHLocation"}
        } ]
      }
    }
  },

  "Outputs" : {
    "PublicDNSName" : {
      "Description" : "Public DNS name of the new EC2 instance",
      "Value" : { "Fn::GetAtt" : [ "EC2Instance", "PublicDnsName" ] }
    },
    "PublicIPAddress" : {
      "Description" : "Public IP address of the new EC2 instance",
      "Value" : { "Fn::GetAtt" : [ "EC2Instance", "PublicIp" ] }
    }
  }
}
```

**Vorlagenressourcen**

Die Vorlage deklariert Ressourcen, die erstellt werden, wenn das Produkt gestartet wird. Sie besteht aus folgenden Abschnitten:
+ **AWSTemplateFormatVersion**(optional) — Die Version des [AWS Vorlagenformats, das zur Erstellung dieser Vorlage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/format-version-structure.html) verwendet wurde. Die neueste Version des Vorlagenformats ist 2010-09-09 und ist derzeit der einzig gültige Wert.
+ **Beschreibung** (optional) — Eine Beschreibung der Vorlage.
+ **Parameter** (optional) — Die Parameter, die Ihr Benutzer angeben muss, um das Produkt zu starten. Für jeden Parameter enthält die Vorlage eine Beschreibung und Einschränkungen, die der eingegebene Wert erfüllen muss. Weitere Informationen zu den Einschränkungen finden Sie unter [AWS Service Catalog Einschränkungen verwenden](constraints.md).

  Mit dem `KeyName` Parameter können Sie einen Namen für das Amazon Elastic Compute Cloud (Amazon EC2) -Schlüsselpaar angeben, den Endbenutzer angeben müssen, wenn sie Ihr Produkt AWS Service Catalog auf den Markt bringen. Das Schlüsselpaar erstellen Sie im nächsten Schritt.
+ **Metadaten** (optional) — Objekte, die zusätzliche Informationen zur Vorlage bereitstellen. Der Schlüssel [AWS::CloudFormation: :Interface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-interface.html) definiert, wie die Endbenutzer-Konsolenansicht Parameter anzeigt. Die Eigenschaft `ParameterGroups` legt fest, wie Parameter gruppiert werden und welche Überschriften die Gruppen erhalten. Die Eigenschaft `ParameterLabels` definiert benutzerfreundliche Parameternamen. Wenn ein Benutzer Parameter zum Starten eines Produkts auf Basis dieser Vorlage angibt, zeigt die Endbenutzer-Konsolenansicht den Parameter mit der Bezeichnung `Server size:` unter der Überschrift `Instance configuration` und die Parameter mit der Bezeichnung `Key pair:` und `CIDR range:` unter der Überschrift `Security configuration` an.
+ **Zuordnungen** (optional) — Eine Zuordnung von Schlüsseln und zugehörigen Werten, mit der Sie bedingte Parameterwerte angeben können, ähnlich einer Nachschlagetabelle. Sie können einen Schlüssel einem entsprechenden Wert zuordnen, indem Sie die systemeigene Funktion [Fn:: FindInMap](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) in den Abschnitten Ressourcen und Ausgaben verwenden. Die obige Vorlage enthält eine Liste der AWS Regionen und das Amazon Machine Image (AMI), das jeder Region entspricht. AWS Service Catalog verwendet diese Zuordnung, um anhand der AWS Region, die der Benutzer in der auswählt, zu bestimmen, welches AMI verwendet werden soll AWS-Managementkonsole.
+ **Ressourcen** (erforderlich) — Stack-Ressourcen und ihre Eigenschaften. Sie können in den Abschnitten **Ressourcen** und **Ausgaben** der Vorlage auf Ressourcen verweisen. In der obigen Vorlage geben wir eine EC2 Instance an, auf der Amazon Linux ausgeführt wird, und eine Sicherheitsgruppe, die den SSH-Zugriff auf die Instance ermöglicht. Der Abschnitt **Eigenschaften** der EC2 Instance-Ressource verwendet die Informationen, die der Benutzer eingibt, um den Instance-Typ und einen Schlüsselnamen für den SSH-Zugriff zu konfigurieren.

  CloudFormation verwendet die aktuelle AWS Region, um die AMI-ID aus den zuvor definierten Zuordnungen auszuwählen, und weist ihr eine Sicherheitsgruppe zu. Die Sicherheitsgruppe wird so konfiguriert, dass der eingehende Zugriff auf Port 22 aus dem CIDR-IP-Adressbereich, den der Benutzer angibt, zugelassen wird.
+ **Ausgaben** (optional) — Text, der den Benutzer darüber informiert, wann die Produkteinführung abgeschlossen ist. Die angegebene Vorlage ruft den öffentlichen DNS-Namen der gestarteten Instance ab und zeigt sie dem Benutzer an. Der Benutzer benötigt den DNS-Namen zum Herstellen einer Verbindung mit der Instance per SSH.

  

  Weitere Informationen zur Seite „Aufbau der Vorlage“ finden Sie unter [Vorlagenreferenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html) im *CloudFormation Benutzerhandbuch*.

# Schritt 2: Erstellen eines Schlüsselpaares
<a name="getstarted-keypair"></a>

Damit Ihre Endbenutzer das Produkt starten können, das auf der Beispielvorlage für dieses Tutorial basiert, müssen Sie ein EC2 Amazon-Schlüsselpaar erstellen. Ein Schlüsselpaar ist eine Kombination aus einem öffentlichen Schlüssel für die Verschlüsselung von Daten und einem privaten Schlüssel, der verwendet wird, um Daten zu entschlüsseln. Für weitere Informationen über Schlüsselpaare stellen Sie sicher, dass Sie bei der AWS Konsole angemeldet sind, und lesen Sie dann [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) im * EC2 Amazon-Benutzerhandbuch*.

Die CloudFormation Vorlage für dieses Tutorial enthält den folgenden `KeyName` Parameter: `development-environment.template`

```
. . .
  "Parameters" : {
    "KeyName": {
      "Description" : "Name of an existing EC2 key pair for SSH access to the EC2 instance.",
      "Type": "AWS::EC2::KeyPair::KeyName"
    },
. . .
```

Endbenutzer müssen den Namen eines key pair angeben, wenn sie das auf der Vorlage basierende Produkt starten. AWS Service Catalog 

Wenn Sie bereits über ein Schlüsselpaar in Ihrem Konto verfügen und dieses Paar verwenden möchten, können Sie diesen Schritt überspringen und mit [Schritt 3: Erstellen Sie ein Portfolio](getstarted-portfolio.md) fortfahren. Führen Sie andernfalls die folgenden Schritte aus.

**So erstellen Sie ein Schlüsselpaar**

1. Öffnen Sie die EC2 Amazon-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich unter **Network & Security** die Option **Key Pairs** aus.

1. Wählen Sie auf der Seite **Key Pairs** die Option **Create Key Pair** aus.

1. Geben Sie im Feld **Key pair name**einen Namen ein, den Sie sich leicht merken können, und klicken Sie dann auf **Create**.

1. Wenn Sie von der Konsole dazu aufgefordert werden, die Datei mit dem privaten Schlüssel zu speichern, legen Sie diese an einem sicheren Ort ab.
**Wichtig**  
Dies ist die einzige Möglichkeit, die private Schlüsseldatei zu speichern.

# Schritt 3: Erstellen Sie ein Portfolio
<a name="getstarted-portfolio"></a>

Um Benutzern Produkte zur Verfügung zu stellen, erstellen Sie zunächst ein Portfolio für diese Produkte.

**So erstellen Sie ein Portfolio**

1. Öffnen Sie die Service Catalog-Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Wählen Sie im linken Navigationsbereich **Portfolios** und dann **Portfolio erstellen aus**. 

1. Geben Sie die folgenden Werte ein:
   + **Portfolio-Name** – **Engineering Tools**
   + **Beschreibung des Portfolios** — **Sample portfolio that contains a single product.** 
   + **Besitzer** — **IT (it@example.com)** 

1. Wählen Sie **Erstellen** aus.

# Schritt 4: Erstellen Sie ein neues Produkt im Portfolio
<a name="getstarted-product"></a>

Nachdem Sie ein Portfolio erstellt haben, sind Sie bereit, ein Produkt innerhalb des Portfolios zu erstellen. In diesem Tutorial erstellen Sie innerhalb des **Engineering Tool-Portfolios** ein Produkt namens **Linux Desktop**, eine Cloud-Entwicklungsumgebung, die auf Amazon Linux läuft.

**Um ein Produkt innerhalb eines Portfolios zu erstellen**

1. Wenn Sie den vorherigen Schritt ausgeführt haben, ist die Seite **Portfolios** bereits geöffnet. Öffnen Sie andernfalls [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Wählen Sie das **Engineering Tool-Portfolio** aus, das Sie in Schritt 2 erstellt haben, und öffnen Sie es. 

1. Wählen Sie **Neues Produkt hochladen**.

1. Geben Sie auf der Seite **Produkt erstellen** im Abschnitt Produktdetails Folgendes ein:
   + **Product name** – **Linux Desktop**
   + **Beschreibung des Produkts** — **Cloud development environment configured for engineering staff. Runs AWS Linux.**
   + **Besitzer** — **IT**
   + **Vertriebspartner** — *(leer)*

1. Wählen Sie auf der Seite mit den **Versionsdetails** die Option ** CloudFormation Vorlage verwenden** aus. Wählen Sie dann **Spezifizieren Sie eine Amazon S3 S3-Vorlagen-URL** und geben Sie Folgendes ein:
   + **Select template** – **https://awsdocs.s3.amazonaws.com/servicecatalog/development-environment.template**
   + **Titel der Version** — **v1.0**
   + **Description** (Beschreibung) – **Base Version**

1. Geben Sie im Abschnitt **Support-Details** Folgendes ein:
   + **E-Mail-Kontakt** — **ITSupport@example.com**
   + **Link zur Support** — **https://wiki.example.com/IT/support**
   + **Beschreibung des Support** — **Contact the IT department for issues deploying or connecting to this product.**

1. Wählen Sie **Produkt erstellen**.

# Schritt 5: Fügen Sie eine Vorlagenbeschränkung hinzu, um die Instanzgröße zu begrenzen
<a name="getstarted-constraint"></a>

Durch Einschränkungen wird die Kontrolle über Produkte auf Portfolioebene weiter erhöht. Einschränkungen können die Startumgebung eines Produkts (Starteinschränkungen) kontrollieren oder der CloudFormation -Vorlage Regeln hinzufügen (Vorlageneinschränkungen). Weitere Informationen finden Sie unter [AWS Service Catalog Einschränkungen verwenden](constraints.md).

Fügen Sie dem Linux Desktop-Produkt eine Vorlageneinschränkung hinzu, die verhindert, dass Benutzer beim Start große Instance-Typen auswählen. Die Entwicklungsumgebungsvorlage ermöglicht die Auswahl aus sechs Instance-Typen. Diese Einschränkung beschränkt die gültigen Instance-Typen auf die beiden kleinsten Typen `t2.micro` und `t2.small`. Weitere Informationen finden Sie unter [T2-Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html) im * EC2 Amazon-Benutzerhandbuch*.

**So fügen Sie dem Linux Desktop-Produkt eine Vorlageneinschränkung hinzu**

1. Wählen Sie auf der Seite mit den **Portfoliodetails** die Option **Einschränkungen** und anschließend **Einschränkung erstellen** aus.

1. Wählen Sie auf der Seite „**Einschränkung erstellen**“ für **Produkt** die Option **Linux Desktop** aus. Wählen Sie dann für **Einschränkungstyp** die Option **Vorlage** aus.

1. Wählen Sie im Abschnitt **Vorlageneinschränkung** die Option **Texteditor** aus.

1. Fügen Sie Folgendes in den Texteditor ein:

   ```
   {
     "Rules": {
       "Rule1": {
         "Assertions": [
           {
             "Assert" : {"Fn::Contains": [["t2.micro", "t2.small"], {"Ref": "InstanceType"}]},
             "AssertDescription": "Instance type should be t2.micro or t2.small"
           }
         ]
       }
     }
   }
   ```

1. Geben Sie als **Beschreibung der Einschränkung** ein**Small instance sizes**.

1.  Wählen Sie **Erstellen** aus. 

# Schritt 6: Fügen Sie eine Startbeschränkung hinzu, um eine IAM-Rolle zuzuweisen
<a name="getstarted-launchconstraint"></a>

 Eine Startbeschränkung bezeichnet eine IAM-Rolle, die übernommen AWS Service Catalog wird, wenn ein Endbenutzer ein Produkt auf den Markt bringt. 

 In diesem Schritt fügen Sie dem Linux Desktop-Produkt eine Startbeschränkung hinzu, sodass Sie die IAM-Ressourcen verwenden AWS Service Catalog können, aus denen sich die Produktvorlage zusammensetzt. AWS CloudFormation 

 Die IAM-Rolle, die Sie einem Produkt als Startbeschränkung zuweisen, muss über die folgenden Berechtigungen verfügen 

1. AWS CloudFormation

1. Dienste in der AWS CloudFormation Vorlage für das Produkt

1. Lesezugriff auf die AWS CloudFormation Vorlage in einem service-eigenen Amazon S3 S3-Bucket. 

Diese Startbeschränkung ermöglicht es dem Endbenutzer, das Produkt zu starten und es nach dem Start als bereitgestelltes Produkt zu verwalten. Weitere Informationen finden Sie unter [AWS Service Catalog -Starteinschränkungen](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-launch.html).

Ohne eine Startbeschränkung müssen Sie Ihren Endbenutzern zusätzliche IAM-Berechtigungen gewähren, bevor sie das Linux Desktop-Produkt verwenden können. Die `ServiceCatalogEndUserAccess` Richtlinie gewährt beispielsweise die IAM-Mindestberechtigungen, die für den Zugriff auf die Konsolenansicht für AWS Service Catalog Endbenutzer erforderlich sind. 

Durch die Verwendung einer Startbeschränkung können Sie sich an die bewährte IAM-Methode halten, die IAM-Berechtigungen für Endbenutzer auf ein Minimum zu beschränken. Weitere Informationen finden Sie unter [Gewähren von geringsten Rechten](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) im *IAM-Benutzerhandbuch*.

**So fügen Sie eine Starteinschränkung hinzu**

1. Folgen Sie den Anweisungen zum [Erstellen neuer Richtlinien auf der Registerkarte JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) im *IAM-Benutzerhandbuch*. 

1. Fügen Sie das folgende JSON-Richtliniendokument ein:
   +  `cloudformation`— Erlaubt AWS Service Catalog volle Berechtigungen zum Erstellen, Lesen, Aktualisieren, Löschen, Auflisten und Markieren von CloudFormation Stacks. 
   +  `ec2`— Ermöglicht AWS Service Catalog vollständige Berechtigungen zum Auflisten, Lesen, Schreiben, Bereitstellen und Markieren von Amazon Elastic Compute Cloud (Amazon EC2) -Ressourcen, die Teil des AWS Service Catalog Produkts sind. Abhängig von der AWS Ressource, die Sie bereitstellen möchten, kann sich diese Berechtigung ändern. 
   +  `ec2`— Erstellt eine neue verwaltete Richtlinie für Ihr AWS Konto und ordnet die angegebene verwaltete Richtlinie der angegebenen IAM-Rolle zu. 
   +  `s3`— Ermöglicht den Zugriff auf Amazon S3 S3-Buckets von AWS Service Catalog. Um das Produkt bereitzustellen, ist Zugriff auf Bereitstellungsartefakte AWS Service Catalog erforderlich. 
   +  `servicecatalog`— Erlaubt AWS Service Catalog Berechtigungen zum Auflisten, Lesen, Schreiben, Markieren und Starten von Ressourcen im Namen des Endbenutzers. 
   +  `sns`— Erlaubt AWS Service Catalog Berechtigungen zum Auflisten, Lesen, Schreiben und Markieren von Amazon SNS SNS-Themen für die Startbeschränkung. 
**Anmerkung**  
 Abhängig von den zugrunde liegenden Ressourcen, die Sie bereitstellen möchten, müssen Sie möglicherweise die Beispiel-JSON-Richtlinie ändern. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "cloudformation:CreateStack",
                   "cloudformation:DeleteStack",
                   "cloudformation:DescribeStackEvents",
                   "cloudformation:DescribeStacks",
                   "cloudformation:GetTemplateSummary",
                   "cloudformation:SetStackPolicy",
                   "cloudformation:ValidateTemplate",
                   "cloudformation:UpdateStack",
                   "ec2:*",
                   "servicecatalog:*",
                   "sns:*"
               ],
               "Resource": "*"
           },
           {
            "Effect":"Allow",
            "Action":[
               "s3:GetObject"
            ],
            "Resource":"*",
            "Condition":{
               "StringEquals":{
                  "s3:ExistingObjectTag/servicecatalog:provisioning":"true"
               }
            }
         }
       ]
   }
   ```

------

1. Wählen Sie **Weiter**, **Tags** aus.

1. Wählen Sie **Weiter,** **Überprüfen**.

1. Geben Sie auf der Seite „**Richtlinie überprüfen**“ als **Namen** den Text ein**linuxDesktopPolicy**.

1. Wählen Sie **Richtlinie erstellen** aus.

1. Wählen Sie im Navigationsbereich **Rollen**. Wählen Sie dann **Rolle erstellen** und gehen Sie wie folgt vor:

   1. **Wählen Sie für Vertrauenswürdige Entität** auswählen die Option **AWS Dienst** und dann unter **Anwendungsfall für andere AWS Dienste** die Option **Service Catalog** aus. Wählen Sie den Anwendungsfall Service Catalog aus und klicken Sie dann auf **Weiter**.

   1. Suchen Sie nach der **linuxDesktopPolicy**Richtlinie und aktivieren Sie dann das Kontrollkästchen.

   1. Wählen Sie **Weiter** aus. 

   1. Geben Sie für **Role name** (Rollenname) **linuxDesktopLaunchRole** ein.

   1. Wählen Sie **Rolle erstellen** aus.

1. Öffnen Sie die AWS Service Catalog Konsole unter [https://console.aws.amazon.com/servicecatalog](https://console.aws.amazon.com/servicecatalog.).

1. Wählen Sie das Portfolio **Engineering Tools** aus.

1. **Wählen Sie auf der Seite mit den **Portfoliodetails** die Registerkarte **Einschränkungen** und dann Einschränkung erstellen aus.**

1. Wählen Sie für **Produkt** die Option **Linux Desktop** und für **Einschränkungstyp** die Option **Launch** aus.

1. **Wählen Sie „IAM-Rolle** auswählen“. Wählen Sie als Nächstes **linuxDesktopLaunchRolle** und anschließend **Erstellen** aus. 

# Schritt 7: Gewähren Sie Endbenutzern Zugriff auf das Portfolio
<a name="getstarted-deploy"></a>

Nachdem Sie ein Portfolio erstellt und ein Produkt hinzugefügt haben, können Sie Endbenutzern Zugriff erteilen.

**Voraussetzungen**  
Wenn Sie keine IAM-Gruppe für die Endbenutzer erstellt haben, finden Sie weitere Informationen unter. [Erteilen Sie AWS Service Catalog Endbenutzern Berechtigungen](getstarted-iamenduser.md)

**So erteilen Sie Zugriff auf das Portfolio**

1. Wählen Sie auf der Seite mit den Portfoliodetails die Registerkarte **Zugriff** aus.

1. Wählen Sie **Grant access (Zugriff gewähren)**.

1. Aktivieren Sie auf der Registerkarte **Gruppen** das Kontrollkästchen für die IAM-Gruppe für die Endbenutzer.

1. Wählen Sie **Zugriff hinzufügen**.

# Schritt 8: Testen Sie die Endbenutzererfahrung
<a name="getstarted-verify"></a>

Um sicherzustellen, dass der Endbenutzer erfolgreich auf die Endbenutzerkonsole zugreifen und Ihr Produkt starten kann, melden Sie sich AWS als Endbenutzer an und führen Sie diese Aufgaben aus.

**So überprüfen Sie, ob der Endbenutzer auf die Endbenutzerkonsole zugreifen kann**

1. Folgen Sie den Anweisungen zur [Anmeldung als IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/console.html) im *IAM-Benutzerhandbuch*. 

1.  Wählen Sie in der Menüleiste die AWS Region aus, in der Sie das Portfolio erstellt haben. `Engineering Tools` Wählen Sie für dieses Tutorial die Region **us-east-1** aus.

1. Öffnen Sie die AWS Service Catalog Konsole unter, [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)um Folgendes zu sehen:
   + **Products** – Die Produkte, die der Benutzer verwenden kann.
   + **Provisioned products** – Die bereitgestellten Produkte, die der Benutzer gestartet hat.

**Um zu überprüfen, ob der Endbenutzer das Linux Desktop-Produkt starten kann**

Beachten Sie, dass Sie für dieses Tutorial die Region **us-east-1** wählen.

1. Wählen Sie im Bereich **Produkte** der Konsole **Linux** Desktop aus.

1. Wählen Sie **Produkt starten**, um den Assistenten zu starten, der Ihr Produkt konfiguriert.

1. Geben Sie auf der Seite **Launch: Linux Desktop** den **Linux-Desktop** Namen des bereitgestellten Produkts ein.

1. Geben Sie auf der Seite „**Parameter**“ Folgendes ein und wählen Sie **Weiter** aus:
   +  **Servergröße** — Wählen Sie**t2.micro**. 
   +  **Key pair** – Wählen Sie das Schlüsselpaar aus, das Sie in [Schritt 2: Erstellen eines Schlüsselpaares](getstarted-keypair.md) erstellt haben.
   +  **CIDR-Bereich** — Geben Sie einen gültigen CIDR-Bereich für die IP-Adresse ein, um eine Verbindung mit der Instance herzustellen. Sie können den Standardwert (0.0.0.0/0) verwenden, um den Zugriff von einer beliebigen IP-Adresse aus zuzulassen, dann Ihre IP-Adresse, gefolgt von, **/32** um den Zugriff nur auf Ihre IP-Adresse oder etwas dazwischen zu beschränken.

1. Wählen Sie **Produkt starten, um den Stack** zu starten. Die Konsole zeigt die Stack-Detailseite für den Linux-Desktop-Stack an. Der ursprüngliche Status des Produkts lautet **In Bearbeitung**. Die Markteinführung des Produkts dauert mehrere Minuten. AWS Service Catalog Aktualisieren Sie den Browser, um den aktuellen Status anzuzeigen. Nach der Markteinführung lautet der Status A **verfügbar**.

# Erste Schritte mit einem Terraform-Produkt
<a name="getstarted-Terraform"></a>

AWS Service Catalog [ermöglicht eine schnelle Self-Service-Bereitstellung mit integrierter Steuerung Ihrer HashiCorp Terraform-Konfigurationen.](https://developer.hashicorp.com/terraform/intro/terraform-editions) AWS Sie können es AWS Service Catalog als ein einziges Tool verwenden, um Ihre Terraform-Konfigurationen nach eigenem Ermessen zu organisieren, zu verwalten und zu verteilen. AWS AWS Service Catalog unterstützt Terraform in mehreren wichtigen Funktionen, darunter die Katalogisierung standardisierter und vorab genehmigter Terraform-Vorlagen, Zugriffskontrolle, Versionierung, Tagging und gemeinsame Nutzung für andere Konten. AWS In sehen Ihre Endbenutzer eine einfache Liste der Produkte und Versionen AWS Service Catalog, auf die sie Zugriff haben, und können diese Produkte dann in einer einzigen Aktion bereitstellen. 

**Anmerkung**  
*Um die Unterstützung von HashiCorp Technologien fortzusetzen, wurden aufgrund der jüngsten Lizenzänderungen für Terraform alle früheren Verweise von *Terraform Open* Source auf External AWS Service Catalog geändert.* Der Produkttyp External beinhaltet Unterstützung für die Terraform Community Edition, früher bekannt als Terraform Open Source. Weitere Informationen und Anweisungen zur Migration Ihrer vorhandenen Terraform Open Source-Produkte und bereitgestellten Produkte auf den Produkttyp External finden Sie unter. [Aktualisierung vorhandener Terraform Open Source-Produkte und bereitgestellter Produkte auf den Produkttyp External](update_terraform_open_source_to_external.md) 

Die Schritte im folgenden Tutorial helfen Ihnen bei den ersten Schritten mit einem Terraform-Produkt in. AWS Service Catalog

Als Katalogadministrator arbeiten Sie in einem zentralen Administratorkonto (Hub-Konto). Sowohl die Terrafrm Community Edition als auch die Terraform Cloud-Produkte benötigen eine Terraform-Provisioning-Engine, über die Sie in und mehr erfahren können. [Provisioning-Engine für die Terraform Community Edition (externer Produkttyp)](getstarted-terraform-engine.md#getstarted-terraform-engine-os) [Bereitstellungs-Engine für Terraform Cloud](getstarted-terraform-engine.md#getstarted-terraform-engine-cloud) 

Während des Tutorials führen Sie die folgenden Aufgaben im Administratorkonto aus:
+ *Erstellen Sie ein Terraform-Produkt mit dem Produkttyp *Terraform Cloud* oder External.* Service Catalog verwendet den Produkttyp External zur Unterstützung von Terraform Community Edition-Produkten. 
+ Ordnen Sie das Produkt einem Portfolio zu
+ Erstellen Sie eine Beschränkung für die Markteinführung, damit Ihre Endbenutzer das Produkt bereitstellen können
+ Kennzeichnen Sie das Produkt
+ Teilen Sie das Portfolio und das Terraform-Produkt mit dem Endbenutzerkonto (Spoke-Konto) 

Im Tutorial teilen Sie ein Portfolio mithilfe der Option zum Teilen von Organisationen über das Admin-Hub-Konto, das auch das Verwaltungskonto der Organisation ist. Weitere Informationen zur gemeinsamen Nutzung von Organisationen finden Sie unter[Freigeben eines Portfolios](catalogs_portfolios_sharing_how-to-share.md). 

Die AWS Ressource, die in dem Terraform-Produkt enthalten ist, das Sie im Tutorial erstellen, ist ein einfacher Amazon S3 S3-Bucket. 

**Anmerkung**  
 Bevor Sie beginnen, stellen Sie sicher, dass Sie die Aktionspunkte in abgeschlossen haben. [Einrichten AWS Service Catalog](setup.md) 

**Topics**
+ [

# Aktualisierung vorhandener Terraform Open Source-Produkte und bereitgestellter Produkte auf den Produkttyp External
](update_terraform_open_source_to_external.md)
+ [

# Voraussetzung: Konfigurieren Sie Ihre Terraform-Provisioning-Engine
](getstarted-terraform-engine.md)
+ [

# Schritt 1: Herunterladen der Terraform-Konfigurationsdatei
](getstarted-template-Terraform.md)
+ [

# Schritt 2: Erstellen Sie ein Terraform-Produkt
](getstarted-product-Terraform.md)
+ [

# Schritt 3: Erstellen Sie ein AWS Service Catalog Portfolio
](getstarted-portfolio-Terraform.md)
+ [

# Schritt 4: Produkt zum Portfolio hinzufügen
](getstarted-portfolio-add-product-Terraform.md)
+ [

# Schritt 5: Startrollen erstellen
](getstarted-launchrole-Terraform.md)
+ [

# Schritt 6: Fügen Sie Ihrem Terraform-Produkt eine Startbeschränkung hinzu
](getstarted-launchconstraint-Terraform.md)
+ [

# Schritt 7: Endbenutzerzugriff gewähren
](getstarted-deploy-Terraform.md)
+ [

# Schritt 8: Portfolio mit Endbenutzern teilen
](getstarted-share-portfolio-end-user-Terraform.md)
+ [

# Schritt 9: Testen Sie die Endbenutzererfahrung
](getstarted-verify-Terraform.md)
+ [

# Schritt 10: Überwachung der Terraform-Bereitstellungsvorgänge
](getstarted-monitoring-Terraform.md)

# Aktualisierung vorhandener Terraform Open Source-Produkte und bereitgestellter Produkte auf den Produkttyp External
<a name="update_terraform_open_source_to_external"></a>

*Um die Unterstützung von HashiCorp Technologien fortzusetzen, wurden aufgrund der jüngsten Lizenzänderungen für Terraform alle früheren Verweise von *Terraform* Open AWS Service Catalog Source auf External geändert.* Der Produkttyp External umfasst Unterstützung für die Terraform Community Edition, früher bekannt als Terraform Open Source. AWS Service Catalog *unterstützt Terraform Open Source nicht mehr als gültigen Produkttyp für neue Produkte oder bereitgestellte Produkte.* Sie können nur bestehende Terraform Open Source-Ressourcen aktualisieren oder kündigen, einschließlich Produktversionen und bereitgestellter Produkte.

Falls Sie dies noch nicht getan haben, müssen Sie alle vorhandenen Terraform Open Source-Produkte und bereitgestellten Produkte auf externe Produkte umstellen, indem Sie die Anweisungen in diesem Abschnitt befolgen. 

1. Aktualisieren Sie Ihre bestehende Terraform Reference Engine, sodass AWS Service Catalog sie sowohl **externe** als auch **Terraform** Open Source-Produkttypen unterstützt. [Anweisungen zur Aktualisierung Ihrer Terraform Reference Engine finden Sie in unserem Repository. GitHub ](https://github.com/aws-samples/service-catalog-engine-for-terraform-os) 

1. Erstellen Sie alle vorhandenen Terraform Open Source-Produkte mit dem neuen externen Produkttyp neu. 

1. Löschen Sie alle vorhandenen Produkte, die den Terraform Open Source-Produkttyp verwenden.

1. Stellen Sie die verbleibenden Ressourcen erneut bereit, um den neuen externen Produkttyp zu verwenden.

1. Beenden Sie alle vorhandenen bereitgestellten Produkte, die den Terraform Open Source-Produkttyp verwenden. 

Verwenden Sie nach der Umstellung Ihrer vorhandenen Produkte den Produkttyp Extern für alle neuen Produkte, die eine Konfigurationsdatei tar.gz verwenden. 

AWS Service Catalog wird Kunden bei Bedarf bei dieser Änderung unterstützen. Wenn diese Änderungen einen großen Aufwand für Ihr Konto erfordern oder sich auf kritische Produktauslastungen auswirken, wenden Sie sich an Ihren Kundenbetreuer, um Unterstützung zu erhalten. 

# Voraussetzung: Konfigurieren Sie Ihre Terraform-Provisioning-Engine
<a name="getstarted-terraform-engine"></a>

Als Voraussetzung für die Erstellung von Terraform-Produkten in AWS Service Catalog müssen Sie eine Provisioning-Engine in Ihrem Service Catalog-Administratorkonto (Hub-Konto) installieren und konfigurieren. Die Provisioning-Engine ist sowohl für Terraform Community Edition-Produkte (mit dem Produkttyp External) als auch für Terraform Cloud-Produkte (mit dem Produkttyp Terraform Cloud) erforderlich. 

**Anmerkung**  
Die Engine-Konfiguration ist eine einmalige Einrichtung, die ungefähr 30 Minuten dauert. 

## Provisioning-Engine für die Terraform Community Edition (externer Produkttyp)
<a name="getstarted-terraform-engine-os"></a>

AWS Service Catalog verwendet den Produkttyp *External* zur Unterstützung von Terraform Community Edition-Produkten. Der Produkttyp *External* unterstützt je nach Konfiguration der Provisioning-Engine auch andere Provisioning-Tools, darunter Pulumi, Ansible, Chef und mehr. 

Für AWS Service Catalog Produkte, die den Produkttyp External mit HashiCorp der Terraform Community Edition verwenden, müssen Sie eine Terraform-Provisioning-Engine in Ihrem Administratorkonto (Hub-Konto) installieren und konfigurieren. AWS Service Catalog AWS verwaltet diese Engine und ihre Ressourcen. 

AWS Service Catalog stellt ein GitHub Repository mit Anweisungen zur [Installation und Konfiguration der AWS bereitgestellten Terraform-Provisioning-Engine bereit](https://github.com/aws-samples/service-catalog-engine-for-terraform-os/). Das Repo enthält die folgenden Informationen: 
+ Erforderliche Installationstools
+ Den Code erstellen
+ Bereitstellung auf einem AWS Konto
+ Zusätzliche Informationen zu Bereitstellungsworkflows, Qualitätssicherung und Einschränkungen

## Bereitstellungs-Engine für Terraform Cloud
<a name="getstarted-terraform-engine-cloud"></a>

Für AWS Service Catalog Produkte, die den Terraform Cloud-Produkttyp mit HashiCorp Terraform Cloud verwenden, müssen Sie eine Terraform Provisioning Engine in Ihrem Administratorkonto (Hub-Konto) installieren und konfigurieren. AWS Service Catalog HashiCorp verwaltet diese Engine in einer Remote-Umgebung. 

HashiCorp bietet ein GitHub Repository mit Anweisungen zur Konfiguration der [Terraform Cloud-Engine](https://github.com/hashicorp/aws-service-catalog-engine-for-tfc) für. AWS Service Catalog Das Repo enthält die folgenden Informationen: 
+ Erforderliche Installationstools
+ Den Code erstellen
+ Bereitstellung auf einem AWS Konto
+ Zusätzliche Informationen zu Bereitstellungsworkflows, Qualitätssicherung und Einschränkungen

# Schritt 1: Herunterladen der Terraform-Konfigurationsdatei
<a name="getstarted-template-Terraform"></a>

 Sie können eine Terraform-Konfigurationsdatei verwenden, um Terraform-Produkte zu erstellen und bereitzustellen. HashiCorp Diese Konfigurationen sind reine Textdateien und beschreiben die Ressourcen, die Sie bereitstellen möchten. Sie können den Texteditor Ihrer Wahl verwenden, um Konfigurationen zu erstellen, zu aktualisieren und zu speichern. Für die Produkterstellung müssen Sie Terraform-Konfigurationen als **Datei tar.gz** hochladen. In diesem Tutorial finden Sie eine AWS Service Catalog einfache Konfigurationsdatei, mit der Sie loslegen können. Die Konfiguration erstellt einen Amazon S3 S3-Bucket. 

## Laden Sie die Konfigurationsdatei herunter
<a name="template-download"></a>

AWS Service Catalog stellt eine [https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true](https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true)Beispielkonfigurationsdatei zur Verfügung, die Sie in diesem Tutorial verwenden können. 

## Überblick über die Konfigurationsdatei
<a name="template-overview"></a>

Der Text der Beispielkonfigurationsdatei lautet wie folgt:

```
variable "bucket_name" {
  type = string
}
provider "aws" {
}
resource "aws_s3_bucket" "bucket" {
  bucket = var.bucket_name
}
output regional_domain_name {
  value = aws_s3_bucket.bucket.bucket_regional_domain_name
}
```

**Ressourcen zur Konfiguration**

In der Konfigurationsdatei werden die Ressourcen deklariert, die bei AWS Service Catalog der Bereitstellung des Produkts erstellt werden sollen. Sie besteht aus folgenden Abschnitten:
+ **Variable** (optional) — Die Wertdefinitionen, die ein Administratorbenutzer (Hub-Kontoadministrator) zuweisen kann, um die Konfiguration anzupassen. Variablen bieten eine konsistente Schnittstelle, um das Verhalten einer bestimmten Konfiguration zu ändern. Die Bezeichnung nach dem Schlüsselwort variable ist ein Name für die Variable, der unter allen Variablen im selben Modul eindeutig sein muss. Dieser Name wird verwendet, um der Variablen einen externen Wert zuzuweisen und um innerhalb des Moduls auf den Wert der Variablen zu verweisen. 
+ **Anbieter** (optional) — Der Cloud-Dienstanbieter für die Bereitstellung von Ressourcen, d. h. `AWS` AWS Service Catalog unterstützt nur `AWS` als Anbieter. Infolgedessen überschreibt die Terraform-Provisioning-Engine alle anderen aufgelisteten Anbieter. `AWS` 
+ **Ressource** (erforderlich) — Die AWS Infrastrukturressource für die Bereitstellung. Für dieses Tutorial spezifiziert die Terraform-Konfigurationsdatei Amazon S3. 
+ **Ausgabe** (optional) — Die zurückgegebenen Informationen oder der zurückgegebene Wert, ähnlich den zurückgegebenen Werten in einer Programmiersprache. Sie können Ausgabedaten verwenden, um den Infrastruktur-Workflow mit Automatisierungstools zu konfigurieren. 

# Schritt 2: Erstellen Sie ein Terraform-Produkt
<a name="getstarted-product-Terraform"></a>

Nach der Installation der Terraform Provisioning Engine können Sie in ein Terraform-Produkt erstellen. HashiCorp AWS Service Catalog In diesem Tutorial erstellen Sie ein Terraform-Produkt, das einen einfachen Amazon S3 S3-Bucket enthält. 

**Um ein Terraform-Produkt zu erstellen**

1. Öffnen Sie die AWS Service Catalog Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)und melden Sie sich als Admin-Benutzer an. 

1. Navigieren Sie zum Abschnitt **Administration** und wählen Sie dann **Produktliste** aus. 

1. Wählen Sie **Produkt erstellen** aus. 

1. Wählen Sie auf der Seite **Produkt erstellen** im Abschnitt Produktdetails den Produkttyp **Extern** oder **Terraform Cloud aus**. Service Catalog verwendet den Produkttyp *External* zur Unterstützung von Terraform Community Edition-Produkten. 

1. Geben Sie die folgenden Produktdetails ein:
   + **Product name** – **Simple S3 bucket**
   + **Produktbeschreibung** — Terraform-Produkt, das einen Amazon S3 S3-Bucket enthält.
   + **Besitzer —** **IT**
   + **Vertriebspartner** — *(leer)*

1. Wählen Sie im Bereich **Versionsdetails** die Option **Vorlagendatei hochladen** und dann **Datei auswählen aus**. Wählen Sie die Datei aus, in die Sie heruntergeladen haben[Schritt 1: Herunterladen der Terraform-Konfigurationsdatei](getstarted-template-Terraform.md). 

1. Geben Sie Folgendes ein:
   + **Versionsname** — **v1.0**
   + **Beschreibung der Version** — **Base Version**

1. Geben Sie im Abschnitt **Support-Details** Folgendes ein und wählen Sie dann **Produkt erstellen** aus.
   + **E-Mail-Kontakt** — **ITSupport@example.com**
   + **Link zur Support** — **https://wiki.example.com/IT/support**
   + **Beschreibung des Support** — **Contact the IT department for issues deploying or connecting to this product.**

1. Wählen Sie **Produkt erstellen**. 

Nach erfolgreicher Erstellung des Produkts wird auf der Produktseite ein Bestätigungsbanner AWS Service Catalog angezeigt. 

# Schritt 3: Erstellen Sie ein AWS Service Catalog Portfolio
<a name="getstarted-portfolio-Terraform"></a>

Sie können in Ihrem AWS Service Catalog Administratorkonto (Hub-Konto) ein Portfolio erstellen, um die Produktorganisation und Verteilung an Endbenutzerkonten (Spoke-Konten) zu vereinfachen. 

**So erstellen Sie ein Portfolio**

1. Öffnen Sie die AWS Service Catalog Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)und melden Sie sich als Administrator an. 

1. Wählen Sie im linken Navigationsbereich **Portfolios** und dann **Portfolio erstellen aus**. 

1. Geben Sie die folgenden Werte ein:
   + **Portfolio-Name** – **S3 bucket**
   + **Beschreibung des Portfolios** — **Sample portfolio for Terraform configurations. ** 
   + **Besitzer** — **IT (it@example.com)** 

1. Wählen Sie **Erstellen** aus.

# Schritt 4: Produkt zum Portfolio hinzufügen
<a name="getstarted-portfolio-add-product-Terraform"></a>

Nachdem Sie ein Portfolio erstellt haben, können Sie das HashiCorp Terraform-Produkt hinzufügen, das Sie in Schritt 2 erstellt haben. 

**Um ein Produkt zu einem Portfolio hinzuzufügen**

1.  Navigieren Sie zur Seite mit **der Produktliste**. 

1.  **Wählen Sie das Terraform-Produkt Simple S3 Bucket aus, das Sie in Schritt 2 erstellt haben, und wählen Sie dann Aktionen aus.** Wählen Sie im Drop-down-Menü die Option **Produkt zum Portfolio hinzufügen** aus. AWS Service Catalog zeigt den Bereich **Simple S3-Bucket zum Portfolio hinzufügen** an. 

1. Wählen Sie das S3-Bucket-Portfolio aus und deaktivieren **Sie dann Startbeschränkung erstellen**. Sie werden die Startbeschränkung später im Tutorial erstellen. 

1. Wählen **Sie Produkt zum Portfolio hinzufügen**. 

Nach dem erfolgreichen Hinzufügen des Produkts zum Portfolio wird auf der Seite mit der Produktliste ein Bestätigungsbanner AWS Service Catalog angezeigt. 

# Schritt 5: Startrollen erstellen
<a name="getstarted-launchrole-Terraform"></a>

In diesem Schritt erstellen Sie eine IAM-Rolle (Startrolle), die die Berechtigungen angibt, die die Terraform-Provisioning-Engine annehmen AWS Service Catalog kann, wenn ein Endbenutzer ein Terraform-Produkt startet. HashiCorp 

 Die IAM-Rolle (Startrolle), die Sie später Ihrem einfachen Amazon S3 S3-Bucket-Terraform-Produkt als Startbeschränkung zuweisen, muss über die folgenden Berechtigungen verfügen: 
+ Zugriff auf die zugrunde liegenden AWS Ressourcen für Ihr Terraform-Produkt. In diesem Tutorial beinhaltet dies den Zugriff auf die Operationen `s3:CreateBucket*` `s3:DeleteBucket*``s3:Get*`,`s3:List*`,, und `s3:PutBucketTagging` Amazon S3. 
+ Lesezugriff auf die Amazon S3 S3-Vorlage in einem AWS Service Catalog eigenen Amazon S3 S3-Bucket 
+ Zugriff auf die Operationen `CreateGroup``ListGroupResources`,`DeleteGroup`, und `Tag` Ressourcengruppen. Diese Operationen ermöglichen AWS Service Catalog die Verwaltung von Ressourcengruppen und Tags

**Um eine Startrolle im AWS Service Catalog Administratorkonto zu erstellen**

1. Während Sie mit dem AWS Service Catalog Administratorkonto angemeldet sind, folgen Sie den Anweisungen zum [Erstellen neuer Richtlinien auf der Registerkarte JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) im *IAM-Benutzerhandbuch*. 

1. Erstellen Sie eine **Richtlinie** für Ihr einfaches Amazon S3 S3-Bucket Terraform-Produkt. Diese Richtlinie muss erstellt werden, bevor Sie die Startrolle erstellen. Sie besteht aus den folgenden Berechtigungen:
   +  `s3`— Erlaubt AWS Service Catalog volle Rechte zum Auflisten, Lesen, Schreiben, Bereitstellen und Markieren des Amazon S3 S3-Produkts. 
   +  `s3`— Ermöglicht den Zugriff auf Amazon S3 S3-Buckets im Besitz von AWS Service Catalog. Um das Produkt bereitzustellen, ist Zugriff auf Bereitstellungsartefakte AWS Service Catalog erforderlich. 
   +  `resourcegroups`— Ermöglicht AWS Service Catalog das Erstellen, Auflisten, Löschen und Markieren AWS -Ressourcengruppen. 
   +  `tag`— Erlaubt AWS Service Catalog Tagging-Berechtigungen. 
**Anmerkung**  
 Abhängig von den zugrunde liegenden Ressourcen, die Sie bereitstellen möchten, müssen Sie möglicherweise die Beispiel-JSON-Richtlinie ändern. 

   Fügen Sie das folgende JSON-Richtliniendokument ein: 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "s3:GetObject",
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "s3:ExistingObjectTag/servicecatalog:provisioning": "true"
                   }
               }
           },
           {
               "Action": [
                   "s3:CreateBucket*",
                   "s3:DeleteBucket*",
                   "s3:Get*",
                   "s3:List*",
                   "s3:PutBucketTagging"
               ],
               "Resource": "arn:aws:s3:::*",
               "Effect": "Allow"
           },
           {
               "Action": [
                   "resource-groups:CreateGroup",
                   "resource-groups:ListGroupResources",
                   "resource-groups:DeleteGroup",
                   "resource-groups:Tag"
               ],
               "Resource": "*",
               "Effect": "Allow"
           },
           {
               "Action": [
                   "tag:GetResources",
                   "tag:GetTagKeys",
                   "tag:GetTagValues",
                   "tag:TagResources",
                   "tag:UntagResources"
               ],
               "Resource": "*",
               "Effect": "Allow"
           }
       ]
   }
   ```

------

1. 

   1. Wählen Sie **Weiter**, **Tags**.

   1. Wählen Sie „**Weiter“,** **„Überprüfen**“.

   1. Geben Sie auf der Seite „**Richtlinie überprüfen**“ als **Namen** den Text ein**S3ResourceCreationAndArtifactAccessPolicy**.

   1. Wählen Sie **Richtlinie erstellen** aus.

1. Wählen Sie im Navigationsbereich **Rollen** und dann **Rolle erstellen**. 

1. **Wählen Sie für Vertrauenswürdige Entität** auswählen die Option **Benutzerdefinierte Vertrauensrichtlinie** und geben Sie dann die folgende JSON-Richtlinie ein:

1. Wählen Sie **Weiter** aus. 

1. Wählen Sie in der Liste **Richtlinien** die, die `S3ResourceCreationAndArtifactAccessPolicy` Sie gerade erstellt haben. 

1. Wählen Sie **Weiter** aus. 

1. Geben Sie für **Rollenname** den Namen **SCLaunch-S3product** ein.
**Wichtig**  
Die Namen der Startrollen **müssen** mit "SCLaunch" beginnen, gefolgt vom gewünschten Rollennamen. 

1. Wählen Sie **Rolle erstellen** aus.
**Wichtig**  
Nachdem Sie die Startrolle in Ihrem AWS Service Catalog Administratorkonto erstellt haben, müssen Sie auch eine identische Startrolle im AWS Service Catalog Endbenutzerkonto erstellen. Die Rolle im Endbenutzerkonto muss denselben Namen haben und dieselbe Richtlinie enthalten wie die Rolle im Administratorkonto.

**Um eine Startrolle im AWS Service Catalog Endbenutzerkonto zu erstellen**

1. Melden Sie sich als Administrator für das Endbenutzerkonto an und folgen Sie dann den Anweisungen zum [Erstellen neuer Richtlinien auf der Registerkarte JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) im *IAM-Benutzerhandbuch*. 

1. Wiederholen Sie die Schritte 2-10 unter *So erstellen Sie eine Startrolle im AWS Service Catalog Administratorkonto oben*. 

**Anmerkung**  
Achten Sie beim Erstellen einer Startrolle im AWS Service Catalog Endbenutzerkonto darauf, dass Sie **AccountId** in der benutzerdefinierten Vertrauensrichtlinie denselben Administrator verwenden. 

Nachdem Sie nun sowohl für das Administrator- als auch für das Endbenutzerkonto eine Startrolle erstellt haben, können Sie dem Produkt eine Startbeschränkung hinzufügen. 

# Schritt 6: Fügen Sie Ihrem Terraform-Produkt eine Startbeschränkung hinzu
<a name="getstarted-launchconstraint-Terraform"></a>

**Wichtig**  
Sie müssen eine Startbeschränkung für Terraform-Produkte erstellen. HashiCorp Ohne eine Startbeschränkung können Endbenutzer das Produkt nicht bereitstellen. 

Nachdem Sie eine Startrolle in Ihrem Administratorkonto erstellt haben, können Sie die Startrolle einer Startbeschränkung für Ihr External- oder Terraform Cloud-Produkt zuordnen. 

Diese Startbeschränkung ermöglicht es dem Endbenutzer, das Produkt zu starten und es nach dem Start als bereitgestelltes Produkt zu verwalten. Weitere Informationen finden Sie unter [AWS Service Catalog -Starteinschränkungen](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-launch.html).

Durch die Verwendung einer Startbeschränkung können Sie die IAM-Best-Practice-Methode befolgen und die IAM-Berechtigungen für Endbenutzer auf ein Minimum beschränken. Weitere Informationen finden Sie unter [Gewähren von geringsten Rechten](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) im *IAM-Benutzerhandbuch*.

**Um dem Produkt eine Startbeschränkung zuzuweisen**

1. Öffnen Sie die AWS Service Catalog Konsole unter [https://console.aws.amazon.com/servicecatalog.](https://console.aws.amazon.com/servicecatalog.)

1. **Wählen Sie in der linken Navigationskonsole Portfolio aus.** 

1. Wählen Sie das **S3-Bucket-Portfolio** aus.

1. Wählen Sie auf der Seite mit den **Portfolio-Details** die Registerkarte **Einschränkungen** und dann **Einschränkung erstellen** aus.

1. Wählen Sie für **Produkt** die Option **Simple S3 Bucket** aus. AWS Service Catalog wählt automatisch den Einschränkungstyp **Launch** aus.

1. Wählen Sie „**Rollennamen eingeben**“ und anschließend „**SCLaunch-S3Product**“. 

1. **Wählen Sie Create.** 

**Anmerkung**  
Der angegebene Rollenname muss in dem Konto vorhanden sein, das die Startbeschränkung erstellt hat, und im Konto des Benutzers, der ein Produkt mit dieser Startbeschränkung auf den Markt bringt. 

# Schritt 7: Endbenutzerzugriff gewähren
<a name="getstarted-deploy-Terraform"></a>

Nachdem Sie die Startbeschränkung auf Ihr HashiCorp Terraform-Produkt angewendet haben, können Sie Endbenutzern im Spoke-Konto Zugriff gewähren.

In diesem Tutorial gewähren Sie Endbenutzern Zugriff, indem Sie den Prinzipalnamen teilen. Prinzipalnamen sind Namen für Gruppen, Rollen und Benutzer, die Administratoren in einem Portfolio angeben und dann mit dem Portfolio teilen können. Wenn Sie das Portfolio teilen, AWS Service Catalog wird überprüft, ob diese Prinzipalnamen bereits vorhanden sind. Falls sie existieren, AWS Service Catalog werden die entsprechenden IAM-Prinzipale automatisch dem gemeinsamen Portfolio zugeordnet, um Endbenutzern Zugriff zu gewähren. Weitere Informationen finden [Sie unter Ein Portfolio teilen](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing_how-to-share). 

**Voraussetzungen**  
Wenn Sie keine IAM-Gruppe für die Endbenutzer erstellt haben, finden Sie weitere Informationen unter[Erteilen Sie AWS Service Catalog Endbenutzern Berechtigungen](getstarted-iamenduser.md).

**So erteilen Sie Zugriff auf das Portfolio**

1. Navigieren Sie zur **Portfolio-Seite** und wählen Sie das **S3-Bucket-Portfolio** aus. 

1. Wählen Sie die Registerkarte **Zugriff** und dann **Zugriff gewähren** aus. 

1. Wählen Sie im Bereich **Zugriffstyp** die Option **Prinzipalname** aus. 

1. Wählen Sie im Bereich **Prinzipalname** den **Prinzipalnamentyp** aus, und geben Sie dann den **Prinzipalnamen** des gewünschten Endbenutzers im Spoke-Konto ein. 

1. Wählen Sie **Grant access (Zugriff gewähren)**. 

# Schritt 8: Portfolio mit Endbenutzern teilen
<a name="getstarted-share-portfolio-end-user-Terraform"></a>

Der AWS Service Catalog Administrator kann Portfolios mit Endbenutzerkonten entweder per account-to-account Teilen oder AWS Organizations Teilen verteilen. In diesem Tutorial teilen Sie Ihr Portfolio mit der Organisation über das Administratorkonto (Hub-Konto), das auch das Verwaltungskonto der Organisation ist. 

**Um das Portfolio vom Admin-Hub-Konto aus zu teilen**

1. Öffnen Sie die AWS Service Catalog Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/). 

1. Wählen Sie auf der Seite **Portfolios** das S3-Bucket-Portfolio aus. Wählen Sie im Menü **Aktionen** die Option **Teilen** aus. 

1. Wählen Sie **AWS Organizations**und filtern Sie dann nach Ihrer Organisationsstruktur. 

1. Wählen Sie im Bereich **AWS Organisation** das Endbenutzerkonto (Spoke-Konto) aus. 

   Sie können auch einen **Stammknoten** auswählen, um das Portfolio mit der gesamten Organisation, einer **übergeordneten Organisationseinheit (OU)** oder einer **untergeordneten Organisationseinheit** innerhalb Ihrer Organisation zu teilen, basierend auf Ihrer Organisationsstruktur. Weitere Informationen finden Sie unter[Freigeben eines Portfolios](catalogs_portfolios_sharing_how-to-share.md). 

1. Wählen **Sie im Bereich Share-Einstellungen** die Option **Principal Sharing** aus. 

1. Wählen Sie **Freigeben**. 

Nachdem das Portfolio erfolgreich für Endbenutzer freigegeben wurde, besteht der nächste Schritt darin, die Endbenutzererfahrung zu überprüfen und das Terraform-Produkt bereitzustellen. 

# Schritt 9: Testen Sie die Endbenutzererfahrung
<a name="getstarted-verify-Terraform"></a>

Um sicherzustellen, dass Endbenutzer erfolgreich auf die Endbenutzer-Konsolenansicht zugreifen und Ihr **Simple S3 bucket** Produkt starten können, melden Sie sich AWS als Endbenutzer an und führen Sie die folgenden Aufgaben aus. 

**So überprüfen Sie, ob der Endbenutzer auf die Endbenutzerkonsole zugreifen kann**
+ Öffnen Sie die AWS Service Catalog Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/), um Folgendes zu sehen:
  + **Products** – Die Produkte, die der Benutzer verwenden kann.
  + **Provisioned products** – Die bereitgestellten Produkte, die der Benutzer gestartet hat.

**Um zu überprüfen, ob der Endbenutzer das Terraform-Produkt starten kann**

1. Wählen Sie im Bereich **Produkte** der Konsole **Simple S3 Bucket** aus.

1. Wählen Sie **Produkt starten**, um den Assistenten zu starten, der Ihr Produkt konfiguriert.

1. Geben Sie auf der Seite **Launch Simple S3 Bucket** den **Amazon S3 product** Namen des bereitgestellten Produkts ein.

1. Geben Sie auf der Seite „**Parameter**“ Folgendes ein und wählen Sie **Weiter** aus:
   +  **bucket\$1name** — Geben Sie einen eindeutigen Namen für den Amazon S3 S3-Bucket an. Beispiel, **terraform-s3-product**. 

1. **Wählen Sie Produkt starten.** Die Konsole zeigt die Stack-Detailseite für den Amazon S3 S3-Produktstart an. Der ursprüngliche Status des Produkts lautet **Under Change**. Die Markteinführung des Produkts dauert mehrere Minuten. AWS Service Catalog Aktualisieren Sie den Browser, um den aktuellen Status anzuzeigen. Nach einer erfolgreichen Produkteinführung lautet der Status **Verfügbar**. 

   AWS Service Catalog erstellt einen neuen Amazon S3 S3-Bucket mit dem Namen**terraform-s3-product**. 

# Schritt 10: Überwachung der Terraform-Bereitstellungsvorgänge
<a name="getstarted-monitoring-Terraform"></a>

Wenn Sie die Bereitstellungsvorgänge überwachen möchten, können Sie die CloudWatch Amazon-Protokolle und AWS Step Functions alle Bereitstellungs-Workflows überprüfen. 

Es gibt zwei Zustandsmaschinen für den Bereitstellungs-Workflow: 
+ `ManageProvisionedProductStateMachine`— AWS Service Catalog ruft diese Zustandsmaschine auf, wenn ein neues Terraform-Produkt bereitgestellt wird und wenn ein vorhandenes, von Terraform bereitgestelltes Produkt aktualisiert wird. 
+ `TerminateProvisionedProductStateMachine`— AWS Service Catalog ruft diese Zustandsmaschine auf, wenn ein vorhandenes, von Terraform bereitgestelltes Produkt beendet wird. 

**Um die Monitoring-State-Machine auszuführen**

1. Öffnen Sie die AWS Managementkonsole und melden Sie sich als Administrator in dem Admin-Hub-Konto an, auf dem die Terraform Provisioning Engine installiert ist.

1. Öffnen Sie **AWS Step Functions**. 

1. **Wählen Sie im linken Navigationsbereich State Machines aus.** 

1. Wählen Sie **ManageProvisionedProductStateMachine**. 

1. Geben Sie in der Liste der **Ausführungen** die bereitgestellte Produkt-ID ein, um Ihre Ausführung zu finden. 
**Anmerkung**  
AWS Service Catalog erstellt die bereitgestellte Produkt-ID, wenn Sie das Produkt bereitstellen. Die bereitgestellte Produkt-ID ist wie folgt formatiert:. **pp-1111pwtn[ID number]** 

1. Wählen Sie die **Ausführungs-ID**. 

Auf der daraufhin **angezeigten Seite mit den Ausführungsdetails** können Sie alle Schritte des Provisioning-Workflows einsehen. Sie können auch alle fehlgeschlagenen Schritte überprüfen, um die Ursache des Fehlers zu ermitteln. 