Modifier un projet pour utiliser un conteneur personnalisé - AWS SimSpace Weaver

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Modifier un projet pour utiliser un conteneur personnalisé

Ces instructions supposent que vous savez déjà comment utiliser vos processus de stockage AWS SimSpace Weaver et de développement d'applications et que vous souhaitez les rendre AWS Cloud plus efficaces.

Prérequis
  • Vous avez un conteneur personnalisé dans Amazon Elastic Container Registry (Amazon ECR). Pour plus d'informations sur la création d'un conteneur personnalisé, consultezCréation d'un conteneur personnalisé.

Pour modifier votre projet afin d'utiliser un conteneur personnalisé
  1. Ajoutez des autorisations au rôle d'application de simulation de votre projet pour utiliser Amazon ECR.

    1. Si vous ne disposez pas encore d'une stratégie IAM avec les autorisations suivantes, créez-la. Nous suggérons le nom de la politiquesimspaceweaver-ecr. Pour plus d'informations sur la création d'une stratégie IAM, consultez la section Création de politiques IAM dans le Guide de l'AWS Identity and Access Management utilisateur.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
    2. Trouvez le nom du rôle de l'application de simulation de votre projet :

      1. Dans un éditeur de texte, ouvrez le AWS CloudFormation modèle :

        sdk-folder\PackagingTools\sample-stack-template.yaml
      2. Trouvez la RoleName propriété ci-dessousWeaverAppRole. La valeur est le nom du rôle de l'application de simulation de votre projet.

        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. Associez la simspaceweaver-ecr politique au rôle d'application de simulation du projet. Pour plus d'informations sur la façon d'associer une politique, consultez la section Ajout et suppression d'autorisations d'identité IAM dans le Guide de l'AWS Identity and Access Management utilisateur.

    4. Accédez à la pile d'échantillons sdk-folder et exécutez-la pour mettre à jour la SimSpace Weaver pile d'échantillons :

      python setup.py --cloudformation
  2. Spécifiez les images de vos conteneurs dans le schéma de simulation du projet.

    • Vous pouvez ajouter la default_image propriété facultative ci-dessous simulation_properties pour spécifier une image de conteneur personnalisée par défaut pour tous les domaines.

    • Ajoutez la image propriété dans le app_config pour le domaine dans lequel vous souhaitez utiliser une image de conteneur personnalisée. Spécifiez l'URI du référentiel Amazon ECR comme valeur. Vous pouvez spécifier une image différente pour chaque domaine.

      • Si image ce n'est pas spécifié pour un domaine mais si default_image c'est le cas, les applications de ce domaine utilisent l'image par défaut.

      • Si image ce n'est pas spécifié pour un domaine et default_image ne l'est pas, les applications de ce domaine s'exécutent dans un SimSpace Weaver conteneur standard.

    Exemple Extrait de schéma incluant des paramètres de conteneur personnalisés
    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. Créez et téléchargez votre projet comme d'habitude.