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.
Hinzufügen und Anpassen von Elastic Beanstalk-Umgebungsressourcen
Sie können Ihre Umgebungsressourcen, die Teil Ihrer Elastic Beanstalk-Umgebung sind, anpassen. Beispielsweise können Sie eine Amazon SQS-Warteschlange und einen Alarm für die Warteschlange oder einen Amazon ElastiCache-Cluster hinzufügen. Indem Sie Ihrem Quell-Bundle eine Konfigurationsdatei beifügen, können Sie die Umgebung einfach gleichzeitig mit der Bereitstellung der Anwendungsversion anpassen.
Sie können den Resources
-Schlüssel in einer Konfigurationsdatei zum Erstellen und Anpassen von AWS-Ressourcen in Ihrer Umgebung verwenden. Ressourcen, die in den Konfigurationsdateien definiert sind, werden zur AWS CloudFormation-Vorlage hinzugefügt, die zum Starten Ihrer Umgebung verwendet wird. Alle AWS CloudFormation -Ressourcentypen werden unterstützt.
Anmerkung
Wenn Sie eine Ressource hinzufügen, die nicht von Elastic Beanstalk verwaltet wird, fügen Sie Ihren AWS Identity and Access Management (IAM)-Benutzern eine Benutzerrichtlinie mit den entsprechenden Berechtigungen hinzu. Die verwalteten Benutzerrichtlinien, die Elastic Beanstalk bietet, decken nur Berechtigungen für von Elastic Beanstalk verwaltete Ressourcen ab.
Beispielsweise fügt die folgende Konfigurationsdatei einen Auto Scaling-Lebenszyklus-Hook zur Standard-Auto Scaling-Gruppe hinzu, die von Elastic Beanstalk erstellt wurde:
~/my-app/.ebextensions/as-hook.config
Resources:
hookrole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {
"Version" : "2012-10-17",
"Statement": [ {
"Effect": "Allow",
"Principal": {
"Service": [ "autoscaling.amazonaws.com" ]
},
"Action": [ "sts:AssumeRole" ]
} ]
}
Policies: [ {
"PolicyName": "SNS",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Resource": "*",
"Action": [
"sqs:SendMessage",
"sqs:GetQueueUrl",
"sns:Publish"
]
}
]
}
} ]
hooktopic:
Type: AWS::SNS::Topic
Properties:
Subscription:
- Endpoint: "my-email@example.com
"
Protocol: email
lifecyclehook:
Type: AWS::AutoScaling::LifecycleHook
Properties:
AutoScalingGroupName: { "Ref" : "AWSEBAutoScalingGroup" }
LifecycleTransition: autoscaling:EC2_INSTANCE_TERMINATING
NotificationTargetARN: { "Ref" : "hooktopic" }
RoleARN: { "Fn::GetAtt" : [ "hookrole", "Arn"] }
In diesem Beispiel werden drei Ressourcen definiert, hookrole
, hooktopic
und lifecyclehook
. Die ersten beiden Ressourcen sind eine IAM-Rolle, die Amazon EC2 Auto Scaling die Berechtigung zum Veröffentlichen von Nachrichten an Amazon SNS erteilt, sowie ein SNS-Thema, das Nachrichten aus der Auto Scaling-Gruppe an eine E-Mail-Adresse weiterleitet. Elastic Beanstalk erstellt diese Ressourcen mit den angegebenen Eigenschaften und Typen.
Die letzte Ressource, lifecyclehook
, ist der Lebenszyklus-Hook selbst:
lifecyclehook:
Type: AWS::AutoScaling::LifecycleHook
Properties:
AutoScalingGroupName: { "Ref" : "AWSEBAutoScalingGroup" }
LifecycleTransition: autoscaling:EC2_INSTANCE_TERMINATING
NotificationTargetARN: { "Ref" : "hooktopic" }
RoleARN: { "Fn::GetAtt" : [ "hookrole", "Arn"] }
Die Lebenszyklus-Hook-Definition verwendet zwei Funktionen, um die Werte für die Hook-Eigenschaften zu füllen. {
"Ref" : "AWSEBAutoScalingGroup" }
ruft den Namen der Auto Scaling-Gruppe ab, die von Elastic Beanstalk für die Umgebung erstellt wurde. AWSEBAutoScalingGroup
ist einer der Standard-Ressourcennamen, die von Elastic Beanstalk bereitgestellt wurden.
Für AWS::IAM::Role
gibt Ref
nur den Namen der Rolle, nicht die ARN, zurück. Wenn Sie den ARN für den RoleARN
-Parameter abrufen möchten, verwenden Sie stattdessen eine andere intrinsische Funktion, Fn::GetAtt
, mit der jedes Attribut aus einer Ressource abgerufen werden kann. RoleARN: { "Fn::GetAtt" : [ "hookrole", "Arn"] }
ruft das Arn
-Attribut aus der hookrole
-Ressource ab.
{ "Ref" : "hooktopic" }
ruft den ARN des Amazon SNS-Themas ab, der zuvor in der Konfigurationsdatei erstellt wurde. Der von Ref
zurückgegebene Wert variiert je nach Ressourcentyp und kann im AWS CloudFormation-Benutzerhandbuch unter dem Thema für den AWS::SNS::Topic-Ressourcentyp gefunden werden.