AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do...

114
AWS Toolkit for Visual Studio Guia do usuário AWS Toolkit for Visual Studio: Guia do usuário Copyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Transcript of AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do...

Page 1: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual StudioGuia do usuário

AWS Toolkit for Visual Studio: Guia do usuárioCopyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Page 2: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuário

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any mannerthat is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks notowned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored byAmazon.

Page 3: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuário

Table of ContentsUsar o AWS Toolkit for Visual Studio .................................................................................................... 1

Toolkit for Visual Studio ............................................................................................................... 1AWS Explorer .................................................................................................................... 1Gerenciamento de credenciais e regiões ................................................................................ 1Amazon EC2 ..................................................................................................................... 1AWS Lambda ..................................................................................................................... 1AWS CodeCommit .............................................................................................................. 1Amazon DynamoDB ............................................................................................................ 2Amazon S3 ........................................................................................................................ 2Amazon RDS ..................................................................................................................... 2AWS Elastic Beanstalk ........................................................................................................ 2AWS CloudFormation .......................................................................................................... 2AWS Identity and Access Management (IAM) ......................................................................... 2

Configurar o AWS Toolkit for Visual Studio ........................................................................................... 3Configurar o AWS Toolkit for Visual Studio ................................................................................... 3

Pré-requisitos ..................................................................................................................... 3Instalar a Toolkit for Visual Studio ......................................................................................... 3Desinstalar o Toolkit for Visual Studio .................................................................................... 4Versões anteriores do Toolkit for Visual Studio ....................................................................... 4

Como fornecer as credenciais da AWS ......................................................................................... 4Adicionar um perfil à SDK Credential Store ............................................................................ 5Adicionar um perfil ao arquivo de perfis de credenciais da AWS ................................................ 6

Uso do Toolkit for Visual Studio .................................................................................................. 7Vinculação da janela do Toolkit for Visual Studio e perfis .......................................................... 7

Trabalhar com serviços da AWS ......................................................................................................... 8Gerenciar instâncias do Amazon EC2 .......................................................................................... 8

As visualizações de imagens de máquina da Amazon e de instâncias do Amazon EC2 .................. 8Executar uma instância do Amazon EC2 ............................................................................... 9Conectar a uma instância do Amazon EC2 ........................................................................... 11Encerrar uma instância do Amazon EC2 .............................................................................. 11

Gerenciar instâncias do Amazon ECS ........................................................................................ 12Modificar propriedades do serviço ....................................................................................... 12Interrupção de uma tarefa .................................................................................................. 12Excluir um serviço ............................................................................................................. 13Excluir um cluster ............................................................................................................. 13Criar um repositório .......................................................................................................... 13Excluir um repositório ........................................................................................................ 13

Gerenciar Security Groups no AWS Explorer ................................................................................ 14Criar de um grupo de segurança ......................................................................................... 14Adicionar permissões a security groups ................................................................................ 14

Criar uma AMI com base em uma instância do Amazon EC2 .......................................................... 15Definir permissões de execução em uma imagem de máquina da Amazon ....................................... 15Amazon Virtual Private Cloud (VPC) ........................................................................................... 16

Criar uma VPC pública/privada para implantação com o AWS Elastic Beanstalk .......................... 16Implantação usando o AWS Toolkit ............................................................................................ 18

Implantar no Elastic Beanstalk ........................................................................................... 18Implantação no Amazon EC2 Container Service ................................................................... 39Ferramenta de implantação autônoma ................................................................................ 46

Usar o Editor de modelos do AWS CloudFormation para Visual Studio .............................................. 58Criar um projeto de modelo do AWS CloudFormation no Visual Studio ...................................... 58Implantar um modelo do AWS CloudFormation no Visual Studio .............................................. 59Estimar o custo do projeto do modelo AWS CloudFormation no Visual Studio ............................. 59Formatar um modelo do AWS CloudFormation no Visual Studio ............................................... 60

Usar o Amazon S3 no AWS Explorer ......................................................................................... 60

iii

Page 4: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuário

Criar um bucket do Amazon S3 .......................................................................................... 60Gerenciar buckets do Amazon S3 no AWS Explorer ............................................................... 61Carregar arquivos e pastas no Amazon S3 ........................................................................... 61Operações de arquivo do Amazon S3 do AWS Toolkit for Visual Studio ..................................... 62

Usar o DynamoDB no AWS Explorer .......................................................................................... 63Criar uma tabela do DynamoDB ......................................................................................... 64Visualizar uma tabela do DynamoDB como uma grade ........................................................... 64Editar e adicionar atributos e valores ................................................................................... 64Verificar uma tabela do DynamoDB ..................................................................................... 65

Usar o AWS CodeCommit com o Visual Studio Team Explorer ....................................................... 66Tipos de credencial do AWS CodeCommit ........................................................................... 66Conectar-se ao AWS CodeCommit ...................................................................................... 66Criação de um repositório .................................................................................................. 67Configurar credenciais do Git ............................................................................................. 68Clonar um repositório ........................................................................................................ 71Trabalho com repositórios .................................................................................................. 71

Amazon RDS no AWS Explorer .................................................................................................. 72Executar uma instância do banco de dados do Amazon RDS ................................................. 72Criar um banco de dados do Microsoft SQL Server em uma instância do RDS ........................... 75Security groups do Amazon RDS ....................................................................................... 75

Usar o Amazon SimpleDB no AWS Explorer ................................................................................ 76Usar o Amazon SQS no AWS Explorer ....................................................................................... 77

Criar uma fila ................................................................................................................... 77Excluir uma fila ................................................................................................................. 78Gerenciar propriedades da fila ............................................................................................ 78Enviar uma mensagem para uma fila ................................................................................... 78

Identity and Access Management ................................................................................................ 79Criar e configurar um usuário do IAM .................................................................................. 79Criar um grupo do IAM ...................................................................................................... 80Adicionar um usuário do IAM a um grupo do IAM .................................................................. 80Gerar credenciais para um usuário do IAM ........................................................................... 81Criar uma função do IAM ................................................................................................... 81Criar uma política do IAM .................................................................................................. 82

Usar os modelos do AWS Lambda no AWS Toolkit for Visual Studio ............................................... 82Tutorial: Usar o projeto do AWS Lambda no AWS Toolkit for Visual Studio ................................ 83Tutorial: compilar e testar um aplicativo sem servidor com o AWS Lambda ............................... 90Tutorial: criar um aplicativo do Amazon Rekognition Lambda .................................................. 99Tutorial: usar Amazon Logging Frameworks com o AWS Lambda para criar logs de aplicativo ..... 106

Implantar um projeto do AWS Lambda com a CLI do .NET Core ................................................... 107Listar os comandos do Lambda disponibilizados por meio da CLI ........................................... 108Publicar um projeto do Lambda do .NET Core na CLI do .NET Core ....................................... 108

Histórico do documento .................................................................................................................. 110

iv

Page 5: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioToolkit for Visual Studio

Usar o AWS Toolkit for Visual StudioToolkit for Visual Studio

O Toolkit for Visual Studio é um plug-in do Visual Studio IDE que torna mais fácil desenvolver, depurar eimplantar aplicativos .NET que usam Amazon Web Services. O Toolkit for Visual Studio é compatível como Visual Studio versões 2013 e posteriores. Para obter detalhes sobre como fazer download e instalar o kit,consulte Instalar o Toolkit for Visual Studio (p. 3).

Note

O Toolkit for Visual Studio também está disponível para o Visual Studio versões 2008, 2010 e2012. No entanto, não há suporte para essas versões. Para obter mais informações, consulteInstalar o Toolkit for Visual Studio (p. 3).

O Toolkit for Visual Studio contém os seguintes recursos para aprimorar a experiência de desenvolvimento.

AWS ExplorerA janela da ferramenta do AWS Explorer disponível no menu View do IDE, permite interagir com muitosdos serviços da AWS dentro do Visual Studio IDE. Entre os serviços de dados compatíveis estão AmazonSimple Storage Service (Amazon S3), Amazon SimpleDB, Amazon Simple Notification Service (AmazonSNS), Amazon Simple Queue Service (Amazon SQS) e Amazon CloudFront. O AWS Explorer tambémdá acesso ao gerenciamento do Amazon Elastic Compute Cloud (Amazon EC2), ao gerenciamento deusuários e políticas do AWS Identity and Access Management (IAM), à implantação de aplicativos semservidores e funções no AWS Lambda e à implantação de aplicativos web ao AWS Elastic Beanstalk e aoAWS CloudFormation.

Gerenciamento de credenciais e regiõesO AWS Explorer dá suporte a várias contas da AWS (inclusive contas de usuário do IAM) e regiões, alémde permitir alterar facilmente a visualização exibida de uma conta para outra ou visualizar e gerenciarrecursos e serviços em regiões diferentes.

Amazon EC2No AWS Explorer, você pode visualizar Amazon Machine Images (AMIs – Imagens de máquina daAmazon) disponíveis, criar instâncias do Amazon EC2 com base nessas AMIs e se conectar a essasinstâncias usando a Área de Trabalho Remota do Windows. O AWS Explorer também permite afuncionalidade de suporte, como a capacidade de criar e gerenciar pares de chaves e security groups.

AWS LambdaVocê pode usar o Lambda para hospedar as funções C# do .NET Core e os aplicativos sem servidores.Use esquemas para criar rapidamente novos projetos de servidores e obter vantagem no desenvolvimentodo aplicativo de servidores.

AWS CodeCommitO AWS CodeCommit está integrado ao Visual Studio Team Explorer. Isso facilita clonar e criar repositóriosmantidos no AWS CodeCommit, além de trabalhar com alterações feitas no código-fonte dentro do IDE.

1

Page 6: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioAmazon DynamoDB

Amazon DynamoDBO DynamoDB é um serviço de banco de dados rápido, altamente escalável, altamente disponível,econômico e não relacional. O Toolkit for Visual Studio oferece a funcionalidade para trabalhar com oAmazon DynamoDB em um contexto de desenvolvimento. Com o Toolkit for Visual Studio, você pode criare editar atributos em tabelas do DynamoDB e executar operações de varredura em tabelas.

Amazon S3Você pode fazer upload de conteúdo rápida e facilmente para buckets do Amazon S3 arrastando esoltando ou fazendo download do conteúdo do Amazon S3. Você também pode definir permissões,metadados e tags de maneira prática em objetos nos buckets.

Amazon RDSO AWS Explorer pode ajudar você a criar e gerenciar os ativos do Amazon RDS no Visual Studio. Asinstâncias do Amazon RDS que usam o Microsoft SQL Server também podem ser adicionadas a ServerExplorer do Visual Studio.

AWS Elastic BeanstalkVocê pode usar o Elastic Beanstalk para implantar os projetos de aplicativo web do .NET na AWS. Vocêpode implantar o aplicativo em um ambiente de instância única ou em um ambiente com balanceamentode carga total, escalado automaticamente dentro do IDE. Você também pode implantar novas versõesdo aplicativo rápida e praticamente sem deixar o Visual Studio. Se o aplicativo usar o SQL Server noAmazon RDS, o assistente de implantação também poderá configurar a conectividade entre o ambientedo aplicativo no Elastic Beanstalk e a instância do banco de dados no Amazon RDS. O Toolkit for VisualStudio também inclui a ferramenta de linha de comando autônoma de implantação. Use a ferramenta deimplantação para facilitar a implantação de uma parte automática do processo de compilação ou paraincluir a implantação em outros cenários de script fora do Visual Studio.

AWS CloudFormationVocê pode usar o Toolkit for Visual Studio para editar modelos no formato JSON do AWS CloudFormationcom suporte para o IntelliSense do editor e o realce da sintaxe. Com um modelo do AWS CloudFormationvocê descreve os recursos que deseja instanciar para hospedar o aplicativo. Dentro do IDE você acabaimplantando o modelo no AWS CloudFormation. Os recursos descritos no modelo são provisionados paravocê, liberando você para se concentrar no desenvolvimento da funcionalidade do aplicativo.

AWS Identity and Access Management (IAM)No AWS Explorer, você pode criar usuários, funções e políticas do IAM, além de anexar políticas ausuários.

2

Page 7: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioConfigurar o AWS Toolkit for Visual Studio

Configurar o AWS Toolkit for VisualStudio

Os tópicos nesta seção o ajudarão a configurar e usar o Toolkit for Visual Studio.

Tópicos• Configurar o AWS Toolkit for Visual Studio (p. 3)• Como fornecer as credenciais da AWS (p. 4)• Uso do Toolkit for Visual Studio (p. 7)

Configurar o AWS Toolkit for Visual StudioEste tópico descreve como instalar e configurar o Toolkit for Visual Studio.

Pré-requisitosPara instalar e configurar o Toolkit for Visual Studio, você deve:

• Tenha uma conta da AWS. Essa conta permite usar serviços da AWS. Para obter uma conta da AWS,na página inicial da AWS, escolha Create an AWS Account.

• Execute um sistema operacional compatível: Windows 10, Windows 8 ou Windows 7.

Recomendamos instalar os service packs e atualizações mais recentes para a versão do Windows quevocê está usando.

• Visual Studio 2013 ou posterior (inclusive edições Community).

Recomendamos instalar os service packs e atualizações mais recentes.

Note

O Toolkit for Visual Studio continuará disponível se você estiver usando o Visual Studio versões2008, 2010 e 2012 (inclusive edições Express quando disponíveis). No entanto, ele não écompatível. Para edições Express, a instalação inclui apenas os modelos de projeto da AWSe a ferramenta de implantação autônoma (p. 46). As edições Visual Studio Express nãodão suporte a extensões de terceiros, como AWS Explorer. Encontre links para essas versõesanteriores do Toolkit for Visual Studio na parte inferior desta página.

Instalar a Toolkit for Visual StudioO Toolkit for Visual Studio 2017 é distribuído no Visual Studio Marketplace. Você também pode instalar eatualizar o toolkit usando a caixa de diálogo Extensions and Updates dentro do Visual Studio.

As versões 2013 e 2015 do Toolkit for Visual Studio fazem parte do AWS Tools para Windows. Você podeinstalar o AWS Tools para Windows para essas versões a seguir.

1. Navegue até a página AWS Toolkit for Visual Studio.2. Na seção Download, escolha Toolkit for Visual Studio 2013-2015 para fazer download do instalador.

3

Page 8: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioDesinstalar o Toolkit for Visual Studio

3. Para iniciar a instalação, execute o instalador baixado e siga as instruções.

Note

Por padrão, o Toolkit for Visual Studio é instalado no diretório Program Files, o que requerprivilégios de administrador. Para instalar o Toolkit for Visual Studio como não administrador,especifique um diretório de instalação diferente.

Desinstalar o Toolkit for Visual StudioPara desinstalar o Toolkit for Visual Studio, você deve desinstalar o AWS Tools para Windows.

1. No Painel de Controle, abra Programas e Recursos.

Note

Para abrir Programas e recursos diretamente, em um prompt de comando, execute o seguinte:appwiz.cpl

1. Escolha o AWS Tools para Windows e Uninstall.2. Caso solicitado, escolha Sim.

Desinstalar o AWS Tools para Windows não remove o diretório Samples. Esse diretório é preservado casovocê tenha modificado as amostras. Você precisa remover manualmente esse diretório.

Versões anteriores do Toolkit for Visual StudioVisual Studio 2008– Instale o Toolkit for Visual Studio para Visual Studio 2008 em https://sdk-for-net.amazonwebservices.com/latest/AWSToolkitForVisualStudio2008.msi.

Visual Studio 2010 e 2012– Instale o Toolkit for Visual Studio para Visual Studio 2010 e 2012 em https://sdk-for-net.amazonwebservices.com/latest/AWSToolkitForVisualStudio2010-2012.msi.

Como fornecer as credenciais da AWSPara usar o Toolkit for Visual Studio, você deve fornecer um ou mais conjuntos de credenciais da AWSválidos. Essas credenciais permitem acessar os recursos da AWS por meio do Toolkit for Visual Studio.Elas também são usadas para assinar solicitações de web services programáticas, de maneira que a AWSpossa verificar se a solicitação vem de uma fonte autorizada.

Important

As credenciais da AWS consistem em uma chave de acesso e em uma chave secreta.Recomendamos não usar credenciais raiz da conta. Em vez disso, crie um ou mais usuários doIAM e use essas credenciais. Para obter mais informações, consulte Usar usuários do IAM eMelhores práticas para gerenciar chaves de acesso da AWS.

O Toolkit for Visual Studio oferece suporte a vários conjuntos de credenciais de qualquer número decontas. Cada conjunto é chamado de perfil. Quando você adiciona um perfil ao Toolkit for Visual Studio, ascredenciais são criptografadas e armazenadas na SDK Credential Store. Isso também é usado pelo AWSSDK para .NET e pelas Ferramentas da AWS Tools para Windows PowerShell. A SDK Credential Store éespecífica da conta do usuário do Windows no computador e não pode ser descriptografada ou usada emoutro lugar.

4

Page 9: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioAdicionar um perfil à SDK Credential Store

Além da SDK Credential Store criptografada, o Toolkit for Visual Studio também pode ler credenciaisdo arquivo de credenciais compartilhadas em texto sem formatação usada por outros SDKs da AWS epela CLI da AWS. Para usar o Toolkit for Visual Studio, pelo menos um perfil de credencial deve estardisponível na SDK Credential Store ou no arquivo de credenciais compartilhadas.

Note

Os perfis de credencial criados usando-se o Toolkit for Visual Studio só são salvos na SDKCredential Store criptografada. Os perfis de autenticação multifator (MFA) não são compatíveiscom o Toolkit for Visual Studio.

Adicionar um perfil à SDK Credential StorePara adicionar um perfil à SDK Credential Store:

1. Abra o AWS Explorer no Visual Studio. No menu View, escolha AWS Explorer. Ou pressione Ctrl+K eA.

2. Escolha o ícone New Account Profile à direita da lista Profile.

A caixa de diálogo New Account Profile é aberta.3. Para criar um perfil de credencial, insira os dados a seguir na caixa de diálogo. Ao criar uma conta no

Console de gerenciamento da AWS ou um usuário do IAM e configurar credenciais para o usuário, vocêé solicitado a fazer download e salvar as credenciais geradas. Você pode escolher Import from cvs filepara procurar o arquivo que contém as credenciais das chaves de acesso e secreta, além de importá-las automaticamente para a caixa de diálogo.Profile Name

(Obrigatório) O nome de exibição do perfil.Access Key ID

(Obrigatório) A chave de acesso.

5

Page 10: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioAdicionar um perfil ao arquivo

de perfis de credenciais da AWS

Secret Access Key

(Obrigatório) A chave secreta.Número da conta

(Opcional) O número da conta da credencial. O Toolkit for Visual Studio usa o número da contapara construir Amazon Resource Names (ARNs – Nomes de recursos da Amazon).

Tipo de conta

(Obrigatório) O tipo de conta. Essa entrada determina quais regiões são exibidas no AWS Explorerquando você especifica esse perfil. Para Standard AWS Account:• Se você escolher a conta AWS GovCloud (US), o AWS Explorer exibirá apenas a região AWS

GovCloud (US).• Se você escolher Amazon AWS Account - China (Beijing) Region, o AWS Explorer exibirá apenas

o Região China (Pequim).4. Para adicionar o perfil à SDK Credential Store, escolha OK.

Depois de adicionar o primeiro perfil, você também poderá fazer o seguinte:

• Para adicionar outro perfil, repita o procedimento.• Para excluir um perfil, escolha-o e o ícone Delete Profile.• Para editar um perfil, escolha o ícone Edit Profile para abrir a caixa de diálogo :guilabel:

