Painel de tela
O Application Composer do AWS Application Composer no modo de console do CloudFormation é um aprimoramento do Designer do AWS CloudFormation. Para ter mais informações, consulte AWS Application Composer no modo de console do AWS CloudFormation. |
O Designer exibe os recursos de modelo como um diagrama no painel de tela. Você pode modificar o layout do diagrama, adicionar ou remover recursos e adicionar ou remover conexões entre recursos nesse painel. Por exemplo, você pode adicionar um grupo do Auto Scaling e uma configuração de execução do painel Tipos de recursos ao painel de tela. Para conectar esses recursos relacionados, arraste uma conexão entre eles.
Como o Designer modela os recursos?
Quando você arrasta um recurso do painel Tipos de recursos para o painel de tela, o Designer o modela como um contêiner ou um objeto quadrado.
- Contêineres
-
Recursos de contêiner são retângulos redimensionáveis que podem conter outros recursos. Por exemplo, o Designer modela o tipo de recurso
AWS::EC2::VPC
como um contêiner. Você pode arrastar recursos, como uma sub-rede para a VPC.Recurso de contêiner
- Objetos quadrados
-
Os recursos de objetos quadrados não podem ser redimensionados nem conter outros recursos. Por exemplo, o Designer modela o tipo de recurso
AWS::EC2::Instance
como um objeto quadrado.Objeto quadrado
Conectar recursos
Você conecta recursos para criar associações entre recursos relacionados. Por exemplo, quando você adiciona um gateway da Internet e uma VPC ao painel de tela, eles não têm relação. Para anexar o gateway à VPC, você deve se conectar a eles. O método para conexão de recursos depende do tipo de recurso e como o Designer modela o recurso. As descrições e os valores a seguir explicam cada método.
- Adição de recursos a contêineres
-
Quando você arrasta recursos válidos para contêineres, o Designer cria automaticamente associações entre o recurso e o contêiner. Por exemplo, VPCs são recursos de contêiner. Você pode arrastar uma sub-rede para um VPC, e o Designer associa automaticamente os dois recursos.
Essas associações são representadas no modelo como uma função intrínseca
Ref
, conforme mostrado no seguinte exemplo:JSON
"PublicSubnet": { "Type": "AWS::EC2::Subnet", "Properties": { "VpcId": { "Ref": "VPC" }, "CidrBlock": "10.0.0.0/24" }
YAML
PublicSubnet: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref VPC CidrBlock: 10.0.0.0/24
Em alguns casos, soltar um recurso em um contêiner não criar uma associação. Você deve arrastar uma conexão entre os recursos (consulte o próximo método para obter informações sobre como arrastar conexões entre recursos). Para saber se o Designer associa recursos, use o editor de JSON e YAML integrado para procurar um
Ref
de um recurso para outro. Por exemplo, quando você adiciona um grupo do Auto Scaling em um contêiner de sub-rede, o Designer não especifica a propriedadeVPCZoneIdentifier
(sub-rede) do grupo. Para associar os dois recursos, você deve arrastar uma conexão do grupo do Auto Scaling para a sub-rede. - Arrastar conexões entre recursos
-
A presença de cada quadrado e recurso de contêiner tem um ou mais pontos, que representam os recursos com os quais você pode criar conexões. Para criar uma conexão, arraste uma linha de conector do ponto até o tipo de recurso correspondente. Por exemplo, para anexar um gateway de Internet para a VPC, arraste uma linha do anexo de gateway da VPC para qualquer lugar na VPC.
Essas associações são representadas no modelo como uma função intrínseca
Ref
ou como um tipo de recurso à parte. Por exemplo, quando você conecta um gateway de Internet a uma VPC, o Designer cria um tipo de recursoAWS::EC2::VPCGatewayAttachment
no modelo para associá-los. Recursos como esses não são listados no painel Resource types (Tipos de recursos).JSON
"VPCGatewayAttachment": { "Type": "AWS::EC2::VPCGatewayAttachment", "Properties": { "InternetGatewayId": { "Ref": "InternetGateway" }, "VpcId": { "Ref": "VPC" } }
YAML
VPCGatewayAttachment: Type: 'AWS::EC2::VPCGatewayAttachment' Properties: InternetGatewayId: !Ref InternetGateway VpcId: !Ref VPC
- Codificação de conexões entre recursos
-
Em alguns casos, você deve editar JSON ou YAML do modelo para criar conexões, como ao conectar dois grupos de segurança. Quando precisa editar JSON ou YAML para criar conexões, você cria conexões codificadas (conexões de linha tracejada). Você não pode criar ou editar essas conexões no painel de tela.
Normalmente, ao incorporar referências (
Ref
) dentro de uma propriedade do recurso, você cria conexões codificadas. Por exemplo, você pode definir uma conexão entre dois grupos de segurança em que um grupo de segurança tem uma regra de entrada incorporada que permite o tráfego entre si. O recursoWebServerSecurityGroup
a seguir tem uma regra de entrada com uma referência para o recursoPublicLoadBalancerSecurityGroup
.JSON
"WebServerSecurityGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "VpcId": { "Ref": "VPC" }, "GroupDescription": "Allow access from HTTP and SSH traffic", "SecurityGroupIngress": [ { "IpProtocol": "tcp", "FromPort": 80, "ToPort": 80, "CidrIp": "0.0.0.0/0" }, { "IpProtocol": "tcp", "FromPort": 22, "ToPort": 22, "CidrIp": { "Ref": "SSHLocation" } } ] } ...
YAML
WebServerSecurityGroup: Type: 'AWS::EC2::SecurityGroup' Properties: VpcId: !Ref VPC GroupDescription: Allow access from HTTP and SSH traffic SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 CidrIp: 0.0.0.0/0 - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: !Ref SSHLocation
Acessar ações de recurso comuns com o menu de recursos
O menu Recurso fornece acesso fácil a ações de recursos comuns: edição de propriedades de recurso, duplicação de um recurso, exclusão de um recurso ou visualização da documentação do recurso. Para visualizar o menu Recurso, clique com o botão direito do mouse em um recurso no painel de tela. O link de documentação vai até a referência de modelo, que descreve as propriedades e a sintaxe desse recurso.
Menu de recursos
Definir dependências explícitas
Para especificar a ordem na qual o AWS CloudFormation cria e exclui recursos, você pode criar dependências explícitas. As dependências explícitas são úteis para substituir a criação e a exclusão de recursos paralelos. O AWS CloudFormation determina automaticamente quais recursos em um modelo podem ser processados em paralelo e quais não podem. Quando você especifica uma propriedade que referencia um atributo de outra fonte (usando a função intrínseca Ref
) ou recebe um atributo de outro recurso (com a função intrínseca Fn::GetAtt
) no mesmo modelo, isso implica uma dependência, e o AWS CloudFormation o compila na ordem correta.
No entanto, em alguns casos, você deve definir explicitamente dependências. Por exemplo, uma regra de roteamento não pode usar um gateway de Internet até que o gateway tenha sido conectado à VPC. Normalmente, o AWS CloudFormation cria a regra de roteamento imediatamente após a criação do gateway de Internet por causa de uma dependência implícita. Porém, o AWS CloudFormation poderá criar a regra antes do gateway de Internet ter sido conectado à VPC, o que causa um erro. Portanto, você deve definir explicitamente uma dependência no anexo gateway-VPC.
Para criar uma dependência explícita, arraste uma linha do ponto DependsOn
(*) na rota para o anexo do gateway-VPC.
Para obter mais informações sobre quando você talvez possa precisar criar uma dependência explícita, consulte Atributo DependsOn.
JSON
Em JSON, essas dependências explícitas são representadas como um atributo DependsOn
em um recurso, conforme mostrado no seguinte exemplo:
"PublicRoute": { "Type": "AWS::EC2::Route", "DependsOn": "VPCGatewayAttachment", "Properties": { "DestinationCidrBlock": "0.0.0.0/0", "RouteTableId": { "Ref": "PublicRouteTable" }, "GatewayId": { "Ref": "InternetGateway" } }
YAML
Em YAML, essas dependências explícitas são representadas como um atributo DependsOn
em um recurso, conforme mostrado no seguinte exemplo:
PublicRoute: Type: 'AWS::EC2::Route' DependsOn: - VPCGatewayAttachment Properties: DestinationCidrBlock: 0.0.0.0/0 RouteTableId: !Ref PublicRouteTable GatewayId: !Ref InternetGateway