Tags, die zu Projekten und Cloud-Vorlagen hinzugefügt werden, fungieren als Einschränkungs-Tags, wenn sie verwendet werden, um Funktions-Tags für Infrastrukturressourcen, Profile und Cloud-Zonen abzugleichen. Bei Cloud-Vorlagen nutzt Cloud Assembly die Abgleichfunktion, um Ressourcen für Bereitstellungen zuzuteilen.

Cloud Assembly bietet Ihnen die Möglichkeit, Einschränkungs-Tags auf zwei primäre Arten zu verwenden. Bei der ersten Möglichkeit werden Einschränkungen beim Konfigurieren von Projekten und Images angewendet. Sie können Tags als Einschränkungen verwenden, um Ressourcen mit dem Projekt oder dem Image zu verknüpfen. Bei der zweiten Möglichkeit werden in Cloud-Vorlagen, in denen Tags als Einschränkungen angegeben werden, diese zur Auswahl von Ressourcen für Bereitstellungen verwendet. Die auf diese beiden Arten angewendeten Einschränkungen werden in Cloud-Vorlagen zu einem Satz von Bereitstellungsanforderungen zusammengeführt, die die für eine Bereitstellung verfügbaren Ressourcen definieren.

Funktionsweise von Einschränkungs-Tags in Projekten

Bei der Konfiguration von Cloud Assembly-Ressourcen können Cloud-Administratoren Einschränkungs-Tags auf Projekte anwenden. Auf diese Weise können Administratoren Kontrolleinschränkungen direkt auf Projektebene anwenden. Alle auf dieser Ebene hinzugefügten Einschränkungen werden auf jede für das betreffende Projekt angeforderte Cloud-Vorlage angewendet. Diese Einschränkungs-Tags haben Vorrang vor anderen Tags.

Wenn Einschränkungs-Tags im Projekt mit Einschränkungs-Tags in der Cloud-Vorlage in Konflikt stehen, haben die Projekt-Tags Vorrang, sodass der Cloud-Administrator Verwaltungsregeln erzwingen kann. Wenn beispielsweise die Cloud-Administratoren ein location:london-Tag für das Projekt erstellen, aber ein Entwickler ein location:boston-Tag auf der Cloud-Vorlage platziert, hat das erste Tag Vorrang und die Ressource wird in der Infrastruktur bereitgestellt, die das location:london-Tag enthält.

Sie können bis zu drei Einschränkungen für Projekte anwenden. Projekteinschränkungen können hart oder weich sein. Standardmäßig sind sie hart. Harte Einschränkungen ermöglichen es Ihnen, Bereitstellungseinschränkungen strikt durchzusetzen. Wenn eine oder mehrere harte Einschränkungen nicht erfüllt werden, schlägt die Bereitstellung fehl. Weiche Einschränkungen bieten eine Möglichkeit zum Ausdrücken von Einstellungen, die bei Verfügbarkeit ausgewählt werden. Die Bereitstellung schlägt jedoch nicht fehl, wenn weiche Einschränkungen nicht erfüllt werden.

Funktionsweise von Einschränkungs-Tags in Cloud-Vorlagen

In Cloud-Vorlagen fügen Sie Einschränkungs-Tags zu Ressourcen als YAML-Code hinzu, um die entsprechenden Funktions-Tags zu erfüllen, die Ihr Cloud-Administrator für Ressourcen, Cloud-Zonen und für Speicher- und Netzwerkprofile erstellt hat. Darüber hinaus gibt es weitere komplexere Optionen für die Implementierung von Einschränkungs-Tags. Sie können beispielsweise eine Variable verwenden, um ein oder mehrere Tags für eine Anforderung aufzufüllen. Auf diese Weise können Sie einen oder mehrere Tags zur Anforderungszeit angeben.

Erstellen Sie Einschränkungs-Tags mithilfe der tag-Bezeichnung unter einer Einschränkungsüberschrift im YAML-Code für die Cloud-Vorlage. Einschränkungs-Tags aus Projekten werden den in Cloud-Vorlagen erstellten Einschränkungs-Tags hinzugefügt.

Cloud Assembly unterstützt eine einfache Zeichenfolgenformatierung, um die Verwendung von Einschränkungen in YAML-Dateien zu vereinfachen:

[!]tag_key[:tag_value][:hard|:soft]

Standardmäßig erstellt Cloud Assembly eine positive Einschränkung mit harter Erzwingung. Der Tag-Wert ist optional, wird aber wie im Rest der Anwendung empfohlen.

Das folgende WordPress-mit-MySQL-Beispiel zeigt YAML-Einschränkungs-Tags, die bestimmte Standortinformationen für Computing-Ressourcen aufweisen.

name: "wordPressWithMySql"
components:
  mysql:
    type: "Compute"
    data:
      name: "mysql"
      # ... skipped lines ...
  wordpress:
    type: "Compute"
    data:
      name: "wordpress"
      instanceType: small
      imageType: "ubuntu-server-1604"
      constraints:
        - tag: "!location:eu:hard"
        - tag: "location:us:soft"
        - tag: "!pci"
      # ... skipped lines ...

Weitere Informationen zum Arbeiten mit Cloud-Vorlagen finden Sie unter Teil 3: Entwerfen und Bereitstellen der Cloud Assembly-Beispielvorlage.

Funktionsweise von harten und weichen Einschränkungen in Projekten und Cloud-Vorlagen

Einschränkungen in Projekten und Cloud-Vorlagen können hart oder weich sein. Der vorangehende Codeausschnitt zeigt Beispiele für harte und weiche Einschränkungen. Standardmäßig sind alle Einschränkungen hart. Harte Einschränkungen ermöglichen es Ihnen, Bereitstellungseinschränkungen strikt durchzusetzen. Wenn eine oder mehrere harte Einschränkungen nicht erfüllt werden, schlägt die Bereitstellung fehl. Weiche Einschränkungen drücken Einstellungen aus, die gelten, wenn sie verfügbar sind. Wenn sie nicht erfüllt werden, führt dies jedoch nicht dazu, dass eine Bereitstellung fehlschlägt.

Wenn Sie über eine Reihe von harten und weichen Einschränkungen für einen bestimmten Ressourcentyp verfügen, können die weichen Einschränkungen auch als Trennung dienen. Das heißt, wenn mehrere Ressourcen eine harte Einschränkung erfüllen, werden die weichen Einschränkungen verwendet, um die tatsächlich in der Bereitstellung verwendete Ressource auszuwählen.

Sie können beispielsweise bis zu drei Einschränkungen für ein Projekt in einer beliebigen Kombination aus Netzwerk-, Speicher- und Erweiterbarkeitselementen angeben. Darüber hinaus können Sie für jede Einschränkung auswählen, ob sie hart oder weich ist. Angenommen, Sie erstellen eine Einschränkung des Festplattenspeichers mit einem location:boston-Tag. Wenn kein Speicher im Projekt mit dieser Einschränkung übereinstimmt, schlagen alle zugehörigen Bereitstellungen fehl.