<problematic>`</problematic>Edit Profile.

Por exemplo, se tiver alternado as credenciais do usuário do IAM – uma prática recomendada –, vocêpoderá editar o perfil para atualizar as credenciais do usuário na SDK Credential Store. Para obter maisinformações, consulte Rodízio de credenciais do IAM.

Você também pode adicionar perfis à SDK Credential Store ao criar um projeto da AWS. Antes de criaros arquivos do projeto, o Visual Studio exibirá a caixa de diálogo AWS Access Credentials. Você podeescolher um perfil existente na SDK Credential Store ou criar um.

Adicionar um perfil ao arquivo de perfis de credenciaisda AWSVocê pode definir suas credenciais no arquivo de perfis de credenciais da AWS no seu sistema local, quepode ser encontrado no C:\Users\USERNAME \.aws\credentials no Windows

Esse arquivo deve conter linhas no seguinte formato:

[default]aws_access_key_id = your_access_key_idaws_secret_access_key = your_secret_access_key

Substitua os próprios valores de credenciais da AWS pelos valores your_access_key_id eyour_secret_access_key.

Você pode usar uma função criando um perfil para a função. O exemplo a seguir mostra uma função deperfil assumed-role que é considerada designada pelo perfil padrão.

[assume-role-test]role_arn = arn:aws:iam::123456789012:role/assumed-role

6

Page 11: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioUso do Toolkit for Visual Studio

source_profile = default

Neste caso, o perfil padrão é um usuário do IAM com credenciais e permissão para assumir uma funçãochamada assumed-role. Para acessar a função, crie um perfil nomeado, neste caso, assume-role-test. Em vez de configurar este perfil com credenciais, especifique o ARN da função e o nome do perfilque tem acesso a ele.

Para uma instância do EC2, especifique uma função do IAM e dê à instância do EC2 acesso a essafunção. Consulte Funções do IAM para o Amazon EC2 no Amazon EC2 User Guide for Linux Instancespara ver uma discussão detalhada sobre como isso funciona.

Uso do Toolkit for Visual StudioVinculação da janela do Toolkit for Visual Studio eperfisA janela AWS Explorer é vinculada a um único perfil e região por vez.

• As janelas abertas do AWS Explorer usam o perfil e a região atuais vinculados. Depois que a janela éaberta, você pode alternar para um outro perfil ou região no AWS Explorer.

• O assistente de publicação e outros assistentes assumem o perfil e a região do AWS Explorer comopadrão. Você pode alterá-los. Todos os recursos criados pelo assistente, ou as janelas abertas quando oassistente é fechado, continuarão a usar o perfil e a região selecionados no assistente.

• Se você tiver vários Visual Studio abertos, cada um pode ser vinculado a um perfil e região diferente.O AWS Explorer guarda o último perfil e a última região usados. A última instância do Visual Studiofechada terá seus valores mantidos.

7

Page 12: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioGerenciar instâncias do Amazon EC2

Trabalhar com serviços da AWSO AWS Explorer apresenta a você uma visualização e permite manipular vários Amazon Web Servicessimultaneamente. Esta seção fornece informações sobre como acessar e usar a visualização do AWSExplorer no Visual Studio.

Ele pressupõe que você já tenha instalado o AWS Toolkit for Visual Studio no sistema.

Tópicos• Gerenciar instâncias do Amazon EC2 (p. 8)• Gerenciar instâncias do Amazon ECS (p. 12)• Gerenciar Security Groups no AWS Explorer (p. 14)• Criar uma AMI com base em uma instância do Amazon EC2 (p. 15)• Definir permissões de execução em uma imagem de máquina da Amazon (p. 15)• Amazon Virtual Private Cloud (VPC) (p. 16)• Implantação usando o AWS Toolkit (p. 18)• Usar o Editor de modelos do AWS CloudFormation para Visual Studio (p. 58)• Usar o Amazon S3 no AWS Explorer (p. 60)• Usar o DynamoDB no AWS Explorer (p. 63)• Usar o AWS CodeCommit com o Visual Studio Team Explorer (p. 66)• Amazon RDS no AWS Explorer (p. 72)• Usar o Amazon SimpleDB no AWS Explorer (p. 76)• Usar o Amazon SQS no AWS Explorer (p. 77)• Identity and Access Management (p. 79)• Usar os modelos do AWS Lambda no AWS Toolkit for Visual Studio (p. 82)• Implantar um projeto do AWS Lambda com a CLI do .NET Core (p. 107)

Gerenciar instâncias do Amazon EC2O AWS Explorer apresenta visualizações detalhadas das instâncias da Amazon Machine Images (AMI– Imagens de máquina da Amazon) e do Amazon Elastic Compute Cloud (Amazon EC2). Nessasvisualizações, você pode executar uma instância do Amazon EC2 em uma AMI, conectar-se a essainstância e parar ou encerrar a instância, tudo isso dentro do ambiente de desenvolvimento do VisualStudio. Você pode usar a visualização de instâncias para criar AMIs com base nas instâncias. Para obtermais informações, consulte Criar uma AMI com base em uma instância do Amazon EC2 (p. 15).

As visualizações de imagens de máquina da Amazone de instâncias do Amazon EC2No AWS Explorer, você pode exibir visualizações das AMIs e das instâncias do Amazon EC2. Em AWSExplorer, expanda o nó Amazon EC2.

Para exibir a visualização das AMIs, no primeiro subnó, AMIs, abra o menu de contexto (clique com obotão direito do mouse) e escolha View.

Para exibir a visualização das instâncias do Amazon EC2, no nó Instances, abra o menu de contexto(clique com o botão direito do mouse) e escolha View.

8

Page 13: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioExecutar uma instância do Amazon EC2

Você também pode exibir a visualização clicando duas vezes no nó indicado.

• As visualizações têm escopo para a região especificada no AWS Explorer (por exemplo, Oeste dos EUA[Norte da Califórnia]).

• Você pode reorganizar colunas clicando e arrastando-as. Para classificar os valores em uma coluna,clique no cabeçalho da coluna.

• Você pode usar as listas suspensas e a caixa de filtro em Viewing para configurar visualizações. Avisualização inicial exibe AMIs de qualquer tipo de plataforma (Windows ou Linux) de propriedade daconta especificada no AWS Explorer.

Mostrar/ocultar colunas

Você também pode escolher o menu suspenso Show/Hide na parte superior da visualização paraconfigurar quais colunas são exibidas. A escolha de colunas persistirá se você fechar a visualização ereabri-la.

Interface do usuário Show/Hide Columns para visualizações de AMI e instâncias

Identificar AMIs, instâncias e volumes

Você também pode usar a lista suspensa Show/Hide a fim de adicionar tags para AMIs, instâncias doAmazon EC2 ou volumes próprios. Tags são pares nome/valor que permitem anexar metadados a AMIs,instâncias e volumes. Os nomes de tags têm escopo para a conta e também são separados para as AMIse as instâncias. Por exemplo, não haveria conflito se você tivesse usado o mesmo nome de tag para asAMIs e as instâncias. Os nomes de tag não diferenciam maiúsculas de minúsculas.

Para obter mais informações sobre tags, vá até Usar tags no Amazon EC2 User Guide for Linux Instances.

Para adicionar uma tag

1. Na caixa Add, digite um nome para a tag. Escolha o botão verde com o sinal de adição (+) e Apply.

Adicionar uma tag a uma instância da AMI ou do Amazon EC2

A nova tag é exibida em itálico, o que indica que ainda não há valores associados a essa tag.

Na visualização em lista, o nome da tag é exibido como uma nova coluna. Quando pelo menos um valortiver sido associado à tag, esta estará visível no AWS Console.

2. Para adicionar um valor à tag, clique duas vezes em uma célula na coluna dessa tag e digite um valor.Para excluir o valor da tag, clique duas vezes na célula e exclua o texto.

Se você limpar a tag na lista suspensa Show/Hide, a coluna correspondente desaparecerá davisualização. A tag é preservada, com todos os valores de tag associados a AMIs, instâncias ouvolumes.

Note

Se você limpar uma tag na lista suspensa Show/Hide sem valores associados, o AWS Toolkitexcluirá a tag por completo. Ela deixará de ser exibida na visualização em lista ou na listasuspensa Show/Hide. Para reutilizar essa tag, use a caixa de diálogo Show/Hide para recriá-la.

Executar uma instância do Amazon EC2O AWS Explorer oferece toda a funcionalidade necessária para executar uma instância do Amazon EC2.Nesta seção, iremos selecionar uma Amazon Machine Image (AMI – Imagem de máquina da Amazon),configurar e iniciá-la como uma instância do Amazon EC2.

9

Page 14: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioExecutar uma instância do Amazon EC2

Para executar uma instância do Windows Server Amazon EC2

1. Na parte superior da visualização das AMIs, na lista suspensa à esquerda, escolha Amazon Images. Nalista suspensa à direita, escolha Windows. Na caixa de filtro, digite ebs para Elastic Block Storage. Podedemorar um pouco para a visualização ser atualizada.

2. Escolha uma AMI na lista, abra o menu de contexto (clique com o botão direito do mouse) e escolhaLaunch Instance.

Lista de AMIs3. Na caixa de diálogo Launch New Amazon EC2 Instance, configure a AMI do aplicativo.

Tipo de instância

Escolha o tipo da instância do EC2 para iniciar. Você pode encontrar uma lista de tipos de instânciae informações sobre a definição de preço na página EC2 Pricing.

Name

Digite um nome para a instância. Esse nome não pode ser maior que 256 caracteres.Key Pair

Um par de chaves é usado para obter a senha do Windows usada por você para fazer login nainstância do EC2 usando o Remote Desktop Protocol (RDP). Escolha um par de chaves para oqual você tenha acesso à chave privada ou a opção para criar um par de chaves. Se criar o par dechaves no Toolkit, o Toolkit poderá armazenar a chave privada para você.

Os pares de chaves armazenadas no AWSToolKit são criptografados. você pode encontrá-losem %LOCALAPPDATA%\AWSToolkit\keypairs (normalmente: C:\Users\<user>\AppData\Local\AWSToolkit\keypairs). Você pode exportar o par de chaves criptografadas em umarquivo .pem.a. No Visual Studio, selecione Exibir e clique em AWS Explorer.b. Clique no Amazon EC2 e selecione Key Pairs.c. Os pares de chaves serão listados e os criados/gerenciados pelo Toolkit marcados como Stored

in AWSToolkit.d. Clique com o botão direito do mouse no par de chaves criado por você e selecione Export Private

Key. A chave privada não será criptografada e armazenada no local especificado por você.Security Group

O security group controla o tipo de tráfego de rede a instância do EC2 aceitará. Escolha um securitygroup que permitirá o tráfego recebido na porta 3389, a porta usada por RDP, de maneira que vocêpossa se conectar à instância do EC2. Para obter informações sobre como criar security groupsusando o Toolkit, consulte Gerenciar security groups no AWS Explorer (p. 14).

Instance Profile

O perfil da instância é um contêiner lógico para uma função do IAM. Ao escolher um perfil dainstância, você associa a função do IAM correspondente à instância do EC2. As funções doIAM são configuradas com políticas que especificam o acesso a serviços da AWS e recursos deconta. Quando uma instância do EC2 está associada a uma função do IAM, o software aplicativoexecutado na instância é executado com as permissões especificadas pela função do IAM. Issopermite que o software aplicativo seja executado sem a necessidade de especificar credenciais daAWS próprias, que torna o software mais seguro. Para obter mais informações sobre as funções doIAM, consulte o Guia do usuário do IAM.

Caixa de diálogo Launch AMI do EC24. Escolha Executar.

No AWS Explorer, no subnó Instances do Amazon EC2, abra o menu de contexto (clique com o botãodireito do mouse) do nó Amazon EC2 e escolha View. O AWS Toolkit exibe a lista de instâncias do

10

Page 15: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioConectar a uma instância do Amazon EC2

Amazon EC2 associadas à conta ativa. Você talvez precise escolher Refresh para ver a nova instância.Quando a instância for exibida pela primeira vez, ela poderá estar em um estado pendente, mas depoisde alguns instantes, ela mudará para um estado em execução.

Conectar a uma instância do Amazon EC2Você pode usar a Área de Trabalho Remota para se conectar a uma instância do Windows Server. Naautenticação, o AWS Toolkit permite recuperar a senha de administrador da instância, ou basta usar opar de chaves armazenadas associado à instância. No procedimento a seguir, usaremos o par de chavesarmazenadas.

Para se conectar a uma instância do Windows Server usando a Área de Trabalho Remota do Windows

1. Na lista de instâncias do EC2, clique com o botão direito do mouse na instância do Windows Server aque você deseja se conectar. No menu de contexto, escolha Open Remote Desktop.

Se quisesse autenticar usando a senha de administrador, você escolheria Get Windows Passwords.

Menu de contexto EC2 Instance2. Na caixa de diálogo Open Remote Desktop, escolha Use EC2 keypair to log on e OK.

Se você não tiver armazenado um par de chaves com o AWS Toolkit, especifique o arquivo PEM quecontém a chave privada.

Caixa de diálogo Open Remote Desktop3. A janela Remote Desktop será aberta. Você não precisa fazer login porque a autenticação ocorreu com

o par de chaves. Você será o administrador na instância do Amazon EC2.

Se a instância do EC2 tiver sido iniciada apenas recentemente, talvez você não consiga se conectar pordois motivos possíveis:• O serviço de Área de Trabalho Remota talvez ainda não esteja em execução. Aguarde alguns

minutos e tente novamente.• As informações sobre a senha talvez ainda não tenham sido transferidas para a instância. Nesse

caso, você verá uma caixa de mensagem semelhante à seguinte.

A senha ainda não está disponível

A captura de tela a seguir mostra um usuário conectado como administrador por meio da Área deTrabalho Remota.

Desktop remoto

Encerrar uma instância do Amazon EC2Usando o AWS Toolkit, você pode parar ou encerrar uma instância do Amazon EC2 em execução noVisual Studio. Para interromper a instância, a instância do EC2 deve estar usando um volume do AmazonEBS. Se a instância do EC2 não estiver usando um volume do Amazon EBS a única opção será encerrar ainstância.

Se você parar a instância, os dados armazenados no volume do EBS serão mantidos. Se você encerrara instância, todos os dados armazenados no dispositivo de armazenamento da instância local serãoperdidos. Em ambos os casos, parar ou encerrar, você não continuará sendo cobrado pela instância doEC2. No entanto, se parar uma instância, você continuará sendo cobrado pelo armazenamento do EBSque persistente depois que a instância for interrompida.

11

Page 16: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioGerenciar instâncias do Amazon ECS

Outra maneira possível de encerrar uma instância é usar a Área de Trabalho Remota para se conectarà instância e, no menu Iniciar do Windows, usar Desligar. Você pode configurar a instância para serinterrompida ou encerrada nesse cenário.

Para interromper uma instância do Amazon EC2

1. No AWS Explorer, expanda o nó Amazon EC2, abra o menu de contexto (clique com o botão direitodo mouse) de Instances e escolha View. Na lista Instances, clique com o botão direito do mouse nainstância que você deseja parar e escolha Stop no menu de contexto. Escolha Yes para confirmar quevocê deseja parar a instância.

2. Na parte superior da lista Instances, escolha Refresh para ver a alteração feita no status da instância doAmazon EC2. Como paramos, em vez de encerrar, a instância, o volume do EBS associado à instânciacontinua ativa.

Terminated Instances Remain Visible

Se você encerrar uma instância, ela continuará sendo exibida na lista Instance com instâncias emexecução ou paradas. Por fim, a AWS reivindica essas instâncias e elas desaparecem da lista. Você nãoserá cobrado por instâncias em um estado encerrado.

Para especificar o comportamento de uma instância do EC2 no desligamento

O AWS Toolkit permite especificar se uma instância do Amazon EC2 será parada ou encerrada seShutdown estiver selecionado no menu Start.

1. Na lista Instances, clique com o botão direito do mouse em uma instância do Amazon EC2 e escolhaChange shutdown behavior.

Item de menu Change Shutdown Behavior2. Na caixa de diálogo Change Shutdown Behavior, na lista suspensa Shutdown Behavior, escolha Stop

ou Terminate.

Gerenciar instâncias do Amazon ECSO AWS Explorer fornece visualizações detalhadas de clusters do Amazon Elastic Container Service(Amazon ECS) e repositórios de contêiner. Você pode criar, excluir e gerenciar detalhes de clusters econtêineres de dentro do ambiente de desenvolvimento do Visual Studio.

Modificar propriedades do serviçoVocê pode visualizar detalhes, eventos e propriedades de serviços a partir da visualização do cluster.

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito) do cluster a ser gerenciado eescolha View.

2. Na visualização do cluster do ECS, clique em Services à esquerda e, em seguida, clique na guiaDetails na visualização de detalhes. Você pode clicar em Events para ver as mensagens de eventos eDeployments para ver o status da implantação.

3. Clique em Edit. É possível alterar a contagem de tarefas desejadas e a porcentagem mínima e máximade integridade.

4. Clique em Save para aceitar as alterações ou em Cancel para reverter os valores existentes.

Interrupção de uma tarefaVocê pode ver o status atual das tarefas e interromper uma ou mais tarefas na visualização do cluster.

12

Page 17: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioExcluir um serviço

Para interromper uma tarefa

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito) do cluster com as tarefas quevocê deseja interromper e escolha View.

2. Na visualização do cluster do ECS, clique em Tasks à esquerda.3. Certifique-se de que Desired Task Status é definido como Running. Escolha as tarefas individuais para

interromper e, em seguida, clique em Stop ou clique em Stop All para selecionar e interromper todas astarefas em execução.

4. Na caixa de diálogo Stop Tasks, escolha Yes.

Excluir um serviçoVocê pode excluir serviços de um cluster a partir da visualização do cluster.

Para excluir um serviço de cluster

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito) do cluster com um serviço quevocê deseja excluir e escolha View.

2. Na visualização do cluster do ECS, clique em Services à esquerda e, em seguida, clique em Delete.3. Na caixa de diálogo Delete Cluster, se houver um load balancer e um grupo de destino no cluster, você

poderá optar por excluí-los com o cluster. Eles não serão usados quando o serviço for excluído.4. Na caixa de diálogo Delete Cluster, escolha OK. Quando o cluster for excluído, ele será removido do

AWS Explorer.

Excluir um clusterVocê pode excluir um cluster do Amazon Elastic Container Service a partir do AWS Explorer.

Para excluir um cluster

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito) do cluster que você desejaexcluir sob o nó Clusters do Amazon ECS e, em seguida, escolha Delete.

2. Na caixa de diálogo Delete Cluster, escolha OK. Quando o cluster for excluído, ele será removido doAWS Explorer.

Criar um repositórioVocê pode criar um repositório do Amazon Elastic Container Registry a partir do AWS Explorer.

Para criar um repositório

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) do nó Repositoriessob Amazon ECS e, em seguida, escolha Create Repository.

2. Na caixa de diálogo Create Repository, forneça o nome do repositório e escolha OK.

Excluir um repositórioVocê pode excluir um repositório do Amazon Elastic Container Registry a partir do AWS Explorer.

Para excluir um repositório

13

Page 18: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioGerenciar Security Groups no AWS Explorer

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) do nó Repositoriessob Amazon ECS e, em seguida, escolha Delete Repository.

2. Na caixa de diálogo Delete Repository, você poderá optar por excluir o repositório, mesmo que elecontenha imagens. Caso contrário, ele será excluído somente se estiver vazio. Clique emYes (Sim).

Gerenciar Security Groups no AWS ExplorerO Toolkit for Visual Studio permite criar e configurar security groups a serem usados com instâncias doAmazon Elastic Compute Cloud (Amazon EC2) e do AWS CloudFormation. Ao executar instâncias doAmazon EC2 ou implantar um aplicativo no AWS CloudFormation, você especifica um security group aser associado às instâncias do Amazon EC2. (A implantação no AWS CloudFormation cria instâncias doAmazon EC2.)

Um security group funciona como um firewall no tráfego de rede recebido. O security group especificaquais tipos de tráfego de rede são permitidos em uma instância do Amazon EC2. Ele também podeespecificar que o tráfego de entrada só será aceito de determinados endereços IP ou de usuáriosespecificados ou ainda apenas de outros security groups.

Criar de um grupo de segurançaNesta seção, criaremos um security group. Depois de ter sido criado, o security group não terá permissõesconfiguradas. Configurar permissões é algo processado por meio de uma operação adicional.

Para criar um security group

1. No AWS Explorer, no nó Amazon EC2, abra o menu de contexto (clique com o botão direito do mouse)do nó Security Groups e escolha View.

2. Na guia EC2 Security Groups, escolha Create Security Group.3. Na caixa de diálogo Create Security Group, digite um nome e uma descrição para o security group, além

de escolher OK.

Adicionar permissões a security groupsNesta seção, adicionaremos permissões ao security group para permitir o tráfego da web por meio dosprotocolos HTTP e HTTPS. Também permitiremos que outros computadores se conectem usando oWindows Remote Desktop Protocol (RDP).

Para adicionar permissões a um security group

1. Na guia EC2 Security Groups, escolha um security group e o botão Add Permission.2. Na caixa de diálogo Add IP Permission, escolha o botão de opção Protocol, Port and Network e, na

lista suspensa Protocol, escolha HTTP. O intervalo de portas se ajusta automaticamente à porta 80, aporta padrão para HTTP. O campo Source CIDR assume como padrão 0.0.0.0/0, o que especifica que otráfego de rede HTTP será aceito em qualquer endereço IP externo. Escolha OK.

Abrir a porta 80 (HTTP) desse security group3. Repita esse processo para HTTPS e RDP. As permissões de security groups já devem ser semelhantes

às permissões a seguir.

Você também pode definir permissões no security group especificando um ID de usuário e um nome desecurity group. Neste caso, as instâncias do Amazon EC2 nesse security group aceitarão todo o tráfegode rede recebido de instâncias do Amazon EC2 no security group especificado. Você também deve

14

Page 19: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioCriar uma AMI com base em uma instância do Amazon EC2

especificar o ID do usuário como uma maneira de diferenciar o nome do security group; os nomes desecurity group não precisam ser exclusivos em toda a AWS. Para obter mais informações sobre securitygroups, vá até a Documentação do EC2.

Criar uma AMI com base em uma instância doAmazon EC2

Na visualização Amazon EC2 Instances, você pode criar Amazon Machine Images (AMIs – Imagens demáquina da Amazon) com base em instâncias em execução ou paradas.

Para criar uma AMI com base em uma instância

1. Clique com o botão direito do mouse na instância que você deseja usar como base para a AMI eescolha Create Image no menu de contexto.

Menu de contexto Create Image2. Na caixa de diálogo Create Image, digite um nome exclusivo e uma descrição, além de escolher Create

Image.

Caixa de diálogo Create Image

Pode demorar alguns minutos para a AMI ser criada. Depois de ser criada, ela será exibida na visualizaçãoAMIs do AWS Explorer. Para exibir essa visualização, clique duas vezes no nó Amazon EC2 | AMIs doAWS Explorer. Para ver as AMIs, na lista suspensa Viewing, escolha Owned By Me. Você talvez preciseescolher Refresh para ver a AMI. Quando a AMI for exibida pela primeira vez, ela poderá estar em umestado pendente, mas depois de alguns instantes, ela mudará para um estado disponível.

Lista de AMIs criadas

Definir permissões de execução em uma imagemde máquina da Amazon

Você pode definir permissões de execução nas Amazon Machine Images (AMIs – Imagens de máquina daAmazon) na visualização AMIs do AWS Explorer. Você pode usar a caixa de diálogo Set AMI Permissionspara copiar permissões de AMIs.

Para definir permissões em uma AMI

1. Na visualização AMIs do AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse)de uma AMI e escolha Edit Permission.

2. Existem três opções disponíveis na caixa de diálogo Set AMI Permissions:• Para dar permissão de execução, escolha Add e digite o número da conta da AWS do usuário para

quem você está dando permissão de execução.• Para remover permissão de execução, escolha o número da conta da AWS do usuário de quem você

está removendo permissão de execução e escolha Remove.• Para copiar permissões de uma AMI para outra, escolha uma AMI na lista e Copy from. Os usuários

que tiverem permissões de execução na AMI escolhida por você receberão permissões de execuçãona AMI atual. Você pode repetir esse processo com outras AMIs na lista Copy-from para copiarpermissões de várias AMIs para a AMI de destino.

15

Page 20: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioAmazon Virtual Private Cloud (VPC)

A lista Copy-from só contém essas AMIs de propriedade da conta que estava ativa quando avisualização AMIs foi exibida no AWS Explorer. Assim, a lista Copy-from talvez não exiba nenhumaAMI caso nenhuma outra AMI seja de propriedade da conta ativa.

Caixa de diálogo Copy AMI permissions

Amazon Virtual Private Cloud (VPC)A Amazon Virtual Private Cloud (Amazon VPC) permite iniciar os recursos da Amazon Web Services(AWS) em uma rede virtual definida por você. Essa rede virtual é semelhante a uma rede tradicional quevocê operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS. Paraobter mais informações, vá até o Guia do usuário do Amazon VPC.

O Toolkit for Visual Studio permite que um desenvolvedor acesse a funcionalidade da VPC semelhante àexposta pelo Console de Gerenciamento da AWS, mas no ambiente de desenvolvimento do Visual Studio.O nó Amazon VPC do AWS Explorer inclui subnós das áreas a seguir.

• VPCs• Sub-redes• IPs elásticos• Internet Gateways• Network ACLs• Tabelas de rotas• Security groups

Criar uma VPC pública/privada para implantação como AWS Elastic BeanstalkEsta seção descreve como criar uma Amazon VPC que contém as sub-redes privadas e públicas. A sub-rede pública contém uma instância do Amazon EC2 que realiza a Network Address Translation (NAT– conversão de endereços de rede) para habilitar instâncias na sub-rede privada para se comunicarcom a internet pública. As duas sub-redes devem residir na mesma Availability Zone (AZ – Zona dedisponibilidade).

Essa é a configuração da VPC mínima necessária para implantar um ambiente do AWS Elastic Beanstalkem uma VPC. Nesse cenário, as instâncias do Amazon EC2 que hospedam o aplicativo residem na sub-rede privada; o load balancer do Elastic Load Balancing que roteia tráfego recebido para o aplicativo residena sub-rede pública.

Para obter mais informações sobre a NAT, vá até Instâncias NAT no Guia do usuário da Amazon VirtualPrivate Cloud. Para obter um exemplo de como configurar a implantação para usar uma VPC, consulteImplantar no Elastic Beanstalk (p. 18).

Para criar uma VPC de sub-rede privada/pública

1. No nó Amazon VPC no AWS Explorer, abra o subnó VPCs e escolha Create VPC.2. Configure a VPC desta forma:

• Digite um nome para a VPC.• Marque as caixas de seleção With Public Subnet e With Private Subnet.

16

Page 21: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioCriar uma VPC pública/privada para

implantação com o AWS Elastic Beanstalk

• Na lista suspensa Availability Zone de cada sub-rede, escolha uma zona de disponibilidade. Use omesmo AZ para ambas as sub-redes.

• Para a sub-rede privada, em NAT Key Pair Name, forneça um par de chaves. Esse par de chavesé usado na instância do Amazon EC2 que realiza a conversão de endereços de rede da sub-redeprivada na Internet pública.

• Marque a caixa de seleção Configure default security group to allow traffic to NAT.

Digite um nome para a VPC. Marque as caixas de seleção With Public Subnet e With Private Subnet.Na lista suspensa Availability Zone de cada sub-rede, escolha uma zona de disponibilidade. Use omesmo AZ para ambas as sub-redes. Para a sub-rede privada, em NAT Key Pair Name, forneça umpar de chaves. Esse par de chaves é usado na instância do Amazon EC2 que realiza a conversão deendereços de rede da sub-rede privada na Internet pública. Marque a caixa de seleção Configure defaultsecurity group to allow traffic to NAT.

Escolha OK.

Você pode visualizar a nova VPC na guia VPCs do AWS Explorer.

A instância NAT pode levar alguns minutos para ser iniciada. Quando estiver disponível, você poderávisualizá-la expandindo o nó Amazon EC2 no AWS Explorer e abrindo o subnó Instances.

Um volume do AWS Elastic Beanstalk (Amazon EBS) é criado para a instância NAT automaticamente.Para obter mais informações sobre o Elastic Beanstalk, vá até AWS Elastic Beanstalk (EBS) no AmazonEC2 User Guide for Linux Instances.

Se você implantar um aplicativo em um ambiente do AWS Elastic Beanstalk (p. 18) e optar por iniciaro ambiente em um VPC, o Toolkit preencherá a caixa de diálogo Publish to AWS com as informações deconfiguração da VPC.

O Toolkit preenche a caixa de diálogo com informações apenas de VPCs que foram criadas no Toolkit,e não de VPCs criadas usando o Console de Gerenciamento da AWS. Isso acontece porque quandoo Toolkit cria uma VPC, ele identifica os componentes da VPC, de maneira que ele possa acessar asinformações.

A captura de tela a seguir do Assistente de implantação mostra um exemplo de uma caixa de diálogopreenchida com valores de uma VPC criada no Toolkit.

Para excluir uma VPC

Para excluir a VPC, você deve primeiramente encerrar todas as instâncias do Amazon EC2 na VPC.

1. Se você tiver implantado um aplicativo em um ambiente do AWS Elastic Beanstalk na VPC, exclua oambiente. Isso encerrará todas as instâncias do Amazon EC2 que hospedam o aplicativo com o loadbalancer do Elastic Load Balancing.

Se você tentar encerrar diretamente as instâncias que hospedam o aplicativo sem excluir o ambiente,o serviço do Auto Scaling criará automaticamente novas instâncias para substituir as excluídas. Paraobter mais informações, vá até o Guia do desenvolvedor do Auto Scaling.

2. Exclua a instância NAT da VPC.

Você não precisa excluir o volume do Amazon EBS associado à instância NAT para excluir a VPC. Noentanto, se não excluir o volume, você continuará sendo cobrado por ele, mesmo se excluir a instânciaNAT e a VPC.

3. Na guia VPC, escolha o link Delete para excluir a VPC.4. Na caixa de diálogo Delete VPC, escolha OK.

17

Page 22: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação usando o AWS Toolkit

Implantação usando o AWS ToolkitO Toolkit for Visual Studio dá suporte à implantação de aplicativos em contêineres do AWS ElasticBeanstalk ou stacks do AWS CloudFormation.

• Implantar no Elastic Beanstalk (p. 18) descreve como usar o Visual Studio IDE para implantaraplicativos no Elastic Beanstalk.

• Implantar no Amazon EC2 Container Service (p. 39) descreve como usar o Visual Studio IDE paraimplantar aplicativos no Amazon ECS.

• A Ferramenta de implantação autônoma (p. 46) descreve como usar a ferramenta de implantaçãoautônoma para implantar nos contêineres do Elastic Beanstalk ou nas stacks AWS CloudFormation emuma janela de comando.

Note

Se você estiver usando o Visual Studio Express Edition:

• Você pode usar a ferramenta de implantação autônoma (p. 46) para implantar aplicativos emcontêineres do Elastic Beanstalk.

• Você pode usar a CLI do Docker para implantar aplicativos em contêineres do Amazon ECS.• Você pode usar o Console de Gerenciamento da AWS para implantar aplicativos em

contêineres do Elastic Beanstalk.

Em implantações do Elastic Beanstalk, você deve primeiramente criar um pacote de implantaçãoda web. Para obter mais informações, consulte Como criar um pacote de implantação web noVisual Studio. Para a implantação do Amazon ECS, é preciso ter uma imagem do Docker. Paraobter mais informações, consulte Ferramentas do Visual Studio para Docker.

Tópicos• Implantar no Elastic Beanstalk (p. 18)• Implantação no Amazon EC2 Container Service (p. 39)• Ferramenta de implantação autônoma (p. 46)

Implantar no Elastic BeanstalkO AWS Elastic Beanstalk é um serviço que simplifica o processo de provisionar recursos da AWS para oaplicativo. O Elastic Beanstalk fornece toda a infraestrutura da AWS necessária para implantar o aplicativo.Essa infraestrutura inclui:

• As instâncias do Amazon EC2 que hospedam os executáveis e o conteúdo do aplicativo.• Um grupo do Auto Scaling para manter o número apropriado de instâncias do Amazon EC2 para dar

suporte ao aplicativo.• Um load balancer do Elastic Load Balancing que roteia o tráfego recebido para a instância do Amazon

EC2 com a maior largura de banda.

O Toolkit for Visual Studio fornece um assistente que simplifica a publicação de aplicativos por meio doElastic Beanstalk. Esse assistente é descrito nas seções a seguir.

Para obter mais informações sobre o Elastic Beanstalk, consulte a Documentação do Elastic Beanstalk.

Tópicos

18

Page 23: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

• Implantar um aplicativo do ASP.NET tradicional no Elastic Beanstalk (p. 19)• Implantar um aplicativo do ASP.NET Core no Elastic Beanstalk (p. 23)• Como especificar as credenciais do AWS Security para o aplicativo (p. 24)• Como republicar o aplicativo em um ambiente do Elastic Beanstalk (p. 25)• Implantações de aplicativo Elastic Beanstalk personalizadas (p. 25)• Implantações do Elastic Beanstalk do ASP.NET Core personalizadas (p. 26)• Suporte de vários aplicativos para o .NET e o Elastic Beanstalk (p. 29)• Implantar no Elastic Beanstalk (herdado) (p. 31)• Implantar no AWS CloudFormation (herdado) (p. 36)

Implantar um aplicativo do ASP.NET tradicional no ElasticBeanstalkEsta seção descreve como usar o assistente Publish to Elastic Beanstalk, fornecido como parte do Toolkitfor Visual Studio, para implantar um aplicativo por meio do Elastic Beanstalk. Para praticar, você pode usaruma instância de um projeto inicial de aplicativo web compilado no Visual Studio ou usar o próprio projeto.

Note

Este tópico descreve como usar o assistente para implantar aplicativos do ASP.NET tradicionais.O assistente também dá suporte à implantação de aplicativos do ASP.NET Core. Para obterinformações sobre o ASP.NET Core, consulte Implantar um aplicativo do ASP.NET Core noElastic Beanstalk (p. 23).

Note

Para usar o assistente Publish to Elastic Beanstalk, você deve fazer download e instalar WebDeploy. O assistente depende do Web Deploy para implantar aplicativos web e sites aosservidores web do Internet Information Services (IIS).

Para criar um projeto inicial de aplicativo web de exemplo

1. No Visual Studio, no menu File, escolha New e Project.2. No painel de navegação da caixa de diálogo New Project, expanda Installed, Templates, Visual C# e

escolha Web.3. Na lista de modelos de projeto da web, escolha qualquer modelo que contenha as palavras Web e

Application na descrição. Para este exemplo, escolha ASP.NET Web Forms Application.4. Na caixa Name, digite AEBWebAppDemo.5. Na caixa Location, digite o caminho para uma pasta de solução na máquina de desenvolvimento e

escolha Browse e navegue até e escolha uma pasta de solução e escolha Select Folder.6. Confirme se a caixa Create directory for solution está marcada. Na lista suspensa Solution, confirme se

Create new solution está selecionado e escolha OK. O Visual Studio criará uma solução e um projetocom base no modelo de projeto ASP.NET Web Forms Application. O Visual Studio acabará exibindo oSolution Explorer, onde a nova solução e o projeto são exibidos.

Para implantar um aplicativo usando o assistente Publish to Elastic Beanstalk

1. No Solution Explorer, abra o menu de contexto (clique com o botão direito do mouse) da pasta doprojeto AEBWebAppDemo criada na seção anterior ou abra o menu de contexto da pasta do projeto dopróprio aplicativo e escolha Publish to AWS Elastic Beanstalk.

19

Page 24: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

O assistente Publish to Elastic Beanstalk é exibido.2. No Profile, na lista suspensa Account profile to use for deployment, escolha o perfil da conta da AWS

que você deseja usar na implantação.

Se tiver uma conta da AWS que queira usar, mas ainda não tiver criado um perfil de conta da AWS,você poderá escolher o botão com o sinal de adição (+) para incluir um perfil de conta da AWS.

3. Na lista suspensa Region, escolha a região na qual você deseja que o Elastic Beanstalk implante oaplicativo.

4. Em Deployment Target, você pode escolher Create a new application environment para realizar umaimplantação inicial de um aplicativo ou Redeploy to an existing environment para reimplantar umaplicativo já implantado. (As implantações anteriores podem ter sido realizadas com o assistenteou a Ferramenta de implantação autônoma (p. 46).) Se você escolher Redeploy to an existingenvironment, poderá haver um atraso enquanto o assistente recupera informações de implantaçõesanteriores em execução no momento.

Note

Se você escolher Redeploy to an existing environment, escolha um ambiente na lista e Next,e o assistente levará você diretamente até a página Application Options. Se você seguir essarota, passe diretamente às instruções posteriormente nesta seção que descrevem como usar apágina Application Options.

5. Escolha Next.6. Na página Application Environment, na área Application, a lista suspensa Name propõe um nome

padrão para o aplicativo. Você pode alterar o nome padrão escolhendo um nome diferente na listasuspensa.

7. Na área Environment, na lista suspensa Name, digite um nome para o ambiente do Elastic Beanstalk.Neste contexto, o termo ambiente se refere às provisões do Elastic Beanstalk da infraestrutura para oaplicativo. Um nome padrão já pode ter sido proposto nessa lista suspensa. Se um nome padrão aindanão tiver sido proposto, você poderá digitar um ou escolher um na lista suspensa, se nomes adicionaisestiverem disponíveis. O nome do ambiente não pode ter mais que 23 caracteres.

8. Na área URL, a caixa propõe um subdomínio padrão de .elasticbeanstalk.com que será o URL doaplicativo web. Você pode alterar o subdomínio padrão digitando um novo nome de subdomínio.

9. Escolha Check availability para verificar se o URL do aplicativo web ainda não está em uso.10.Se o URL do aplicativo da web puder ser usado, escolha Next.

1. Na página AWS Options, em Amazon EC2 Launch Configuration, na lista suspensa Container type,escolha um tipo de Amazon Machine Image (AMI – Imagem de máquina da Amazon) que será usado noaplicativo.

2. Na lista suspensa Instance type, especifique um tipo de instância do Amazon EC2 a ser usado. Paraeste exemplo, recomendamos usar Micro. Isso minimizará o custo associado à execução da instância.Para obter mais informações sobre os custos do Amazon EC2, vá até a página Definição de preço doEC2.

3. Na lista suspensa Key pair, escolha um par de chaves da instância do Amazon EC2 a ser usado parafazer login nas instâncias que serão usadas no aplicativo.

4. Como opção, na caixa Use custom AMI, você pode especificar uma AMI personalizada que substituirá aAMI especificada na lista suspensa Container type. Para obter mais informações sobre como criar umaAMI personalizada, acesse Como usar AMIs personalizadas no Guia do desenvolvedor do AWS ElasticBeanstalk e Criar uma AMI a partir de uma instância do Amazon EC2 (p. 15).

5. Se você quiser iniciar as instâncias em uma VPC, marque a caixa Use a VPC.6. Se você quiser iniciar uma única instância do Amazon EC2 e implantar o aplicativo nela, marque a caixa

Single instance environment.

20

Page 25: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Se você marcar essa caixa, o Elastic Beanstalk continuará criando um grupo do Auto Scaling, mas nãoo configurará. Se quiser configurar o grupo do Auto Scaling posteriormente, você poderá usar o Consolede gerenciamento da AWS.

7. Se você quiser controlar as condições nas quais o aplicativo é implantado nas instâncias, marque acaixa Enable Rolling Deployments. Você só poderá marcar essa caixa se não tiver marcado a caixaSingle instance environment.

8. Se o aplicativo usar serviços da AWS, como Amazon S3 e DynamoDB, a melhor maneira de fornecercredenciais será usar uma função do IAM. Na área Deployed Application Permissions, você podeescolher uma função do IAM existente ou criar uma que o assistente usará para iniciar o ambiente. Osaplicativos que usam o AWS SDK for .NET utilizarão automaticamente as credenciais fornecidas poressa função do IAM ao fazer uma solicitação para um serviço da AWS.

9. Se o aplicativo acessar um banco de dados do Amazon RDS, na lista suspensa na área RelationalDatabase Access, marque as caixas ao lado de todos os security groups do Amazon RDS que oassistente atualizará, de maneira que as instâncias do Amazon EC2 possam acessar esse banco dedados.

10.Escolha Next.• Se você tiver selecionado Use a VPC, a página VPC Options será exibida.• Se você tiver selecionado Enable Rolling Deployments, mas não Use a VPC, a página Rolling

Deployments será exibida. Passe diretamente às instruções posteriormente nesta seção quedescrevem como usar a página Rolling Deployments.

• Se você não tiver selecionado Use a VPC ou Enable Rolling Deployments, a página ApplicationOptions será exibida. Passe diretamente às instruções posteriormente nesta seção que descrevemcomo usar a página Application Options.

11.Se você tiver selecionado Use a VPC, especifique as informações na página VPC Options para iniciar oaplicativo em uma VPC.

A VPC já deve ter sido criada. Se tiver criado a VPC no Toolkit for Visual Studio, o Toolkit for VisualStudio preencherá esta página para você. Se você tiver criado a VPC no Console de Gerenciamento daAWS, digite informações sobre a VPC nesta página.

Considerações fundamentais para a implantação em uma VPC

• A VPC precisa de pelo menos uma pública e uma sub-rede privada.• Na lista suspensa ELB Subnet, especifique a sub-rede pública. O Toolkit for Visual Studio implanta

o load balancer do Elastic Load Balancing do aplicativo na sub-rede pública. A sub-rede pública éassociada a uma tabela de roteamento com uma entrada apontando para um Internet Gateway. Vocêpode reconhecer um Internet Gateway porque ele possui um ID que começa com igw- (por exemplo,igw-83cddaex). As sub-redes públicas criadas por você usando o Toolkit for Visual Studio têm valoresde tag que as identificam como públicas.

• Na lista suspensa Instances Subnet, especifique a sub-rede privada. O Toolkit for Visual Studio implantaas instâncias do Amazon EC2 do aplicativo na sub-rede privada.

• As instâncias do Amazon EC2 do aplicativo se comunicam pela sub-rede privada com a Internet pormeio de uma instância do Amazon EC2 na sub-rede pública que realiza a Network Address Translation(NAT – conversão de endereços de rede). Para permitir essa comunicação, você precisará de umVPC security group que permite o fluxo de tráfego da sub-rede para a instância NAT. Especifique essesecurity group da VPC na lista suspensa Security Group.

Para obter mais informações sobre como implantar um aplicativo do Elastic Beanstalk em uma VPC,acesse o Guia do desenvolvedor do AWS Elastic Beanstalk.

1. Depois que você tiver preenchido todas as informações na página VPC Options, escolha Next.• Se você tiver selecionado Enable Rolling Deployments, a página Rolling Deployments será exibida.

21

Page 26: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

• Se você não tiver selecionado Enable Rolling Deployments, a página Application Options será exibida.Passe diretamente às instruções posteriormente nesta seção que descrevem como usar a páginaApplication Options.

2. Se tiver selecionado Enable Rolling Deployments, você especifica informações na página RollingDeployments para configurar como novas versões dos aplicativos são implantadas nas instâncias emum ambiente com balanceamento de carga. Por exemplo, se tiver quatro instâncias no ambiente equiser alterar o tipo de instância, você poderá configurar o ambiente para alterar duas instâncias porvez. Isso ajuda a garantir que o aplicativo ainda esteja em execução enquanto as alterações estãosendo feitas.

3. Na área Application Versions, escolha uma opção para controlar implantações em uma porcentagem ounúmero de instâncias por vez. Especifique a porcentagem ou o número desejado.

4. Como opção, na área Environment Configuration, marque a caixa se você quiser especificar o númerode instâncias que permanecem em serviço durante as implantações. Se você marcar essa caixa,especifique o número máximo de instâncias que devem ser modificadas por vez, o número mínimo deinstâncias que devem permanecer em serviço por vez, ou ambos.

5. Escolha Next.6. Na página Application Options, você especifica informações sobre a compilação, o Internet Information

Services (IIS) e as configurações do aplicativo.7. Na área Build and IIS Deployment Settings, na lista suspensa Project build configuration, escolha a

configuração da compilação de destino. Se o assistente conseguir encontrá-la, Release será exibida, ea configuração ativa é mostrada nessa caixa.

8. Na lista suspensa App pool, escolha a versão do .NET Framework exigida pelo aplicativo. A versãodo .NET Framework correta já deve ser exibida.

9. Se o aplicativo for 32 bits, marque a caixa Enable 32-bit applications.10.Na caixa App path, especifique o caminho que o IIS usará para implantar o aplicativo. Por padrão,

Default Web Site/ é especificado, o que normalmente se converte no caminho c:\inetpub\wwwroot.Se especificar um caminho diferente de Default Web Site/, o assistente colocará um redirecionamentono caminho Default Web Site/ apontando para o caminho especificado por você.

11.Na área Application Settings, na caixa Health check URL, digite um URL para o Elastic Beanstalk a fimde verificar se o aplicativo web ainda responde. Este URL é relativo ao URL do servidor raiz. O URL doservidor raiz é especificado por padrão. Por exemplo, se o URL completo fosse example.com/site-is-up.html, você digitaria /site-is-up.html.

12.Na área de Key e Value, você pode especificar os pares de chave e valor que deseja adicionar aoarquivo Web.config do aplicativo.

Note

Embora não recomendável, você pode usar a área de Key e Value, para especificar ascredenciais da AWS com as quais o aplicativo deve ser executado. A abordagem preferida éespecificar uma função do IAM na lista suspensa Identity and Access Management Role dapágina AWS Options. No entanto, se você precisar usar credenciais da AWS, em vez de umafunção do IAM, para executar o aplicativo, na linha Key, escolha AWSAccessKey. Na linhaValue, digite a chave de acesso. Repita essas etapas para AWSSecretKey.

13.Escolha Next.14.Na página Review, revise as opções configuradas por você anteriormente e marque a caixa Open

environment status window when wizard closes.15.Você também pode salvar a configuração de implementação em um arquivo de texto que pode ser

usado com a ferramenta de implantação autônoma (p. 46). Para salvar a configuração, selecioneGenerate AWSDeploy configuration, escolha Choose File e especifique um arquivo no qual salvar aconfiguração. Você também poderá salvar a configuração de implementação em um arquivo de textodepois que a implantação for concluída. No AWS Explorer, abra o menu de contexto (clique com o botãodireito do mouse) da implantação e escolha Save Configuration.

16.Se tudo estiver aparentemente correto, escolha Deploy.

22

Page 27: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Note

Quando você implementar o aplicativo, a conta ativa incorrerá em cobranças pelos recursos daAWS usados pelo aplicativo.

As informações sobre a implantação serão exibidas na barra de status do Visual Studio e na janelaOutput. Isso pode demorar muitos minutos. Quando a implementação estiver concluída, uma mensagemde confirmação será exibida na janela Output.

17.Para excluir a implantação, no AWS Explorer, expanda o nó Elastic Beanstalk, abra o menu de contexto(clique com o botão direito do mouse) do subnó de implantação e escolha Delete. O processo deexclusão pode demorar alguns minutos.

Implantar um aplicativo do ASP.NET Core no Elastic BeanstalkO AWS Elastic Beanstalk é um serviço que simplifica o processo de provisionar recursos da AWS parao aplicativo. O AWS Elastic Beanstalk fornece toda a infraestrutura da AWS necessária para implantar oaplicativo.

O Toolkit for Visual Studio dá suporte à implantação de aplicativos do ASP.NET Core na AWS usando oElastic Beanstalk. O ASP.NET Core é a reformulação do ASP.NET com uma arquitetura modularizada queminimiza a sobrecarga de dependência e aprimora a execução do aplicativo na nuvem.

O AWS Elastic Beanstalk facilita implantar aplicativos em vários idiomas diferentes na AWS. O ElasticBeanstalk dá suporte a aplicativos do ASP.NET tradicionais e do ASP.NET Core. Este tópico descrevecomo implantar os aplicativos do ASP.NET Core.

Usar o Deployment Wizard

A maneira mais fácil de implantar aplicativos do ASP.NET Core no Elastic Beanstalk é com o Toolkit forVisual Studio.

Se tiver usado o toolkit antes de implantar aplicativos do ASP. NET tradicionais, você verá que aexperiência no ASP.NET Core é muito semelhante. Nas etapas abaixo, percorreremos a experiência deimplantação.

Se jamais tiver usado o toolkit, a primeira coisa que você precisará fazer depois de instalar o toolkit seráregistrar as credenciais da AWS com o toolkit. Consulte Como especificar as credenciais de segurançada AWS para o aplicativo (p. 24) para a documentação do Visual Studio a fim de obter detalhes sobrecomo fazer isso.

Para implantar um aplicativo web do ASP.NET Core, clique com o botão direito do mouse no projeto noSolution Explorer e selecione Publish to AWS….

Na primeira página do assistente de implantação Publish to AWS Elastic Beanstalk, opte por criar um novoaplicativo do Elastic Beanstalk. Um aplicativo do Elastic Beanstalk é um conjunto lógico de componentesdo Elastic Beanstalk, inclusive ambientes, versões e configurações de ambiente. O assistente deimplantação gera um aplicativo que, por sua vez, contém um conjunto de versões dos aplicativos eambientes. Os ambientes contêm os recursos da AWS reais que executam uma versão do aplicativo.Sempre que você implanta um aplicativo, uma nova versão do aplicativo é criada, e o assistente apontao ambiente para essa versão. Você pode saber mais sobre esses conceitos nos Componentes do ElasticBeanstalk.

Em seguida, defina nomes para o aplicativo e o primeiro ambiente. Cada ambiente tem um CNAMEexclusivo associado que você pode usar para acessar o aplicativo quando a implantação é concluída.

A próxima página, AWS Options, permite configurar o tipo de recursos da AWS a ser usado. Para esteexemplo, deixe os valores padrão, exceto para a seção Key pair. Os pares de chaves permitem recuperar

23

Page 28: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

a senha de administrador do Windows, de maneira que você possa fazer login na máquina. Se você aindanão tiver criado um par de chaves, convém selecionar Create new key pair.

PermissõesA página Permissions é usada para atribuir credenciais da AWS às instâncias do EC2 que executam oaplicativo. Isso será importante se o aplicativo usar o AWS SDK for .NET para acessar outros serviços daAWS. Se não estiver usando nenhum outro serviço pelo aplicativo, você poderá deixar essa página nopadrão.

Opções de aplicativoOs detalhes na página Application Options são diferentes dos especificados durante a implantação deaplicativos do ASP.NET tradicionais. Aqui você especifica a configuração da compilação e a estruturausadas para empacotar o aplicativo, além de especificar o caminho do recurso do IIS para o aplicativo.

Depois de preencher a página Application Options, clique em Next para examinar as configurações eclique em Deploy para iniciar o processo de implantação.

Verificar status do ambienteDepois que o aplicativo for empacotado e carregado na AWS, você poderá verificar o status do ambientedo Elastic Beanstalk abrindo a visualização de status do ambiente no AWS Explorer do Visual Studio.

Os eventos são exibidos na barra de status à medida que o ambiente fica online. Quando tudo estiverpronto, o status do ambiente mudará para um estado íntegro. Você pode clicar no URL para visualizar osite. Aqui você também pode extrair os logs do ambiente ou da área de trabalho remota para as instânciasdo Amazon EC2 que fazem parte do ambiente do Elastic Beanstalk.

A primeira implantação de qualquer aplicativo demorará um pouco mais do que as reimplantaçõessubsequentes, porque cria novos recursos da AWS. À medida que interagir no aplicativo durante odesenvolvimento, você poderá reimplantar rapidamente voltando no assistente ou selecionando a opçãoRepublish quando clicar com o botão direito do mouse no projeto.

Republique pacotes do aplicativo usando as configurações da execução anterior por meio do assistente deimplantação e faça upload do pacote de aplicativos para o ambiente do Elastic Beanstalk existente.

Como especificar as credenciais do AWS Security para oaplicativoA conta da AWS especificada por você no assistente Publish to Elastic Beanstalk (ou a versão herdadadesse assistente, Publish to Amazon Web Services) é a conta da AWS que o assistente usará naimplantação no Elastic Beanstalk.

Embora não recomendado, você também precisa especificar credenciais da conta da AWS que o aplicativousará para acessar os serviços da AWS depois que tiver sido implantado. A abordagem preferida éespecificar uma função do IAM. No assistente Publish to Elastic Beanstalk, você pode fazer isso por meioda lista suspensa Identity and Access Management Role na página AWS Options. No assistente herdadoPublish to Amazon Web Services, você pode fazer isso por meio da lista suspensa IAM Role na páginaAWS Options.

Se precisar usar credenciais da conta da AWS, em vez de uma função do IAM, você poderá especificar ascredenciais da conta da AWS para o aplicativo de uma das seguintes maneiras:

• Referencie um perfil correspondente às credenciais da conta da AWS no elemento appSettings doarquivo Web.config do projeto. (Para criar um perfil, consulte Configurar credenciais da AWS.) Oexemplo a seguir especifica credenciais cujo nome de perfil é myProfile.

<appSettings>

24

Page 29: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

<!-- AWS CREDENTIALS --> <add key="AWSProfileName" value="myProfile"/></appSettings>

• Se você estiver usando o assistente Publish to Elastic Beanstalk, na página Application Options, na linhaKey das áreas Key e Value, escolha AWSAccessKey. Na linha Value, digite a chave de acesso. Repitaessas etapas para AWSSecretKey.

• Se você estiver usando o assistente Publish to Amazon Web Services herdado, na página ApplicationOptions, na área Application Credentials, escolha Use these credentials e digite a chave de acesso e achave de acesso secreta nas caixas Access Key e Secret Key.

Como republicar o aplicativo em um ambiente do ElasticBeanstalkVocê pode iterar no aplicativo fazendo alterações discretas e republicando uma nova versão no ambientedo Elastic Beanstalk já iniciado.

1. No Solution Explorer, abra o menu de contexto (clique com o botão direito do mouse) da pastaAEBWebAppDemo do projeto que você publicou na seção anterior e escolha Publish to AWS ElasticBeanstalk.

O assistente Publish to Elastic Beanstalk é exibido.2. Selecione Redeploy to an existing environment e escolha o ambiente onde você publicou anteriormente.

Clique em Next (Próximo).

O assistente Review é exibido.3. Clique em Deploy. O aplicativo será reimplantado no mesmo ambiente.

Você não poderá republicar se o aplicativo estiver no processo de execução ou encerramento.

Implantações de aplicativo Elastic Beanstalk personalizadasEste tópico descreve como o manifesto de implantação do contêiner do Microsoft Windows do ElasticBeanstalk é compatível com as implantações de aplicativo personalizadas.

As implantações de aplicativo personalizadas são um recurso eficiente para usuários avançados quedesejam utilizar a força do Elastic Beanstalk para criar e gerenciar os recursos da AWS, mas quequerem controle completo sobre a maneira como o aplicativo é implantado. Para uma implantação deaplicativo personalizada, você pode criar scripts do Windows PowerShell para as três ações diferentesrealizadas pelo Elastic Beanstalk. A ação de instalação é usada quando uma implantação é iniciada, areinicialização é usada quando a API RestartAppServer é chamada pelo toolkit ou pelo console da webe a desinstalação é invocada em qualquer implantação anterior sempre que ocorre uma nova implantação.

Por exemplo, convém ter um aplicativo ASP.NET que você deseja implantar, e a equipe de documentaçãocria um site estático que deseja incluir na implantação. Você pode fazer isso escrevendo o manifesto deimplantação assim:

{ "manifestVersion": 1, "deployments": {

"msDeploy": [ { "name": "app", "parameters": { "appBundle": "CoolApp.zip", "iisPath": "/"

25

Page 30: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

} } ], "custom": [ { "name": "PowerShellDocs", "scripts": { "install": { "file": "install.ps1" }, "restart": { "file": "restart.ps1" }, "uninstall": { "file": "uninstall.ps1" } } } ] }}

Os scripts listados para cada ação devem estar no pacote de aplicativos de implantação relativo ao arquivomanifesto. Neste exemplo, o pacote de aplicativos também conterá um arquivo documentation.zip quecontém um site estático criado pela equipe de documentação.

O script install.ps1 extrai o arquivo zip e configura o caminho do IIS.

Add-Type -assembly "system.io.compression.filesystem"[io.compression.zipfile]::ExtractToDirectory('./documentation.zip', 'c:\inetpub\wwwroot\documentation')

powershell.exe -Command {New-WebApplication -Name documentation -PhysicalPath c:\inetpub\wwwroot\documentation -Force}

Como o aplicativo está execução no IIS, a ação de reinicialização invocará uma redefinição do IIS.

iisreset /timeout:1

Para desinstalar scripts, é importante limpar todas as configurações e arquivos usados durante o estágiode instalação. Dessa maneira, durante a fase de instalação para a nova versão, você pode evitar qualquercolisão com implantações anteriores. Neste exemplo, você precisa remover o aplicativo do IIS do siteestático e remover os arquivos do site.

powershell.exe -Command {Remove-WebApplication -Name documentation}Remove-Item -Recurse -Force 'c:\inetpub\wwwroot\documentation'

Com esses arquivos de script e o arquivo documentation.zip incluídos no pacote de aplicativos, aimplantação cria o aplicativo ASP.NET e implanta o local da documentação.

Neste exemplo, escolhemos um exemplo simples que implanta um site estático simples, mas com aimplantação de aplicativos personalizada, você pode implantar qualquer tipo de aplicativo e permitir oElastic Beanstalk gerenciar os recursos da AWS para ele.

Implantações do Elastic Beanstalk do ASP.NET CorepersonalizadasEste tópico descreve como a implantação funciona e o que você pode fazer para personalizarimplantações ao criar aplicativos do ASP.NET Core com o Elastic Beanstalk e o Toolkit for Visual Studio.

26

Page 31: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Depois de concluir o assistente de implantação no Toolkit for Visual Studio, o toolkit vai empacotar oaplicativo e enviá-lo para o Elastic Beanstalk. A primeira etapa na criação do pacote de aplicativos é usara nova CLI dotnet a fim de preparar o aplicativo para publicação usando o comando publish. A estrutura ea configuração são passadas pelas configurações no assistente para o comando publish. Assim, se vocêtiver selecionado Release para configuration e netcoreapp1.0 para o framework, o toolkit executará oseguinte comando:

dotnet publish --configuration Release --framework netcoreapp1.0

Quando o comando publish é concluído, o toolkit grava o novo manifesto de implantação na pastade publicação. O manifesto de implantação é um arquivo JSON chamado aws-windows-deployment-manifest.json, que o contêiner do Windows (versão 1.2 ou posterior) do Elastic Beanstalk lê paradeterminar como implantar o aplicativo. Por exemplo, para um aplicativo do ASP.NET Core que vocêqueira implantar na raiz do IIS, o toolkit gera um arquivo manifesto semelhante a este:

{ "manifestVersion": 1, "deployments": {

"aspNetCoreWeb": [ { "name": "app", "parameters": { "appBundle": ".", "iisPath": "/", "iisWebSite": "Default Web Site" } } ] }}

A propriedade appBundle indica onde os bits do aplicativo estão em relação ao arquivo manifesto. Essapropriedade pode apontar para um diretório ou um arquivo ZIP. As propriedades iisPath e iisWebSiteindicam onde hospedar o aplicativo no IIS.

Personalizar o manifesto

O toolkit só gravará o arquivo manifesto se um ainda não existir na pasta de publicação. Se o arquivo nãoexistir, o toolkit atualizará as propriedades appBundle, iisPath e iisWebSite no primeiro aplicativolistado na seção aspNetCoreWeb do manifesto. Isso permite adicionar o aws-windows-deployment-manifest.json ao projeto e personalizar o manifesto. Para fazer isso para um aplicativo web do ASP.NETCore no Visual Studio, adicione um novo arquivo JSON à raiz do projeto e o nomeie como aws-windows-deployment-manifest.json.

O manifesto deve ser chamado de aws-windows-deployment-manifest.json e deve estar na raiz do projeto.O contêiner do Elastic Beanstalk procura o manifesto na raiz e, se o encontrar, ele invocará as ferramentasde implantação. Se o arquivo não existir, o contêiner do Elastic Beanstalk recorrerá às ferramentas deimplantação anteriores, o que pressupõe que o arquivo seja um arquivo msdeploy.

Para garantir que o comando publish da CLI do dotnet inclua o manifesto, atualize o arquivoproject.json para incluir o arquivo manifesto na seção include em include em publishOptions.

{ "publishOptions": { "include": [ "wwwroot", "Views", "Areas/**/Views",

27

Page 32: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

"appsettings.json", "web.config", "aws-windows-deployment-manifest.json" ] } }

Agora que já declarou o manifesto de maneira que ele esteja incluído no pacote de aplicativos, vocêpode configurar como deseja implantar o aplicativo. Você pode personalizar a implantação além dacompatibilidade do assistente de implantação. A AWS definiu um schema JSON para o arquivo aws-windows-deployment-manifest.json e, quando você instalou o Toolkit for Visual Studio, a configuraçãoregistrou o URL do esquema.

Ao abrir windows-deployment-manifest.json, você verá o URL do esquema selecionado na caixasuspensa Schema. Você pode navegar até o URL para obter uma descrição completa do que pode serdefinido no manifesto. Com o esquema selecionado, o Visual Studio fornecerá o IntelliSense enquantovocê estiver editando o manifesto.

Uma personalização que você pode fazer é configurar o grupo de aplicativos do IIS no qual o aplicativoserá executado. O exemplo a seguir mostra como você pode definir um grupo de aplicativos do IIS("customPool") que recicle o processo a cada 60 minutos e o atribui ao aplicativo usando "appPool":"customPool".

{ "manifestVersion": 1, "iisConfig": { "appPools": [ { "name": "customPool", "recycling": { "regularTimeInterval": 60 } } ] }, "deployments": { "aspNetCoreWeb": [ { "name": "app", "parameters": { "appPool": "customPool" } } ] }}

Além disso, o manifesto pode declarar scripts do Windows PowerShell a serem executados antes e depoisdas ações de instalação, reinicialização e desinstalação. Por exemplo, o manifesto a seguir executa oscript do Windows PowerShell PostInstallSetup.ps1 para fazer mais trabalho de configuração após aimplantação do aplicativo ASP.NET Core no IIS. Ao adicionar scripts assim, certifique-se de que os scriptssejam adicionados à seção include em publishOptions no arquivo project.json, da mesma maneiracomo você fez com o arquivo aws-windows-deployment-manifest.json. Se você não fizer isso, osscripts não serão incluídos como parte do comando publish da CLI do dotnet.

{ "manifestVersion": 1, "deployments": { "aspNetCoreWeb": [ { "name": "app",

28

Page 33: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

"scripts": { "postInstall": { "file": "SetupScripts/PostInstallSetup.ps1" } } } ] }}

E ebextensions?

Os arquivos de configuração ebextensions do Elastic Beanstalk são compatíveis como todos os outroscontêineres do Elastic Beanstalk. Para incluir ebextensions em um aplicativo do ASP.NET Core, adicioneo diretório .ebextensions à seção include em publishOptions no arquivo project.json. Paraobter mais informações sobre ebextensions, confira o Guia do desenvolvedor do Elastic Beanstalk.

Suporte de vários aplicativos para o .NET e o Elastic BeanstalkUsando o manifesto de implantação, você tem a capacidade de implantar vários aplicativos no mesmoambiente do Elastic Beanstalk.

O manifesto de implantação dá suporte a aplicativos web ASP.NET Core, bem como a arquivos msdeployde aplicativos ASP.NET tradicionais. Imagine um cenário onde você tenha escrito um novo aplicativoincrível usando o ASP.NET Core para o front-end e um projeto de API web para uma API de extensões.Você também tem um aplicativo admin que escreveu usando o ASP.NET tradicional.

O assistente de implantação do toolkit se concentra na implantação de um único projeto. Para aproveitara implantação de vários aplicativos, você precisa construir o pacote de aplicativos manualmente. Paracomeçar, escreva o manifesto. Para este exemplo, você escreverá o manifesto na raiz da solução.

A seção de implantação no manifesto tem dois filhos: uma matriz de aplicativos web do ASP.NET Core aser implantada e uma matriz de arquivos msdeploy a ser implantada. Para cada aplicativo, você define ocaminho do IIS e o local dos bits do aplicativo em relação ao manifesto.

{ "manifestVersion": 1, "deployments": {

"aspNetCoreWeb": [ { "name": "frontend", "parameters": { "appBundle": "./frontend", "iisPath": "/frontend" } }, { "name": "ext-api", "parameters": { "appBundle": "./ext-api", "iisPath": "/ext-api" } } ], "msDeploy": [ { "name": "admin", "parameters": { "appBundle": "AmazingAdmin.zip", "iisPath": "/admin"

29

Page 34: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

} } ] }}

Com o manifesto escrito, você usará o Windows PowerShell para criar o pacote de aplicativos e atualizarum ambiente do Elastic Beanstalk existente para executá-lo. O script é escrito pressupondo-se que seráexecutado na pasta que contém a solução do Visual Studio.

A primeira coisa que você precisa fazer no script é configurar uma pasta de workspace na qual criar opacote de aplicativos.

$publishFolder = "c:\temp\publish"

$publishWorkspace = [System.IO.Path]::Combine($publishFolder, "workspace")$appBundle = [System.IO.Path]::Combine($publishFolder, "app-bundle.zip")

If (Test-Path $publishWorkspace){ Remove-Item $publishWorkspace -Confirm:$false -Force}If (Test-Path $appBundle){ Remove-Item $appBundle -Confirm:$false -Force}

Assim que você tiver criado a pasta, será o momento de preparar o front-end. Assim como acontece com oassistente de implantação, use a CLI do dotnet para publicar o aplicativo.

Write-Host 'Publish the ASP.NET Core frontend'$publishFrontendFolder = [System.IO.Path]::Combine($publishWorkspace, "frontend")dotnet publish .\src\AmazingFrontend\project.json -o $publishFrontendFolder -c Release -f netcoreapp1.0

A subpasta "frontend" foi usada para a pasta de saída, de acordo com a pasta definida por você nomanifesto. Agora você precisa fazer a mesma coisa para o projeto da API web.

Write-Host 'Publish the ASP.NET Core extensibility API'$publishExtAPIFolder = [System.IO.Path]::Combine($publishWorkspace, "ext-api")dotnet publish .\src\AmazingExtensibleAPI\project.json -o $publishExtAPIFolder -c Release -f netcoreapp1.0

O site admin é um aplicativo do ASP.NET tradicional, de maneira que você não pode usar a CLI do dotnet.Para o aplicativo admin, você deve usar msbuild, passando o pacote de destino da compilação para criaro arquivo msdeploy. Por padrão, o destino do pacote cria o arquivo msdeploy na pasta obj\Release\Package, logo, você precisará copiar o arquivo para o workspace de publicação.

Write-Host 'Create msdeploy archive for admin site'msbuild .\src\AmazingAdmin\AmazingAdmin.csproj /t:package /p:Configuration=ReleaseCopy-Item .\src\AmazingAdmin\obj\Release\Package\AmazingAdmin.zip $publishWorkspace

Para informar ao ambiente do Elastic Beanstalk o que fazer com todos esses aplicativos, copie o manifestoda solução para o workspace de publicação e compacte a pasta.

Write-Host 'Copy deployment manifest'Copy-Item .\aws-windows-deployment-manifest.json $publishWorkspace

Write-Host 'Zipping up publish workspace to create app bundle'

30

Page 35: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Add-Type -assembly "system.io.compression.filesystem"[io.compression.zipfile]::CreateFromDirectory( $publishWorkspace, $appBundle)

Agora que tem o pacote de aplicativos, você pode ir até o console web e fazer upload do arquivo para umambiente do Elastic Beanstalk. Você também pode continuar usando os cmdlets do PowerShell da AWSpara atualizar o ambiente do Elastic Beanstalk com o pacote de aplicativos. Verifique se você definiu operfil e a região atuais segundo o perfil e a região que contêm o ambiente do Elastic Beanstalk usando oscmdlets Set-AWSCredentials e Set-DefaultAWSRegion.

Write-Host 'Write application bundle to S3'# Determine S3 bucket to store application bundle$s3Bucket = New-EBStorageLocationWrite-S3Object -BucketName $s3Bucket -File $appBundle

$applicationName = "ASPNETCoreOnAWS"$environmentName = "ASPNETCoreOnAWS-dev"$versionLabel = [System.DateTime]::Now.Ticks.ToString()

Write-Host 'Update Beanstalk environment for new application bundle'New-EBApplicationVersion -ApplicationName $applicationName -VersionLabel $versionLabel -SourceBundle_S3Bucket $s3Bucket -SourceBundle_S3Key app-bundle.zipUpdate-EBEnvironment -ApplicationName $applicationName -EnvironmentName $environmentName -VersionLabel $versionLabel

Agora verifique o status da atualização usando página de status do ambiente do Elastic Beanstalk notoolkit ou no console web. Depois de terminar, você poderá navegar até cada um dos aplicativos queimplantou no caminho do IIS definido no manifesto da implantação.

Implantar no Elastic Beanstalk (herdado)Note

As informações nesta seção se referem ao assistente Publish to Amazon Web Services, que foisubstituído pelo assistente Publish to Elastic Beanstalk. As informações a seguir são fornecidaspara aqueles que preferem, ou devem, usar o assistente herdado.Para obter informações sobre como usar o assistente Publish to Elastic Beanstalk, consulteImplantar no Elastic Beanstalk (p. 18).

O AWS Elastic Beanstalk é um serviço que simplifica o processo de provisionar recursos da AWS para oaplicativo. O Elastic Beanstalk fornece toda a infraestrutura da AWS necessária para implantar o aplicativo.Essa infraestrutura inclui:

• As instâncias do Amazon EC2 que hospedam os executáveis e o conteúdo do aplicativo.• Um grupo do Auto Scaling para manter o número apropriado de instâncias do Amazon EC2 para dar

suporte ao aplicativo.• Um load balancer do Elastic Load Balancing que roteia o tráfego recebido para a instância do Amazon

EC2 com a maior largura de banda.

Para obter mais informações sobre o Elastic Beanstalk, consulte a Documentação do Elastic Beanstalk.

Como implantar um aplicativo web usando o Elastic Beanstalk (herdado)

Esta seção descreve como usar o assistente Publish to Amazon Web Services herdado, fornecido comoparte do Toolkit for Visual Studio, para implantar um aplicativo web por meio do Elastic Beanstalk. Parapraticar, você pode usar uma instância de um projeto inicial de aplicativo web compilado no Visual Studioou usar o próprio projeto.

31

Page 36: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Note

Para usar o assistente Publish to Amazon Web Services herdado, você deve fazer download einstalar Web Deploy. O assistente depende do Web Deploy para implantar aplicativos web e sitesaos servidores web do Internet Information Services (IIS).

Para implantar um aplicativo usando o assistente Publish to Amazon Web Services herdado

Note

Se você não tiver um projeto pronto para implantar, siga as etapas em Para criar um projeto inicialde aplicativo web de exemplo (p. 35) e as etapas abaixo.

1. Especifique as credenciais se segurança da AWS para o aplicativo web. Para obter instruções, consulteComo especificar as credenciais do AWS Security para o aplicativo (p. 24).

Essas credenciais podem ser diferentes das credenciais usadas por você para fazer a implantação.As credenciais para a implantação serão especificadas no assistente de implantação descritoposteriormente.

2. Em Solution Explorer, abra o menu de contexto (clique com o botão direito do mouse) da pasta deprojeto AEBWebAppDemo ou da pasta de projeto do próprio aplicativo e escolha Publish to AWS.

3. Na página Publish to AWS Elastic Beanstalk, escolha Use legacy wizard.4. Na página Template do assistente, escolha a conta da AWS que você deseja usar na implantação. Para

adicionar uma nova conta, escolha o botão com o sinal de adição (+).

Existem opções para realizar uma implantação inicial de um aplicativo ou reimplantar um aplicativoimplantado anteriormente. As implantações anteriores podem ter sido realizadas com o assistentede implantação ou a Ferramenta de implantação autônoma (p. 46). Se você escolher umareimplantação, poderá haver um atraso enquanto o assistente recupera informações de implantaçõesanteriores em execução no momento.

Para este exemplo, escolha Deploy new application with template, AWS Elastic Beanstalk e Next.5. Na página Application, o Toolkit já forneceu um nome padrão para o aplicativo. Você não pode alterar o

nome padrão. Você também pode fornecer uma descrição opcional na área Application Details.

O Toolkit também fornece um rótulo da versão de implantação, que se baseia na data e na hora atuais.Você pode alterar o rótulo dessa versão, mas o Toolkit o verifica em termos de exclusividade.

Se você estiver usando uma implantação incremental, Deployment version label estará indisponível.Para implantações incrementais, o rótulo da versão é formado com base no ID de confirmação do Git.Neste caso, o rótulo da versão é exclusivo porque o ID de confirmação deriva de um hash criptográficoSHA-1.

Com a implantação incremental, na primeira vez em que você implantar o aplicativo, todos os arquivosdo aplicativo serão copiados para o servidor. Se você atualizar alguns dos arquivos do aplicativo ereimplantá-los depois, somente os arquivos alterados serão copiados, o que poderá reduz o temponecessário à reimplantação. Sem implantação incremental, todos os arquivos do aplicativo, tenham sidoalterados ou não, são copiados para o servidor com cada reimplantação.

Selecione Deploy application incrementally e escolha Next.6. Na página Environment, digite um nome e uma descrição para o ambiente do Elastic Beanstalk. Neste

contexto, ambiente se refere às provisões do Elastic Beanstalk da infraestrutura para o aplicativo. OToolkit já forneceu um nome padrão, que você pode alterar. O nome do ambiente não pode ter mais que23 caracteres. Em Description, digite qualquer texto escolhido por você.

Você também pode fornecer um subdomínio de .elasticbeanstalk.com que será o URL doaplicativo. O Toolkit fornece um subdomínio padrão com base no nome do ambiente.

32

Page 37: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

7. Escolha Check availability para verificar se o URL do aplicativo web pode ser usado.8. Escolha Next.9. Na página AWS Options, configure as opções a seguir.

• Na lista suspensa Container type, escolha um tipo de contêiner. O tipo de contêiner especifica umaAmazon Machine Image (AMI – Imagem de máquina da Amazon) para o aplicativo e as configuraçõesdo grupo do Auto Scaling, o load balancer e outros aspectos do ambiente no qual o aplicativo seráexecutado.

• Optional. No campo Use custom AMI, você pode especificar uma AMI personalizada. Se vocêespecificar uma AMI personalizada, ela substituirá a AMI em Container type. Para obter maisinformações sobre como criar uma AMI personalizada, acesse Como usar AMIs personalizadasno Guia do desenvolvedor do AWS Elastic Beanstalk e Criar uma AMI a partir de uma instância doAmazon EC2 (p. 15).

• Na lista suspensa Instance Type, escolha um tipo de instância do Amazon EC2. Para esse aplicativo,recomendamos usar Micro porque isso minimizará o custo associado à execução da instância. Paraobter mais informações sobre os custos do Amazon EC2, vá até a página Definição de preço do EC2.

• Na lista suspensa Key pair, escolha um par de chaves.• A lista suspensa IAM Role exibe as funções disponíveis para o ambiente do Elastic Beanstalk. Se

não tiver uma função do IAM, você poderá escolher Use the default role na lista. Neste caso, o ElasticBeanstalk cria uma função do IAM padrão e atualiza a política do bucket do Amazon S3 para permitiro rodízio de log.

Uma função do IAM dá a aplicativos e serviços acesso a recursos da AWS usando credenciais desegurança temporárias. Por exemplo, se o aplicativo exigir acesso ao DynamoDB, ele deverá usarcredenciais de segurança da AWS para fazer uma solicitação à API. Como o aplicativo pode usaressas credenciais de segurança temporárias, você não precisa armazenar credenciais de longoprazo em uma instância do Amazon EC2 nem atualizar a instância sempre que as credenciais foremalternadas. O Elastic Beanstalk requer uma função do IAM a fim de alternar logs para o Amazon S3.

Se optar por não usar a função do IAM, você precisará conceder permissões para o Elastic Beanstalka fim de alternar logs. Para obter instruções, consulte Usar um perfil da instância personalizado.Para obter mais informações sobre o rodízio de logs, consulte Configurar contêineres com o ElasticBeanstalk Para obter mais informações sobre como usar funções do IAM com o Elastic Beanstalk,consulte Usar funções do IAM com o Elastic Beanstalk.

As credenciais usadas por você na implantação devem ter permissão para criar a função do IAMpadrão.

Escolha Next.10.A página VPC Options oferece a opção para iniciar o aplicativo para uma VPC. A VPC já deve ter sido

criada. Você pode usar o Toolkit for Visual Studio ou o Console de Gerenciamento da AWS para criaruma VPC. Se tiver criado a VPC no Toolkit, este preencherá esta página para você. Se você tiver criadoa VPC no console, digite informações sobre a VPC nesta página.

Considerações fundamentais para a implantação em uma VPC

• A VPC precisa de pelo menos uma pública e uma sub-rede privada.• Na lista suspensa ELB Subnet, especifique a sub-rede pública. O Toolkit for Visual Studio implanta

o load balancer do Elastic Load Balancing do aplicativo na sub-rede pública. A sub-rede pública éassociada a uma tabela de roteamento com uma entrada apontando para um Internet Gateway.Você pode reconhecer um Internet Gateway porque ele possui um ID que começa com igw-`(forexample, :code:`igw-83cddaea). As sub-redes públicas criadas por você usando o Toolkit têmvalores de tag que as identificam como públicas.

• Na lista suspensa Instances Subnet, especifique a sub-rede privada. O Toolkit implanta as instâncias doAmazon EC2 do aplicativo na sub-rede privada.

33

Page 38: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

• As instâncias do Amazon EC2 do aplicativo se comunicam pela sub-rede privada com a Internet pormeio de uma instância do Amazon EC2 na sub-rede pública que realiza a Network Address Translation(NAT – conversão de endereços de rede). Para permitir essa comunicação, você precisará de umVPC security group que permite o fluxo de tráfego da sub-rede para a instância NAT. Especifique essesecurity group da VPC na lista suspensa Security Group.

Para obter mais informações sobre como implantar um aplicativo do Elastic Beanstalk em uma VPC,acesse o Guia do desenvolvedor do AWS Elastic Beanstalk.

1. Na página Application Options, configure as opções a seguir.• Em Application Pool Options, na lista suspensa Target framework, escolha a versão do .NET

Framework exigida pelo aplicativo (por exemplo, .NET Framework 2.0, .NET Framework 3.0, .NETFramework 3.5, .NET Framework 4.0, .NET Framework 4.5).

Para esta descrição, selecione Enable 32-bit applications.• Em Miscellaneous, na caixa Application health-check URL, digite um URL para o Elastic Beanstalk

a fim de verificar se o aplicativo ainda responde. Este URL é relativo ao URL do servidor raiz. Porexemplo, se o URL completo fosse , você digitaria /site-is-up.html. Para este aplicativo deexemplo, deixe a configuração padrão de uma barra (/).

• Em Application Environment, use os campos de parâmetro (PARAM1-5) a fim de fornecer dados deentrada para o aplicativo. Esses valores são disponibilizados para o aplicativo implantado por meio doelemento appSettings no arquivo Web.config. Para obter mais informações, vá até a Bibliotecado MSDN da Microsoft.

• Em Application Credentials, escolha as credenciais da AWS nas quais o aplicativo deve serexecutado. Elas podem ser diferentes das credenciais usadas para implantar no Elastic Beanstalk.• Para usar um conjunto de credenciais diferente, escolha Use these credentials e digite a chave de

acesso e a chave secreta nos campos fornecidos.• Para usar as mesmas credenciais usadas a fim de implantar para o Elastic Beanstalk escolha Use

credentials from profile '<account name>' em que {<account name>} é a conta selecionada naprimeira página do assistente.

• Para usar as credenciais de um usuário do AWS Identity and Access Management (IAM), escolhaUse an IAM user e especifique o usuário.

Para usar um usuário do IAM, você deve ter:• criado o usuário do IAM no Toolkit for Visual Studio.• armazenado a chave secreta do usuário com o Toolkit for Visual Studio.

Para obter mais informações, consulte Criar e configurar um usuário do IAM (p. 79) e Gerarcredenciais para um usuário do IAM (p. 81).

Um usuário do IAM pode ter mais de um conjunto de credenciais armazenado no Toolkit. Se essefor o caso, você precisará escolher as credenciais a serem usadas. A conta raiz pode alternar ascredenciais do usuário do IAM, o que invalidaria as credenciais. Nesse cenário, você precisariareimplantar o aplicativo e inserir manualmente novas credenciais para o usuário do IAM.

Escolha Next.Página Application Options

2. Se você tiver implantado instâncias do Amazon RDS, uma página semelhante à página a seguirserá exibida como parte do assistente de implantação. Você pode usar essa página para adicionaras instâncias do Amazon EC2 para a implantação a um ou mais security groups do Amazon RDSassociados às instâncias do RDS. Se o aplicativo precisar acessar as instâncias do RDS, você precisaráhabilitar esse acesso aqui ou definir as permissões nos security groups do RDS. Para obter maisinformações, consulte grupos de segurança do Amazon RDS (p. 75).

34

Page 39: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Se você estiver implantando em uma VPC, esta página não será exibida porque, para VPCs, asinstâncias do RDS são gerenciadas por security groups do Amazon EC2.

3. Na página Review, revise as opções configuradas por você anteriormente e selecione Openenvironment status window when wizard closes.

Se tudo estiver aparentemente correto, escolha Deploy.

Note

Quando você implementar o aplicativo, a conta ativa incorrerá em cobranças pelos recursos daAWS usados pelo aplicativo.

Você pode salvar a configuração de implementação em um arquivo de texto a ser usado com aferramenta de implantação autônoma. Para salvar a configuração, selecione Generate AWSDeployconfiguration. Escolha Choose File e especifique um arquivo no qual salvar a configuração. Vocêtambém poderá salvar a configuração de implementação depois que a implantação for concluída.No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) da implantação eescolha Save Configuration.

Note

Quando você implementar o aplicativo, a conta ativa incorrerá em cobranças pelos recursos daAWS usados pelo aplicativo.

Página Review4. Uma página de status da implantação será aberta. A implantação pode demorar alguns minutos.

Quando a implementação for concluída, o Toolkit exibirá um alerta. Isso é útil porque permite seconcentrar em outras tarefas enquanto a implantação está em andamento.

Escolha o link Application URL para se conectar ao aplicativo.5. Para excluir a implantação, no AWS Explorer, expanda o nó Elastic Beanstalk, abra o menu de contexto

(clique com o botão direito do mouse) do subnó de implantação e escolha Delete. O Elastic Beanstalkcomeçará o processo de exclusão, o que pode levar alguns minutos. Se você tiver especificado umendereço de e-mail de notificação na implantação, o Elastic Beanstalk enviará notificações de statuspara esse endereço.

Para criar um projeto inicial de aplicativo web de exemplo

Siga estas etapas para criar um aplicativo de exemplo, se você não tiver um projeto pronto para implantar.

1. No Visual Studio, no menu File, escolha New e Project.2. Na caixa de diálogo New Project, no painel de navegação, expanda Installed, Templates, Visual C# e

escolha Web.3. Na lista de modelos de projeto da web disponíveis, escolha qualquer modelo que contenha as palavras

Web e Application na descrição. Para este exemplo, escolha ASP.NET Web Forms Application.4. Na caixa Name, digite AEBWebAppDemo.5. Na caixa Location, digite o caminho para uma pasta de solução na máquina de desenvolvimento e

escolha Browse e navegue até e escolha uma pasta de solução e escolha Select Folder.6. Confirme se a caixa Create directory for solution está marcada. Na lista suspensa Solution, confirme se

Create new solution está selecionado e escolha OK. O Visual Studio criará uma solução e um projetocom base no modelo de projeto ASP.NET Web Forms Application.

Retorne a Como implantar um aplicativo web usando o Elastic Beanstalk (herdado) (p. 31) e conclua aimplantação.

35

Page 40: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Implantar no AWS CloudFormation (herdado)Note

As informações neste tópico se referem ao assistente Publish to Amazon Web Services, quefoi substituído pela implantação por meio do Elastic Beanstalk pelo uso do assistente Publish toElastic Beanstalk. As informações a seguir são fornecidas para aqueles que preferem, ou devem,usar o assistente herdado para implantar por meio do AWS CloudFormation.Para obter informações sobre como usar o assistente Publish to Elastic Beanstalk, consulteImplantar no Elastic Beanstalk (p. 18).

O AWS CloudFormation é um serviço que simplifica o processo de provisionar recursos da AWSpara o aplicativo. Os recursos da AWS são descritos em um arquivo de modelo. O serviço do AWSCloudFormation consome esse modelo e provisiona automaticamente os recursos necessários para você.Para obter mais informações, acesse AWS CloudFormation.

Iremos implantar um aplicativo na AWS e usar o AWS CloudFormation para provisionar os recursos para oaplicativo. Para praticar, você pode usar uma instância de um projeto inicial de aplicativo web compilado noVisual Studio ou usar o próprio projeto.

Para criar um projeto inicial de aplicativo web de exemplo

Siga estas etapas se você não tiver o projeto pronto para implantação.

1. No Visual Studio, no menu File, escolha New e Project.2. No painel de navegação da caixa de diálogo New Project, expanda Installed, Templates, Visual C# e

escolha Web.3. Na lista de modelos de projeto da web disponíveis, selecione qualquer modelo que contenha as

palavras Web e Application na descrição. Para este exemplo, escolha ASP.NET Web FormsApplication.

4. Na caixa Name, digite AEBWebAppDemo.5. Na caixa Location, digite o caminho para uma pasta de solução na máquina de desenvolvimento e

escolha Browse e navegue até e escolha uma pasta de solução e escolha Select Folder.6. Confirme se a caixa Create directory for solution está marcada. Na lista suspensa Solution, confirme se

Create new solution está selecionado e escolha OK. O Visual Studio criará uma solução e um projetocom base no modelo de projeto ASP.NET Web Forms Application.

Para implantar um aplicativo usando o assistente Publish to Amazon WebServices herdado

1. Em Solution Explorer, abra o menu de contexto (clique com o botão direito do mouse) da pasta deprojeto AEBWebAppDemo (ou da própria pasta de projeto) e escolha Publish to AWS.

2. Na página Publish to AWS Elastic Beanstalk, escolha Use legacy wizard.3. Na página Template do assistente, escolha o perfil que você usará na implantação. Para adicionar um

novo perfil, escolha Other. Para obter mais informações sobre perfis, consulte creds.4. Existem opções para implantar um novo aplicativo ou reimplantar um aplicativo que foi implantado

anteriormente por meio do assistente de implantação ou pela ferramenta de implantação autônoma. Sevocê escolher uma reimplantação, poderá haver um atraso enquanto o assistente recupera informaçõesda implantação anterior.

O Load Balanced Template e o Single Instance Template são incluídos no Toolkit for Visual Studio.Load Balanced Template provisiona uma instância do Amazon EC2 com um load balancer do ElasticLoad Balancing e um grupo do Auto Scaling. Single Instance Template provisiona apenas uma únicainstância do Amazon EC2.

36

Page 41: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Para este exemplo, escolha Load Balanced Template e Next.5. Na página AWS Options, configure as opções a seguir:

• Na lista suspensa Key pair, escolha um par de chaves do Amazon EC2.• Deixe SNS Topic em branco. Se você especificar um tópico do SNS, o AWS CloudFormation enviará

notificações de status durante a implantação.• Deixe o campo Custom AMI em branco. O modelo do AWS CloudFormation inclui um AMI.• Na lista suspensa Instance type, deixe o padrão definido como Micro. Isso minimizará o custo

associado à execução da instância. Para obter mais informações sobre os custos do Amazon EC2, váaté a página Definição de preço do EC2.

• Na lista suspensa Security group, escolha um security group que tenha a porta 80 aberta. Se você játiver configurado um security group com a porta 80 aberta, escolha-o. A seleção default padrão nessalista suspensa não tem a porta 80 aberta.

Os aplicativos implantados no AWS CloudFormation devem ter a porta 80 aberta, porque o AWSCloudFormation usa essa porta para retransmitir informações sobre a implantação. Se o securitygroup escolhido por você não tiver a porta 80 aberta, o assistente perguntará se deve abri-la. Se vocêdisser sim, a porta 80 será aberta para quaisquer instâncias do Amazon EC2 que usem esse securitygroup. Para obter mais informações sobre como criar um security group, acesse Gerenciar securitygroups no AWS Explorer (p. 14).

Escolha Next.6. Na página Application Options, na seção Application Credentials, escolha o perfil no qual o aplicativo

(neste exemplo, PetBoard) deve ser executado. Ele pode ser diferente do perfil usado para implantar oAWS CloudFormation (ou seja, o perfil especificado na primeira página do assistente).

Para usar um conjunto de credenciais diferente, escolha Use these credentials e digite a chave deacesso e a chave secreta nos campos fornecidos.

Para usar as mesmas credenciais, escolha Use credentials from profile profile_name em que{profile_name} é o perfil especificado por você na primeira página do assistente.

Para usar as credenciais de um usuário do AWS Identity and Access Management (IAM), escolha Usean IAM user e especifique o usuário.

Para usar um usuário do IAM, você deve ter:• criado o usuário do IAM no Toolkit for Visual Studio.• armazenado a chave secreta do usuário com o Toolkit for Visual Studio.

Para obter mais informações, consulte Criar e configurar um usuário do IAM (p. 79) e Gerarcredenciais para um usuário do IAM (p. 81).

Um usuário do IAM pode ter mais de um conjunto de credenciais armazenado no Toolkit. Se esse for ocaso, você precisará escolher as credenciais a serem usadas. A conta raiz pode alternar as credenciaisdo usuário do IAM, o que invalidaria as credenciais. Nesse cenário, você precisaria reimplantar oaplicativo e inserir manualmente novas credenciais para o usuário do IAM.

A tabela a seguir descreve outras opções disponíveis na página Application Options. Para PetBoard,você pode deixar os padrões.

Chave e valor Descrição

PARAM1, PARAM2, PARAM3, PARAM4,PARAM5

Esses valores são disponibilizados para oaplicativo implantado por meio do elementoappSettings no arquivo Web.config. Para obter

37

Page 42: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar no Elastic Beanstalk

Chave e valor Descriçãomais informações, vá até a Biblioteca do MSDN da Microsoft.

Estrutura de destino Especifica a versão do .NET Frameworksegmentado pelo aplicativo. Os valores possíveissão: .NET Framework 2.0, .NET Framework3.0, .NET Framework 3.5, .NET Framework4.0, .NET Framework 4.5

Habilitar aplicativos 32 bits Selecione se o aplicativo for 32 bits. Do contrário,deixe a caixa desmarcada.

URL de verificação de integridade do aplicativo Este URL é relativo ao URL do servidor raiz.Por exemplo, se o caminho completo do URLfosse example.com/site-is-up.html, vocêdigitaria /site-is-up.html. Essa configuraçãosó se aplica quando você usa o modelo LoadBalanced. Ela é ignorada quando você usa omodelo de instância única.

Escolha Finish.7. Na página Review, selecione Open environment status window when wizard closes.

Você pode salvar a configuração de implementação em um arquivo de texto a ser usado com aferramenta de implantação autônoma. Para salvar a configuração, selecione Generate AWSDeployconfiguration. Escolha Choose File e especifique um arquivo no qual salvar a configuração. Vocêtambém poderá salvar a configuração de implementação depois que a implantação for concluída.No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) da implantação eescolha Save Configuration.

Note

Como a configuração da implementação inclui as credenciais que foram usadas naimplantação, você deve manter o arquivo de configuração em um local seguro.

Escolha Implantar.

Note

Quando você implementar o aplicativo, a conta ativa incorrerá em cobranças pelos recursos daAWS usados pelo aplicativo.

8. Uma página de status da implantação será aberta. A implantação pode demorar alguns minutos.

Quando a implementação for concluída, o Toolkit exibirá um alerta. Isso é útil porque permite seconcentrar em outras tarefas enquanto a implantação está em andamento.

Quando a implantação for concluída, o status exibido no Toolkit for Visual Studio seráCREATE_COMPLETE.

Escolha o link Application URL para se conectar ao aplicativo.9. Para excluir a implantação, no AWS Explorer, expanda o nó CloudFormation e abra o menu de

contexto (clique com o botão direito do mouse) do subnó de implantação e escolha Delete. O AWSCloudFormation começará o processo de exclusão, o que pode levar alguns minutos. Se você tiverespecificado um tópico do SNS para a implantação, o AWS CloudFormation enviará notificações destatus para esse tópico.

38

Page 43: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação no Amazon EC2 Container Service

Implantação no Amazon EC2 Container ServiceO Amazon Elastic Container Service é um serviço de gerenciamento de contêiner de alta performance ealtamente escalável que oferece suporte aos contêineres do Docker e permite que você execute facilmenteseus aplicativos em um cluster gerenciado de instâncias do Amazon EC2.

Para implantar aplicativos no Amazon Elastic Container Service, os componentes do seu aplicativo devemser desenvolvidos para execução em um contêiner do Docker. Um contêiner do Docker é uma unidadepadronizada de desenvolvimento de software, contendo tudo que seu aplicativo de software precisar paraexecutar: código, tempo de execução, ferramentas de sistema, bibliotecas de sistema, etc.

O Toolkit for Visual Studio fornece um assistente que simplifica a publicação de aplicativos por meio doAmazon ECS. Esse assistente é descrito nas seções a seguir.

Para obter mais informações sobre o Amazon ECS, consulte a documentação do Elastic ContainerService. Ela inclui uma visão geral dos conceitos básicos do Docker e da criação de um cluster.

Tópicos• Especificar as credenciais da AWS para o aplicativo ASP.NET Core 2 (p. 39)• Implantação de um aplicativo ASP.NET Core 2.0 no Amazon ECS (Fargate) (p. 40)• Implantação de um aplicativo ASP.NET Core 2.0 no Amazon ECS (EC2) (p. 43)

Especificar as credenciais da AWS para o aplicativo ASP.NETCore 2Há dois tipos de credenciais em uso quando você implanta seu aplicativo em um contêiner do Docker: ascredenciais de implantação e as credenciais de instância.

As credenciais de implantação são usadas pelo assistente Publish Container to AWS para criar o ambienteno Amazon ECS. Isso inclui itens como tarefas, serviços, funções do IAM, um repositório de contêineres doDocker e, se você optar, um load balancer.

As credenciais de instância são usadas pela instância (incluindo o aplicativo) para acessar diferentesserviços da<problematic>|AWS|</problematic>services. Por exemplo, se um aplicativo ASP.NET Core 2.0 lê e grava em objetos do Amazon S3, eleprecisará de permissões apropriadas. Você pode fornecer credenciais diferentes usando métodosdiferentes de acordo com o ambiente. Por exemplo, seu aplicativo ASP.NET Core 2 pode ter como objetivoos ambientes de desenvolvimento e produção. Você poderia usar uma instância local e as credenciais doDocker para o desenvolvimento e uma função definida na produção.

Especificar credenciais de implantação

A conta da AWS que você especifica no assistente Publish Container to AWS é a conta da AWS queo assistente usará para a implantação no Amazon ECS. O perfil da conta deve ter permissões parao Amazon Elastic Compute Cloud, o Amazon Elastic Container Service e o AWS Identity and AccessManagement.

Se você observar a ausência de algumas opções na lista suspensa, pode ser devido à ausência depermissões. Por exemplo, se você tiver criado um cluster para seu aplicativo mas não o vê na páginaCluster do assistente Publish Container to AWS. Se isso acontecer, adicione as permissões ausentes etente executar o assistente novamente.

39

Page 44: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação no Amazon EC2 Container Service

Especificar credenciais de instância para o desenvolvimento

Para ambientes que não sejam de produção, você pode configurar suas credenciais no arquivoappsettings.<environment>.json. Por exemplo, para configurar suas credenciais no arquivoappsettings.Development.json no Visual Studio 2017:

1. Adicione o pacote AWSSDK.Extensions.NETCore.Setup NuGet ao seu projeto.2. Adicione as configurações da AWS ao appsettings.Development.json. A configuração abaixo define

Profile e Region.

{ "AWS": { "Profile": "local-test-profile", "Region": "us-west-2" }}

Especificar credenciais de instância para a produção

Para instâncias de produção, recomendamos que você use uma função do IAM para controlar o queo seu aplicativo (e o serviço) pode acessar. Por exemplo, para configurar uma função do IAM usandoo Amazon ECS como o serviço principal com permissões para o Amazon Simple Storage Service e oAmazon DynamoDB do Console de gerenciamento da AWS:

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em https://console.aws.amazon.com/iam/.

2. No painel de navegação do console do IAM, selecione Funções e, em seguida, Criar função.3. Escolha o tipo de função AWS Service e, em seguida, escolha EC2 Container Service.4. Escolha o caso de uso EC2 Container Service Task. Casos de uso são definidos pelo serviço para

incluir a política de confiança exigida pelo serviço. Então, escolha Próximo: Permissões.5. Escolha as políticas de permissões AmazonS3FullAccess e AmazonDynamoDBFullAccess. Marque a

caixa de seleção ao lado de cada política e, em seguida, escolha Next: Review.6. Em Role name, digite um nome de função ou sufixo de nome para a função que ajude você a identificar

a finalidade dessa função. Os nomes de função devem ser exclusivos em sua conta da AWS. Elesnão são diferenciados por letras maiúsculas e minúsculas. Por exemplo, não é possível criar funçõeschamadas PRODROLE e prodrole. Como várias entidades podem fazer referência à função, não épossível editar o nome da função depois que ela é criada.

7. (Opcional) Em Descrição da função, digite uma descrição para a nova função.8. Revise a função e escolha Create role.

Você pode usar essa função como a task role na página ECS Task Definition do assistente PublishContainer to AWS.

Para obter mais informações, consulte Como usar funções baseadas em serviços.

Implantação de um aplicativo ASP.NET Core 2.0 no AmazonECS (Fargate)Esta seção descreve como usar o assistente Publish Container to AWS, fornecido como parte do Toolkitfor Visual Studio, para implantar um aplicativo ASP.NET Core 2.0 em contêineres direcionados para Linuxpor meio do Amazon ECS usando o tipo de execução Fargate. Como um aplicativo web é destinado afuncionar continuamente, ele será implantado como um serviço.

40

Page 45: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação no Amazon EC2 Container Service

Antes de publicar o contêiner

Antes de usar o assistente Publish Container to AWS para implantar seu aplicativo ASP.NET Core 2.0:

• Especifique suas credenciais da AWS e faça a instalação no Amazon ECS.• Instalar o Docker. Existem algumas opções de instalação diferentes, incluindo o Docker para Windows.• Crie (ou abra) um aplicativo ASP.NET Core 2.0 em contêineres direcionados para um projeto Linux no

Visual Studio 2017.

Como acessar o assistente Publish Container to AWS

Para implantar um aplicativo ASP.NET Core 2.0 em contêineres direcionados para Linux, clique com obotão direito do mouse no projeto no Solution Explorer e selecione Publish Container to AWS.

Você também pode selecionar Publish Container to AWS no menu Visual Studio Build.

Assistente Publish Container to AWS

Perfil de contas a usar - Selecione o perfil de conta a ser usado.

Região - Escolha a região de implantação. O perfil e a região são usados para configurar os recursos doambiente de implantação e para selecionar o registro padrão do Docker.

Configuração - Selecione a configuração da compilação para a imagem do Docker.

Repositório do Docker - Escolha um repositório existente do Docker ou digite o nome de um novorepositório e ele será criado. Este é o repositório para onde o contêiner de compilação é enviado.

Tag - Selecione uma tag existente ou digite o nome de uma nova tag. As tags podem rastrear detalhesimportantes, como versão, opções ou outros elementos exclusivos da configuração de contêineres doDocker.

Destino da implantação – Selecione Service on an ECS Cluster. Use esta opção de implantação para osaplicativos de execução prolongada (como um aplicativo web ASP.NET).

Salvar as configurações no aws-docker-tools-defaults.json e configurar o projeto para ser implantadopela linha de comando - Marque essa opção se você deseja ter flexibilidade para implantar pela linha decomando. Use dotnet ecs deploy a partir do diretório do projeto para implantar e para dotnet ecspublish o contêiner.

Página de configuração da execução

Cluster do ECS – Selecione o cluster que executará a imagem do Docker. Se você optar por criar umcluster vazio, forneça um nome para o novo cluster.

Tipo de execução - Escolha FARGATE.

Máximo de CPU (vCPU) – Escolha a quantidade máxima de capacidade computacional necessária parao seu aplicativo. Para ver os intervalos permitidos de valores para CPU e memória, consulte tamanho datarefa.

Máximo de memória (GB) – Selecione a quantidade máxima de memória disponível para o seu aplicativo.

Sub-redes da VPC – Escolha uma ou mais sub-redes em uma única VPC. Se você escolher mais de umasub-rede, suas tarefas serão distribuídas entre elas. Isso pode melhorar a disponibilidade. Para obter maisinformações, consulte VPC e sub-redes padrão.

Security groups - Escolha um security group.

41

Page 46: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação no Amazon EC2 Container Service

Um security group funciona como um firewall para as instâncias associadas do Amazon EC2, controlandoo tráfego de entrada e de saída no nível da instância.

Security groups padrão são configurados para permitir o tráfego de entrada das instâncias atribuídas aomesmo security group e a todo o tráfego de saída do IPv4. Você precisa que a saída seja permitida paraque o serviço possa alcançar o repositório do contêiner.

Atribuir endereço IP público – Marque esta opção para tornar sua tarefa acessível pela Internet.

Página de configuração do serviçoServiço - Selecione um dos serviços na caixa suspensa para implantar seu contêiner em um serviçoexistente. Ou escolha Create New para criar um novo serviço. Os nomes de serviço devem ser exclusivosem um cluster, mas é possível ter serviços nomeados similarmente em vários clusters de uma ou váriasregiões.

Número de tarefas - O número de tarefas a implantar e manter em execução em seu cluster. Cada tarefa éuma instância do seu contêiner.

Porcentagem de integridade mínima - A porcentagem de tarefas que precisam permanecer em estadoRUNNING durante uma implantação, arredondada para cima e para o valor inteiro mais próximo.

Porcentagem máxima - A porcentagem de tarefas que são permitidas no estado RUNNING ou PENDINGdurante uma implantação, arredondada para baixo e para o valor inteiro mais próximo.

Página do application load balancerConfigurar application load balancer - Marque para configurar um application load balancer.

Load balancer - Selecione um load balancer existente ou escolha Create New e digite o nome do novoload balancer.

Porta de ouvinte - Selecione uma porta de ouvinte ou escolha Create New e digite um número de porta. Opadrão, a porta 80, é adequado para a maioria dos aplicativos web.

Grupo de destino – Selecione o grupo de destino onde o Amazon ECS registrará as tarefas do serviço.

Padrão do caminho - O load balancer usará o roteamento com base no caminho. Aceite o padrão / ouforneça um padrão diferente. O padrão do caminho diferencia maiúsculas de minúsculas, pode ter até 128caracteres e conter um conjunto de caracteres selecionados.

Caminho de verificação de integridade - O caminho de ping que é usado como destino para as verificaçõesde integridade. O padrão é /. Insira um caminho diferente, se necessário. Se o caminho inserido forinválido, a verificação de integridade falhará e será considerada não íntegra.

Se você implantar vários serviços, e cada serviço for implantado em um caminho ou local diferente, vocêprecisará de caminhos de verificação personalizados.

Página de definição de tarefasDefinição de tarefa - Selecione uma definição de tarefa existente ou escolha Create New e digite o nomeda nova definição de tarefa.

Contêiner - Selecione um contêiner existente ou escolha Create New e digite o nome do novo contêiner.

Função da tarefa – Selecione uma função do IAM que tenha as credenciais que o seu aplicativo precisapara acessar os serviços da AWS. Esta é a forma como as credenciais são passadas para o seu aplicativo.Consulte como especificar as credenciais de segurança da AWS para o aplicativo.

Função de execução de tarefa – Selecione uma função com permissões para retirar imagens privadas epublicar logs. O AWS Fargate o utilizará em seu nome.

42

Page 47: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação no Amazon EC2 Container Service

Mapeamento de porta - Escolha o número da porta no contêiner que é vinculado à porta host atribuídaautomaticamente.

Variáveis do ambiente - Adicione, modifique ou exclua as variáveis de ambiente do contêiner. Você podemodificá-las de acordo com a sua implantação.

Quando estiver satisfeito com a configuração, clique em Publish para iniciar o processo de implantação.

Publicação de contêiner na AWSOs eventos são exibidos durante a implantação. O assistente é fechado automaticamente quando aconclusão é bem-sucedida. Você pode substituir isso desmarcando a caixa na parte inferior da página.

Você pode encontrar o URL de suas novas instâncias no AWS Explorer. Expanda o Amazon ECS e osclusters e, em seguida, clique no seu cluster.

Implantação de um aplicativo ASP.NET Core 2.0 no AmazonECS (EC2)Esta seção descreve como usar o assistente Publish Container to AWS, fornecido como parte do Toolkitfor Visual Studio, para implantar um aplicativo ASP.NET Core 2.0 em contêineres direcionados paraLinux por meio do Amazon ECS usando o tipo de execução EC2. Como um aplicativo web é destinado afuncionar continuamente, ele será implantado como um serviço.

Antes de publicar o contêinerAntes de usar o Publish Container to AWS para implantar seu aplicativo ASP.NET Core 2.0:

• Especifique suas credenciais da AWS e faça a instalação no Amazon ECS.• Instalar o Docker. Existem algumas opções de instalação diferentes, incluindo o Docker para Windows.• Crie um cluster do Amazon ECS de acordo com as necessidades de seu aplicativo web. São

necessárias apenas algumas etapas.• Crie (ou abra) um aplicativo ASP.NET Core 2.0 em contêineres direcionados para um projeto Linux no

Visual Studio 2017.

Como acessar o assistente Publish Container to AWSPara implantar um aplicativo ASP.NET Core 2.0 em contêineres direcionados para Linux, clique com obotão direito do mouse no projeto no Solution Explorer e selecione Publish Container to AWS.

Você também pode selecionar Publish Container to AWS no menu Visual Studio Build.

Assistente Publish Container to AWSPerfil de contas a usar - Selecione o perfil de conta a ser usado.

Região - Escolha uma região de implantação. O perfil e a região são usados para configurar os recursosdo ambiente de implantação e selecionar o registro padrão do Docker.

Configuração - Selecione a configuração da compilação para a imagem do Docker.

Repositório do Docker - Escolha um repositório existente do Docker ou digite o nome de um novorepositório e ele será criado. Este é o repositório para onde a imagem do contêiner de compilação éenviada.

Tag - Selecione uma tag existente ou digite o nome de uma nova tag. As tags podem rastrear detalhesimportantes, como versão, opções ou outros elementos exclusivos da configuração de contêineres doDocker.

43

Page 48: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação no Amazon EC2 Container Service

Implantação – Selecione Service on an ECS Cluster. Use esta opção de implantação para aplicativos deexecução prolongada (como um aplicativo web ASP.NET Core 2.0).

Salvar as configurações no aws-docker-tools-defaults.json e configurar o projeto para ser implantadopela linha de comando - Marque essa opção se você deseja ter flexibilidade para implantar pela linha decomando. Use dotnet ecs deploy a partir do diretório do projeto para implantar e para dotnet ecspublish o contêiner.

Página de configuração da execução

Cluster do ECS – Selecione o cluster que executará a imagem do Docker. Você pode criar um cluster doECS usando o Console de Gerenciamento da AWS.

Tipo de execução - Escolha EC2. Para usar o tipo de execução Fargate, consulte Implantação de umaplicativo ASP.NET Core 2.0 para o Amazon ECS (Fargate).

Página de configuração do serviço

Serviço - Selecione um dos serviços na caixa suspensa para implantar seu contêiner em um serviçoexistente. Ou escolha Create New para criar um novo serviço. Os nomes de serviço devem ser exclusivosem um cluster, mas é possível ter serviços nomeados similarmente em vários clusters de uma ou váriasregiões.

Número de tarefas - O número de tarefas a implantar e manter em execução em seu cluster. Cada tarefa éuma instância do seu contêiner.

Porcentagem de integridade mínima - A porcentagem de tarefas que precisam permanecer em estadoRUNNING durante uma implantação, arredondada para cima e para o valor inteiro mais próximo.

Porcentagem máxima - A porcentagem de tarefas que são permitidas no estado RUNNING ou PENDINGdurante uma implantação, arredondada para baixo e para o valor inteiro mais próximo.

Modelos de posicionamento – Selecione um modelo de posicionamento de tarefas.

Quando você inicia uma tarefa em um cluster, o Amazon ECS precisa determinar onde posicionar a tarefacom base nos requisitos especificados na definição da tarefa, como CPU e memória. Do mesmo modo,quando você reduz proporcionalmente a contagem de tarefas, o Amazon ECS deve determinar que tarefasserão concluídas.

O modelo de posicionamento controla como as tarefas são executadas em um cluster:

• Distribuição balanceada de AZ – distribua tarefas por zonas de disponibilidade e entre instâncias decontêiner na zona de disponibilidade.

• BinPack balanceado de AZ – distribua tarefas por zonas de disponibilidade e entre instâncias decontêiner com a menor memória disponível.

• BinPack – distribua tarefas com base na menor quantidade disponível de CPU ou memória.• One Task Per Host – posicione, no máximo, uma tarefa do serviço em cada instância de contêiner.

Para obter mais informações, consulte Posicionamento de tarefas no Amazon ECS.

Página do application load balancer

Configurar application load balancer - Marque para configurar um application load balancer.

Selecionar função do IAM para o serviço – Selecione uma função existente ou escolha Create New e umanova função será criada.

44

Page 49: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantação no Amazon EC2 Container Service

Load balancer - Selecione um load balancer existente ou escolha Create New e digite o nome do novoload balancer.

Porta de ouvinte - Selecione uma porta de ouvinte ou escolha Create New e digite um número de porta. Opadrão, a porta 80, é adequado para a maioria dos aplicativos web.

Grupo de destino - Por padrão, o load balancer envia solicitações para destinos registrados usando a portae o protocolo especificados por você para o grupo de destino. Você pode substituir essa porta ao registrarcada destino no grupo de destino.

Padrão do caminho - O load balancer usará o roteamento com base no caminho. Aceite o padrão / ouforneça um padrão diferente. O padrão do caminho diferencia maiúsculas de minúsculas, pode ter até 128caracteres e conter um conjunto de caracteres selecionados.

Caminho de verificação de integridade - O caminho de ping que é usado como destino para as verificaçõesde integridade. Por padrão, é /, e é adequado para a maioria dos aplicativos web. Insira um caminhodiferente, se necessário. Se o caminho inserido for inválido, a verificação de integridade falhará e seráconsiderada não íntegra.

Se você implantar vários serviços, e cada serviço for implantado em um caminho ou local diferente, vocêpoderá precisar de caminhos de verificação personalizados.

Página de definição de tarefas do ECS

Definição de tarefa - Selecione uma definição de tarefa existente ou escolha Create New e digite o nomeda nova definição de tarefa.

Contêiner - Selecione um contêiner existente ou escolha Create New e digite o nome do novo contêiner.

Memória (MiB) – Forneça valores para o Limite flexível ou Limite rígido, ou ambos.

O limite flexível (em MiB) de memória a ser reservado para o contêiner. O Docker tenta manter a memóriado contêiner abaixo do limite flexível. O contêiner poderá consumir mais memória, até o limite rígidoespecificado pelo parâmetro de memória (se aplicável), ou toda a memória disponível na instância docontêiner, o que ocorrer primeiro.

O limite rígido (em MiB) de memória a ser apresentado ao contêiner. Caso tente exceder a memóriaespecificada aqui, o contêiner é excluído.

Função da tarefa – Selecione uma função de tarefa para uma função do IAM que possibilite que apermissão do contêiner chame as APIs da AWS especificadas em suas políticas associadas em seu nome.Esta é a forma como as credenciais são passadas para o seu aplicativo. Consulte como especificar ascredenciais de segurança da AWS para o aplicativo.

Mapeamento de porta – Adicione, modifique ou exclua os mapeamentos de portas para o contêiner. Se umload balancer estiver ativo, a porta do host será definida por padrão como 0 e a atribuição de portas serádinâmica.

Variáveis do ambiente - Adicione, modifique ou exclua as variáveis de ambiente do contêiner.

Quando estiver satisfeito com a configuração, clique em Publish para iniciar o processo de implantação.

Publicação de contêiner na AWS

Os eventos são exibidos durante a implantação. O assistente é fechado automaticamente quando aconclusão é bem-sucedida. Você pode substituir isso desmarcando a caixa na parte inferior da página.

Você pode encontrar o URL de suas novas instâncias no AWS Explorer. Expanda o Amazon ECS e osclusters e, em seguida, clique no seu cluster.

45

Page 50: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Ferramenta de implantação autônomaNote

As opções da Ferramenta de implantação autônoma relacionadas a implantações do AWSCloudFormation e implantações incrementais no Elastic Beanstalk estão obsoletas na versãoatual e não devem ser usadas.Para obter informações sobre como usar o assistente Publish to Elastic Beanstalk, consulteImplantar no Elastic Beanstalk (p. 18).

O Toolkit for Visual Studio inclui uma ferramenta de linha de comando que oferece a mesmafuncionalidade do assistente de implantação. Você pode usar a ferramenta de implantação autônoma nopipeline da compilação ou em outros scripts para automatizar implantações no Elastic Beanstalk.

A ferramenta de implantação dá suporte a implantações iniciais e reimplantações. Se tiver usado aferramenta de implantação para implantar o aplicativo, você poderá usar o assistente de implantação noVisual Studio para reimplantá-lo e vice-versa.

A ferramenta de implantação consome um arquivo de configuração que especifica valores de parâmetropara a implantação. Se tiver usado o assistente de implantação no Visual Studio para implantar oaplicativo, você poderá gerar um arquivo de configuração no AWS Explorer ou na última etapa doassistente.

Note

Como a configuração da implementação inclui as credenciais que foram usadas na implantação,você deve manter o arquivo de configuração em um local seguro.

Para implantar o aplicativo web com a ferramenta de implantação, empacote o aplicativo em umarquivo .zip. Para obter mais informações sobre como empacotar o aplicativo para implantação, vá atéComo criar um pacote de implantação web no Visual Studio no MSDN.

Instalação e invocação da ferramenta de implantaçãoA ferramenta de implantação costuma ser instalada no seguinte diretório:

C:\Program Files\AWS Tools\Deployment Tool\awsdeploy.exe

Ou, no sistema Microsoft Windows 64 bits, no seguinte diretório:

C:\Program Files (x86)\AWS Tools\Deployment Tool\awsdeploy.exe

Sintaxe da invocação

awsdeploy [options] configFile

O arquivo de configuração deve ser o último item especificado na linha de comando.

As opções de linha de comando podem ser especificadas usando uma barra (/) ou um hífen (-).

Exceto para a opção D, cada opção de linha de comando tem uma forma longa e uma abreviação de letraúnica. Por exemplo, você pode especificar o modo silencioso em qualquer uma das maneiras a seguir.

/s-s/silent-silent

46

Page 51: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Outras opções de linha de comando seguem uma forma semelhante.

A tabela a seguir mostra as opções de linha de comando disponíveis.

Opção Descrição

/s, /silent, -s, -silent Não produza mensagens para o console.

/v, /verbose, -v, -verbose Envie informações mais detalhadas sobre aimplantação para o console.

/r, /redeploy, -r, -redeploy Não crie stack. Implante na stack existente.Essa opção não altera a configuração do AWSCloudFormation.

/u, /updateStack, -u, -updateStack Atualize a configuração do AWS CloudFormationpara uma implantação existente. Não reimplante oaplicativo. ** (Obsoleto. Não use.) **

/w, /wait, -w, -wait Bloqueie até a implantação estar concluída. Essaopção é útil para scripts que precisam de algumaação após a conclusão da implantação.

/l <logfile>, /log <logfile>, -l <logfile>, -log <logfile> Registre em log informações de depuração noarquivo de log especificado.

/D<key>=<value>, -D<key>=<value> Substitua uma definição de configuração nalinha de comando. Para obter mais informações,consulte a seção do arquivo de configuração.

Resultado e códigos de saídaAvisos e erros são a saída para o console. Se a opção de log for especificada, a saída do registro em logadicional será enviada para o arquivo de log.

A ferramenta de implantação usa os códigos de saída a seguir.

Chave e valor Descrição

0 Bem-sucedida

1 Argumento inválido

3 Falha na implantação

Se a implantação for bem-sucedida, a ferramenta de implantação produzirá o URL do aplicativoimplantado.

Exemplos de arquivo de configuraçãoVocê usa um arquivo de configuração para especificar a ação da ferramenta de implantação. O Toolkit forVisual Studio inclui três arquivos de configuração de exemplo:

• Implantação do Elastic Beanstalk• Implantação da instância única do AWS CloudFormation• Implantação do AWS CloudFormation de carga balanceada

47

Page 52: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Aplicativo web de exemploUm aplicativo web de exemplo (em um arquivo .zip) que você pode implantar usando a ferramenta deimplantação também está incluído no Toolkit for Visual Studio. Você pode encontrar esses arquivos nosubdiretório Samples do diretório onde a ferramenta de implantação é instalada.

Você pode usar a opção de linha de comando D para substituir configurações no arquivo de configuração:

/D<key>=<value>

ou

-D<key>=<value>

Você pode especificar a opção D várias vezes para substituir várias configurações de arquivo deconfiguração. Se você repetir a mesma chave com valores diferentes na linha de comando, a ferramentade implantação usará o último valor especificado.

Formato do arquivo de configuração da ferramenta deimplantaçãoOs arquivos de configuração fornecem as mesmas informações que você especificaria no assistentede implantação. A formatação dos arquivos de configuração divide a configuração em seções quecorrespondem às páginas no assistente de implantação.

Arquivo de configuração da implantação do Elastic BeanstalkOs parâmetros de configuração a seguir se destinam a implantações usando o Elastic Beanstalk.

Para uma demonstração do uso da ferramenta de implantação autônoma para a ser implantada no ElasticBeanstalk, consulte o Guia do desenvolvedor.

Configurações gerais

/Daws:autoscaling:launchconfiguration.SecurityGroups=RDPOnly,HTTPOnly

Chave e valor Descrição

DeploymentPackage = archive.zip Caminho relativo ao arquivo de implantação daweb. Esse caminho é relativo ao diretório detrabalho (ou seja, o diretório no qual você invoca aferramenta de implantação).

IncrementalPushLocation (Obsoleto: não use) Se especificada, aimplantação incremental será habilitada. O valorespecifica um local (por exemplo, C:\Temp\VS2008App1) onde um repositório do Git serácriado para armazenar o conteúdo da versão dopacote de implantação.

Modelo = ElasticBeanstalk Pode ser Elastic Beanstalk ouElasticBeanstalk.

Application.Name Especifica um nome para o aplicativo. Este valor éobrigatório.

48

Page 53: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Chave e valor Descrição

Application.Description Especifica uma descrição opcional do aplicativo.

Application.Version Especifica uma string da versão para o aplicativo.Se você estiver usando uma implantaçãoincremental, esse valor será ignorado. O ElasticBeanstalk usa o ID de confirmação do Git na stringda versão.

Região = us-east-1 Destino Regiões e endpoints.

UploadBucket = awsdeployment-us-east-1-samples O bucket do Amazon S3 onde os materiais deimplantação serão armazenados. Se esse bucketnão existir, ele será criado. Se usar o assistentede implantação, ele gerará o nome do bucket paravocê.

KeyPair = default O par de chaves do Amazon EC2 para fazerlogin na instância. O par de chaves deveráexistir antes da implantação. (O assistente deimplantação permite criar o par de chaves durantea implantação.)

AWSAccessKey =DEPLOYMENT_CREDENTIALS_HERE

AWSSecretKey =DEPLOYMENT_CREDENTIALS_HERE

Chave de acesso e chave secreta da AWS usadaspara criar a stack e implantar o aplicativo noElastic Beanstalk. Não recomendamos usar essesparâmetros para especificar credenciais. Em vezdisso, crie um perfil para as credenciais e useAWSProfileName para referenciar o perfil. Paraobter mais informações, consulte creds.

AWSProfileName = {profile_name} O perfil usado para criar a stack e implantar oaplicativo no Elastic Beanstalk.

aws:autoscaling:launchconfiguration.SecurityGroups= default

Os nomes dos security groups da instância doAmazon EC2. Se você especificar vários securitygroups, separe-os com vírgulas.

/Daws:autoscaling:launchconfiguration.SecurityGroups=RDPOnly,HTTPOnly

Os security groups já devem existir e permitira entrada na porta 80 (HTTP). Para obterinformações sobre como criar security groups,consulte tkv-sg

Configurações de ambiente

Chave e valor Descrição

Environment.Name Especifica um nome para o ambiente do ElasticBeanstalk. Este valor é obrigatório.

Environment.Description Optional. Especifica uma descrição para oambiente.

49

Page 54: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Chave e valor Descrição

Environment.CNAME Optional. Especifica o prefixo de URL do aplicativo.Se você não especificar esse valor, o ElasticBeanstalk derivará o prefixo do nome do ambiente.

Configurações de contêiner

Chave e valor Descrição

Container.TargetRuntime = 4.0 Especifica o tempo de execução de destinodo .NET Framework. Os valores possíveis são 2.0ou 4.0. As seguintes versões do .NET Frameworksão mapeadas para um tempo de execução de 2.0:

• .NET Framework 2.0• .NET Framework 3.0• .NET Framework 3.5

As seguintes versões do .NET Framework sãomapeadas para um tempo de execução de 4.0:

• .NET Framework 4.0• .NET Framework 4.5

O assistente de implantação (p. 18) noToolkit for Visual Studio permite especificar aversão do .NET Framework. O assistente acabamapeando a versão do .NET Framework paraa versão de tempo de execução de destinoapropriada.

Container.Enable32BitApplications = false Se o aplicativo for 32 bits, especifique true. Se oaplicativo for 64 bits, especifique false.

Container.ApplicationHealthcheckPath = / Este URL é relativo ao URL do servidorraiz. Por exemplo, se o URL completo fosseexample.com/site-is-up.html, você digitaria/site-is-up.html. A configuração só se aplicaquando você usa o modelo com carga balanceada.Ela é ignorada quando você usa o modelo deinstância única. A capacidade de resposta doaplicativo nesse URL afeta as ações executadaspelo load balancer e pelo auto scaler. Se oaplicativo não responder ou responder lentamente,o load balancer redirecionará o tráfego de rede deentrada para outras instâncias do Amazon EC2 e oauto scaler poderá adicionar instâncias do AmazonEC2.

Container.InstanceType = t1.micro O tipo de instância do Amazon EC2 a ser usado. Ainstância micro mostrada aqui é o tipo de instânciaDefinição de preço do EC2.

50

Page 55: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Chave e valor Descrição

Container.AmiID Especifica uma Amazon Machine Image (AMI –Imagem de máquina da Amazon) personalizada.Para obter mais informações sobre como criaruma AMI personalizada, acesse Como usar AMIspersonalizadas no Guia do desenvolvedor do AWSElastic Beanstalk e Criar uma AMI a partir de umainstância do Amazon EC2 (p. 15).

Container.NotificationEmail Optional. Especifica um endereço de e-mail paranotificações de status da implantação.

Arquivo de configuração da implantação do AWS CloudFormationNote

As implantações no AWS CloudFormation usando a Ferramenta de implantação autônoma estãoobsoletas.

Os parâmetros de configuração a seguir são obtidos no modelo com balanceamento de carga.

Configurações gerais

Chave e valor Descrição

DeploymentPackage = archive.zip Caminho relativo ao arquivo de implantaçãoda web. Esse caminho é relativo ao diretóriode trabalho (ou seja, o diretório no qual vocêinvoca a ferramenta de implantação). Se vocêestiver atualizando uma implantação (opção /updateStack), esse parâmetro será ignorado.

Region = us-east-1 Região de destino.

Template = LoadBalanced O valor de Template pode ser SingleInstanceou LoadBalanced ou um caminho de arquivopara um modelo do AWS CloudFormationpersonalizado. Para obter mais informações,consulte Personalizar o modelo do AWSCloudFormation usado na implantação (p. 55)

UploadBucket = awsdeployment-us-east-1-samples O bucket do Amazon Simple Storage Service(Amazon S3) onde os materiais de implantaçãoserão armazenados. Se o bucket não existir, eleserá criado. Se usar o assistente de implantação,ele gerará o nome do bucket para você. Se vocêtiver usado o assistente em uma implantaçãoe estiver reimplantando, esse parâmetro seráignorado. A ferramenta de implantação usaautomaticamente o bucket que foi usado naimplantação original do assistente.

KeyPair = default O par de chaves do Amazon Elastic ComputeCloud (Amazon EC2) para fazer login nainstância. O par de chaves deverá existir antes daimplantação. (O assistente de implantação permitecriar o par de chaves durante a implantação.)

51

Page 56: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Chave e valor Descrição

AWSAccessKey =DEPLOYMENT_CREDENTIALS_HEREAWSSecretKey =DEPLOYMENT_CREDENTIALS_HERE

A chave de acesso e chave secreta da AWSusadas para criar a stack e implantar o aplicativono AWS CloudFormation. Não recomendamos usaresses parâmetros para especificar credenciais. Emvez disso, crie um perfil para as credenciais e useAWSProfileName para referenciar o perfil. Paraobter mais informações, consulte creds.

AWSProfileName = {profile_name} O perfil usado para criar a stack e implantar oaplicativo no AWS CloudFormation.

Parâmetros de modelo

Além dos parâmetros a seguir, o modelo com balanceamento de carga dá suporte a muitos outrosparâmetros para personalizar o balanceamento de carga e o comportamento do Auto Scaling.

Chave e valor Descrição

Template.InstanceType = t1.micro O tipo de instância do Amazon EC2 a ser usado. Ainstância micro mostrada aqui é o tipo de instânciamais barato.

Template.SecurityGroup = default O security group da instância do Amazon EC2.Esse security group já deve ter sido criado epermitir a entrada na porta 80 (HTTP). Para obterinformações sobre como criar security groups,consulte tkv-sg.

Environment.PARAM1 = Environment.PARAM2 =Environment.PARAM3 = Environment.PARAM4 =Environment.PARAM5 =

Esses valores são disponibilizados para oaplicativo implantado por meio do appSettingsno arquivo Web.config. Para obter maisinformações, vá até a Biblioteca do MSDN.

Environment.AWSAccessKey= APP_CREDENTIALS_HEREEnvironment.AWSSecretKey =APP_CREDENTIALS_HERE

A chave de acesso e chave secreta usadas peloaplicativo implantado para acessar serviçosda AWS. Não recomendamos usar essesparâmetros para especificar credenciais. Em vezdisso, crie um perfil para as credenciais e useAWSProfileName para referenciar o perfil. Paraobter mais informações, consulte creds.

AWSProfileName = {profile_name} O perfil usado pelo aplicativo implantado paraacessar serviços da AWS.

Configurações de contêiner

SolutionStack="64bit Windows Server 2008 R2 running IIS 7.5"

SolutionStack="64bit Windows Server 2012 running IIS 8"

52

Page 57: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Chave e valor Descrição

SolutionStack="64bit Windows Server 2012 runningIIS 8"

Especifica a versão do Windows Servere do Internet Information Services (IIS)para implantação. Os valores válidos são:SolutionStack="64bit Windows Server 2008 R2running IIS 7.5" ou SolutionStack="64bit WindowsServer 2012 running IIS 8". Se não especificado,o padrão será 64bit Windows Server 2012 runningIIS 8.0. Você pode usar Container.Type como umalias para SolutionStack.

Container.TargetRuntime = 4.0 Especifica o tempo de execução de destinodo .NET Framework. Os valores possíveis são 2.0ou 4.0.

As seguintes versões do .NET Framework sãomapeadas para um tempo de execução de 2.0:

• .NET Framework 2.0• .NET Framework 3.0• .NET Framework 3.5

As seguintes versões do .NET Framework sãomapeadas para um tempo de execução de 4.0:

• .NET Framework 4.0• .NET Framework 4.5

O assistente de implantação (p. 36) noToolkit for Visual Studio permite especificar aversão do .NET Framework. O assistente acabamapeando a versão do .NET Framework paraa versão de tempo de execução de destinoapropriada.

Container.Enable32BitApplications = false Se o aplicativo for 32 bits, especifique true. Se oaplicativo for 64 bits, especifique false.

Container.ApplicationHealthcheckPath = / Este URL é relativo ao URL do servidorraiz. Por exemplo, se o URL completo fosseexample.com/site-is-up.html, você digitaria/site-is-up.html.

A configuração só se aplica quando você usa omodelo com carga balanceada. Ela é ignoradaquando você está usando o modelo de instânciaúnica. A capacidade de resposta do aplicativonesse URL afeta as ações executadas pelo loadbalancer e pelo Auto Scaling. Se o aplicativonão responder ou responder lentamente, o loadbalancer redirecionará o tráfego de rede deentrada para outras instâncias do Amazon EC2 e oauto scaler poderá adicionar instâncias do AmazonEC2.

53

Page 58: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Configurações de criação da stack

Chave e valor Descrição

Settings.SNSTopic Tópico do SNS a ser usado em mensagens deimplantação.

Settings.CreationTimeout = 0 O tempo para possibilitar a criação da pilha. Umvalor zero significa que não há limite de tempo.

Settings.RollbackOnFailure = false Se esse valor for true, a ferramenta deimplantação desmontará a pilha se a implantaçãofalhar.

Como atualizar a configuração para uma implantação existenteVocê pode usar o recurso updateStack da ferramenta de implantação para modificar a configuração doAWS CloudFormation de uma implantação existente. Essa configuração – o ambiente do aplicativo – incluios recursos de nuvem nos quais o aplicativo é executado e a que tem acesso. O recurso updateStacknão altera nem reimplanta o aplicativo; ele apenas atualiza o ambiente do aplicativo. Assim, o recursoupdateStack complementa o recurso de reimplantação. A reimplantação oferece uma maneira deatualizar o aplicativo sem alterar o ambiente.

Existem diversos cenários nos quais convém usar updateStack. Por exemplo, se você desenvolvero aplicativo usando o modelo de instância única, à medida que o aplicativo se aproxima da preparaçãopara produção, você pode atualizar a configuração para usar um modelo com carga balanceada, paratestes beta públicos ou implantações da versão ao vivo. Em um cenário relacionado, uma implantaçãousando uma configuração com balanceamento de carga pode ser otimizada modificando alguns dosparâmetros de configuração – por exemplo, aumentando o número máximo de instâncias do EC2compatíveis ou alterando o tamanho das instâncias, digamos, de micro para grande. Você pode usar orecurso updateStack da ferramenta de implantação para implementar um desses cenários.

Existem cenários nos quais convém usar as opções /updateStack e /redeploy, modificandoefetivamente tanto o aplicativo quanto o ambiente no qual o aplicativo está sendo executado. Em algunscasos, essa abordagem é mais eficiente do que apenas executar uma implantação regular. Por exemplo,convém alterar o ambiente para adicionar um bucket do Amazon S3 e atualizar o aplicativo para usaresse bucket. Com uma combinação de /updateStack e /redeploy, você pode implementar ambasas alterações, mas deixar qualquer uma das instâncias do Amazon EC2 já provisionadas ativas e emfuncionamento. A implantação regular resultaria na desativação e na recompilação de todo o ambiente.

O recurso updateStack só é disponibilizado por meio da ferramenta de implantação. Ele não édisponibilizado por meio do assistente de implantação no Visual Studio. Você pode usar updateStackpara atualizar uma implantação que foi inicialmente implantada por meio do assistente, mas não vice-versa.

A sintaxe de invocação para atualizar uma implantação é semelhante à sintaxe de uma nova implantação.

awsdeploy /updateStack [other options] updatedConfigFile

Lembre-se do seguinte ao tentar atualizar uma implantação:

• Você não pode atualizar uma implantação que esteja no processo de criação ou desativação.• O arquivo de configuração especificado deve usar o mesmo valor para o parâmetro StackName da

implantação original.• Você não pode usar updateStack para alterar a região da implantação. Porém, você pode alterar as

zonas de disponibilidade da implantação.

54

Page 59: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

• Se você usar updateStack para transicionar a implantação de uma única instância para cargabalanceada, o endpoint da implantação necessariamente mudará. No caso de uma única instância,o endpoint se refere a uma instância do Amazon EC2. No modelo com balanceamento de carga, oendpoint se refere ao load balancer do Elastic Load Balancing, um computador que distribui a cargade computação em todas as instâncias do EC2. Por isso, se estiver usando um registro CNAME paraassociar um nome de domínio à implantação, você deverá atualizar o registro CNAME para que eleaponte para o load balancer do modelo com balanceamento de carga.

A ferramenta de implantação implementa o recurso updateStack chamando a API UpdateStack do AWSCloudFormation. Para obter mais informações sobre o AWS CloudFormation, acesse o Guia do usuário doAWS CloudFormation.

Personalizar o modelo do AWS CloudFormation usado naimplantaçãoAlém de modificar uma implantação especificando parâmetros no assistente de implantação – ou noarquivo de configuração da ferramenta de implantação autônoma –, você também pode modificara implantação fornecendo o próprio modelo do AWS CloudFormation personalizado. Por padrão, aimplantação usa automaticamente um dos conjuntos de modelos armazenados no Amazon Simple StorageService (Amazon S3). Esse conjunto padrão de modelos inclui dois modelos para cada região da AWS.Um desses dois é para implantação em uma única instância do Amazon Elastic Compute Cloud (AmazonEC2); o outro é para implantação em um conjunto de instâncias do Amazon EC2 com balanceamento decarga. Você também pode usar esses modelos como um ponto de partida para criar o próprio.

Para criar o próprio modelo personalizado

1. Copie o modelo correspondente à região e ao tipo de implantação que você deseja fazer. Os links paracada um dos modelos são fornecidos abaixo.

Note

Os modelos só estão disponíveis para as regiões listadas abaixo.

Leste dos EUA (Norte da Virgínia)

SingleInstance.template LoadBalanced.template

Oeste dos EUA (Oregon)

SingleInstance-us-west-2.template LoadBalanced-us-west-2.template

Oeste dos EUA (Norte da Califórnia)

SingleInstance-us-west-1.template LoadBalanced-us-west-1.template

UE (Irlanda)

SingleInstance-eu-west-1.template LoadBalanced-eu-west-1.template

55

Page 60: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Ásia-Pacífico (Cingapura)

SingleInstance-ap-southeast-1.template LoadBalanced-ap-southeast-1.template

Ásia-Pacífico (Tóquio)

SingleInstance-ap-northeast-1.template LoadBalanced-ap-northeast-1.template

Ásia-Pacífico (Sydney)

SingleInstance-ap-southeast-2.template LoadBalanced-ap-southeast-2.template

América do Sul (São Paulo)

SingleInstance-sa-east-1.template LoadBalanced-sa-east-1.template

Se você precisar criar os próprios links para os modelos, o formato para cada link será o seguinte:

http://vstoolkit.amazonwebservices.com/CloudFormationTemplates/{template-name}

Por exemplo, para o modelo de instância única da região Oeste dos EUA (Norte da Califórnia), o link seria:

http://vstoolkit.amazonwebservices.com/CloudFormationTemplates/SingleInstance-us-west-1.template

Os links na tabela mostram o protocolo HTTP. O protocolo HTTPS também é compatível.

1. Edite o modelo a fim de modificá-lo segundo as necessidades específicas. Como os modelos sãoarquivos de texto, você pode editá-los usando qualquer editor de texto padrão. As informações deimplantação nos modelos são representadas no formato JavaScript Object Notation. Depois de editar oarquivo, será recomendável revalidar a formatação JSON usando uma ferramenta como JSONLint.

O arquivo de modelo tem três seções: Parâmetros, Recursos e Saídas.

Para adicionar recursos à implantação, adicione-os à seção Resources do modelo. Por exemplo, vocêpode adicionar um banco de dados do Amazon RDS ou um tópico do Amazon SNS. Para configuraresses recursos no momento da implantação, adicione parâmetros à seção Parameters do modelo.Quando você adiciona novos parâmetros ao modelo, o AWS Toolkit os adiciona aos parâmetrosexibidos no assistente de implantação. Você pode especificar valores para esses parâmetros noassistente de implantação ou no arquivo de configuração da ferramenta de implantação autônoma.

Da mesma maneira, os dados especificados por você na seção Output do modelo também sãoexibidos no assistente de implantação – bem como no Console de Gerenciamento da AWS. Você podeusar a seção Output para exibir informações de pós-implantação sobre os recursos. Por exemplo,se adicionar um bucket do Amazon S3 à seção Resources do modelo, você poderá usar a seçãoOutputs para exibir o nome gerado automaticamente para o bucket.

56

Page 61: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFerramenta de implantação autônoma

Para obter mais informações sobre como editar modelos do AWS CloudFormation, consulte o Guia dousuário do CloudFormation.

2. Defina os parâmetros Template no arquivo de configuração de implantação como o caminho domodelo personalizado. O parâmetro Template está localizado em General Settings no arquivo deconfiguração. O caminho especificado por você pode ser o caminho do arquivo no disco rígido local ouser um URL que aponta para o local do arquivo de configuração em um servidor remoto. Na próximaexecução de uma implantação, a ferramenta usará o modelo.

Dados obrigatórios no arquivo de modelo

O processo de implantação exige que determinados dados sejam especificados no arquivo de modelo.Ao editar a versão do modelo, você deve garantir que ele continue fornecendo esses dados. Os dadosobrigatórios estão localizado apenas nas seções Parameters e Outputs do modelo.

Seção de parâmetros do modeloA tabela a seguir mostra os parâmetros obrigatórios na seção Parâmetros do modelo.

Nome Significado

InstanceType O "nome da API" do tipo das instâncias do AmazonEC2 a serem usadas na implantação. Os exemplossão t1.micro para instâncias micro ou m1.xlargepara instâncias extragrande. Para obter umalista dos tipos de instância e dos nomes de APIcorrespondentes, consulte a páginas de detalhesdo Amazon EC2.

KeyPair Qual dos pares de chaves deve ser usado nasinstâncias do Amazon EC2.

Security group O security group a ser usado nas instâncias doAmazon EC2.

BucketName Bucket do Amazon S3 onde é feito upload dosarquivos de implantação.

ConfigFile Nome do arquivo de configuração usado pelaimplantação.

AmazonMachineImage A AMI usada na implantação. Para obtermais informações sobre como criar uma AMIpersonalizada, vá até Usar AMIs personalizadasno Guia do desenvolvedor do Elastic Beanstalke Criar uma AMI com base em uma instânciado Amazon EC2 (p. 15). O software HostManager instalado em AMIs usadas emimplantações do CloudFormation agora seatualiza automaticamente. Por isso, se derivaruma AMI personalizada de uma das AMIs doCloudFormation, você não precisará manter osoftware Host Manager. No entanto, você aindaprecisa manter o sistema operacional e softwareaplicativo atualizados.

UserData Os dados do usuário fornecidos pela implantaçãopara o aplicativo implantado.

57

Page 62: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioUsar o Editor de modelos do AWSCloudFormation para Visual Studio

Seção de saídas do modelo

A tabela a seguir mostra as saídas obrigatórias na seção Saídas do modelo.

Nome Significado

Bucket O bucket do Amazon S3 no qual foi feito uploaddos arquivos de implantação.

ConfigFile O nome do arquivo de configuração que foi usadona implantação.

VSToolkitDeployed Sinalizador Booliano definido como true, o queindica que essa stack foi criada como parte deuma implantação do AWS Toolkit for Visual Studio.Esse sinalizador também será definido como truese a implantação tiver sido feita na ferramenta deimplantação autônoma.

URL O URL do aplicativo implantado.

Usar o Editor de modelos do AWS CloudFormationpara Visual Studio

O Toolkit for Visual Studio inclui um editor de modelos do AWS CloudFormation e projetos de modelo doAWS CloudFormation para o Visual Studio. Entre os recursos compatíveis estão:

• Criar novos modelos (vazios ou copiados de uma stack existente ou de um modelo de exemplo) usandoo tipo de projeto do modelo do AWS CloudFormation fornecido.

• Editar modelos com validação JSON automática, preenchimento automático, code folding e realce desintaxe.

• Sugestão automática de funções intrínsecas e parâmetros de referência de recursos para os valores decampo no modelo.

• Itens de menu para realizar ações comuns para o modelo no Visual Studio: implantar o modelo, estimaro custo do modelo e formatar o modelo.

Tópicos• Criar um projeto de modelo do AWS CloudFormation no Visual Studio (p. 58)• Implantar um modelo do AWS CloudFormation no Visual Studio (p. 59)• Estimar o custo do projeto do modelo AWS CloudFormation no Visual Studio (p. 59)• Formatar um modelo do AWS CloudFormation no Visual Studio (p. 60)

Criar um projeto de modelo do AWS CloudFormationno Visual StudioPara criar um projeto de modelo

1. No Visual Studio, escolha File, New e Project.

58

Page 63: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar um modelo do AWS

CloudFormation no Visual Studio

2. Na caixa de diálogo New Project, escolha Installed, AWS e AWS Cloud Formation Project.3. Em Nome, digite o nome do projeto de modelo.4. Na página Select Project Source, escolha a origem do modelo que você criará:

• Create with empty template gera um novo modelo do AWS CloudFormation vazio.• Create from existing AWS |CFN| stack gera um modelo com base em uma stack existente na conta da

AWS. (A pilha não precisa ter um status CREATE_COMPLETE.)• Select sample template gera um modelo com base em um dos modelos de exemplo do AWS

CloudFormation.5. Para concluir a criação do projeto de modelo do AWS CloudFormation, escolha Finish.

Implantar um modelo do AWS CloudFormation noVisual StudioPara implantar um modelo do CFN

1. Em Solution Explorer, abra o menu de contexto (clique com o botão direito do mouse) do modelo quevocê deseja implantar e escolha Deploy to AWS CloudFormation.

Como alternativa, para implantar o modelo que você está editando no momento, no menu Template,escolha Deploy to AWS CloudFormation.

2. Na página Deploy Template, escolha a conta da AWS a ser usada para iniciar a stack e a região ondeela será iniciada.

3. Escolha Create New Stack e digite um nome para a stack.4. Escolha qualquer uma das seguintes opções (ou nenhuma):

• Para receber notificações sobre o progresso da stack, na lista suspensa SNS Topic, escolha umtópico do SNS. Você também pode criar um tópico do SNS escolhendo Create New Topic e digitandoum endereço de e-mail na caixa.

• Use Creation Timeout para especificar por quanto tempo o AWS CloudFormation deve permitir que astack seja criada antes de ser declarada falha (e revertida, a menos que a opção Rollback on failureesteja desmarcada).

• Use Rollback on failure se você quiser que a stack seja revertida (ou seja, excluída) em caso de falha.Deixe essa opção desmarcada se você quiser que a stack permaneça ativa, para fins de depuração,mesmo que ela tenha deixado de ser iniciada por completo.

5. Escolha Finish para iniciar a stack.

Estimar o custo do projeto do modelo AWSCloudFormation no Visual StudioCom o Toolkit for Visual Studio, você pode estimar facilmente o custo da stack do AWS CloudFormationna qual está trabalhando antes de implantá-la. Dessa forma, você terá uma ideia dos custos operacionaismensais dos recursos incluídos no modelo.

Para estimar o custo da stack do CFN

1. Em Solution Explorer, abra o menu de contexto (botão direito do mouse) do modelo e escolha EstimateCost.

Como alternativa, para estimar o custo do modelo que você está editando no momento, no menuTemplate, escolha Estimate Cost.

2. Forneça valores para os parâmetros definidos para a stack e escolha Finish.

59

Page 64: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioFormatar um modelo do AWS

CloudFormation no Visual Studio

3. A Calculadora Mensal da AWS será exibida. Os valores dos dados do formulário serão preenchidoscom informações extraídas do modelo que você está editando. Você poderá ajustar os valores, senecessário.

A guia Estimate of Your Monthly Bill exibirá uma visualização detalhada dos custos mensais estimadosde execução da stack.

Note

As estimativas de custo são calculadas usando-se os valores fornecidos e as taxas atuais deserviços da AWS, que podem variar com o passar do tempo. Para obter mais informações,consulte o whitepaper Como funciona a definição de preço da AWS.

Formatar um modelo do AWS CloudFormation noVisual Studio• Em Solution Explorer, abra o menu de contexto (botão direito do mouse) do modelo e escolha Format

Template.

Como alternativa, para formatar o modelo que você está editando no momento, no menu Template,escolha Format Template.

O código JSON será formatado de maneira que a estrutura seja apresentada claramente.

Usar o Amazon S3 no AWS ExplorerO Amazon Simple Storage Service (Amazon S3) permite armazenar e recuperar dados de qualquerconexão com a Internet. Todos os dados armazenados no Amazon S3 são associados à conta e, porpadrão, só podem ser acessados por você. O Toolkit for Visual Studio permite armazenar dados noAmazon S3, além de visualizar, gerenciar, recuperar e distribuir esses dados.

O Amazon S3 usa o conceito de buckets, que você pode considerar como sendo semelhante a sistemasde arquivos ou unidades de disco lógicas. Os buckets podem conter pastas, que são semelhantesa diretórios e objetos, semelhantes a arquivos. Nesta seção, usaremos esses conceitos em meio àfuncionalidade do Amazon S3 exposta pelo Toolkit for Visual Studio.

Note

Para usar essa ferramenta, a política do IAM deve conceder permissões para as açõess3:GetBucketAcl, s3:GetBucket e s3:ListBucket. Para obter mais informações, consulteVisão geral das políticas do IAM da AWS.

Criar um bucket do Amazon S3O bucket é a unidade de armazenamento mais fundamental no Amazon S3.

Para criar um bucket do S3

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) do nó Amazon S3 eescolha Create Bucket.

2. Na caixa de diálogo Create Bucket, digite um nome para o bucket. Os nomes de bucket devem serexclusivos em toda a AWS. Para obter informações sobre outras restrições, vá até a Documentação doAmazon S3.

60

Page 65: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioGerenciar buckets do Amazon S3 no AWS Explorer

3. Escolha OK.

Gerenciar buckets do Amazon S3 no AWS ExplorerNo AWS Explorer, as operações a seguir são disponibilizadas quando você abre um menu de contexto(clique com o botão direito do mouse) de um bucket do Amazon S3.

Browse

Exibe uma visualização dos objetos contidos no bucket. Aqui, você pode criar pastas ou fazer upload dearquivos ou diretórios inteiros e pastas do computador local. O painel inferior exibe mensagens de statussobre o processo de upload. Para limpar essas mensagens, escolha o ícone Clear. Você também podeacessar essa visualização do bucket clicando duas vezes no nome do bucket no AWS Explorer.

Properties

Exibe uma caixa de diálogo onde você pode fazer o seguinte:

• Defina as permissões do Amazon S3 com escopo para:• você como o proprietário do bucket.• todos os usuários que tenham sido autenticados na AWS.• todos com acesso à Internet.

• Ative o registro em log para o bucket.• Configure uma notificação usando o Amazon Simple Notification Service (Amazon SNS), de maneira

que, se estiver usando Reduced Redundancy Storage (RRS), você será notificado em caso de perdade dados. RRS é uma opção de armazenamento do Amazon S3 que oferece menos durabilidade doque o armazenamento padrão, mas a custo reduzido. Para obter mais informações, consulte Perguntasfrequentes do S3.

• Crie um site estático usando os dados no bucket.

Política

Permite configurar as políticas do AWS Identity and Access Management (IAM) para o bucket. Para obtermais informações, vá até a Documentação do IAM e os casos de uso do IAM e do S3.

Create Pre-Signed URL

Permite gerar um URL limitado por tempo que você pode distribuir para dar acesso ao conteúdo do bucket.Para obter mais informações, consulte Como criar um pre-signed URL (p. 63).

Visualizar multipart uploads

Permite visualizar multipart uploads. O Amazon S3 dá suporte à quebra de grandes uploads de objetos empartes para tornar o processo de upload mais eficiente. Para obter mais informações, vá até a discussãode multipart uploads na documentação do S3.

Excluir

Permite excluir o bucket. Você só pode excluir buckets vazios.

Carregar arquivos e pastas no Amazon S3Você pode usar o AWS Explorer para transferir arquivos ou pastas inteiras do computador local paraqualquer um dos buckets.

61

Page 66: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioOperações de arquivo do Amazon

S3 do AWS Toolkit for Visual Studio

Note

Se você fizer upload de arquivos ou pastas que tenham o mesmo nome de arquivos ou pastas jáexistentes no bucket do Amazon S3, os arquivos carregados substituirão os arquivos existentessem aviso.

Para fazer upload de um arquivo no S3

1. No AWS Explorer, expanda o nó Amazon S3 e clique duas vezes em um bucket ou abra o menu decontexto (clique com o botão direito do mouse) do bucket e escolha Browse.

2. Na visualização Browse do bucket, escolha Upload File ou Upload Folder.3. Na caixa de diálogo File-Open, navegue até os arquivos para fazer upload, selecione-os e escolha

Open. Se você estiver fazendo upload de uma pasta, navegue até, escolha essa pasta e selecioneOpen.

A caixa de diálogo Upload Settings permite definir metadados e permissões nos arquivos ou na pastaque você está fazendo upload. Marcar a caixa de seleção Make everything public equivale a configuraras permissões Open/Download para Everyone. Você pode selecionar a opção para usar ReducedRedundancy Storage para os arquivos carregados.

Operações de arquivo do Amazon S3 do AWS Toolkitfor Visual StudioSe escolher um arquivo no Amazon S3 visualizar e abrir o menu de contexto (clique com o botão direito domouse), você poderá realizar diversas operações no arquivo.

Criar pasta

Permite criar uma pasta no bucket atual. (Equivalente a escolher o link Create Folder.)

Carregar

Permite fazer upload de arquivos ou pastas. (Equivalente a escolher os links Upload File ou UploadFolder.)

Aberto

Tentativas de abrir o arquivo selecionado no navegador padrão. Dependendo do tipo de arquivo e dosrecursos do navegador padrão, o arquivo talvez não seja exibido. Ele pode ser simplesmente baixado pelonavegador.

Baixar

Abre uma caixa de diálogo Folder-Tree pasta permitir o download do arquivo selecionado.

Make Public

Define permissões no arquivo selecionado como Open/Download e Everyone. (Equivalente a marcar acaixa de seleção Make everything public na caixa de diálogo Upload Settings.)

Excluir

Exclui os arquivos selecionados ou as pastas. Você também pode excluir arquivos ou pastas escolhendo-os e pressionando Delete.

Change Storage Class

62

Page 67: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioUsar o DynamoDB no AWS Explorer

Define a classe de armazenamento como Standard ou Reduced Redundancy Storage (RRS). Paravisualizar a configuração de classe de armazenamento atual, escolha Properties.

Change Encryption

Permite definir criptografia no lado do servidor no arquivo. Para visualizar a configuração de criptografiaatual, escolha Properties.

Renomear

Permite renomear um arquivo. Não é possível renomear uma pasta.

Cut | Copy | Paste

Permite recortar, copiar e colar arquivos ou pastas entre pastas ou entre buckets.

Properties

Exibe uma caixa de diálogo que permite definir metadados e permissões para o arquivo, bem comoalternar o armazenamento para o arquivo entre Reduced Redundancy Storage (RRS) e Standard, alémde definir a criptografia no lado do servidor para o arquivo. Essa caixa de diálogo também exibe um linkhttps para o arquivo. Se você escolher esse link, o Toolkit for Visual Studio abrirá o arquivo no navegadorpadrão. Se você tiver permissões no arquivo definido como Open/Download e Everyone, outras pessoaspoderão acessar o arquivo por meio desse link. Em vez de distribuir esse link, recomendamos criar edistribuir pre-signed URLs.

Create Pre-Signed URL

Permite criar um pre-signed URL limitado por tempo que você pode distribuir para permitir que outraspessoas acessem o conteúdo armazenado no Amazon S3.

Como criar um pre-signed URLVocê pode criar um pre-signed URL para um bucket ou arquivos em um bucket. Outras pessoas podemusar esse URL para acessar o bucket ou o arquivo. O URL vai expirar depois de um período especificadoao criar o URL.

Para criar um pre-signed URL

1. Na caixa de diálogo Create Pre-Signed URL, defina a data de expiração e a hora do URL. Aconfiguração padrão é uma hora adiante da hora atual.

2. Escolha o botão Generate.3. Para copiar o URL para a área de transferência, escolha Copy.

Usar o DynamoDB no AWS ExplorerO Amazon DynamoDB é um serviço de banco de dados rápido, altamente escalável, altamente disponível,econômico e não relacional. O DynamoDB remove limitações de escalabilidade tradicionais quantoao armazenamento físico de dados, ao mesmo tempo em que mantém baixa latência e desempenhoprevisível. O Toolkit for Visual Studio oferece a funcionalidade para trabalhar com o DynamoDB em umcontexto de desenvolvimento. Para obter mais informações sobre o DynamoDB, consulte DynamoDB nosite da AWS.

No Toolkit for Visual Studio, o AWS Explorer exibe todas as tabelas do DynamoDB associadas à conta daAWS ativa.

63

Page 68: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioCriar uma tabela do DynamoDB

Criar uma tabela do DynamoDBVocê pode usar o Toolkit for Visual Studio para criar uma tabela do DynamoDB.

Para criar uma tabela no AWS Explorer

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) de AmazonDynamoDB e escolha Create Table.

2. No assistente Create Table, em Table Name, digite um nome para a tabela.3. No campo Hash Key Name, digite um atributo de chave de hash primária e, nos botões Hash Key Type,

escolha o tipo de chave de hash. O DynamoDB compila um índice de hash não classificado usando oatributo de chave primária e um índice de intervalo classificado opcional usando o atributo de chaveprimária de intervalo. Para obter mais informações sobre o atributo de chave de hash primária, vá até aseção Chave primária no Amazon DynamoDB Developer Guide.

4. (Opcional) Selecione Enable Range Key. No campo Range Key Name, digite um atributo de chave deintervalo e, nos botões Range Key Type, escolha um tipo de chave de intervalo.

5. No campo Read Capacity, digite o número de unidades de capacidade de leitura. No campo WriteCapacity, digite o número de unidades de capacidade de gravação. Você deve especificar pelo menostrês unidades de capacidade de leitura e cinco unidades de capacidade de gravação. Para obter maisinformações sobre unidades de capacidade de leitura e gravação, vá até Throughput provisionado noDynamoDB.

6. (Opcional) Selecione Enable Basic Alarm para alertar quando as taxas de solicitação da tabelaestiverem muito altas. Escolha a porcentagem de throughput provisionado por 60 minutos que deve serexcedida antes do envio do alerta. In Send Notifications To, digite um endereço de e-mail.

7. Clique em OK para criar a tabela.

Para obter mais informações sobre tabelas do DynamoDB, vá até Conceitos do modelo de dados –Tabelas, itens e atributos.

Visualizar uma tabela do DynamoDB como uma gradePara abrir uma visualização em grade das tabelas do DynamoDB, no AWS Explorer, clique duas vezesno subnó correspondente à tabela. Na visualização em grade, você pode visualizar os itens, os atributose os valores armazenados na tabela. Cada linha corresponde a um item na tabela. As colunas da tabelacorrespondem aos atributos. Cada célula da tabela mantém os valores associados a esse atributo do item.

Um atributo pode ter um valor que seja uma string ou um número. Alguns atributos têm um valor queconsiste em um conjunto de strings ou números. Os valores definidos são exibidos como uma listaseparada por vírgulas entre colchetes.

Editar e adicionar atributos e valoresClicando duas vezes em uma célula, você pode editar os valores do atributo correspondente do item. Paraatributos set-value, você também pode adicionar ou excluir valores individuais do conjunto.

Além de alterar o valor de um atributo, você também pode, com algumas limitações, alterar o formatodo valor de um atributo. Por exemplo, um valor de qualquer número pode ser convertido em um valorde string. Se você tiver um valor de string, cujo conteúdo seja um número, como 125, o editor de célulaspermitirá converter o formato do valor de string em número. Você também pode converter um single-valueem um set-value. No entanto, você normalmente não pode converter de um set-value em um single-value;uma exceção é quando o set-value tem, na verdade, apenas um elemento no conjunto.

64

Page 69: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioVerificar uma tabela do DynamoDB

Depois de editar o valor do atributo, escolha a marca de seleção verde para confirmar as alterações. Sevocê quiser descartar as alterações, escolha o X vermelho.

Depois que você tiver confirmado as alterações, o valor do atributo será exibido em vermelho. Isso indicaque o atributo foi atualizado, mas que o novo valor não foi regravado no banco de dados do DynamoDB.Para regravar as alterações no DynamoDB, escolha Commit Changes. Para descartar as alterações,escolha Scan Table e, quando o Toolkit perguntar se você gostaria de confirmar as alterações antes davarredura, escolha No.

Como adicionar um atributo

Na visualização em grade, você também pode adicionar atributos à tabela. Para adicionar um novoatributo, escolha Add Attribute.

Na caixa de diálogo Add Attribute, digite um nome para o atributo e escolha OK.

Para tornar o novo atributo parte da tabela, você deve adicionar um valor a ela para pelo menos um item eescolher o botão Commit Changes. Para descartar o novo atributo, basta fechar a visualização em gradeda tabela sem escolher Commit Changes.

Verificar uma tabela do DynamoDBVocê pode realizar varreduras nas tabelas do DynamoDB no Toolkit. Em uma varredura, você defineum conjunto de critérios e a varredura retorna todos os itens da tabela correspondentes aos critérios. Asvarreduras são operações caras e devem ser usadas com cuidado para evitar interromper um tráfego deprodução de prioridade maior na tabela. Para obter mais informações sobre como usar a operação devarredura, vá até o Amazon DynamoDB Developer Guide.

Para realizar uma varredura em uma tabela do DynamoDB no AWS Explorer

1. Na visualização em grade, escolha o botão scan conditions: add.2. No editor de cláusulas de varredura, escolha o atributo correspondente, como o valor do atributo deve

ser interpretado (string, número, valor definido), como ele deve ser analisado (por exemplo, Começacom ou Contém) e o valor literal correspondente.

3. Adicione mais cláusulas de varredura, conforme necessário, para a pesquisa. A varredura só retornaráos itens correspondentes aos critérios de todas as cláusulas de varredura. A varredura realizará umacomparação diferenciando maiúsculas de minúsculas em relação a valores de string.

4. Na barra de botões na parte superior da visualização em grade, escolha Scan Table.

Para remover uma cláusula de varredura, escolha o botão vermelho com a linha branca à direita de cadacláusula.

Para retornar à visualização da tabela que inclui todos os itens, remova todas as cláusulas de varredura eescolha Scan Table novamente.

Paginar resultados da varredura

Na parte inferior da visualização, existem três botões.

Os dois primeiros botões azuis fornecem paginação para resultados da varredura. O primeiro botão exibiráuma página adicional de resultados. O segundo botão exibirá dez páginas adicionais de resultados. Nestecontexto, uma página é igual a 1 MB de conteúdo.

Export Scan Result to CSV

65

Page 70: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioUsar o AWS CodeCommit como Visual Studio Team Explorer

O terceiro botão exporta os resultados da varredura atual para um arquivo CSV.

Usar o AWS CodeCommit com o Visual StudioTeam Explorer

Você pode usar as contas de usuário do AWS Identity and Access Management (IAM) para criarcredenciais do Git e usá-las a fim de criar e clonar repositórios dentro do Team Explorer.

Tipos de credencial do AWS CodeCommitA maioria dos usuários do AWS Toolkit for Visual Studio está ciente da configuração de perfis decredencial da AWS que contêm as chaves de acesso e secretas. Esses perfis de credencial são usadosno Toolkit for Visual Studio para permitir as chamadas a APIs de serviço, por exemplo, para listar bucketsdo Amazon S3 em AWS Explorer ou para iniciar uma instância do Amazon EC2. A integração do AWSCodeCommit com o Team Explorer também usa esses perfis de credencial. No entanto, para trabalharcom o Git propriamente dito, você precisa de credenciais adicionais, especificamente, as credenciais doGit para conexões HTTPS. Você pode ler mais sobre essas credenciais (um nome de usuário e senha)em Configuração para usuários do HTTPS que usam credenciais do Git no Guia do usuário do AWSCodeCommit.

Você pode criar as credenciais do Git para o AWS CodeCommit apenas para contas de usuário do IAM.Você não pode criá-las para uma conta raiz. Você pode criar até dois conjuntos dessas credenciais para oserviço e, embora possa marcar um conjunto de credenciais como inativo, os conjuntos inativos continuamcontando para o limite de dois conjuntos. Você pode excluir e recriar credenciais a qualquer momento.Quando você usa o AWS CodeCommit dentro do Visual Studio, as credenciais da AWS tradicionais sãousadas para trabalhar com o serviço propriamente dito, por exemplo, quando você está criando e listandorepositórios. Trabalhando com os repositórios do Git reais hospedados no AWS CodeCommit, você deveusar as credenciais do Git.

Como parte do suporte para o AWS CodeCommit, o Toolkit for Visual Studio cria e gerenciaautomaticamente essas credenciais do Git para você e os associa ao perfil de credencial da AWS. Vocênão precisa se preocupar em ter conjunto certo de credenciais à disposição para realizar operações do Gitdentro do Team Explorer. Assim que se conecta ao Team Explorer com o perfil de credencial da AWS, ascredenciais do Git associadas são usadas automaticamente sempre que você trabalha com um Git remoto.

Conectar-se ao AWS CodeCommitAo abrir a janela Team Explorer no Visual Studio de 2015 ou posterior, você verá uma entrada do AWSCodeCommit na seção Hosted Service Providers de Manage Connections.

Escolher Sign up abre a página inicial da AWS em uma janela do navegador. O que acontece quando vocêescolhe Connect depende de o Toolkit for Visual Studio conseguir encontrar um perfil de credencial com

66

Page 71: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioCriação de um repositório

chaves de acesso e secreta da AWS para fazer chamadas à AWS em seu nome. Você pode configurarum perfil de credencial usando a nova página Getting Started exibida no IDE quando o Toolkit for VisualStudio não consegue encontrar credenciais armazenadas localmente. Ou você pode ter usado o Toolkit forVisual Studio, o AWS Tools para Windows PowerShell ou a AWS CLI e já ter perfis de credencial da AWSdisponíveis para o Toolkit for Visual Studio usar.

Quando você escolhe Connect, o Toolkit for Visual Studio inicia o processo para encontrar um perfil decredencial a ser usado na conexão. Se o Toolkit for Visual Studio não conseguir encontrar um perfil decredencial, ele abrirá uma caixa de diálogo convidando você a inserir as chaves de acesso e secretas paraa conta da AWS. É altamente recomendável usar uma conta de usuário do IAM, e não as credenciais raiz.Além disso, conforme observado anteriormente, as credenciais do Git de que você precisará só podemser criadas para usuários do IAM. Assim que as chaves de acesso e secretas forem fornecidas e o perfilde credencial for criado, a conexão entre o Team Explorer e o AWS CodeCommit estará pronta para serusada.

Se o Toolkit for Visual Studio encontrar mais de um perfil de credencial da AWS, você deverá selecionar aconta que deseja usar dentro do Team Explorer.

Se tiver apenas um perfil de credencial, o Toolkit for Visual Studio ignorará a caixa de diálogo de seleçãodo perfil e você será conectado imediatamente:

Quando uma conexão é estabelecida entre o Team Explorer e o AWS CodeCommit por meio dos perfis decredencial, a caixa de diálogo de convite é fechada e o painel de conexão é exibido.

Como você não têm repositórios clonados localmente, o painel mostra apenas as operações que vocêpode realizar: Clone, Create e Sign out. Assim como outros provedores, o AWS CodeCommit no TeamExplorer só pode ser vinculado a um perfil de credencial da AWS em um dado momento. Para alternarcontas, você usa Sign out para remover a conexão, de maneira que possa iniciar uma nova conexãousando uma conta diferente.

Agora que estabeleceu uma conexão, você pode criar um repositório clicando no link Create.

Criação de um repositórioQuando você clica no link Create, a caixa de diálogo Create a New AWS CodeCommit Repository é aberta.

67

Page 72: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioConfigurar credenciais do Git

Os repositórios do AWS CodeCommit são organizados por região. Assim, em Region, você podeselecionar a região na qual hospedar o repositório. A lista tem todas as regiões nas quais o AWSCodeCommit é compatível. Você fornece o nome (obrigatório) e a descrição (opcional) para o novorepositório.

O comportamento padrão da caixa de diálogo é de sufixo do local da pasta para o novo repositório com onome do repositório (à medida que você insere o nome, o local da pasta também se atualiza). Para usarum nome de pasta diferente, edite o caminho da pasta Clone into depois de terminar de inserir o nome dorepositório.

Você também pode optar por criar automaticamente um arquivo .gitignore inicial para o repositório. OAWS Toolkit for Visual Studio fornece um padrão incorporado para tipos de arquivo do Visual Studio. Vocêtambém pode optar por não ter arquivo algum ou usar um arquivo existente personalizado que gostariade reutilizar em todos os repositórios. Basta selecionar Use custom na lista e navegue até o arquivopersonalizado a ser usado.

Assim que tiver um nome de repositório e um local, você estará pronto para clicar em OK e começar a criaro repositório. O Toolkit for Visual Studio solicita que o serviço crie o repositório e acabe clonando o novorepositório localmente, adicionando uma confirmação inicial para o arquivo .gitignore, caso você estejausando um. É nesse ponto que você começa a trabalhar com o Git remoto, de maneira que o Toolkit forVisual Studio precise de acesso às credenciais do Git descritos anteriormente.

Configurar credenciais do GitAté este ponto, você esteve usando chaves de acesso e secretas da AWS para solicitar que o serviço crieo repositório. Agora você precisa trabalhar com o Git propriamente dito para fazer a operação de clonagemreal, e o Git não compreende chaves de acesso e secretas da AWS. Em vez disso, você precisa forneceras credenciais de nome do usuário e senha ao Git a ser usado em uma conexão HTTPS com o remoto.

Conforme observado em Configurar credenciais do Git (p. 68), as credenciais do Git que você usarádevem ser associadas a um usuário do IAM. Você não pode gerá-las para credenciais raiz. Você devesempre configurar os perfis de credencial da AWS para conter chaves de acesso de usuário e secretas doIAM, e não as chaves raiz. O Toolkit for Visual Studio pode tentar configurar credenciais do Git para o AWSCodeCommit para você e associá-las ao perfil de credencial da AWS que você usou para se conectar aoTeam Explorer anteriormente.

Quando você escolhe OK na caixa de diálogo Create a New AWS CodeCommit Repository e cria comêxito o repositório, o Toolkit for Visual Studio verifica o perfil de credencial da AWS conectado ao Team

68

Page 73: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioConfigurar credenciais do Git

Explorer para determinar se as credenciais do Git para o AWS CodeCommit existem e estão associadaslocalmente ao perfil. Assim, o Toolkit for Visual Studio instrui o Team Explorer a começar a operação declonagem no novo repositório. Se as credenciais do Git não estiverem disponíveis localmente, o Toolkit forVisual Studio verificará o tipo de credenciais de conta que foram usadas na conexão com o Team Explorer.Se as credenciais se destinarem a um usuário do IAM, conforme recomendamos, a mensagem a seguirserá mostrada.

Se as credenciais forem credenciais raiz, a mensagem a seguir será mostrada em seu lugar.

Em ambos os casos, o Toolkit for Visual Studio se oferece para tentar fazer o trabalho para criar ascredenciais do Git necessárias para você. No primeiro cenário, tudo o que precisa ser feito é criar umconjunto de credenciais do Git para o usuário do IAM. Quando uma conta raiz estiver em uso, o Toolkitfor Visual Studio tentará primeiramente criar um usuário do IAM e avançar à criação de credenciais doGit para esse novo usuário. Se o Toolkit for Visual Studio precisar criar um novo usuário, ele aplicará apolítica gerenciada de usuário avançado AWS CodeCommit a essa nova conta de usuário. Essa políticasó permite acesso ao AWS CodeCommit e permite que todas as operações sejam realizadas com o AWSCodeCommit, exceto a exclusão do repositório.

Quando estiver criando credenciais, você só poderá visualizá-las uma vez. Por isso, o Toolkit for VisualStudio solicita salvar as credenciais recém-criadas como um arquivo .csv antes de continuar.

69

Page 74: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioConfigurar credenciais do Git

Isso também é algo altamente recomendável, e não se esqueça de salvá-las em um local seguro!

Pode haver casos em que o Toolkit for Visual Studio não consiga criar automaticamente as credenciais.Por exemplo, você já pode ter criado o número máximo de conjuntos de credenciais do Git para o AWSCodeCommit (dois) ou não ter direitos programáticos suficientes para o Toolkit for Visual Studio para fazero trabalho (se você tiver feito login como um usuário do IAM). Nesses casos, você pode fazer login noConsole de Gerenciamento da AWS para gerenciar as credenciais ou obtê-las junto ao administrador.Você pode inseri-las na caixa de diálogo Git Credentials for AWS CodeCommit exibida pelo Toolkit forVisual Studio.

Agora que as credenciais do Git estão disponíveis, a operação de clonagem do novo repositório continua(consulte a indicação do progresso da operação dentro do Team Explorer). Se você tiver optado poraplicar um arquivo .gitignore padrão, ele será confirmado para o repositório com um comentário 'InitialCommit'.

Isso é tudo para configurar credenciais e criar um repositório dentro do Team Explorer. Assim que ascredenciais necessárias forem implantadas, tudo o que você verá ao criar novos repositórios no futuro seráa própria caixa de diálogo Create a New AWS CodeCommit Repository.

70

Page 75: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioClonar um repositório

Clonar um repositórioPara clonar um repositório existente, retorne ao painel de conexão do AWS CodeCommit no TeamExplorer. Clique no link Clone para abrir a caixa de diálogo Clone AWS CodeCommit Repository eselecione o repositório a ser clonado e o local no disco onde você deseja colocá-lo.

Assim que você escolher a região, o Toolkit for Visual Studio consultará o serviço para descobrir osrepositórios disponíveis na região e exibi-los na parte da lista central da caixa de diálogo. O nome e adescrição opcional de cada repositório também são exibidos. Você pode reorganizar a lista para classificá-la por nome de repositório ou pela data da última modificação e classificar cada uma em ordem crescenteou decrescente.

Assim que selecionar o repositório, você poderá escolher o local para clonagem. O padrão é o mesmolocal de repositório usado em outros plug-ins para o Team Explorer, mas você pode procurar ou inserirqualquer outro local. Por padrão, o nome do repositório é incluído como sufixo no caminho selecionado.No entanto, se você quiser um caminho específico, bastará editar a caixa de texto depois de selecionara pasta. Todo o texto na caixa quando você clicar em OK será a pasta na qual encontrará o repositórioclonado.

Tendo selecionado o repositório e uma pasta local, você acaba clicando em OK para continuar a operaçãode clonagem. Assim como acontece com a criação de um repositório, você pode ver o progresso daoperação de clonagem informada no Team Explorer.

Trabalho com repositóriosQuando você clona ou cria repositórios, observe que os repositórios locais da conexão estão listados nopainel de conexão no Team Explorer nos links da operação. Essas entradas dão a você uma maneiraprática de acessar o repositório para procurar conteúdo. Basta clicar com o botão direito do mouse norepositório e escolher Browse in Console.

71

Page 76: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioAmazon RDS no AWS Explorer

Você também pode usar Update Git Credentials para atualizar as credenciais do Git armazenadasassociadas ao perfil de credencial. Isso será útil se você tiver girado as credenciais. O comando abrea caixa de diálogo Git Credentials for AWS CodeCommit onde você pode inserir ou importar as novascredenciais.

As operações do Git nos repositórios funcionam como você esperaria. Você pode fazer confirmaçõeslocais e, quando estiver pronto para compartilhar, usar a opção Sync no Team Explorer. Como ascredenciais do Git já estão armazenadas localmente e associadas ao perfil de credencial da AWSconectado, não deveremos fornecê-las novamente para operações em relação ao AWS CodeCommitremoto.

Amazon RDS no AWS ExplorerAmazon Relational Database Service (Amazon RDS) é um serviço que permite provisionar e gerenciarsistemas de banco de dados relacional do SQL na nuvem. O Amazon RDS dá suporte a três tipos desistemas de banco de dados:

• MySQL Community• Oracle Database Enterprise Edition• Microsoft SQL Server (edições Express, Standard ou Web)

Para obter mais informações, consulte o Guia do usuário do Amazon RDS.

Muitas das funcionalidades abordadas aqui também são disponibilizadas por meio do Console deGerenciamento da AWS do Amazon RDS.

Tópicos• Executar uma instância do banco de dados do Amazon RDS (p. 72)• Criar um banco de dados do Microsoft SQL Server em uma instância do RDS (p. 75)• Security groups do Amazon RDS (p. 75)

Executar uma instância do banco de dados doAmazon RDSCom o AWS Explorer, você pode executar uma instância de qualquer um dos mecanismos de bancode dados compatíveis com o Amazon RDS. A descrição a seguir mostra a experiência do usuário paraexecutar uma instância do Microsoft SQL Server Standard Edition, mas a experiência do usuário ésemelhante em todos os mecanismos compatíveis.

Para executar uma instância do Amazon RDS

72

Page 77: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioExecutar uma instância do banco de dados do Amazon RDS

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) do nó Amazon RDS eescolha Launch DB Instance.

Como alternativa, na guia DB Instances, escolha Launch DB Instance.2. Na caixa de diálogo DB Engine Selection, escolha o tipo de mecanismo de banco de dados a ser

iniciado. Para esta descrição, escolha o Microsoft SQL Server Standard Edition (sqlserver-se) e Next.3. Na caixa de diálogo DB Engine Instance Options, escolha as opções de configuração.

Na seção DB Engine Instance Options and Class, você pode especificar as seguintes configurações:

Modelo de licença

Tipo de mecanismo Licença

Microsoft SQL Server license-included

MySql general-public-license

Oracle bring-your-own-license

O modelo de licença varia de acordo com o tipo de mecanismo de banco de dados. Engine TypeLicense Microsoft SQL Server license-included MySql general-public-license Oracle bring-your-own-licenseDB Instance Version

Escolha a versão do mecanismo de banco de dados que você gostaria de usar. Se apenas umaversão for compatível, ela será selecionada para você.

Classe da instância de banco de dados

Escolha a classe de instância do mecanismo de banco de dados. A definição de preço das classesde instância varia. Para obter mais informações, consulte as informações de preço do AmazonRDS.

Perform a multi AZ deployment

Selecione essa opção a fim de criar uma implantação Multi-AZ é ativada para durabilidade edisponibilidade de dados avançadas. O Amazon RDS provisiona e mantém uma cópia reserva dobanco de dados em uma zona de disponibilidade diferente para failover automático em caso deuma paralisação programada ou não planejada. Para obter informações sobre a definição de preçopara implantações Multi-AZ, consulte a seção de definição de preço da página de detalhes AmazonRDS. Essa opção não é compatível com o Microsoft SQL Server.

Upgrade minor versions automatically

Selecione essa opção para a AWS realizar automaticamente atualizações da versão secundárianas instâncias do RDS para você.

Na seção RDS Database Instance, você pode especificar as configurações a seguir.

Armazenamento alocado

Mecanismo Mínimo (GB) Máximo (GB)

MySQL 5 1024

Oracle Enterprise Edition 10 1024

73

Page 78: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioExecutar uma instância do banco de dados do Amazon RDS

Mecanismo Mínimo (GB) Máximo (GB)

Microsoft SQL Server ExpressEdition

30 1024

Microsoft SQL Server StandardEdition

250 1024

Microsoft SQL Server WebEdition

30 1024

Os mínimos e os máximos para armazenamento alocado dependem do tipo de mecanismo de bancode dados. Engine Minimum (GB) Maximum (GB) MySQL 5 1024 Oracle Enterprise Edition 10 1024Microsoft SQL Server Express Edition 30 1024 Microsoft SQL Server Standard Edition 250 1024Microsoft SQL Server Web Edition 30 1024

DB Instance Identifier

Especifique um nome para a instância de banco de dados. Esse nome não diferencia maiúsculas deminúsculas. Ele será exibido em minúsculas no AWS Explorer.

Nome do usuário principal

Digite um nome para o administrador da instância de banco de dados.Senha do usuário principal

Digite uma senha para o administrador da instância de banco de dados.Confirm Password

Digite a senha novamente para verificar se ela está correta.

1. Na caixa de diálogo Additional Options, você pode especificar as configurações a seguir.Database Port

Essa é a porta TCP que a instância usará para se comunicar na rede. Se o computador acessara Internet por meio de um firewall, defina esse valor como uma porta por meio da qual o firewallpermite o tráfego.

Availability Zone

Use essa opção caso você queira que a instância seja iniciada em uma determinada zona dedisponibilidade na região. A instância de banco de dados especificada por você talvez não estejadisponível em todas as zonas de disponibilidade em uma determinada região.

RDS Security Group

Selecione um security group (ou grupos) do RDS associado à instância. Os security groups do RDSespecificam o endereço IP, as instâncias do Amazon EC2 e as contas da AWS com permissãopara acessar a instância. Para obter mais informações sobre security groups do RDS, consulteSecurity groups do Amazon RDS (p. 75). O Toolkit for Visual Studio tenta determinar o endereçoIP atual e dá a opção de adicionar esse endereço aos security groups associados à instância. Noentanto, se o computador acessar a Internet por meio de um firewall, o endereço IP gerado peloToolkit para o computador poderá não ser preciso. Para determinar qual endereço IP usar, consulteo administrador do sistema.

DB Parameter Group

(Opcional) Nesta lista suspensa, escolha um parameter group de banco de dados a ser associadoà instância. Parameter groups de banco de dados permitem alterar a configuração padrão da

74

Page 79: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioCriar um banco de dados do MicrosoftSQL Server em uma instância do RDS

instância. Para obter mais informações, vá até o Guia do usuário do Amazon Relational DatabseService e este artigo.

Quando você tiver especificado configurações nessa caixa de diálogo, escolha Next.2. A caixa de diálogo Backup and Maintenance permite especificar se o Amazon RDS deve fazer backup

da instância e, assim, por quanto tempo o backup deve ser mantido. Você também pode especificaruma janela de tempo durante a qual os backups devem ocorrer.

Essa caixa de diálogo também permite especificar se você gostaria que o Amazon RDS realizasse amanutenção do sistema na instância. A manutenção inclui patches de rotina e atualizações de versãosecundária.

A janela de tempo especificada por você para a manutenção do sistema não pode se sobrepor à janelaespecificada para backups.

Escolha Next.3. A caixa de diálogo final no assistente permite revisar as configurações da instância. Se você precisar

modificar as configurações, use o botão Back. Se todas as configurações estiverem corretas, escolhaLaunch.

Criar um banco de dados do Microsoft SQL Server emuma instância do RDSO Microsoft SQL Server foi projetado de maneira que, depois de iniciar uma instância do Amazon RDS,você precisará criar um banco de dados do SQL Server na instância do RDS.

Para obter mais informações sobre como criar uma instância do Amazon RDS, consulte Iniciar umainstância do banco de dados do Amazon RDS (p. 72).

Para criar um banco de dados do Microsoft SQL Server

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) do nócorrespondente à instância do RDS do Microsoft SQL Server e escolha Create SQL Server Database.

2. Na caixa de diálogo Create SQL Server Database, digite a senha especificada por você quando criou ainstância do RDS, digite um nome para o banco de dados do Microsoft SQL Server e escolha OK.

3. O Toolkit for Visual Studio cria o banco de dados do Microsoft SQL Server e o adiciona ao Visual StudioServer Explorer.

Security groups do Amazon RDSOs security groups do Amazon RDS permitem gerenciar o acesso à rede para as instâncias do AmazonRDS. Com security groups, você especifica conjuntos de endereços IP usando notação CIDR, e somente otráfego de rede com origem nesses endereços é reconhecido pela instância do Amazon RDS.

Embora eles funcionem de maneira semelhante, os security groups do Amazon RDS são diferentes dossecurity groups do Amazon EC2. É possível adicionar um security group do EC2 ao security group doRDS. Todas as instâncias do EC2 membros do security group do EC2 poderão acessar as instâncias doRDS membros do security group do RDS.

Para obter mais informações sobre security groups do Amazon RDS, vá até Security groups do RDS. Paraobter mais informações sobre security groups do Amazon EC2, vá até o Guia do usuário do EC2.

75

Page 80: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioUsar o Amazon SimpleDB no AWS Explorer

Criar um security group do Amazon RDSVocê pode usar o Toolkit for Visual Studio para criar um security group do RDS. Se você usar o AWSToolkit para iniciar uma instância do RDS, o assistente permitirá especificar um security group do RDS aser usado com a instância. Você pode usar o procedimento a seguir para criar esse security group antesde iniciar o assistente.

Para criar um security group do Amazon RDS

1. No AWS Explorer, expanda o nó Amazon RDS, abra o menu de contexto (clique com o botão direitodo mouse) do subnó DB Security Groups e escolha Create.

Como alternativa, na guia Security Groups, escolha Create Security Group. Se essa guia não forexibida, abra o menu de contexto (clique com o botão direito do mouse) do subnó DB Security Groupse escolha View.

2. Na caixa de diálogo Create Security Group, digite um nome e uma descrição para o security group,além de escolher OK.

Definir permissões de acesso para um security group do AmazonRDSPor padrão, um novo security group do Amazon RDS não dá acesso à rede. Para permitir acesso ainstâncias do Amazon RDS que usem o security group, use o procedimento a seguir para definir aspermissões de acesso.

Para definir o acesso para um security group do Amazon RDS

1. Na guia Security Groups, escolha o security group na visualização de lista. Se o security group nãofor exibido na lista, escolha Refresh. Se o security group ainda não for exibido na lista, verifique sevocê está visualizando a lista da região da AWS correta. As guias Security Group no AWS Toolkit sãoespecíficas de cada região.

Se nenhuma guia Security Group for exibida, no AWS Explorer, abra o menu de contexto (clique como botão direito do mouse) do subnó DB Security Groups e escolha View.

2. Escolha Add Permission.

Botão Add Permissions na guia Security Groups3. Na caixa de diálogo Add Permission, você pode usar a notação CIDR para especificar quais

endereços IP podem acessar a instância do RDS ou especificar quais security groups do EC2 podemacessar a instância do RDS. Ao escolher EC2 Security Group, você pode especificar o acesso paratodas as instâncias do EC2 associadas a uma conta da AWS com acesso ou escolher um securitygroup do EC2 na lista suspensa.

O AWS Toolkit tenta determinar o endereço IP e preencher automaticamente a caixa de diálogo coma especificação CIDR apropriada. No entanto, se o computador acessar a Internet por meio de umfirewall, o CIDR determinado pelo Toolkit poderá não ser preciso.

Usar o Amazon SimpleDB no AWS ExplorerO AWS Explorer exibe todos os ativos domínios do Amazon SimpleDB associados à conta da AWS ativa.No AWS Explorer, você pode criar ou excluir domínios do Amazon SimpleDB.Criar, excluir ou abrir domínios do Amazon SimpleDB associados à conta

Executar consultas e editar os resultados

76

Page 81: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioUsar o Amazon SQS no AWS Explorer

O AWS Explorer também pode exibir uma visualização em grade de um domínio do Amazon SimpleDB naqual você pode visualizar os itens, os atributos e os valores nesse domínio. Você pode executar consultasde maneira que somente um subconjunto dos itens do domínio seja exibido. Clicando duas vezes em umacélula, você pode editar os valores do atributo correspondente desse item. Você também pode adicionarnovos atributos ao domínio.

O domínio exibido aqui é do exemplo do Amazon SimpleDB incluído com o AWS SDK for .NET.Visualização em grade do Amazon SimpleDB

Para executar uma consulta, edite a consulta na caixa de texto na parte superior da visualização em gradee escolha Execute. A visualização é filtrada para mostrar apenas os itens correspondentes à consulta.Executar consulta no AWS Explorer

Para editar os valores associados a um atributo, clique duas vezes na célula correspondente, edite osvalores e escolha Commit Changes.

Como adicionar um atributo

Para adicionar um atributo, na parte superior da visualização, escolha Add Attribute.Caixa de diálogo Add Attribute

Para tornar o atributo parte do domínio, você deve adicionar um valor a pelo menos um item e escolherCommit Changes.Confirmar alterações para um novo atributo

Paginating Query Results

Existem três botões na parte inferior da visualização.Paginar e exportar botões

Os dois primeiros botões fornecem paginação para resultados da consulta. Para exibir uma páginaadicional de resultados, escolha o primeiro botão. Para exibir dez páginas adicionais de resultados,escolha o segundo botão. Neste contexto, uma página será igual a 100 linhas ou o número de resultadosespecificados pelo valor LIMIT, se estiver incluído na consulta.

Export to CSV

O último button exporta os resultados atuais para um arquivo CSV.

Usar o Amazon SQS no AWS ExplorerO Amazon Simple Queue Service (Amazon SQS) é um serviço de fila flexível que permite a passagemda mensagem entre processos diferentes de execução em um aplicativo de software. As filas do AmazonSQS estão localizadas na infraestrutura da AWS, mas os processos que estão passando mensagenspodem estar localizados localmente, em instâncias do Amazon EC2, ou em uma combinação deles. OAmazon SQS é ideal para coordenar a distribuição de trabalho em vários computadores.

O Toolkit for Visual Studio permite visualizar filas do Amazon SQS associadas à conta ativa, criar e excluirfilas, além de enviar mensagens por meio de filas. (Por conta ativa, queremos dizer a conta selecionada noAWS Explorer.)

Para obter mais informações sobre o Amazon SQS, vá até Introdução ao SQS na documentação da AWS.

Criar uma filaVocê pode criar uma fila do Amazon SQS no AWS Explorer. O ARN e o URL da fila se basearão nonúmero da conta ativa e no nome da fila especificado por você na criação.

77

Page 82: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioExcluir uma fila

Para criar uma fila

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) do nó Amazon SQS eescolha Create Queue.

2. Na caixa de diálogo Create Queue, especifique o nome da fila, o tempo limite de visibilidade padrãoe o atraso na entrega padrão. O tempo limite de visibilidade padrão e o atraso na entrega padrão sãoespecificados em segundos. O tempo limite de visibilidade padrão é o valor de tempo em que umamensagem será invisível para o recebimento de processos em potencial depois que um determinadoprocesso tiver adquirido a mensagem. O atraso na entrega padrão é o valor de tempo desde omomento em que a mensagem é enviada até o momento em que ela se torna visível inicialmente para orecebimento de processos em potencial.

3. Escolha OK. A nova fila será exibida como um subnó no nó Amazon SQS.

Excluir uma filaVocê pode excluir filas existentes do AWS Explorer. Se você excluir uma fila, todas as mensagensassociadas à fila deixarão de estar disponíveis.

Para excluir uma fila

1. No AWS Explorer, abra os menus de contexto (clique com o botão direito) da fila que você desejaexcluir e escolha Delete.

Gerenciar propriedades da filaVocê pode visualizar e editar as propriedades de qualquer uma das filas exibidas no AWS Explorer. Vocêtambém pode enviar mensagens para a fila nessa visualização de propriedades.

Para gerenciar propriedades da fila

• No AWS Explorer, abra o menu de contexto (clique com o botão direito) da fila cujas propriedades vocêdeseja gerenciar e escolha View Queue.

Na visualização de propriedades da fila, você pode editar o tempo limite de visibilidade, o tamanho demensagem máximo, o período de retenção da mensagem e o atraso na entrega padrão. O atraso naentrega padrão pode ser substituído quando você envia uma mensagem. Na captura de tela a seguir, otexto obscurecido é o componente do número da conta do ARN e do URL da fila.

Visualização das propriedades de fila do SQS

Enviar uma mensagem para uma filaNa visualização de propriedades da fila, você pode enviar uma mensagem para a fila.

Para enviar uma mensagem

1. Na parte superior da visualização de propriedades da fila, escolha o botão Send.2. Digite a mensagem. (Opcional) Insira um atraso na entrega que substituirá o atraso na entrega padrão

da fila. No exemplo a seguir, substituímos o atraso por um valor de 240 segundos. Escolha OK.Caixa de diálogo Send Message

3. Aguarde aproximadamente 240 segundos (quatro minutos). A mensagem será exibida na seçãoMessage Sampling da visualização de propriedades da fila.Visualização de propriedades do SQS com mensagem enviada

78

Page 83: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioIdentity and Access Management

A data e hora na visualização de propriedades da fila é o momento em que você escolhe o botão Send.Isso não inclui o atraso. Por isso, o momento em que a mensagem é exibida na fila e está disponívelpara os destinatários pode ser posterior à data e hora. A data e hora é exibida no horário local docomputador.

Identity and Access ManagementO AWS Identity and Access Management (IAM) permite gerenciar com mais segurança o acesso às contasda AWS e aos recursos. Com o IAM, você pode criar vários usuários na conta principal da AWS (raiz).Esses usuários podem ter as próprias credenciais: senha, ID de chave de acesso e chave secreta, mastodos os usuários do IAM compartilham um único número de conta.

Você pode gerenciar o nível de acesso ao recurso do usuário do IAM anexando políticas do IAM aousuário. Por exemplo, você pode anexar uma política a um usuário do IAM que dá ao usuário acesso aoserviço do Amazon S3 e aos recursos relacionados na conta, mas que não dá acesso a nenhum outroserviço ou recurso.

Para obter um gerenciamento de acesso mais eficiente, você pode criar grupos do IAM, que são coleçõesde usuários. Quando você anexar uma política ao grupo, ela afetará todos os usuários membros dessegrupo.

Além de gerenciar permissões nos níveis do usuário e do grupo, o IAM também dá suporte ao conceito defunções do IAM. Assim como usuários e grupos, você pode anexar políticas a funções do IAM. Então, vocêpode associar a função do IAM a uma instância do Amazon EC2. Os aplicativos executados na instânciado EC2 podem acessar a AWS usando as permissões fornecidas pela função do IAM. Para obter maisinformações sobre como usar funções do IAM com o Toolkit, consulte Criar uma função do IAM (p. 81).Para obter mais informações sobre o IAM, vá até o Guia do usuário do IAM.

Criar e configurar um usuário do IAMOs usuários do IAM permitem conceder a outras pessoas acesso à conta da AWS. Como pode anexarpolíticas a usuários do IAM, você pode limitar com precisão os recursos que um usuário do IAM podeacessar e as operações que eles podem realizar nesses recursos.

Como melhores práticas, todos os usuários que acessam uma conta da AWS devem fazer isso comousuários do IAM – até mesmo o proprietário da conta. Isso garante que, se as credenciais para um dosusuários do IAM são estiverem comprometidas, apenas essas credenciais poderão ser desativadas. Nãohá necessidade de desativar nem alterar as credenciais raiz da conta.

No Toolkit for Visual Studio, você pode atribuir permissões a um usuário do IAM anexando uma políticado IAM ao usuário ou atribuindo o usuário a um grupo. Os usuários do IAM atribuídos a um grupo derivamas permissões das políticas anexadas ao grupo. Para obter mais informações, consulte Criar um grupo doIAM (p. 80) e Adicionar um usuário do IAM a um grupo do IAM (p. 80).

No Toolkit for Visual Studio, você também pode gerar credenciais da AWS (ID de chave de acesso e chavesecreta) para o usuário do IAM. Para obter mais informações, consulte Gerar credenciais para um usuáriodo IAM (p. 81)

O Toolkit for Visual Studio dá suporte à especificação de credenciais do usuário do IAM para acessarserviços por meio do AWS Explorer. Como os usuários do IAM normalmente não têm acesso total a todosos serviços da AWS, parte da funcionalidade no AWS Explorer talvez não esteja disponível. Se usar oAWS Explorer para alterar recursos enquanto a conta ativa for um usuário do IAM e, em seguida, alternara conta para a conta raiz, as alterações poderão não estar visíveis até você atualizar a exibição no AWSExplorer. Para atualizar a exibição, escolha o botão refresh ().

79

Page 84: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioCriar um grupo do IAM

Para obter informações sobre como configurar os usuários do IAM no Console de Gerenciamento da AWS,vá até Trabalhar com usuários e grupos no Guia do usuário do IAM.

Para criar um usuário do IAM

1. No AWS Explorer, expanda o nó AWS Identity and Access Management, abra o menu de contexto(clique com o botão direito do mouse) de Users e escolha Create User.

2. Na caixa de diálogo Create User, digite um nome para o usuário do IAM e escolha OK. Esse é o nomeamigável do IAM. Para obter informações sobre restrições quanto a nomes de usuários do IAM, vá até oGuia do usuário do IAM.Criar um usuário do IAM

O novo usuário será exibido como um subnó em Users no nó AWS Identity and Access Management.

Para obter informações sobre como criar uma política e anexá-la ao usuário, consulte Criar uma política doIAM (p. 82).

Criar um grupo do IAMOs grupos são uma maneira de aplicar políticas do IAM a um conjunto de usuários. Para obter informaçõessobre como gerenciar os usuários do IAM e os grupos, vá até Trabalhar com usuários e grupos no Guia dousuário do IAM.

Para criar um grupo do IAM

1. No AWS Explorer, em Identity and Access Management, abra o menu de contexto (clique com o botãodireito do mouse) de Groups e escolha Create Group.

2. Na caixa de diálogo Create Group, digite um nome para o grupo do IAM e escolha OK.Criar grupo do IAM

O novo grupo do IAM será exibido no subnó Groups de Identity and Access Management.

Para obter informações sobre como criar uma política e anexá-la ao grupo do IAM, consulte Criar umapolítica do IAM (p. 82).

Adicionar um usuário do IAM a um grupo do IAMOs usuários do IAM membros de um grupo do IAM derivam permissões de acesso das políticas anexadasao grupo. A finalidade de um grupo do IAM é facilitar o gerenciamento de permissões em um conjunto deusuários do IAM.

Para obter informações sobre como as políticas anexadas a um grupo do IAM interagem com as políticasanexadas a usuários do IAM membros desse grupo do IAM, vá até Gerenciar políticas do IAM no Guia dousuário do IAM.

No AWS Explorer, você adiciona os usuários do IAM a grupos do IAM no subnó Users, e não no subnóGroups.

Para adicionar um usuário do IAM a um grupo do IAM

1. No AWS Explorer, em Identity and Access Management, abra o menu de contexto (clique com o botãodireito do mouse) de Users e escolha Edit.Atribuir um usuário do IAM a um grupo do IAM

2. O painel esquerdo da guia Groups exibe os grupos do IAM disponíveis. O painel direito exibe os gruposdos quais o usuário do IAM especificado já é membro.

Para adicionar o usuário do IAM a um grupo, no painel esquerdo, escolha o grupo do IAM e o botão >.

80

Page 85: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioGerar credenciais para um usuário do IAM

Para adicionar o usuário do IAM a um grupo, no painel direito, escolha o grupo do IAM e o botão <.

Para adicionar o usuário do IAM a todos os grupos do IAM, escolha o botão >>. Da mesma maneira,para remover o usuário do IAM de todos os grupos, escolha o botão <<.

Para escolher vários grupos, escolha-os em sequência. Você não precisa manter pressionada a teclaControl. Para limpar um grupo da seleção, basta escolhê-lo uma segunda vez.

3. Quando você tiver terminado de atribuir o usuário do IAM a grupos do IAM, escolha Save.

Gerar credenciais para um usuário do IAMCom o Toolkit for Visual Studio, você pode gerar o ID de chave de acesso e a chave secreta usados parafazer chamadas à API para a AWS. Essas chaves também podem ser especificadas para acessar serviçosda AWS por meio do Toolkit. Para obter mais informações sobre como especificar as credenciais a seremusadas com o Toolkit, consulte creds. Para obter mais informações sobre como processar com segurançacredenciais, consulte Melhores práticas para gerenciar chaves de acesso da AWS.

O Toolkit não pode ser usado para gerar uma senha para um usuário do IAM.

Para gerar credenciais para um usuário do IAM

1. No AWS Explorer, abra o menu de contexto (clique com o botão direito do mouse) de um usuário doIAM e escolha Edit.

2. Para gerar credenciais, na guia Access Keys, escolha Create.

Você só pode gerar dois conjuntos de credenciais por usuário do IAM. Se já tiver dois conjuntos decredenciais e precisar criar um conjunto adicional, você deverá excluir um dos conjuntos existentes.Gerar credenciais para o usuário do IAM

Se você quiser que o Toolkit salve uma cópia criptografada da chave de acesso secreta na unidade dedisco local, selecione Save the secret access key locally. AWS only returns the secret access key whencreated. Você também pode copiar a chave de acesso secreta na caixa de diálogo e salvá-la em umlocal seguro.

3. Escolha OK.

Depois de gerar as credenciais, você poderá visualizá-las na guia Access Keys. Se você tiver selecionadoa opção para que o Toolkit salve a chave secreta localmente, ela será exibida aqui.Criar credenciais para o usuário do IAM

Se você tiver salvado a chave secreta por conta própria e também quiser que o Toolkit a salve, na caixaSecret Access Key, digite a chave de acesso secreta e selecione Save the secret access key locally.

Para desativar as credenciais, escolha Make Inactive. (Convém fazer isso caso você suspeite que ascredenciais tenham sido comprometidas. Você poderá reativar as credenciais se receber uma garantia deque elas sejam seguras.)

Criar uma função do IAMO Toolkit for Visual Studio dá suporte à criação e à configuração de funções do IAM. Assim como acontececom usuários e grupos, você pode anexar políticas a funções do IAM. Então, você pode associar a funçãodo IAM a uma instância do Amazon EC2. A associação à instância do EC2 é controlada por meio de umperfil da instância, que é um contêiner lógico para a função. Os aplicativos executados na instância do EC2recebem automaticamente o nível de acesso especificado pela política associada à função do IAM. Issoserá verdadeiro mesmo quando o aplicativo não tiver especificado outras credenciais da AWS.

81

Page 86: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioCriar uma política do IAM

Por exemplo, você pode criar uma função e anexar uma política a essa função que limita o acesso apenasao Amazon S3. Depois de associar essa função a uma instância do EC2, você poderá executar umaplicativo nessa instância, e o aplicativo terá acesso ao Amazon S3, mas não a nenhum outro serviço ourecurso. A vantagem dessa abordagem é que você não precisa se preocupar com a transferência segura eo armazenamento das credenciais da AWS na instância do EC2.

Para obter mais informações sobre as funções do IAM, vá até Trabalhar com funções do IAM no Guiado usuário do IAM. Para obter exemplos de programas que acessem a AWS usando a função do IAMassociada a uma instância do Amazon EC2, vá até os guias de desenvolvedor da AWS para Java, .NET,PHP e Ruby.

Para criar uma função do IAM

1. No AWS Explorer, em Identity and Access Management, abra o menu de contexto (clique com o botãodireito do mouse) de Roles e escolha Create Roles.

2. Na caixa de diálogo Create Role, digite um nome para a função do IAM e escolha OK.Criar função do IAM

A nova função do IAM será exibida em Roles em Identity and Access Management.

Para obter informações sobre como criar uma política e anexá-la à função, consulte Criar uma política doIAM (p. 82).

Criar uma política do IAMAs políticas são fundamentais para o IAM. As políticas podem ser associadas a entidades do IAM, comousuários, grupos ou funções. As políticas especificam o nível de acesso habilitado para um usuário, grupoou função.

Para criar uma política do IAM

No AWS Explorer, expanda o nó AWS Identity and Access Management e o nó do tipo de entidade(Groups, Roles ou Users) a que você anexará a política. Por exemplo, abra um menu de contexto de umafunção do IAM e escolha Edit.

Uma guia associada à função será exibida no AWS Explorer. Escolha o link Add Policy.

Na caixa de diálogo New Policy Name, digite um nome para a política (por exemplo, s3-access).Caixa de diálogo New Policy Name

No editor de políticas, adicione declarações de política para especificar o nível de acesso a ser dado àfunção (neste exemplo, winapp-instance-role-2) associada à política. Neste exemplo, uma política dáacesso total ao Amazon S3, mas não a todos os outros recursos.Especificar política do IAM

Para obter controle de acesso mais preciso, você pode expandir os subnós no editor de políticas a fim depermitir ou não ações associadas a serviços da AWS.

Quando você tiver editado a política, escolha o link Save.

Usar os modelos do AWS Lambda no AWS Toolkitfor Visual Studio

O AWS Toolkit for Visual Studio inclui modelos de projeto do .NET Core do AWS Lambda para o VisualStudio. Use os modelos para desenvolver e implantar rapidamente funções do Lambda C # com base

82

Page 87: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: Usar o projeto do AWS Lambda

no AWS Toolkit for Visual Studio

no .NET Core. O .NET Core é uma plataforma cruzada, que dá suporte a Windows, macOS e Linux, epode ser usada para desenvolver dispositivos, nuvens e aplicativos integrados.

Para instalar o Toolkit for Visual Studio, você deve ter o Visual Studio 2017 ou o Visual Studio 2015 Update3 e o .NET Core for Windows instalados.

Para obter mais informações, consulte o seguinte:

• Para o Microsoft .NET Core, consulte .NET Core.• Para obter os pré-requisitos e as instruções de instalação do .NET Core para plataformas Windows,

macOS e Linux, consulte Downloads do .NET Core.• Para obter informações sobre as funções do AWS Lambda, consulte O que é AWS Lambda?

Pré-requisitos

Para seguir os seguintes tutoriais, você deve:

• Instalar o Visual Studio 2015 Update 3 ou o Visual Studio 2017.• Instalar .NET Core for Windows (não é necessário para o Visual Studio 2017).• Instalar o AWS Toolkit for Visual Studio. e especificar as credenciais. Consulte Configurar o AWS Toolkit

for Visual Studio (p. 3).

Tópicos• Tutorial: Usar o projeto do AWS Lambda no AWS Toolkit for Visual Studio (p. 83)• Tutorial: compilar e testar um aplicativo sem servidor com o AWS Lambda (p. 90)• Tutorial: criar um aplicativo do Amazon Rekognition Lambda (p. 99)• Tutorial: usar Amazon Logging Frameworks com o AWS Lambda para criar logs de aplicativo (p. 106)

Tutorial: Usar o projeto do AWS Lambda no AWSToolkit for Visual StudioUsando os modelos de projeto do .NET Core do AWS Lambda para o Visual Studio, você pode criarfacilmente uma função AWS Lambda usando o Microsoft .NET Core.

Para obter pré-requisitos e informações sobre como configurar o AWS Toolkit for Visual Studio, consulteUsar os modelos do AWS Lambda no AWS Toolkit for Visual Studio (p. 82).

Criar um projeto do Lambda do Visual Studio .NET Core1. Abra o Visual Studio e, no menu File, escolha New, Project.2. No painel Installed, escolha Visual C# e o modelo AWS Lambda Project (.NET Core)`.

Existem dois tipos de projeto a serem escolhidos:• Os projetos do AWS Lambda para criar um projeto para desenvolver e implantar uma função do

Lambda individual.• Os projetos de aplicativos sem servidores da AWS para criar funções do Lambda com um modelo do

AWS CloudFormation sem servidor. Os aplicativos sem servidores da AWS permitem definir mais doque apenas a função. Por exemplo, você pode criar simultaneamente um banco de dados, adicionarfunções do IAM etc. com implantação sem servidores. Os aplicativos sem servidores da AWS tambémpermitem implantar várias funções de uma só vez.

83

Page 88: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: Usar o projeto do AWS Lambda

no AWS Toolkit for Visual Studio

3. Depois de selecionar o tipo de projeto, escolha um esquema. Para AWS Lambda Project (.NET Core), apágina Select Blueprint mostra vários modelos de função do Lambda.

4. Escolha o tipo de função do Lambda que você deseja desenvolver e Finish para criar o projeto do VisualStudio. Você já pode revisar a estrutura do projeto e o código.

84

Page 89: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: Usar o projeto do AWS Lambda

no AWS Toolkit for Visual Studio

Revisar os arquivos de projetoExamine o arquivo aws-lambda-tools-defaults.json, criado como parte do projeto. Você podedefinir as opções nesse arquivo, lido pelas ferramentas Lambda por padrão. Os modelos de projeto criadosno Visual Studio definem muitos desses campos com valores padrão. É onde o handler da função éespecificado, e é por isso que você não precisa defini-lo no assistente. Porém, se renomear Function,Class ou Assembly, você precisará atualizar o campo no arquivo aws-lambda-tools-defaults.json.

{ "profile":"default", "region" : "us-east-2", "configuration" : "Release", "framework" : "netcoreapp1.0", "function-runtime":"dotnetcore1.0", "function-memory-size" : 256, "function-timeout" : 30, "function-handler" : "BlogExample::BlogExample.Function::FunctionHandler"}

Quando você usa esse arquivo aws-lambda-tools-default.json, as únicas coisas restantes que asferramentas Lambda precisam implantar são o nome da função Lambda e a função do IAM.

O projeto já está pronto para ser publicado no Lambda.

Publicar no LambdaPara publicar a função no Lambda:

1. Em Solution Explorer, clique com o botão direito do mouse no projeto e escolha Publish to AWSLambda.

2. Na página Upload Lambda Function, em Function Name, digite um nome para a função ou selecioneuma função publicada anteriormente a ser republicada. Em seguida, escolha Avançar.

85

Page 90: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: Usar o projeto do AWS Lambda

no AWS Toolkit for Visual Studio

3. Na página Advanced Function Details, defina os campos da seguinte forma:• Obrigatório: forneça um Role Name para uma função associada à conta. Escolha uma função

existente ou uma nova função com base em uma política gerenciada pela AWS ou sua própria políticagerenciada. A função é usada para fornecer credenciais para todas as chamadas ao serviço da AWSfeitas pelo código na função. A conta deve ter permissão para executar a ação ListPolicies do IAM, oua lista Role Name estará vazia e você não poderá continuar.

• Opcional: se a função Lambda acessar recursos em um Amazon VPC, selecione as sub-redes e ossecurity groups.

• Opcional: defina todas as variáveis de ambiente das quais a função do Lambda precisa. As chavessão criptografadas automaticamente pela chave de serviço padrão (gratuita), ou você pode especificaruma chave do AWS KMS (para a qual haja uma cobrança). KMS é um serviço gerenciado que vocêpode usar para criar e controlar chaves de criptografia usadas para criptografar os dados. Se tiveruma chave do AWS KMS, você poderá selecioná-la na lista.

4. Escolha Carregar.

86

Page 91: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: Usar o projeto do AWS Lambda

no AWS Toolkit for Visual Studio

5. A página Uploading Function é mostrada enquanto a função está sendo carregada e fechaautomaticamente quando o upload é concluído. Para manter o assistente aberto, de maneira quevocê possa visualizar o relatório, desmarque Automatically close wizard on successful completion naparte inferior do formulário antes do upload ser concluído. Feche a página quando você terminar avisualização do relatório.

87

Page 92: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: Usar o projeto do AWS Lambda

no AWS Toolkit for Visual Studio

6. Depois que a função for carregada, a página Function será aberta. Use as guias no lado esquerdo dapágina para testar a função, adicionar fontes de eventos e visualizar o log. Use a guia Configurationpara adicionar sub-redes e security groups da VPC, memória, tempo limite e variáveis de ambiente.

7. Para adicionar fontes de eventos a fim de estabelecer uma conexão entre um recurso da AWS (comoum bucket do Amazon S3, o tópico do Amazon SNS ou os fluxos do Amazon Kinesis Data Streams) euma função do Lambda, escolha Event Sources. Isso exibirá a página Add Event Source.

Na página Add Event Source, em Source Type, escolha a fonte do evento apropriada e OK paraadicionar a fonte do evento.

8. Para testar a função, em Example Requests, escolha uma solicitação de exemplo.

88

Page 93: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: Usar o projeto do AWS Lambda

no AWS Toolkit for Visual Studio

9. Para executar o teste, escolha Invoke.

10.Visualize a saída do teste em Log output.

89

Page 94: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

Depois que a função do Lambda for publicada, ela estará pronta para ser usada. Para casos de uso,consulte Exemplos de como usar o AWS Lambda.

O Lambda monitora automaticamente as funções do Lambda para você, informando métricas por meio doAmazon CloudWatch. Para monitorar e solucionar problemas na função, consulte Solucionar problemas emonitorar funções do AWS Lambda com o Amazon CloudWatch.

Tutorial: compilar e testar um aplicativo sem servidorcom o AWS LambdaVocê pode compilar um aplicativo do Lambda sem servidor usando um modelo do AWS Toolkit for VisualStudio. Os modelos de projeto do Lambda incluem um para um AWS Serverless Application, que é aimplementação do AWS Toolkit for Visual Studio do AWS Serverless Application Model (AWS SAM).Usando esse tipo de projeto, você pode desenvolver um conjunto de funções do AWS Lambda e implantá-los com todos os recursos da AWS necessários como um aplicativo inteiro usando o AWS CloudFormationpara orquestrar a implantação.

Para obter pré-requisitos e informações sobre como configurar o AWS Toolkit for Visual Studio, consulteUsar os modelos do AWS Lambda no AWS Toolkit for Visual Studio (p. 82).

Tópicos• Criar um novo projeto de aplicativo sem servidor da AWS (p. 90)• Examinar os arquivos no aplicativo sem servidores (p. 92)• Implantar o aplicativo sem servidores (p. 95)

Criar um novo projeto de aplicativo sem servidor da AWS1. Abra o Visual Studio e, no menu File, escolha New, Project.2. No painel Installed, escolha o Visual C# e o modelo de projeto do Lambda.

90

Page 95: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

Existem dois tipos de projeto a serem escolhidos:• Os projetos do AWS Lambda para criar um projeto para desenvolver e implantar uma função do

Lambda individual.• Os projetos de aplicativos sem servidores da AWS para criar funções do Lambda com um modelo do

AWS CloudFormation sem servidor. Os aplicativos sem servidores da AWS permitem definir mais doque apenas a função. Por exemplo, você pode criar simultaneamente um banco de dados, adicionarfunções do IAM etc. com implantação sem servidores. Os aplicativos sem servidores da AWS tambémpermitem implantar várias funções de uma só vez.

3. Selecione AWS Serverless Application with Tests (.NET Core) e o nomeie como `Blogger`. A páginaSelect Blueprint é exibida, mostrando vários modelos de função do Lambda.

91

Page 96: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

4. Escolha Blog API using |DDB| blueprint e Finish para criar o projeto do Visual Studio.

Examinar os arquivos no aplicativo sem servidoresBlog.cs

Blog.cs é uma classe simples usada para representar os itens de blog armazenados no AmazonDynamoDB.

Functions.cs

Functions.cs define as funções do C# a serem expostas como funções do Lambda. Existem quatrofunções definidas para gerenciar uma plataforma de blog:

• GetBlogsAsync: obtém uma lista de todos os blogs.• GetBlogAsync: obtém um único blog identificado pelo ID do parâmetro de consulta ou pelo ID

adicionado ao caminho do recurso do URL.• AddBlogAsync: adiciona um blog à tabela do DynamoDB.• RemoveBlogAsync: remove um blog da tabela do DynamoDB.

Cada uma dessas funções aceita um objeto APIGatewayProxyRequest e retorna umAPIGatewayProxyResponse.

Você expõe essas funções do Lambda como APIs HTTP usando o Amazon API Gateway. OAPIGatewayProxyRequest contém todas as informações que representam a solicitação HTTP. A tarefaGetBlogAsync encontra o ID do blog no caminho do recurso ou na string de consulta.

public async Task GetBlogAsync(APIGatewayProxyRequest request, ILambdaContext context){ string blogId = null;

92

Page 97: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

if (request.PathParameters != null && request.PathParameters.ContainsKey(ID_QUERY_STRING_NAME)) blogId = request.PathParameters[ID_QUERY_STRING_NAME]; else if (request.QueryStringParameters != null && request.QueryStringParameters.ContainsKey(ID_QUERY_STRING_NAME)) blogId = request?.QueryStringParameters[ID_QUERY_STRING_NAME]; ...}

O construtor padrão dessa classe passa o nome da tabela do DynamoDB que armazena os blogs comouma variável de ambiente. Essa variável de ambiente é definida quando o Lambda implanta a função.

public Functions(){ // Check if a table name was passed in through environment variables and, if so, // add the table mapping var tableName = System.Environment.GetEnvironmentVariable(TABLENAME_ENVIRONMENT_VARIABLE_LOOKUP); if(!string.IsNullOrEmpty(tableName)) { AWSConfigsDynamoDB.Context.TypeMappings[typeof(Blog)] = new Amazon.Util.TypeMapping(typeof(Blog), tableName); }

var config = new DynamoDBContextConfig { Conversion = DynamoDBEntryConversion.V2 }; this.DDBContext = new DynamoDBContext(new AmazonDynamoDBClient(), config);}

serverless.template

O serverless.template é o modelo do AWS CloudFormation usado para implantar as quatro funções.Os parâmetros do modelo permitem definir o nome da tabela do DynamoDB e escolher se você deseja queo DynamoDB crie a tabela ou assuma que a tabela já tenha sido criada.

O modelo define quatro recursos do tipo AWS::Serverless::Function. Esse é um metarrecursoespecial definido como parte da especificação do AWS SAM. A especificação é uma transformaçãoaplicada ao modelo como parte da implantação do DynamoDB. A transformação expande o tipo demetarrecurso para os recursos mais concretos, como AWS::Lambda::Function e AWS::IAM::Role. Atransformação é declarada na parte superior do arquivo de modelo da maneira a seguir.

{ "AWSTemplateFormatVersion" : "2010-09-09", "Transform" : "AWS::Serverless-2016-10-31",

...

}

A declaração GetBlogs é semelhante às declarações de função.

"GetBlogs" : { "Type" : "AWS::Serverless::Function", "Properties": { "Handler": "Blogger::Blogger.Functions::GetBlogsAsync", "Runtime": "dotnetcore1.0", "CodeUri": "", "Description": "Function to get a list of blogs", "MemorySize": 256, "Timeout": 30, "Role": null,

93

Page 98: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

"Policies": [ "AWSLambdaFullAccess" ], "Environment" : { "Variables" : { "BlogTable" : { "Fn::If" : ["CreateBlogTable", {"Ref":"BlogTable"}, { "Ref" : "BlogTableName" } ] } } }, "Events": { "PutResource": { "Type": "Api", "Properties": { "Path": "/", "Method": "GET" } } } }}

Muitos dos campos são semelhantes aos de uma implantação de projeto do Lambda. Na propriedadeEnvironment, o nome da tabela do DynamoDB é passado como uma variável de ambiente. Apropriedade CodeUri informa ao DynamoDB onde o pacote de aplicativos é armazenado no Amazon S3.Deixe essa propriedade em branco. O toolkit a preenche durante a implantação, depois de fazer upload dopacote de aplicativos para o S3 (ele não mudará o arquivo de modelo em disco quando fizer isso). A seçãoEvents é onde as associações HTTP são definidas para a função do Lambda. Essa é toda a configuraçãodo API Gateway de que você precisa para a função. Você também pode configurar outros tipos de fontesde evento nesta seção.

Uma das vantagens de usar o AWS CloudFormation para gerenciar a implantação é que você tambémpode adicionar e configurar todos os outros recursos da AWS necessários ao aplicativo no modelo e deixaro DynamoDB tomar conta da criação e da exclusão dos recursos.

94

Page 99: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

Implantar o aplicativo sem servidoresImplante o aplicativo sem servidores clicando com o botão direito do mouse no projeto e escolhendoPublish to AWS Lambda.

Isso inicia o assistente de implantação e, como toda a configuração do Lambda foi feita no arquivoserverless.template, tudo o que você precisa fornecer é o seguinte:

• O nome da stack do CloudFormation, que será o contêiner de todos os recursos declarados no modelo.• O bucket do S3 para upload do pacote de aplicativos.

Eles devem existir na mesma região da AWS.

95

Page 100: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

Como o modelo sem servidores tem parâmetros, uma página adicional é exibida no assistente, demaneira que você possa especificar os valores para os parâmetros. Você pode deixar a propriedadeBlogTableName em branco e o CloudFormation gerar um nome exclusivo para a tabela. Você precisadefinir ShouldCreateTable como true, de maneira que o DynamoDB criará a tabela. Para usar umatabela existente, insira o nome da tabela e defina o parâmetro ShouldCreateTable como false. Vocêpode deixar os outros campos nos valores padrão e escolher Publish.

96

Page 101: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

Depois que a etapa de publicação for concluída, a visualização da stack do CloudFormation será exibidano AWS Explorer. Essa visualização mostra o progresso da criação de todos os recursos declarados nomodelo sem servidores.

Quando a criação da stack for concluída, o URL do API Gateway será exibida na página. Se você clicarnesse link, ele retornará uma matriz JSON vazia, porque você não adicionou nenhum blog à tabela. Paraobter blogs na tabela, você precisa criar um método PUT HTTP para esse URL, passando um documentoJSON que representa o blog. Você pode fazer isso em código ou em um número qualquer de ferramentas.Este exemplo usa a ferramenta Postman, que é uma extensão do navegador Chrome, mas você pode usarqualquer ferramenta que quiser. Nessa ferramenta, você define o URL e altera o método para PUT. Naguia Body, você apresenta um conteúdo de exemplo. Ao fazer a chamada HTTP, você pode ver que o IDdo blog é retornado.

97

Page 102: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: compilar e testar um aplicativo

sem servidor com o AWS Lambda

Volte ao navegador com o link para o URL sem servidores da AWS, e você pode ver que está voltando aoblog que recém-publicou.

98

Page 103: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: criar um aplicativo do Amazon Rekognition Lambda

Usando o modelo de aplicativo sem servidores da AWS, você pode gerenciar um conjunto de funções doLambda e os outros recursos da AWS do aplicativo. Além disso, com a especificação do AWS SAM, vocêpode usar uma sintaxe simplificada para declarar um aplicativo sem servidores no modelo do DynamoDB.

Tutorial: criar um aplicativo do Amazon RekognitionLambdaEste tutorial mostra como criar um aplicativo do Lambda que usa o Amazon Rekognition para marcarobjetos do Amazon S3 com rótulos detectados.

Para obter pré-requisitos e informações sobre como configurar o AWS Toolkit for Visual Studio, consulteUsar os modelos do AWS Lambda no AWS Toolkit for Visual Studio (p. 82).

Criar um projeto do Lambda Image Rekognition do VisualStudio .NET Core1. Abra o Visual Studio e, no menu File, escolha New, Project.2. No painel Installed, escolha o Visual C# e o modelo de projeto do AWS Lambda. Escolha o projeto do

AWS Lambda com testes (.NET Core), nomeie o projeto como ImageRekognition e escolha OK.

3. Depois de selecionar o tipo de projeto, escolha um esquema. Os esquemas fornecem um código inicialpara ajudar você a escrever as funções do Lambda. Para este exemplo, escolha o esquema DetectImage Labels.

Esse esquema fornece o código para escutar eventos do Amazon S3 e usa o Amazon Rekognition paradetectar rótulos e adicioná-los ao objeto do S3 como tags.

99

Page 104: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: criar um aplicativo do Amazon Rekognition Lambda

4. Escolha o tipo de função do Lambda que você deseja desenvolver e Finish para criar o projeto do VisualStudio.

Quando o projeto for concluído, você terá uma solução com dois projetos, conforme mostrado: o projeto deorigem que contém o código da função do Lambda a ser implantado no Lambda e um projeto de teste queusa xUnit para testar a função localmente.

Você pode perceber ao criar os projetos que o Visual Studio não encontra todas as referências do NuGet.Isso acontece porque esses esquemas exigem dependências que devem ser recuperadas do NuGet.

100

Page 105: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: criar um aplicativo do Amazon Rekognition Lambda

Quando novos projetos são criados, o Visual Studio só obtém referências locais, e não referências remotasdo NuGet. Você pode corrigir isso facilmente clicando com o botão direito do mouse nas referências eescolhendo Restore Packages.

Examinar os arquivos1. Abra o arquivo 1Function.cs e observe código que acompanha o esquema. O primeiro segmento de

código é o atributo assembly adicionado ao início do arquivo.

// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class.[assembly: LambdaSerializerAttribute(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

Por padrão, o Lambda só aceita parâmetros de entrada e tipos de retorno do tipo System.IO.Stream.Para usar classes tipadas em parâmetros de entrada e tipos de retorno, você precisa registrar umserializador. Esse atributo assembly está registrando o serializador JSON do Lambda, que usaNewtonsoft.Json para converter os fluxos em classes tipadas. Você pode definir o serializador nonível de assembly ou método.

A classe tem dois construtores. O primeiro é um construtor padrão usado quando o Lambda invoca afunção. Esse construtor cria os clientes de serviço S3 e Rekognition e obtém as credenciais da AWSpara esses clientes da função do IAM atribuída por você à função quando a implanta. A região daAWS para os clientes é definida para a região na qual a função do Lambda está em execução. Nesteesquema, você só deseja adicionar tags ao objeto S3 caso o serviço Rekognition tenha um nível mínimode confiança sobre o rótulo. Esse construtor verifica a variável de ambiente MinConfidence paradeterminar o nível de confiança aceitável. Você pode definir essa variável de ambiente ao implantar afunção do Lambda.

public Function(){ this.S3Client = new AmazonS3Client(); this.RekognitionClient = new AmazonRekognitionClient();

var environmentMinConfidence = System.Environment.GetEnvironmentVariable(MIN_CONFIDENCE_ENVIRONMENT_VARIABLE_NAME); if(!string.IsNullOrWhiteSpace(environmentMinConfidence)) { float value; if(float.TryParse(environmentMinConfidence, out value)) { this.MinConfidence = value; Console.WriteLine($"Setting minimum confidence to {this.MinConfidence}"); } else { Console.WriteLine($"Failed to parse value {environmentMinConfidence} for minimum confidence. Reverting back to default of {this.MinConfidence}"); } } else { Console.WriteLine($"Using default minimum confidence of {this.MinConfidence}"); }}

Você pode usar o segundo construtor para testes. O projeto de teste configura os próprios clientes S3 eRekognition e os passa.

101

Page 106: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: criar um aplicativo do Amazon Rekognition Lambda

public Function(IAmazonS3 s3Client, IAmazonRekognition rekognitionClient, float minConfidence){ this.S3Client = s3Client; this.RekognitionClient = rekognitionClient; this.MinConfidence = minConfidence;}

FunctionHandler é o método que o Lambda chamará depois de construir a instância. O parâmetrode entrada é do tipo S3Event, e não um Stream. Você pode fazer isso por causa do serializador JSONdo Lambda registrado. O S3Event contém todas as informações sobre o evento acionado no AmazonS3. A função percorre todos os objetos do S3 que fizeram parte do evento e pede ao Rekognition paradetectar rótulos. Depois que os rótulos forem detectados, eles serão adicionados como tags ao objetodo S3.

public async Task FunctionHandler(S3Event input, ILambdaContext context){ foreach(var record in input.Records) { if(!SupportedImageTypes.Contains(Path.GetExtension(record.S3.Object.Key))) { Console.WriteLine($"Object {record.S3.Bucket.Name}:{record.S3.Object.Key} is not a supported image type"); continue; }

Console.WriteLine($"Looking for labels in image {record.S3.Bucket.Name}:{record.S3.Object.Key}"); var detectResponses = await this.RekognitionClient.DetectLabelsAsync(new DetectLabelsRequest { MinConfidence = MinConfidence, Image = new Image { S3Object = new Amazon.Rekognition.Model.S3Object { Bucket = record.S3.Bucket.Name, Name = record.S3.Object.Key } } });

var tags = new List(); foreach(var label in detectResponses.Labels) { if(tags.Count < 10) { Console.WriteLine($"\tFound Label {label.Name} with confidence {label.Confidence}"); tags.Add(new Tag { Key = label.Name, Value = label.Confidence.ToString() }); } else { Console.WriteLine($"\tSkipped label {label.Name} with confidence {label.Confidence} because maximum number of tags reached"); } }

await this.S3Client.PutObjectTaggingAsync(new PutObjectTaggingRequest { BucketName = record.S3.Bucket.Name,

102

Page 107: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: criar um aplicativo do Amazon Rekognition Lambda

Key = record.S3.Object.Key, Tagging = new Tagging { TagSet = tags } }); } return;}

O código contém chamadas a Console.WriteLine(). Quando a função está em execuçãono Lambda, todas as chamadas a Console.WriteLine() são redirecionadas para o AmazonCloudWatch Logs.

2. Abra o arquivo aws-lambda-tools-defaults.json criado pelo esquema. Este arquivo contémvalores padrão definidos pelo esquema para ajudar a preencher previamente alguns do campos noassistente de implantação. Isso também é útil para configurar opções da linha de comando com aintegração com a nova CLI do .NET Core. Para usá-lo, navegue até o diretório de projeto da função edigite dotnet lambda help.

Um campo importante é o handler da função. Isso indica para o Lambda o método a ser chamadono código em resposta à função que estamos invocando. O formato desse campo é <assembly-name>::<full-type-name>::<method-name>. Inclua o namespace com o nome do tipo.

Implantar a função1. Clique com o botão direito do mouse no projeto Lambda e escolha Publish to AWS Lambda. Isso inicia

o assistente de implantação. Muitos dos campos já estão definidos. Esses valores vêm do arquivo aws-lambda-tools-defaults.json descrito anteriormente.

2. Insira um nome de função. Para este exemplo, use ImageRekognition e escolha Next.

103

Page 108: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: criar um aplicativo do Amazon Rekognition Lambda

3. Na página Advanced Function Details, selecione uma função do IAM que dê permissão para o códigoacessar o S3 e o Rekognition. Para manter esta postagem curta, selecione Power User managed policy.As ferramentas criam uma função com base nessa política.

4. Por fim, defina a variável de ambiente MinConfidence como 60 e escolha Upload.

Isso inicia o processo de implantação, que compila e empacota o projeto Lambda e, em seguida, cria afunção Lambda. Assim que a publicação for concluída, a visualização Function na janela AWS Explorerserá exibida. Aqui, você pode invocar uma função de teste, visualizar o CloudWatch Logs da função econfigurar fontes de evento.

104

Page 109: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: criar um aplicativo do Amazon Rekognition Lambda

5. Com a função implantada, você precisa configurar o Amazon S3 a fim de enviar os eventos para a novafunção. Na guia Event Sources, escolha Add. Em seguida, escolha o Amazon S3 e o bucket a que vocêdeseja conectar a função Lambda. O bucket deve estar na mesma região da região onde a funçãoLambda é implantada.

Testar a funçãoAgora que a função está implantada e um bucket do S3 está configurado como uma fonte de eventopara ele, abra o navegador de buckets do S3 no AWS Explorer para o bucket selecionado por você. Emseguida, faça upload de algumas imagens.

Quando o upload estiver concluído, você poderá confirmar se a função foi executada observando os logsna visualização da função. Ou clique com o botão direito do mouse no navegador de buckets e escolhaProperties. Na guia Tags, você pode visualizar as tags que foram aplicadas ao objeto.

105

Page 110: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioTutorial: usar Amazon Logging Frameworks com

o AWS Lambda para criar logs de aplicativo

Tutorial: usar Amazon Logging Frameworks com oAWS Lambda para criar logs de aplicativoVocê pode usar o Amazon CloudWatch Logs para monitorar, armazenar e acessar os logs do aplicativo.Para obter dados de log no CloudWatch Logs, você pode usar um AWS SDK ou instalar o agente doCloudWatch Logs para monitorar determinadas pastas de logs. Hoje, deixamos ainda mais fácil usaro CloudWatch Logs com aplicativos do .NET, integrando o CloudWatch Logs a diversas estruturas deregistro em log do .NET conhecidas.

As estruturas de registro em log do .NET compatíveis são NLog, Log4net e a nova Estrutura de registro emlog do ASP.NET Core. Para cada estrutura, tudo o que você precisa fazer é adicionar o pacote do NuGetapropriado, adicionar o CloudWatch Logs como uma fonte de saída e usar a biblioteca de logs como farianormalmente.

Por exemplo, para usar o CloudWatch Logs com um aplicativo .NET usando NLog, adicione o pacoteNuGet AWS.Logger.NLog e o destino da AWS ao arquivo NLog.config. Aqui está um exemplo de umarquivo NLog.config que permite o CloudWatch Logs e o console como saída para as mensagens delog.

<?xml version="1.0" encoding="utf-8" ?><nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true"> <targets> <target name="aws" type="AWSTarget" logGroup="NLog.ConfigExample" region="us-east-1"/> <target name="logfile" xsi:type="Console" layout="${callsite} ${message}" />

106

Page 111: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioImplantar um projeto do AWS

Lambda com a CLI do .NET Core

</targets> <rules> <logger name="*" minlevel="Info" writeTo="logfile,aws" /> </rules></nlog>

Depois de realizar essas etapas, quando você executar o aplicativo, as mensagens de log gravadas noNLog serão enviadas para o CloudWatch Logs. Você pode visualizar as mensagens de log do aplicativoem tempo quase real no console do CloudWatch Logs. Você também pode configurar métricas e alarmesno console do CloudWatch Logs, com base nas mensagens de log do aplicativo.

Esses plug-ins de registro em log são criados sobre o AWS SDK for .NET e usam o mesmocomportamento utilizado pelo SDK para encontrar credenciais da AWS. As credenciais usadas pelos plug-ins de registro em log devem ter as seguintes permissões para acessar o CloudWatch Logs.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ]}

