As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Nós já introduzimos chaves de arquivos de configuração do AWS CloudFormation como Resources
, files
, e packages
. O Elastic Beanstalk adiciona o conteúdo de arquivos de configurações ao modelo do AWS CloudFormation que oferece suporte ao ambiente, para que você possa usar outras seções do AWS CloudFormation para realizar tarefas avançadas nos arquivos de configuração.
Parâmetros
Os parâmetros são uma alternativa para as opções personalizadas próprias do Elastic Beanstalk que podem ser usadas para definir valores utilizados em outros lugares nos arquivos de configuração. Do mesmo modo que as opções personalizadas, você pode usar parâmetros para reunir valores configuráveis pelo usuário em um único lugar. Diferente das opções personalizadas, não é possível usar a API do Elastic Beanstalk para definir valores de parâmetros; o número de parâmetros que podem ser definidos em um modelo é limitado pelo AWS CloudFormation.
Um dos motivos pelos quais você pode querer usar parâmetros é duplicar seus arquivos de configuração como modelos do AWS CloudFormation. Se você usar parâmetros em vez de opções personalizadas, poderá usar o arquivo de configuração para criar o mesmo recurso no AWS CloudFormation como sua própria pilha. Por exemplo, você pode ter um arquivo de configuração que adiciona um sistema de arquivos do Amazon EFS ao seu ambiente para fins de teste, e depois usar o mesmo arquivo para criar um sistema de arquivos independentes que não estejam vinculados ao ciclo de vida do seu ambiente para ser usado em produção.
O exemplo a seguir mostra a utilização de parâmetros para reunir valores configuráveis pelo usuário no início de um arquivo de configuração.
exemplo Loadbalancer-accesslogs-existingbucket.config : parâmetros
Parameters:
bucket:
Type: String
Description: "Name of the Amazon S3 bucket in which to store load balancer logs"
Default: "amzn-s3-demo-bucket"
bucketprefix:
Type: String
Description: "Optional prefix. Can't start or end with a /, or contain the word AWSLogs"
Default: ""
Outputs
Você pode usar um bloco de Outputs
para exportar informações sobre os recursos criados para o AWS CloudFormation. Depois, você pode usar a função Fn::ImportValue
para enviar o valor para um modelo do AWS CloudFormation do Elastic Beanstalk.
O exemplo a seguir cria um tópico do Amazon SNS e exporta o ARN para o AWS CloudFormation com o nome de NotificationTopicArn
.
exemplo sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
Outputs:
NotificationTopicArn:
Description: Notification topic ARN
Value: { "Ref" : "NotificationTopic" }
Export:
Name: NotificationTopicArn
Em um arquivo de configuração para um ambiente diferente ou um modelo do AWS CloudFormation fora do Elastic Beanstalk, é possível usar a função Fn::ImportValue
para obter o ARN exportado. Este exemplo atribui o valor exportado a uma propriedade do ambiente chamada TOPIC_ARN
.
exemplo env.config
option_settings:
aws:elasticbeanstalk:application:environment:
TOPIC_ARN: '`{ "Fn::ImportValue" : "NotificationTopicArn" }`'
Mapeamentos
Você pode usar um mapeamento para armazenar pares de chave-valor organizados por namespace. Um mapeamento pode ajudar você a organizar os valores que utiliza em toda as configurações, ou alterar o valor de um parâmetro dependendo de outro valor. Por exemplo, a configuração a seguir define o valor de um parâmetro de ID de conta com base na região atual.
exemplo Loadbalancer-accesslogs-newbucket.config : mapeamentos
Mappings:
Region2ELBAccountId:
us-east-1:
AccountId: "111122223333"
us-west-2:
AccountId: "444455556666"
us-west-1:
AccountId: "123456789012"
eu-west-1:
AccountId: "777788889999"
...
Principal:
AWS:
? "Fn::FindInMap"
:
- Region2ELBAccountId
-
Ref: "AWS::Region"
- AccountId