Ändern Sie ein Projekt, um einen benutzerdefinierten Container zu verwenden - AWS SimSpace Weaver

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.

Ändern Sie ein Projekt, um einen benutzerdefinierten Container zu verwenden

Bei diesen Anweisungen wird davon ausgegangen, dass Sie bereits wissen, wie Sie Ihre App verwenden AWS SimSpace Weaver können, und dass Sie Ihre Workflows für App-Speicher und Entwicklung AWS Cloud effizienter gestalten möchten.

Voraussetzungen
So ändern Sie Ihr Projekt so, dass es einen benutzerdefinierten Container verwendet
  1. Fügen Sie der Simulations-App-Rolle Ihres Projekts Berechtigungen zur Verwendung von Amazon ECR hinzu.

    1. Wenn Sie noch keine IAM-Richtlinie mit den folgenden Berechtigungen haben, erstellen Sie die Richtlinie. Wir empfehlen den Namen simspaceweaver-ecr der Richtlinie. Weitere Informationen zum Erstellen einer IAM-Richtlinie finden Sie unter Erstellen von IAM-Richtlinien im AWS Identity and Access Management Benutzerhandbuch.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
    2. Suchen Sie nach dem Namen der Simulations-App-Rolle Ihres Projekts:

      1. Öffnen Sie die AWS CloudFormation Vorlage in einem Texteditor:

        sdk-folder\PackagingTools\sample-stack-template.yaml
      2. Suchen Sie die RoleName Immobilie unterWeaverAppRole. Der Wert ist der Name der Simulations-App-Rolle Ihres Projekts.

        AWSTemplateFormatVersion: "2010-09-09" Resources: WeaverAppRole: Type: 'AWS::IAM::Role' Properties: RoleName: 'weaver-MySimulation-app-role' AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: - 'simspaceweaver.amazonaws.com'
    3. Ordnen Sie die simspaceweaver-ecr Richtlinie der Simulations-App-Rolle des Projekts zu. Weitere Informationen zum Anhängen einer Richtlinie finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im AWS Identity and Access Management Benutzerhandbuch.

    4. Navigieren Sie zu dem folgenden Befehl sdk-folder und führen Sie ihn aus, um den SimSpace Weaver Beispielstapel zu aktualisieren:

      python setup.py --cloudformation
  2. Geben Sie Ihre Container-Images im Simulationsschema des Projekts an.

    • Sie können die optionale default_image Eigenschaft unter hinzufügensimulation_properties, um ein benutzerdefiniertes Standard-Container-Image für alle Domänen anzugeben.

    • Fügen Sie die image Eigenschaft app_config für eine Domain hinzu, für die Sie ein benutzerdefiniertes Container-Image verwenden möchten. Geben Sie die Amazon ECR-Repository-URI als Wert an. Sie können für jede Domain ein anderes Bild angeben.

      • Wenn es image nicht für eine Domain angegeben default_image ist, aber angegeben ist, verwenden Apps in dieser Domain das Standardbild.

      • Wenn es image nicht für eine Domain angegeben und auch default_image nicht angegeben ist, werden Apps in dieser Domain in einem SimSpace Weaver Standardcontainer ausgeführt.

    Beispiel Schemasnippet, das benutzerdefinierte Container-Einstellungen enthält
    sdk_version: "1.17.0" simulation_properties: log_destination_service: "logs" log_destination_resource_name: "MySimulationLogs" default_entity_index_key_type: "Vector3<f32>" default_image: "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-ecr-repository:latest" # image to use if no image specified for a domain domains: MyCustomDomain: launch_apps_via_start_app_call: {} app_config: package: "s3://weaver-myproject-111122223333-us-west-2/MyViewApp.zip" launch_command: ["MyViewApp"] required_resource_units: compute: 1 endpoint_config: ingress_ports: - 7000 image: "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-ecr-repository:latest" # custom container image to use for this domain MySpatialDomain: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-us-west-2/MySpatialApp.zip" launch_command: ["MySpatialApp"] required_resource_units: compute: 1 image: "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-ecr-repository:latest" # custom container image to use for this domain
  3. Erstellen Sie Ihr Projekt und laden Sie es wie gewohnt hoch.