Os plug-ins de registro em log do .NET da AWS são um novo projeto de código-fonte aberto no GitHub.Todos os plug-ins estão lá, inclusive exemplos e instruções sobre como configurar o CloudWatch Logspara cada uma das estruturas de registro em log do .NET compatíveis.

Implantar um projeto do AWS Lambda com a CLIdo .NET Core

O AWS Toolkit for Visual Studio inclui modelos de projeto do .NET Core do AWS Lambda para o VisualStudio. Você deve ter o Visual Studio 2015 Update 3 instalado para instalar o .NET Core for Windows e oToolkit for Visual Studio. Você pode implantar funções do Lambda incorporadas no Visual Studio usando aCommand Line Interface (CLI – Interface da linha de comando) do .NET Core.

Note

Para obter informações sobre como criar funções do Lambda no Visual Studio, consulte lambda.Para obter mais informações sobre o Microsoft .NET Core, consulte .NET Core.Para obter mais informações sobre as funções do Lambda, consulte O que é AWS Lambda?

Tópicos• Listar os comandos do Lambda disponibilizados por meio da CLI (p. 108)• Publicar um projeto do Lambda do .NET Core na CLI do .NET Core (p. 108)

107

Page 112: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioListar os comandos do Lambdadisponibilizados por meio da CLI

