Étape 1 : créer un compartiment Amazon S3 - AWS OpsWorks

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.

Étape 1 : créer un compartiment Amazon S3

Important

Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post ou via le AWS Support Premium.

Vous devez d'abord créer un compartiment Amazon S3. Vous pouvez le faire directement à l'aide de la console, de l'API ou de la CLI Amazon S3, mais un moyen plus simple de créer des ressources consiste souvent à utiliser un AWS CloudFormation modèle. Le modèle suivant crée un compartiment Amazon S3 pour cet exemple et définit un profil d'instance avec un rôle IAM qui accorde un accès illimité au compartiment. Vous pouvez ensuite utiliser un paramètre de couche pour attacher le profil d'instance aux instances serveur d'applications de la pile, ce qui permet à l'application d'accéder au compartiment, comme décrit ultérieurement. L'utilité des profils d'instance ne se limite pas à Amazon S3 ; ils sont utiles pour intégrer divers services AWS.

{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "AppServerRootRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/" } }, "AppServerRolePolicies": { "Type": "AWS::IAM::Policy", "Properties": { "PolicyName": "AppServerS3Perms", "PolicyDocument": { "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": { "Fn::Join" : ["", [ "arn:aws:s3:::", { "Ref" : "AppBucket" } , "/*" ] ] } } ] }, "Roles": [ { "Ref": "AppServerRootRole" } ] } }, "AppServerInstanceProfile": { "Type": "AWS::IAM::InstanceProfile", "Properties": { "Path": "/", "Roles": [ { "Ref": "AppServerRootRole" } ] } }, "AppBucket" : { "Type" : "AWS::S3::Bucket" } }, "Outputs" : { "BucketName" : { "Value" : { "Ref" : "AppBucket" } }, "InstanceProfileName" : { "Value" : { "Ref" : "AppServerInstanceProfile" } } } }

Plusieurs choses se produisent lorsque vous lancez le modèle :

  • La AWS::S3::Bucket ressource crée un compartiment Amazon S3.

  • La ressource AWS::IAM::InstanceProfile crée un profil d'instance qui sera attribué aux instances serveur d'applications.

  • La ressource AWS::IAM::Role crée le rôle du profil d'instance.

  • La AWS::IAM::Policy ressource définit les autorisations du rôle afin de permettre un accès illimité aux compartiments Amazon S3.

  • La section Outputs affiche les noms des profils d'instance et des compartiments dans la console AWS CloudFormation une fois que vous avez lancé le modèle.

    Vous aurez besoin de ces valeurs pour configurer votre pile et vos applications.

Pour plus d'informations sur la création de AWS CloudFormation modèles, voir Apprendre les bases des modèles.

Pour créer le compartiment Amazon S3
  1. Copiez l'exemple de modèle sur un fichier texte de votre système.

    Cet exemple suppose que le fichier se nomme appserver.template.

  2. Ouvrez la console AWS CloudFormation et choisissez Créer une pile.

  3. Dans la zone Nom de la pile, saisissez le nom de la pile.

    Cet exemple suppose que le fichier se nomme AppServer.

  4. Choisissez Upload template file (Charger un fichier de modèle), choisissez Parcourir, sélectionnez le fichier appserver.template que vous avez créé à l'étape 1, puis choisissez Étape suivante.

  5. Sur la page Specify Parameters (Spécifier des paramètres), sélectionnez I acknowledge that this template may create IAM resources (Je confirme que ce modèle peut créer des ressources IAM), puis choisissez Étape suivante sur chaque page de l'Assistant jusqu'à ce que vous atteigniez la fin. Choisissez Créer.

  6. Une fois que la AppServerpile a atteint le statut CREATE_COMPLETE, sélectionnez-la et choisissez l'onglet Sorties.

    Il se peut que vous ayez besoin d'actualiser plusieurs fois pour mettre à jour le statut.

  7. Dans l'onglet Sorties, enregistrez les InstanceProfileNamevaleurs BucketNameet pour une utilisation ultérieure.

Note

AWS CloudFormation utilise le terme pile pour désigner l'ensemble de ressources créées à partir d'un modèle ; ce n'est pas la même chose qu'une pile AWS OpsWorks Stacks.