Listar os comandos do Lambda disponibilizados pormeio da CLIHá uma grande variedade de comandos do Lambda disponibilizados pela CLI do .NET Core.

1. Abra um prompt de comando e navegue até a pasta que contém um projeto do Lambda do VisualStudio .NET Core.

2. Digite dotnet lambda --help.

C:\Lambda\AWSLambda1\AWSLambda1>dotnet lambda --help AWS Lambda Tools for .NET Core functions Project Home: https://github.com/aws/aws-lambda-dotnet . Commands to deploy and manage |LAM| functions: . deploy-function Deploy the project to |LAM| invoke-function Invoke the function in |LAM| with an optional input list-functions List all of your |LAM| functions delete-function Delete a |LAM| function get-function-config Get the current runtime configuration for a |LAM| function update-function-config Update the runtime configuration for a |LAM| function . Commands to deploy and manage AWS Serverless applications using |CFNlong|: . deploy-serverless Deploy an AWS Serverless application list-serverless List all of your AWS Serverless applications delete-serverless Delete an AWS Serverless application . Other Commands: . package Package a |LAM| project into a .zip file ready for deployment . To get help on individual commands execute:

dotnet lambda help <command>

Publicar um projeto do Lambda do .NET Core na CLIdo .NET CoreAs instruções a seguir pressupõem que você tenha criado uma função do .NET Core do AWS Lambda noVisual Studio.

1. Abra um prompt de comando e navegue até a pasta que contém o projeto do Lambda do VisualStudio .NET Core.

2. Digite dotnet lambda deploy-function.

#. Quando solicitado, digite o nome da função a ser implantada. Ele pode ser um nome novo ou o nome deuma função existente.

1. Quando solicitado, insira a região da AWS (a região na qual a função do Lambda será implantada).2. Quando solicitado, selecione ou crie a função do IAM que o Lambda vai pressupor ao executar a

função.3. Mediante uma conclusão bem-sucedida, a mensagem New Lambda function created é exibida.

108

Page 113: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuárioPublicar um projeto do Lambda

do .NET Core na CLI do .NET Core

C:\Lambda\AWSLambda1\AWSLambda1>dotnet lambda deploy-functionExecuting publish command... invoking 'dotnet publish', working folder 'C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish'... publish: Publishing AWSLambda1 for .NETCoreApp,Version=v1.0... publish: Project AWSLambda1 (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing... publish: Compiling AWSLambda1 for .NETCoreApp,Version=v1.0... publish: Compilation succeeded.... publish: 0 Warning(s)... publish: 0 Error(s)... publish: Time elapsed 00:00:01.2479713... publish:... publish: publish: Published to C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish... publish: Published 1/1 projects successfullyZipping publish folder C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish to C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\AWSLambda1.zipEnter Function Name: (AWS Lambda function name)DotNetCoreLambdaTestEnter AWS Region: (The region to connect to AWS services)us-west-2Creating new Lambda functionSelect IAM Role that Lambda will assume when executing function: 1) lambda_exec_LambdaCoreFunction 2) *** Create new IAM Role ***1New Lambda function created

Se você implantar uma função existente, a função de implantação só solicitará a região da AWS.

C:\Lambda\AWSLambda1\AWSLambda1>dotnet lambda deploy-functionExecuting publish commandDeleted previous publish folder... invoking 'dotnet publish', working folder 'C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish'... publish: Publishing AWSLambda1 for .NETCoreApp,Version=v1.0... publish: Project AWSLambda1 (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.... publish: publish: Published to C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish... publish: Published 1/1 projects successfullyZipping publish folder C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish to C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\AWSLambda1.zipEnter Function Name: (AWS Lambda function name)DotNetCoreLambdaTestEnter AWS Region: (The region to connect to AWS services)us-west-2Updating code for existing function

Depois que a função do Lambda for implantada, ela estará pronta para ser usada. Consulte Exemplos decomo usar o AWS Lambda.

O Lambda monitora automaticamente as funções do Lambda para você, informando métricas por meio doAmazon CloudWatch. Para monitorar e solucionar problemas na função do Lambda, consulte Solucionarproblemas e monitorar funções do AWS Lambda com o Amazon CloudWatch.

109

Page 114: AWS Toolkit for Visual Studio - docs.aws.amazon.com · AWS Toolkit for Visual Studio Guia do usuário Amazon's trademarks and trade dress may not be used in connection with any product

AWS Toolkit for Visual Studio Guia do usuário

Histórico do documentoA tabela a seguir descreve as alterações importantes feitas desde a versão mais recente do Toolkit forVisual Studio User Guide.

Última atualização da documentação: 18 de junho de 2018

Alteração Descrição Data de lançamento

Adicionados detalhes doASP.NET Core

O assistente de implantaçãodo AWS Elastic Beanstalkjá dá suporte a aplicativosdo ASP.NET Core. ConsulteImplantar um aplicativo doASP.NET Core no ElasticBeanstalk (p. 23) para obterdetalhes.

25 de julho de 2016

Assistentes de implantaçãorevisados

Esta versão apresenta umnovo Publish to ElasticBeanstalk. Para obter maisinformações, consulte Implantarno Elastic Beanstalk (p. 18).Com a introdução dessenovo assistente, o assistentePublish to Amazon WebServices foi movido para ostatus herdado. Para obtermais informações, consulteImplantar no Elastic Beanstalk(herdado) (p. 31) e Implantarno AWS CloudFormation(herdado) (p. 36).

17 de dezembro de 2014

Suporte à Amazon VPC Essa versão adiciona suportepara o Amazon Virtual PrivateCloud.

4 de abril de 2013

Nova versão Esta é a versão 3.0 do Toolkit forVisual Studio User Guide.

8 de junho de 2012

110