Amazon CloudFront Guia do desenvolvedor
Transcrição
Amazon CloudFront Guia do desenvolvedor
Amazon CloudFront Guia do desenvolvedor API Version 2016-01-13 Amazon CloudFront Guia do desenvolvedor Amazon CloudFront: Guia do desenvolvedor Copyright © 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. Amazon CloudFront Guia do desenvolvedor Table of Contents .................................................................................................................................................. x O que é o Amazon CloudFront? ..................................................................................................... 1 Como o CloudFront oferece conteúdo ...................................................................................... 2 Locais e intervalo de endereços IP de servidores de presença do CloudFront ................................. 4 Conformidade com o PCI DSS ............................................................................................... 4 Relatórios de uso da AWS e do CloudFront para Faturamento ............................................................. 5 Relatório de faturamento do CloudFront da AWS para ................................................................ 6 Relatório de uso da AWS para CloudFront ............................................................................... 7 Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS ............................. 8 Relatórios do CloudFront .............................................................................................................. 11 Relatórios de estatísticas de cache do CloudFront ................................................................... 12 Baixando dados no formato CSV ................................................................................... 13 Como os gráficos de estatísticas de cache são relacionados aos dados nos logs de acesso do CloudFront ............................................................................................................. 15 Relatório de objetos populares do CloudFront ......................................................................... 16 Baixando dados no formato CSV ................................................................................... 17 Como Data no relatório de objetos populares está relacionada a dados nos logs de acesso do CloudFront ............................................................................................................. 19 Relatório de principais indicadores do CloudFront .................................................................... 20 Baixando dados no formato CSV ................................................................................... 21 Como Data no Relatório de principais indicadores de dados no está relacionada a logs de acesso do CloudFront .................................................................................................. 22 Relatórios de uso do CloudFront ........................................................................................... 22 Baixando dados no formato CSV ................................................................................... 23 Como o são os gráficos de utilização do CloudFront relacionados aos dados no relatório de uso ........................................................................................................................... 25 Relatórios de visualizadores do CloudFront ............................................................................. 27 Exibindo Visualizadores Gráficos e Relatórios .................................................................. 27 Baixando dados no formato CSV ................................................................................... 28 Como Data no Relatório está relacionada a pontos de dados nos logs de acesso do CloudFront ................................................................................................................. 33 Conceitos básicos ....................................................................................................................... 35 Etapa 1: cadastre-se na Amazon Web Services ....................................................................... 35 Etapa 2: Faça o upload de seu conteúdo para o Amazon S3 e conceder permissões de objeto ......... 36 Etapa 3: Crie uma distribuição de web do CloudFront ............................................................... 37 Etapa 4: Teste seus links ..................................................................................................... 39 Trabalhando com Distribuições ...................................................................................................... 41 Visão geral da Web e distribuições RTMP .............................................................................. 42 Distribuições de web ................................................................................................... 42 Distribuições RTMP ..................................................................................................... 43 Criação de Web e distribuições RTMP ................................................................................... 43 Listagem, Exibindo e Atualizando Distribuições do CloudFront ................................................... 43 A exclusão de uma distribuição ............................................................................................. 44 Usando Alternate Domain Names (CNAMEs) .......................................................................... 45 Usando os nomes de domínio curinga no Alternativa* ....................................................... 46 Restrições sobre o uso de nomes de domínio Alternativos ................................................. 46 Adicionando um nome de domínio Alternativos ................................................................ 47 Escolha a classe de preço para uma distribuição do CloudFront ................................................. 49 Uso do CloudFront com o Amazon S3 ................................................................................... 50 A distribuição do CloudFront Quando Você está adicionando conteúdo a partir do Amazon S3 ............................................................................................................................. 50 Como mover uma região para outro bucket do Amazon S3 ................................................ 52 As alterações na API do CloudFront ...................................................................................... 53 Trabalhando com Distribuições de web .......................................................................................... 54 Lista de tarefas para criar uma distribuição na Web ................................................................. 54 API Version 2016-01-13 iii Amazon CloudFront Guia do desenvolvedor Criando ou Atualizando uma distribuição da Web usando o console do CloudFront ........................ 56 Testando a sua distribuição na Web ...................................................................................... 57 Usando o Amazon S3 origens e Personalize origens para Distribuições de web ............................ 57 Usando o Amazon S3 Buckets para sua origem .............................................................. 58 Usando o Amazon EC2 ou outras origens personalizadas ................................................. 59 Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web ................ 59 Método de apresentação .............................................................................................. 61 Configurações de origem .............................................................................................. 61 Configurações de comportamento de cache .................................................................... 65 Detalhes de distribuição ............................................................................................... 73 Erro de páginas de erro personalizadas e armazenamento em cache .................................. 77 Restrições .................................................................................................................. 78 Os valores que CloudFront Exibe no Console Quando Você Criar ou Atualizar uma distribuição da Web .................................................................................................................................. 78 ID de distribuição (Guia Geral) ...................................................................................... 79 Status de distribuição (Guia Geral) ................................................................................ 79 Última modificação (Guia Geral) .................................................................................... 79 Domain Name (Guia Geral) .......................................................................................... 79 Requisitos e recomendações para o uso do Amazon EC2 e outras origens personalizadas .............. 80 Usando a AWS WAF para Controlar o acesso a seu conteúdo ................................................... 80 Restringindo a distribuição geográfica do seu conteúdo ............................................................ 81 Usando a restrição geográfica do CloudFront .................................................................. 81 O uso de um serviço de geolocalização de terceiros ......................................................... 83 Configuração de Smooth Streaming sob demanda ................................................................... 84 Configuração de download progressivo sob demanda ............................................................... 85 Configuração de HTTP Live Streaming (HLS) sob demanda no Apple ......................................... 85 Trabalhando com distribuições RTMP ............................................................................................ 86 Como distribuições RTMP Trabalhe ....................................................................................... 86 Lista de tarefas para arquivos usando RTMP Streaming Media .................................................. 88 A criação de uma distribuição RTMP usando o console do CloudFront ........................................ 89 Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição RTMP .................. 89 Origin Domain Name (Amazon S3 Bucket) ...................................................................... 90 Restrinja Bucket Access (Amazon S3 Only) .................................................................... 91 Identidade de acesso de origem (Amazon S3 Only) .......................................................... 91 Comentário para Novos Identity (Amazon S3 Only) .......................................................... 91 Suas identidades (Amazon S3 Only) .............................................................................. 91 Permissões de leitura de bolsas no bucket (Amazon S3 Only) ............................................ 91 Classe de preço .......................................................................................................... 92 Alternar nomes de domínio (CNAMEs) ........................................................................... 92 Registro em log .......................................................................................................... 92 Logs de bucket para .................................................................................................... 92 Prefixo de log ............................................................................................................. 92 Comentário ................................................................................................................. 92 Estado de distribuição .................................................................................................. 93 Restrinja Viewer Access (Use URLs assinadas) ............................................................... 93 Trusted Signatários ..................................................................................................... 93 Números de conta da AWS .......................................................................................... 94 Os valores que CloudFront Exibe no Console Quando Você Criar ou Atualizar uma distribuição RTMP ................................................................................................................................ 94 ID de distribuição ........................................................................................................ 94 Status ........................................................................................................................ 94 Última modificação ...................................................................................................... 95 Nome do domínio ........................................................................................................ 95 A configuração do Media Player ............................................................................................ 95 Arquivos MPEG .......................................................................................................... 96 O uso de um bucket do Amazon S3 como a origem para uma distribuição RTMP .......................... 96 A criação de várias distribuições RTMP para um Servidor de Origem .......................................... 97 Restringindo Acesso Usando Crossdomain.xml ........................................................................ 97 API Version 2016-01-13 iv Amazon CloudFront Guia do desenvolvedor Códigos de erro para distribuições RTMP ............................................................................... 97 Solução de problemas de distribuições RTMP ......................................................................... 97 Trabalho com objetos .................................................................................................................. 99 Formato de URLs dos objetos do CloudFront .......................................................................... 99 Formato de URLs para objetos no Amazon S3 público .................................................... 100 Formato de URLs para objetos em um público de origem personalizado ............................. 101 Como URLs públicos Afetam a invalidação de diretórios .................................................. 101 Formato de URLs assinadas ....................................................................................... 102 Como processos de solicitações HTTP e HTTPS do CloudFront ............................................... 102 Aumentar a Proporção de solicitações que são Servidas de presença do CloudFront Caches ......... 102 Especificando Quanto tempo Caches Seu Objetos do CloudFront ..................................... 103 Parâmetros de sequência de caracteres de consulta com base em cache ........................... 103 Com base nos valores de cookie de cache ................................................................... 103 Com base nos cabeçalhos de solicitação de armazenamento em cache ............................. 104 Distribuição de conteúdo de mídia usando HTTP ........................................................... 105 A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta ....................................................................................................................... 105 Parâmetros de sequência de caracteres de consulta e Web Distribuições ........................... 106 Parâmetros de sequência de caracteres de consulta e distribuições RTMP ......................... 107 A configuração do cache do CloudFront para objetos com base em cookies ............................... 107 A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache ........ 109 Distribuições Cabeçalhos e Web .................................................................................. 109 Cabeçalhos e distribuições RTMP ................................................................................ 113 Encaminhando Cabeçalhos Personalizados para sua origem (Web Distribuições Somente) ........... 113 Configurando CloudFront para encaminhar Cabeçalhos personalizados para sua origem ....... 114 Cabeçalhos personalizados do CloudFront que não é possível Encaminhar para sua origem ..................................................................................................................... 114 Usando Cabeçalhos Personalizados para Cross-Origin Resource Sharing (CORS) ............... 115 Usando Cabeçalhos Personalizados para restringir o acesso ao seu conteúdo em uma origem personalizada ................................................................................................. 115 Como adicionar, remover ou substituir objetos em uma distribuição ........................................... 116 Adicionando Objetos para Distribuição do CloudFront que você quiser ............................... 116 Atualizando Objetos Existentes Usando Nomes de Objetos com Versão ............................. 117 Atualizando Objetos Existentes Usando os Mesmos Nomes de Objetos ............................. 117 Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) ............................................................................................................... 118 Distribuições (Web Invalidating Objects Somente) .......................................................... 123 Personalizando respostas de erro ........................................................................................ 130 Criando ou Atualizando um comportamento de cache para páginas de erro personalizadas .... 131 Alterando Códigos de Resposta ................................................................................... 131 Controlando Quanto tempo Caches do CloudFront Erros ................................................. 132 Como ele responde Quando uma página de erro personalizadas não está disponível ............ 133 A definição de preço das páginas de erro personalizadas ................................................ 133 Configurando Erro Comportamento de resposta ............................................................. 133 Como processos de solicitações parciais do CloudFront para um objeto (Range GETs) ................. 134 Especificar um Objeto raiz padrão (Web Distribuições Somente) ............................................... 135 Distribuição de arquivos compactados .................................................................................. 137 Uso do CloudFront para Compactar seu conteúdo .......................................................... 138 O uso de uma origem personalizado para Compactar seu conteúdo .................................. 140 Solicitação e comportamento de resposta ..................................................................................... 142 Solicitação e Resposta Comportamento Origens para o Amazon S3 .......................................... 142 Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 .............................................................................................................. 142 Como processos do CloudFront Respostas do seu Servidor de Origem do Amazon S3 ......... 147 Solicitação e Comportamento para Personalizar origens de resposta ......................................... 149 Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado ............................................................................................................ 149 Como processos personalizados do CloudFront Respostas do seu Servidor de Origem ......... 159 API Version 2016-01-13 v Amazon CloudFront Guia do desenvolvedor Como Códigos de status de processos do CloudFront HTTP 3xx da sua origem .......................... 162 Como CloudFront Processos e Caches Códigos de status de HTTP 4xx e 5xx da sua origem ......... 162 Como Erros de processos do CloudFront quando você tem páginas de erro personalizadas configurados ............................................................................................................. 163 Como processos do CloudFront Erros Não Configurado quando você tem páginas de erro personalizadas .......................................................................................................... 164 Códigos de status de HTTP 4xx e 5xx que Caches do CloudFront ..................................... 165 Distribuição de conteúdo privado por meio do CloudFront ................................................................ 167 Visão geral de conteúdo privado .......................................................................................... 167 Restringir o acesso aos objetos em Caches de presença do CloudFront ............................. 168 Restringir o acesso aos objetos no Amazon S3 Buckets .................................................. 168 O uso de um HTTP Server para conteúdo privado ................................................................. 168 Lista de Tarefas: Distribuição de Conteúdo privado ................................................................. 170 Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 ...................................................................................................................... 171 Criando uma Identidade de acesso de origem do CloudFront e adicionando-lo para sua distribuição ............................................................................................................... 172 Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 ................................................................................................ 174 Usando uma Identidade de acesso de origem no Amazon S3 regiões que Support Somente Signature versão 4 Authentication ................................................................................ 176 Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) ...................................................................................................................... 177 A criação de pares de chaves do CloudFront para o seu Trusted Signatários ...................... 178 Reformatação do CloudFront Private Key (.NET e Java apenas) ....................................... 180 Adicionando Trusted Signatários para sua distribuição .................................................... 180 Verificando se são Trusted Signatários Active (Opcional) ................................................. 182 Girar pares de chaves do CloudFront ........................................................................... 183 Escolhendo entre URLs assinadas e cookies assinados .......................................................... 184 Usando ambos os URLs assinadas e cookies assinados ................................................. 184 Usando URLs assinadas .................................................................................................... 185 Escolhendo entre Canned e políticas personalizadas para URLs assinadas ........................ 185 Como URLs assinadas Trabalhe .................................................................................. 186 Escolha Quanto tempo são assinados URLs válidas ....................................................... 186 Quando a expiração do CloudFront Marque a data e hora em um URL assinado? ................ 187 Código de exemplo e ferramentas de terceiros .............................................................. 187 A criação de um URL assinado Canned Usando uma Política ........................................... 188 A criação de um URL assinado usando uma Política personalizada ................................... 195 Usando cookies assinados .................................................................................................. 205 Escolhendo entre Canned e políticas personalizadas para cookies assinados ...................... 205 Como cookies assinados Trabalhe ............................................................................... 206 Evitando Uso de cookies assinados ............................................................................. 206 Quando O CloudFront Marque a expiração em uma data e hora de cookies assinados? ........ 207 Código de exemplo e ferramentas de terceiros .............................................................. 207 Definindo cookies assinados Usando um Canned Policy .................................................. 207 Definindo cookies assinados Usando uma Política personalizada ...................................... 212 O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 ..................... 221 Entre os exemplos de código para criar uma assinatura para um URL assinado .......................... 222 Crie um URL Signature Usando Perl ............................................................................ 222 Crie um URL Signature Usando PHP ........................................................................... 224 Crie um URL Signature Using C # e o.NET Framework ................................................... 226 Crie um URL Signature Usando Java ........................................................................... 232 Usando uma conexão HTTPS para acessar seus objetos ................................................................ 235 Como funciona com conexões HTTPS do CloudFront ............................................................. 236 Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront ............. 237 Protocolos com suporte e Cifras .......................................................................................... 240 Usando Alternate Domain Names e HTTPS .......................................................................... 241 Escolha Como Serve Solicitações HTTPS do CloudFront ................................................. 241 API Version 2016-01-13 vi Amazon CloudFront Guia do desenvolvedor Requisitos e Limites de Uso do CloudFront SSL/TLS com Certificados ............................... 243 Para usar nomes de domínio alternativos com HTTPS .................................................... 245 Determinando o tamanho da chave pública em um certificado SSL/TLS ............................. 247 Girar Certificados SSL/TLS ......................................................................................... 247 Revertendo a partir de um certificado SSL/TLS personalizado para o certificado do CloudFront padrão ..................................................................................................... 248 A mudança de um certificado SSL/TLS personalizado com IP dedicado para SNI Endereços ................................................................................................................ 249 Encargos para conexões HTTPS ......................................................................................... 250 Controle de acesso e autenticação .............................................................................................. 251 Authentication ................................................................................................................... 251 Controle de acesso ............................................................................................................ 253 Visão geral de Gerenciamento de acesso ............................................................................. 253 Recursos do CloudFront ARNs para ............................................................................. 253 Compreensão de propriedade de recursos .................................................................... 253 Gerenciamento de Acesso a Recursos ......................................................................... 254 Especificando Elementos: Política de Recursos, Ações, Efeitos e Principais ........................ 255 Especificando Condições em uma Política ..................................................................... 256 Usando IAM para políticas do CloudFront ............................................................................. 256 As permissões são necessárias para usar o Console do CloudFront .................................. 257 Políticas predefinidas da AWS (gerenciados) do CloudFront para ...................................... 258 Exemplos de política gerenciada pelo cliente ................................................................. 259 Referência de API do CloudFront Permissões ........................................................................ 261 Permissões necessárias para as ações de distribuição na Web ........................................ 262 Permissões necessárias para Ações no Distribuições RTMP ............................................ 262 Permissões necessárias para Ações em Invalidações ..................................................... 263 Permissões necessárias para Actions na Identidades de origem de acesso ......................... 263 Logs de acesso ........................................................................................................................ 264 Como funciona o registro em log ......................................................................................... 264 Escolhendo um bucket do Amazon S3 para seus logs de acesso .............................................. 265 Permissões do Amazon S3 necessária para acessar seus arquivos de log .................................. 265 Formato do Nome do Arquivo ............................................................................................. 266 Tempo de entrega de arquivo de log .................................................................................... 266 A análise de logs de acesso ............................................................................................... 266 Editando suas Configurações do registro .............................................................................. 267 A exclusão de arquivos de log a partir de um bucket do Amazon S3 .......................................... 267 Formato do arquivo de registro ............................................................................................ 267 Formato do arquivo de registro de distribuição da Web ................................................... 269 Formato do arquivo de registro de distribuição RTMP ..................................................... 275 As cobranças para logs de acesso ...................................................................................... 277 Monitoramento de atividades usando o CloudWatch do CloudFront ................................................... 278 Baixando dados no formato CSV ......................................................................................... 280 Informações sobre o relatório ...................................................................................... 280 Os dados no Relatório de Métricas do CloudWatch ........................................................ 280 Captura com solicitações de API do CloudTrail .............................................................................. 282 Informações em arquivos de log do CloudFront do CloudTrail ................................................... 282 Compreensão de Entradas de arquivos de log do CloudFront ................................................... 283 Solução de problemas ................................................................................................................ 289 Não consigo visualizar os arquivos na minha distribuição de web. ............................................. 289 Você se cadastrar para CloudFront e o Amazon S3? ...................................................... 289 Há seu bucket do Amazon S3 e as permissões de objeto definido corretamente? ................. 289 O seu nome de domínio alternativo (CNAME) configurado corretamente? ........................... 290 Você está fazendo referência a URL correta para a sua distribuição do CloudFront? ............. 290 Você precisa de ajuda para solucionar problemas com uma origem personalizada? .............. 290 Não consigo visualizar os arquivos na minha distribuição RTMP. .............................................. 291 Mensagem de erro: Certificado: <certificado-id > está sendo usado por ele. ................................ 291 Teste de carga do CloudFront ..................................................................................................... 292 Tutoriais do CloudFront .............................................................................................................. 293 API Version 2016-01-13 vii Amazon CloudFront Guia do desenvolvedor Streaming ao vivo ............................................................................................................. 293 Streaming on-demand ........................................................................................................ 293 Streaming RTMP ............................................................................................................... 293 Streaming ao vivo usando HTTP do CloudFront e o Adobe Media Server 5.0 .............................. 293 Visão geral ............................................................................................................... 294 Etapas para Configure Live Streaming .......................................................................... 295 A criação de uma conta de uma conta Amazon Web Services .......................................... 295 A criação de um par de chaves do Amazon EC2 ............................................................ 296 A inscrição para o Adobe Media Server ........................................................................ 296 A criação de uma pilha de streaming ao vivo para o AWS CloudFormation ......................... 297 Verificando se o Adobe Media Server está sendo executado ............................................ 299 Configurando o Adobe Flash Media Live Encoder para publicar um Live Stream .................. 299 A incorporação Strobe reprodução de mídia em tempo real para um Amazon CloudFront HTTP Stream em uma aplicação Web .......................................................................... 301 A exclusão de um AWS CloudFormation Stack e um volume do Amazon EBS para Streaming ao vivo ..................................................................................................... 303 Perguntas frequentes ................................................................................................. 303 Documentação adicional ............................................................................................. 308 Live Smooth Streaming usando o Amazon CloudFront e IIS Media Services 4.1 .......................... 310 Visão geral do Live Smooth Streaming com a Amazon Web Services ................................ 310 Criando uma conta da Amazon Web Services ............................................................... 311 A criação de um par de chaves do Amazon EC2 ............................................................ 312 A criação de um AWS CloudFormation Stack para Live Smooth Streaming ......................... 312 Verificando se sua instância Amazon EC2 do Windows Server está sendo executado ........... 314 Como obter sua senha do Windows ............................................................................. 314 Codificação Sua Live Stream ...................................................................................... 315 Exibindo Seu Live Smooth Stream ............................................................................... 315 A exclusão de seu AWS CloudFormation Live Smooth Streaming Stack ............................. 316 Perguntas frequentes ................................................................................................. 316 Documentação adicional ............................................................................................. 318 Streaming ao vivo com Wowza Streaming Engine 4.2 ............................................................. 319 Criando uma conta da Amazon Web Services ............................................................... 319 A criação de um par de chaves do Amazon EC2 ............................................................ 320 Obter uma licença para o Wowza Streaming Engine 4.2 .................................................. 320 A assinatura Wowza Streaming Engine 4.2 por meio do AWS Marketplace ......................... 320 A criação de uma pilha de streaming ao vivo para o AWS CloudFormation ......................... 321 Verificando se o Wowza Streaming Engine 4.2 está sendo executado ................................ 323 Configurando um Encoder para publicar um Live Stream ................................................. 323 Reproduzindo a transmissão ao vivo em um aplicativo da web ......................................... 325 A exclusão de um AWS CloudFormation Stack para Live Streaming .................................. 326 Perguntas frequentes ................................................................................................. 326 Documentação adicional ............................................................................................. 328 Streaming ao vivo usando HTTP e qualquer origem do CloudFront HTTP ................................... 329 Criando uma nova distribuição do CloudFront para Streaming ao vivo ................................ 329 Configurando Web Players para Play Live Stream .......................................................... 330 (Opcional) A exclusão de uma pilha do AWS CloudFormation para Live Streaming ............... 330 Streaming de mídia on demand com Unified Streaming ........................................................... 330 A criação de uma conta de uma conta Amazon Web Services .......................................... 332 A criação de um par de chaves do Amazon EC2 ............................................................ 332 Inscrição para Unified Streaming ................................................................................. 333 A criação de um AWS CloudFormation Stack para streaming sob demanda ........................ 333 Verificando se Unified Streaming Server está sendo executado ........................................ 335 Como fazer o upload do Media Files para o Amazon S3 .................................................. 336 Reproduzindo o On-Demand Stream Em um teste de aplicativos da Web ........................... 337 Excluindo o AWS CloudFormation Stack e o Amazon S3 Bucket para streaming sob demanda .................................................................................................................. 339 Perguntas frequentes ................................................................................................. 340 Documentação adicional ............................................................................................. 342 API Version 2016-01-13 viii Amazon CloudFront Guia do desenvolvedor O uso de streaming de vídeo on-demand do CloudFront e Adobe Flash Player ............................ A criação de um bucket do Amazon S3 ........................................................................ A criação do CloudFront Web e distribuições RTMP ....................................................... A criação de um Projeto Flash Usando o Adobe Flash Builder .......................................... Carregando Media e Flash Builder arquivos para um bucket do Amazon S3 ........................ Reproduzindo o arquivo de mídia ................................................................................ O uso de streaming de vídeo on-demand e do CloudFront Flowplayer para Adobe Flash ............... Carregando mídia e Flowplayer arquivos para um bucket do Amazon S3 ............................ A criação do CloudFront Web e distribuições RTMP ....................................................... A incorporação de vídeo em uma página HTML ............................................................. O uso de streaming de vídeo on-demand e do CloudFront JW Player ........................................ Carregando o JW Player de mídia e arquivos para um bucket do Amazon S3 ...................... A criação do CloudFront Web e distribuições RTMP ....................................................... A incorporação de vídeo em uma página da Web ........................................................... Carregando o arquivo HTML e Reprodução do vídeo ...................................................... Limites ..................................................................................................................................... Recursos .................................................................................................................................. Documentação Amazon CloudFront adicionais ....................................................................... Conceitos de suporte ......................................................................................................... Ferramentas do desenvolvedor do CloudFront e SDKs ............................................................ Uso do Registro do CloudFront ........................................................................................... Dicas adicionais do Blog de uma conta Amazon Web Services ................................................. Anulação de objetos .......................................................................................................... A distribuição Streaming Media ........................................................................................... Entre os exemplos de código e ferramentas para configurar conteúdo privado ............................. O uso do CloudFront com um sistema de gerenciamento de conteúdo ....................................... Histórico do documento .............................................................................................................. AWS Glossary .......................................................................................................................... API Version 2016-01-13 ix 344 344 345 345 347 347 348 348 349 350 353 353 354 355 356 357 359 359 359 360 360 360 361 361 361 362 364 379 Amazon CloudFront Guia do desenvolvedor A tradução abaixo, feita automaticamente por um software, foi disponibilizada somente para a sua conveniência. Em caso de qualquer discrepância, inconsistência ou conflito entre esta versão traduzida e a versão em inglês (incluindo, mas não limitado a, aqueles decorrentes de atrasos na tradução), a versão em inglês prevalecerá. Para acessar a versão em inglês desta página, selecione ‘English’ no menu suspenso da lista de idiomas no canto superior direito desta página. Para enviar feedback sobre a tradução, clique no botão ‘Feedback’ no canto inferior direito desta página. API Version 2016-01-13 x Amazon CloudFront Guia do desenvolvedor O que é o Amazon CloudFront? Tópicos • Como o CloudFront oferece conteúdo (p. 2) • Locais e intervalo de endereços IP de servidores de presença do CloudFront (p. 4) • Conformidade com o PCI DSS (p. 4) CloudFront é um serviço da web que agiliza a distribuição do seu conteúdo web estático e dinâmico, por exemplo,.html,.css,.php e arquivos de imagem, para os usuários finais. CloudFront distribui seu conteúdo através de uma rede global de datacenters chamados de pontos de presença. Quando um usuário solicita um conteúdo que você está servindo com o CloudFront, o usuário é direcionado ao ponto de presença com a menor latência (atraso de tempo), para que o conteúdo seja distribuído com o melhor desempenho possível. Se o conteúdo já está no ponto de presença com a menor latência, o CloudFront entrega imediatamente. Se o conteúdo ainda não está naquele ponto de presença, o CloudFront recupera em um bucket do Amazon S3 ou um servidor HTTP (um servidor web, por exemplo) que você identificou como fonte da versão definitiva do seu conteúdo. Esse conceito é melhor ilustrado por um exemplo. Suponha que você está servindo a imagem a seguir a partir de um servidor da web tradicionais, e não a partir do CloudFront: (A imagem é de propriedade da NASA e vem do site Visible Earth http://visibleearth.nasa.gov/.) Você está servindo a imagem usando o URL http://example.com/globe_west_540.png. Os usuários podem facilmente navegar para esse URL e visualize a imagem, mas eles provavelmente não souber que sua solicitação foi roteado de uma rede para outra – por meio do complexo conjunto de redes interconectadas que compõem a Internet – até que a imagem foi encontrado. Além disso, suponha que o servidor web do qual você está servindo a imagem está em Seattle, Washington, EUA, e que um usuário em Austin, Texas, EUA solicitações imagem. A lista a seguir (cortesia de traceroute www.WatchMouse.com) mostra uma forma que essa solicitação poderia ser roteado. API Version 2016-01-13 1 Amazon CloudFront Guia do desenvolvedor Como o CloudFront oferece conteúdo Neste exemplo, a solicitação foi roteado 10 vezes dentro dos Estados Unidos antes que a imagem foi recuperado, o que não é muito grande número de nós. Se o usuário foram na Europa, a solicitação será direcionado por meio da redes ainda mais para entrar em contato com o seu servidor em Seattle. O número de redes e a distância que a solicitação e a imagem de viagem deve ter um impacto significativo sobre o desempenho, a confiabilidade e a disponibilidade da imagem. Acelera a distribuição do CloudFront do seu conteúdo ao rotear cada solicitação do usuário para o ponto de presença que melhor atender ao seu conteúdo. Normalmente, esse é o ponto de presença do CloudFront que oferece mais baixa latência. Isso reduz drasticamente o número de redes que devem passar por solicitações dos seus usuários, o que aumenta o desempenho. Os usuários obtêm menor latência – o tempo necessário para carregar o primeiro byte do objeto – e mais altas taxas de transferência de dados. Você também pode obter maior confiabilidade e disponibilidade, pois cópias de seus objetos agora são mantidas em vários pontos de presença em todo o mundo. Para obter uma lista dos pontos de presença do CloudFront Amazon CloudFront servidores, consulte A rede de presença global na página Detalhes do produto do CloudFront. Como o CloudFront oferece conteúdo Após alguns configuração inicial, ele funciona de modo invisível para acelerar a entrega do seu conteúdo. Essa visão geral inclui as etapas que você executa antes de seu primeiro usuário acessar seu aplicativo ou site e como o CloudFront oferece o conteúdo quando a configuração for concluída. A configuração do CloudFront envolve algumas etapas simples: Como Você Configure para entregar seu conteúdo do CloudFront 1. Você configurar seus servidores de origem, desde que ele obtém os arquivos do CloudFront para distribuição a partir de pontos de presença em todo o mundo. Um servidor de origem armazena as versões originais e definitivas de seus objetos. Se você está servindo conteúdo via HTTP, seu servidor de origem é um bucket do Amazon S3 ou um servidor HTTP, como um servidor web. Seu servidor HTTP pode ser executado em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou em um servidor que você gerencia; esses servidores são também conhecido como origens personalizadas. Se você está distribuindo arquivos de mídia sob demanda usando o Adobe Media Server protocolo RTMP, seu servidor de origem é sempre um bucket do Amazon S3. 2. Você carregar seus arquivos para seus servidores de origem. Seus arquivos, também conhecido como objetos, normalmente incluem páginas web, imagens e arquivos de mídia, mas pode ser qualquer coisa que podem ser atendidos pelo HTTP ou uma versão compatível do Adobe RTMP, o protocolo utilizado pelo Adobe Flash Media Server. Se você estiver usando um bucket do Amazon S3 como um servidor de origem, você pode tornar os objetos no seu bucket, para que qualquer pessoa que conhece os URLs do CloudFront para seus objetos podem acessá-los. Você também tem a opção de manter objetos privados e controlar quem acessa-los. Consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). 3. Você cria uma distribuição do CloudFront, que informa ao CloudFront que servidores de origem para que seus arquivos a partir de quando os usuários solicitar os arquivos por meio de seu site ou aplicativo. Ao mesmo tempo, você pode especificar os detalhes do CloudFront como, por exemplo, se você deseja registrar todas as solicitações e se você deseja que a distribuição seja ativada assim que é criado. API Version 2016-01-13 2 Amazon CloudFront Guia do desenvolvedor Como o CloudFront oferece conteúdo 4. envia sua configuração de distribuição do CloudFront (mas não seu conteúdo) para todos os seus pontos de presença-coleções de servidores em data centers em que geograficamente dispersa do CloudFront armazena em cache cópias de seus objetos. 5. À medida que você desenvolver o seu site ou aplicativo, você usa o nome de domínio que o CloudFront oferece para seus URLs. Por exemplo, se ele retorna d111111abcdef8.cloudfront.net como o nome de domínio para sua distribuição, o URL para logo.jpg em seu bucket do Amazon S3 (ou no diretório raiz em um servidor HTTP) serão http://d111111abcdef8.cloudfront.net/logo.jpg. Você também pode configurar sua distribuição do CloudFront, para que você possa usar o seu próprio nome de domínio. Neste caso, o URL pode ser http://www.example.com/logo.jpg. 6. Opcionalmente, você pode configurar seu servidor de origem para adicionar cabeçalhos para os arquivos; cabeçalhos indicam por quanto tempo você deseja que os arquivos para permanecer em cache nos pontos de presença do CloudFront. Por padrão, cada objeto permanece em um ponto de presença por 24 horas antes que ele expire. O tempo de expiração mínimo é 0 segundos; não há um limite de tempo de expiração máximo. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Como o CloudFront oferece conteúdo aos seus usuários Assim que você configurar do CloudFront para entregar seu conteúdo, veja aqui o que acontece quando os usuários solicitar seus objetos: 1. Um usuário acessa o seu site ou aplicativo e solicita um ou mais objetos, como um arquivo de imagem e um arquivo HTML. 2. O DNS encaminha a solicitação para o ponto de presença do CloudFront que melhor atendem a solicitação do usuário, normalmente o ponto de presença do CloudFront mais próximo em termos de latência e encaminha a solicitação para esse ponto de presença. 3. No ponto de presença, o CloudFront verifica seu cache para os arquivos solicitados. Se os arquivos estão no cache, ele retorna para o usuário. Se os arquivos não estão no cache, ele faz o seguinte: 4. a. CloudFront compara a solicitação com as especificações em sua distribuição e encaminhará a solicitação para os arquivos para o servidor de origem aplicáveis para o tipo de arquivo correspondente – por exemplo, para o seu bucket do Amazon S3 para arquivos de imagem e para o seu servidor HTTP para os arquivos HTML. b. Os servidores de origem enviar os arquivos de volta para o ponto de presença do CloudFront. c. Assim que o primeiro byte chega a partir da origem, o CloudFront começa para encaminhar os arquivos para o usuário. CloudFront também adiciona os arquivos para o cache no ponto de presença para a próxima vez que alguém solicitações desses arquivos. Depois de um objeto foi em um cache de presença por 24 horas ou durante o período especificado no seu arquivo cabeçalhos, ele faz o seguinte: a. CloudFront encaminhará a próxima solicitação para o objeto para sua origem para determinar se o ponto de presença tem a versão mais recente. b. Se a versão no ponto de presença é o mais recente, o CloudFront oferece para o usuário. Se a versão no ponto de presença não é o mais recente, sua origem envia a versão mais recente do CloudFront e do CloudFront oferece o objeto para o seu usuário e armazena a versão mais recente no cache no ponto de presença em questão. API Version 2016-01-13 3 Amazon CloudFront Guia do desenvolvedor Locais e intervalo de endereços IP de servidores de presença do CloudFront Locais e intervalo de endereços IP de servidores de presença do CloudFront Para obter uma lista das localizações dos servidores de presença do CloudFront, consulte O Amazon CloudFront Amazon CloudFront Rede de pontos de presença na página de detalhes. uma conta Amazon Web Services (AWS) publica seus intervalos de endereços IP atuais no formato JSON. Para visualizar os intervalos atuais, faça o download ip-ranges.json. Para obter mais informações, consulte AWS Amazon Web Services General Reference Intervalos no endereço IP. Para encontrar os intervalos de endereços IP que são associados a servidores de presença do CloudFront, pesquisa ip-ranges.json para esta string: "service": "CLOUDFRONT" Conformidade com o PCI DSS CloudFront oferece suporte a processamento, armazenamento e transmissão de dados de cartão de crédito por um comerciante ou provedor de serviços, e foi validado como em conformidade com o Data Security Standard (DSS – Padrão de segurança de dados) da Payment Card Industry (PCI – Setor de cartão de crédito). Para obter mais informações sobre PCI DSS, incluindo como solicitar uma cópia do pacote de conformidade com PCI da AWS, consulte Nível 1 do PCI DSS. Como uma prática recomendada de segurança, recomendamos que você não cache informações de cartão de crédito em caches de presença do CloudFront. Por exemplo, você pode configurar a origem para incluir um nome de Cache-Control:no-cache="campo de" cabeçalho em respostas que contêm informações de cartão de crédito, como os últimos quatro dígitos do número do cartão de crédito e as informações de contato do proprietário do cartão. API Version 2016-01-13 4 Amazon CloudFront Guia do desenvolvedor Relatórios de uso da AWS e do CloudFront para Faturamento Amazon CloudFront é projetado para que você não tenha de pagar taxas iniciais ou assumir um compromisso de quanto conteúdo vai ter. Assim como ocorre com outros serviços da AWS, você paga conforme usar e pagar somente pelo que usar. O diagrama e tabela a seguir resumem as cobranças para usar o CloudFront. Sua fatura mensal de AWS separa seu uso e quantias em dólares por serviço da AWS e função. A tabela a seguir lista as cobranças que são ilustrados no gráfico anterior. Cobrança Comentários Armazenamento em um bucket do Amazon S3 Você paga os encargos normais de armazenamento do Amazon S3 para armazenar objetos em seu balde; as cobranças são exibidas na parte do Amazon S3 do seu extrato de AWS. Distribuição de objetos a partir de pontos de presença Você será cobrado pelos encargos do CloudFront quando ele responde a solicitações de seus objetos. Essas cobranças são mais baixos do que os encargos do Amazon S3 correspondente. As cobranças do CloudFront do CloudFront aparecem na parte do seu extrato da AWS. Para obter mais informações, consulte o Amazon CloudFront Pricing. Enviando dados para sua origem Você será cobrado pelos encargos do CloudFront quando os usuários transferir dados para sua origem, que inclui DELETE, OPTIONS, PATCH, POSTe PUT solicitações. As cobranças do CloudFront do CloudFront aparecem na parte do seu extrato da AWS. Para obter mais informações, consulte o Amazon CloudFront Pricing. Note Também haverá uma sobretaxa para solicitações HTTPS. Para obter mais informações, consulte o Amazon CloudFront Pricing. API Version 2016-01-13 5 Amazon CloudFront Guia do desenvolvedor Relatório de faturamento do CloudFront da AWS para A AWS fornece dois relatórios de uso para CloudFront: • O relatório de faturamento é uma exibição de alto nível de todas as atividades para os serviços da AWS que você está usando, incluindo CloudFront. Para obter mais informações, consulte Relatório de faturamento do CloudFront da AWS para (p. 6). • O relatório de uso é um resumo de atividade para um serviço específico, agregados por hora, dia ou mês. Para obter mais informações, consulte Relatório de uso da AWS para CloudFront (p. 7). Além disso, você pode visualizar gráficos de uso que fornecem uma representação gráfica do seu uso do CloudFront. Para obter mais informações, consulte Relatórios de uso do CloudFront (p. 22). Relatório de faturamento do CloudFront da AWS para Você pode ver um resumo do seu uso da AWS, e as cobranças listadas por serviço, na página Listas no Console de gerenciamento da AWS. Você também pode fazer o download de uma versão mais detalhada do relatório no formato CSV. O relatório de faturamento detalhado inclui os seguintes valores que são aplicáveis ao CloudFront: • ProductCode — AmazonCloudFront • UsageType — Um dos seguintes valores • Um código que identifica o tipo de transferência de dados • Invalidations • SSL-Cert-Custom Para obter mais informações, consulte Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS (p. 8). • Uma descrição da— ItemDescription dentro da taxa de faturamento UsageType. • Data inicial deuso/Data final de uso — O dia em que o uso aplica-se a, no Tempo Universal Coordenado (UTC). • Quantidade deuso — Um dos seguintes valores: • O número de solicitações durante o período de tempo especificado • A quantidade de dados transferidos em gigabytes • O número de objetos invalidados • A soma do rateada meses que você tiver certificados SSL associado a distribuições do CloudFront habilitado. Por exemplo, se você tiver um certificado associado a uma distribuição habilitado por um mês inteiro e outro certificado associado a uma distribuição habilitado para metade do mês, esse valor será 1.5. Para exibir informações de faturamento de resumo e fazer o download do relatório de faturamento detalhado 1. Cadastre-se no Console de gerenciamento da AWS em https://console.aws.amazon.com/console/ home. 2. Na barra de título, clique em seu nome de usuário do IAM e clique em Billing & Cost Management. 3. No painel de navegação, clique em Bills. 4. Para exibir informações de resumo para CloudFront, em Details, clique em CloudFront. 5. Para fazer o download de um relatório de faturamento detalhado no formato CSV, clique em Download CSVe siga as instruções na tela para salvar o relatório. API Version 2016-01-13 6 Amazon CloudFront Guia do desenvolvedor Relatório de uso da AWS para CloudFront Relatório de uso da AWS para CloudFront A AWS fornece um relatório de uso do CloudFront que é mais detalhado do que o relatório de faturamento detalhado do CloudFront, mas menos do que os logs de acesso. O relatório de uso fornece agregam dados de uso por hora, dia ou mês, e lista as operações de acordo com a região e tipo de uso, como dados transferidos para fora da região da Austrália. O relatório de uso do CloudFront inclui os seguintes valores: • Service — AmazonCloudFront • Operação — método HTTP. Os valores incluem DELETE, GET, HEAD, OPTIONS, PATCH, POST, e PUT. • UsageType — Um dos seguintes valores • Um código que identifica o tipo de transferência de dados • Invalidations • SSL-Cert-Custom Para obter mais informações, consulte Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS (p. 8). • Resource — O ID da distribuição do CloudFront associado ao uso ou o certificado ID de um certificado SSL que você tem associados a uma distribuição do CloudFront. • StartTime/EndTime — O dia em que o uso aplica-se a, no Tempo Universal Coordenado (UTC). • UsageValue — (1) O número de solicitações durante o período de tempo especificado ou (2) a quantidade de dados transferidos em bytes. Se você estiver usando o Amazon S3 como a origem de CloudFront, considere executando o relatório de uso para o Amazon S3. No entanto, se você usar o Amazon S3 para fins que não sejam como origem para suas distribuições do CloudFront, pode não ser claro que parte se aplica ao seu uso do CloudFront. Tip Para obter informações detalhadas sobre cada solicitação que ele recebe para seus objetos, ativar os logs de acesso do CloudFront para a sua distribuição. Para obter mais informações, consulte Logs de acesso (p. 264). Para fazer o download do relatório de uso para CloudFront ou Amazon S3 1. Cadastre-se no Console de gerenciamento da AWS em https://console.aws.amazon.com/console/ home. 2. 3. 4. 5. Na barra de título, clique em seu nome de usuário do IAM e clique em Billing & Cost Management. No painel de navegação, clique em Reports. Em AWS Usage Report, clique em AWS Usage Report. Na Service lista, clique em CloudFront ou Amazon Simple Storage Service. 6. Selecione as configurações aplicáveis: • Para obter uma explicação detalhada sobreUsage Types — tipos de uso do CloudFront, consulte the section called “Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS” (p. 8). Para o Amazon S3, selecione All Usage Types. • Operation — Selecione All Operations. • Time Period — Selecione o período de tempo que você deseja que o relatório abrange. API Version 2016-01-13 7 Amazon CloudFront Guia do desenvolvedor Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS • Report Granularity — Selecione se deseja que o relatório inclua subtotais por hora, por dia ou por mês. 7. Clique no botão de download para o formato desejado. 8. Siga as instruções na tela para visualizar ou salvar o relatório. Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS Sua fatura da AWS para o serviço do CloudFront inclui códigos e abreviações que podem não ser imediatamente óbvia. A primeira coluna na tabela a seguir lista os itens que aparecem na sua conta e explica o que cada significa. Além disso, você pode obter um relatório de uso da AWS para CloudFront que contém mais detalhes do que a fatura da AWS para CloudFront. A segunda coluna na tabela lista os itens que aparecem no relatório de uso e mostra a correlação entre os itens da lista de itens e relatório de uso. A maioria dos códigos em ambas as colunas incluem uma abreviação de duas letras que indica a localização da atividade. Na tabela a seguir, a região em um código é substituído por uma das seguintes abreviações de duas letras em sua fatura da AWS e no relatório de uso: • AP: Hong Kong, Filipinas, Coreia do Sul, Cingapura e Taiwan (Ásia-Pacífico) • AU: Austrália • UE: Europa • IN: Índia • JP: Japão • SA: América do Sul • EUA: Estados Unidos Para obter mais informações sobre a definição de preço por região, consulte o Amazon CloudFront Pricing. Note Esta tabela não inclui cobranças para a transferência de objetos em um bucket do Amazon S3 para os pontos de presença do CloudFront. Esses encargos, se houver, aparecem na AWS Data Transfer parte de sua conta da AWS. Os itens em sua conta do CloudFront Os valores na coluna Tipo de Uso no Relatório de uso do CloudFront região-DataTransfer-Out-Bytes Distribuições deweb: A soma de bytes do CloudFront utilizado para web e distribuições RTMP: • region-Out-Bytes-HTTP-Static: Bytes atendidas via HTTP para objetos com TTL ≥ 3.600 segundos • region-Out-Bytes-HTTPS-Static: Bytes atendidas por meio de HTTPS para objetos com TTL ≥ 3.600 segundos • Distribuições deweb: Total de bytes enviados a partir de pontos de presença do CloudFront na região em resposta a GET solicitações de usuário HEAD e • region-Out-Bytes-HTTP-Dynamic: Bytes atendidas via HTTP para objetos com TTL < 3.600 segundos • region-Out-Bytes-HTTPS-Dynamic: Bytes atendidas por meio de HTTPS para objetos com TTL < 3.600 segundos API Version 2016-01-13 8 Amazon CloudFront Guia do desenvolvedor Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS Os itens em sua conta do CloudFront Os valores na coluna Tipo de Uso no Relatório de uso do CloudFront • As distribuiçõesRTMP: Total de bytes transferidos dos pontos de presença do CloudFront na região para os usuários finais • region-Out-Bytes-HTTP-Proxy: Bytes retornado do CloudFront para visualizadores via HTTP em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações. • region-Out-Bytes-HTTPS-Proxy: Bytes retornado do CloudFront para visualizadores por meio de HTTPS em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações. As distribuiçõesRTMP: • região-FMS-Out-Bytes -@região fora OBytesDataTransfer- -@região fora OBytes-HTTP-Proxy Distribuições deweb apenas: Total de bytes transferidos dos pontos de presença do CloudFront para sua origem em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações. Total de bytes transferidos via HTTP a partir de pontos de presença do CloudFront para sua origem em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações. Solicitações deregião– Nível 1 Solicitações deregião– Estático-HTTP Distribuições deweb apenas: Número de HTTP GET e HEAD solicitações Número de HTTP GET e HEAD solicitações atendidas para objetos com TTL ≥ 3.600 segundos -@região fora OBytes-HTTPS-Proxy Total de bytes transferidos por meio de HTTPS a partir de pontos de presença do CloudFront para sua origem em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações. -@region-HTTP-DynamicSolicitações Número de HTTP GET e HEAD solicitações atendidas para objetos com TTL < 3.600 segundos região-Solicitações-Nível 2-HTTPS região-Solicitações-HTTPS-Static Distribuições deweb apenas: Número de HTTPS GET e HEAD solicitações Número de HTTPS GET e HEAD solicitações atendidas para objetos com TTL ≥ 3.600 segundos região-Solicitações-HTTPS-Dynamic Número de HTTPS GET e HEAD solicitações atendidas para objetos com TTL < 3.600 segundos Solicitações deregião-@-ProxyHTTP Distribuições deweb apenas: Número de HTTP DELETE, OPTIONS, PATCH, POSTe PUT solicitações que encaminha para sua origem do CloudFront Solicitações deregião-@-Proxy-HTTP O mesmo que o item correspondente na sua conta do CloudFront API Version 2016-01-13 9 Amazon CloudFront Guia do desenvolvedor Interpretando sua conta da AWS e o Relatório do CloudFront para uso da AWS Os itens em sua conta do CloudFront Os valores na coluna Tipo de Uso no Relatório de uso do CloudFront Solicitações-HTTPS-@region-Proxy Solicitações-HTTPS-@region-Proxy Distribuições deweb apenas: Número de HTTPS DELETE, OPTIONS, PATCH, POSTe PUT solicitações que encaminha para sua origem do CloudFront O mesmo que o item correspondente na sua conta do CloudFront Invalidações Invalidações Distribuições deweb apenas: A cobrança de anulação de objetos (remover os objetos a partir de pontos de presença do CloudFront); para obter mais informações, consulte O custo de anulação de objetos (p. 130) O mesmo que o item correspondente na sua conta do CloudFront Cert-CustomSSL Cert-CustomSSL Distribuições deweb apenas: A cobrança usando um certificado SSL com um nome de domínio alternativo do CloudFront como example.com em vez de usar o certificado SSL do CloudFront padrão e o nome de domínio que atribuídas a sua distribuição do CloudFront O mesmo que o item correspondente na sua conta do CloudFront API Version 2016-01-13 10 Amazon CloudFront Guia do desenvolvedor Relatórios do CloudFront O console do CloudFront inclui uma variedade de relatórios: • CloudFront Cache Statistics Reports (p. 11) • CloudFront Popular Objects Report (p. 11) • CloudFront Top Referrers Report (p. 12) • CloudFront Usage Reports (p. 12) • CloudFront Viewers Reports (p. 12) A maioria desses relatórios são com base nos dados no logs de acesso do CloudFront, que contêm informações detalhadas sobre cada solicitação do usuário que ele recebe. Você não precisa habilitar os logs de acesso para visualizar os relatórios. Para obter mais informações, consulte Logs de acesso (p. 264). O relatório de uso do CloudFront é baseado no uso da AWS para o relatório do CloudFront, que também não requer nenhuma configuração especial. Para obter mais informações, consulte Relatório de uso da AWS para CloudFront (p. 7). Relatóriosde estatísticas de cachedo CloudFront O relatório de estatísticas de cache do CloudFront inclui as seguintes informações: • Total de solicitações – mostra o número total de solicitações para todos os códigos de status do HTTP (por exemplo, 200 ou 404) e todos os métodos (por exemplo, GET, HEAD ou POST) • Porcentagem de solicitações do visualizador por tipo de resultado – mostra o número de solicitações atendidas, não atendidas e erros como uma porcentagem do total de solicitações do visualizador para a distribuição do CloudFront selecionado • Bytes transferidos para visualizadores – Mostra total de bytes e bytes de erros • Códigos de status deHTTP – Mostra as solicitações de visualizadores por código de status do HTTP • Porcentagem de solicitações GET com download não concluído– visualizador GET mostra o número de solicitações que não concluíram o download do objeto solicitado como uma porcentagem do total de solicitações Para obter mais informações, consulte Relatórios de estatísticas de cache do CloudFront (p. 12). Relatóriode objetos popularesdo CloudFront O relatório de objetos populares do CloudFront lista os 50 objetos mais populares e estatísticas sobre esses objetos, incluindo o número de solicitações para o objeto, o número de acertos e erros, a taxa de acertos, o número de bytes enviados para solicitações não atendidas, o total de bytes enviados, o número de downloads incompleta, e o número de solicitações por código de status HTTP (2xx, 3xx, 4xx e 5xx). API Version 2016-01-13 11 Amazon CloudFront Guia do desenvolvedor Relatórios de estatísticas de cache do CloudFront Para obter mais informações, consulte Relatório de objetos populares do CloudFront (p. 16). Relatóriode principais indicadoresdo CloudFront O relatório de principais indicadores do CloudFront inclui 25 principais indicadores, o número de solicitações de um indicador e o número de solicitações de um indicador como uma porcentagem do número total de solicitações durante o período especificado. Para obter mais informações, consulte Relatório de principais indicadores do CloudFront (p. 20). Relatóriosde usodo CloudFront Os relatórios de uso do CloudFront incluem as seguintes informações: • Número de solicitações – Mostra o número de solicitações HTTP e HTTPS do CloudFront responde a partir de pontos de presença na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront • Os dados transferidos pelo Protocol – Mostra a quantidade total de dados transferidos via HTTP e HTTPS de pontos de presença do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront • Os dados transferidos por Destino– Mostra a quantidade total de dados transferidos via HTTP e HTTPS de pontos de presença do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront Para obter mais informações, consulte Relatórios de uso do CloudFront (p. 22). Relatóriosde visualizadoresdo CloudFront Os relatórios de visualizadores do CloudFront incluem as seguintes informações: • Os dispositivos – Mostra os tipos de dispositivos (por exemplo, Desktop ou Mobile) que os usuários usam para acessar seu conteúdo • Os navegadores – Mostra o nome (ou o nome e versão) dos navegadores que seus usuários usa com mais frequência para acessar seu conteúdo, por exemplo, Chrome ou Firefox • Sistemasoperacionais – Mostra o nome (ou o nome e versão) do sistema operacional que os visualizadores são executadas em mais frequentemente ao acessar seu conteúdo, por exemplo, Linux, Mac OS X ou Windows • Locais – Mostra os locais, país ou estado dos EUA/território dos visualizadores que acessam seu conteúdo com mais frequência Para obter mais informações, consulte Relatórios de visualizadores do CloudFront (p. 27). Relatórios de estatísticas de cache do CloudFront Você pode usar o console Amazon CloudFront para exibir uma representação gráfica de estatísticas relacionadas para os pontos de presença do CloudFront. Os dados para essas estatísticas são retirados da mesma origem como logs de acesso do CloudFront. Você pode exibir gráficos para um determinado intervalo de datas nos últimos 60 dias, com pontos de dados a cada hora ou todos os dias. Você pode geralmente visualizar dados sobre solicitações recebidas do CloudFront em uma hora atrás, mas os dados eventualmente, pode ser atrasada em até 24 horas. Note Você não precisa habilitar o log de acesso para exibir estatísticas de cache. API Version 2016-01-13 12 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV Para exibir estatísticas de cache do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No painel de navegação, clique em Cache Statistics. 3. No CloudFront Cache Statistics Reports painel, para Start Date e End Date, selecione o intervalo de datas para o qual você deseja exibir gráficos de estatísticas de cache. Disponível intervalos dependem do valor que você selecionar para Granularity: • Daily – Para exibir gráficos com um ponto de dados por dia, selecione qualquer intervalo de datas nos últimos 60 dias. • Para exibir gráficos– por hora com um único ponto de dados a cada hora, selecione qualquer intervalo de datas de até 14 dias dentro dos últimos 60 dias. Datas e horários são no Tempo Universal Coordenado (UTC). 4. Para Granularity, especifique se deseja exibir um ponto de dados por dia ou um ponto de dados por hora nos gráficos. Se você especificar um intervalo de datas mais de 14 dias, a opção para especificar um ponto de dados por hora não está disponível. 5. Para Viewer Location, escolha o continente do qual as solicitações do visualizador originado ou escolha All Locations. gráficos de estatísticas de cache para solicitações que incluem dados do CloudFront recebidos do local especificado. 6. Na Distribution lista, selecione as distribuições para as quais você deseja exibir dados nos gráficos de utilização: • Uma distribuição de web individuais – Os gráficos exibem os dados para a distribuição de web do CloudFront selecionada. A Distribution lista exibe o ID de distribuição e nomes de domínio alternativo (CNAMEs) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui nomes de domínio de origem para a distribuição. • Todos os Distribuições de web – Os gráficos exibem somados os dados para todas as distribuições que estão associados com a conta da AWS atual, exceto as distribuições da web que você tenha excluído. 7. Clique em Update. 8. Para exibir dados de um ponto de dados a cada dia ou hora em um gráfico, mova o ponteiro do mouse sobre o ponto de dados. 9. Para gráficos que mostram dados transferidos, observe que você pode alterar a escala vertical para gigabytes, megabytes ou kilobytes para cada gráfico. Tópicos • Baixando dados no formato CSV (p. 13) • Como os gráficos de estatísticas de cache são relacionados aos dados nos logs de acesso do CloudFront (p. 15) Baixando dados no formato CSV Você pode fazer o download do relatório de estatísticas de cache no formato CSV. Esta seção explica como fazer o download do relatório e descreve os valores no relatório. Para fazer o download do relatório de estatísticas de cache no formato CSV 1. Ao exibir o relatório de estatísticas de cache, clique em CSV. 2. Na caixa de diálogoAbrir nome de arquivo, escolha se deseja abrir ou salvar o arquivo. API Version 2016-01-13 13 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV Informações sobre o relatório O primeiro algumas linhas do relatório incluem as seguintes informações: Versão A versão do formato para este arquivo CSV. Relatório O nome do relatório. DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. StartDateUTC O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). EndDateUTC O final do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). GeneratedTimeUTC A data e a hora em que você executou o relatório, no Tempo Universal Coordenado (UTC). Granularidade Independentemente de cada linha no relatório representa uma hora ou um dia. ViewerLocation O continente que solicitações do visualizador de origem, ou ALL, se você optar por fazer o download do relatório para todos os locais. Os dados no relatório de estatísticas de cache O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. ViewerLocation O continente que solicitações do visualizador de origem, ou ALL, se você optar por fazer o download do relatório para todos os locais. TimeBucket A hora ou o dia em que os dados se aplica, no Tempo Universal Coordenado (UTC). RequestCount O número total de solicitações para todos os códigos de status do HTTP (por exemplo, 200 ou 404) e todos os métodos (por exemplo, GET, HEAD ou POST). HitCount O número de solicitações do visualizador para que o objeto é fornecido de um cache de presença do CloudFront. MissCount O número de solicitações do visualizador para que o objeto não está atualmente em um cache de presença do CloudFront, de modo que precisa obter o objeto de sua origem. ErrorCount O número de solicitações do visualizador que resultaram em um erro, de forma que ele não servir o objeto. API Version 2016-01-13 14 Amazon CloudFront Guia do desenvolvedor Como os gráficos de estatísticas de cache são relacionados aos dados nos logs de acesso do CloudFront IncompleteDownloadCount O número de solicitações do visualizador para que o visualizador foi iniciado, mas não concluíram o download do objeto. HTTP2xx O número de solicitações do visualizador para que o código de status HTTP era um valor 2xx (bem-sucedido). HTTP3xx O número de solicitações do visualizador para que o código de status HTTP 3xx foi um valor (ação adicional é necessária). HTTP4xx O número de solicitações do visualizador para que o código de status HTTP 4xx foi um valor (cliente erro). HTTP5xx O número de solicitações do visualizador para que o código de status HTTP era um erro de servidor (valor 5xx). TotalBytes O número total de bytes enviados para visualizadores por CloudFront em resposta a todas as solicitações para todos os métodos HTTP. BytesFromMisses O número de bytes enviados para visualizadores para objetos que não foram aplicáveis no cache de presença no momento da solicitação. Esse valor é uma boa aproximação de bytes transferidos da origem até caches de presença do CloudFront. No entanto, ele não inclui solicitações de objetos que já estão no cache de presença, mas que tenham expirado. Como os gráficos de estatísticas de cache são relacionados aos dados nos logs de acesso do CloudFront A tabela a seguir mostra como gráficos de estatísticas de cache no console do CloudFront correspondem com os valores em logs de acesso do CloudFront. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Total de solicitações Este gráfico mostra o número total de solicitações para todos os códigos de status do HTTP (por exemplo, 200 ou 404) e todos os métodos (por exemplo, GET, HEADou POST). Total de solicitações mostrados neste gráfico igual o número total de solicitações nos arquivos de log de acesso para o mesmo período de tempo. Porcentagem de solicitações do visualizador por tipo de resultado Este gráfico mostra o número de solicitações atendidas, não atendidas e erros como uma porcentagem do total de solicitações do visualizador para a distribuição do CloudFront: • Hit – Uma solicitação do visualizador para que o objeto é fornecido de um cache de presença do CloudFront. Em logs de acesso, essas são as solicitações para as quais o valor de x-edgeresponse-result-type é Hit. • A solicitação de visualizador– Erros para que o objeto não está atualmente em um cache de presença do CloudFront, de modo que precisa obter o objeto de sua origem. Em logs de acesso, essas são as solicitações para as quais o valor de x-edge-response-result-type é Miss. • Erro ao – Uma solicitação de visualizador que resultaram em um erro, de forma que ele não servir o objeto. Em logs de acesso, essas são as solicitações para as quais o valor de x-edgeresponse-result-type é Error, LimitExceededou CapacityExceeded. API Version 2016-01-13 15 Amazon CloudFront Guia do desenvolvedor Relatório de objetos populares do CloudFront O gráfico não inclui atualizar hits — solicitações para objetos que estão no cache de presença, mas que tenham expirado. Em logs de acesso, atualizar hits são solicitações para que o valor de x-edge-response-result-type é RefreshHit. Bytes transferidos para visualizadores Este gráfico mostra dois valores: • Total de bytes – O número total de bytes enviados para visualizadores por CloudFront em resposta a todas as solicitações para todos os métodos HTTP. Em logs de acesso do CloudFront, Total Bytes é a soma dos valores na sc-bytes coluna para todas as solicitações durante o mesmo período de tempo. • Bytes de Erros – O número de bytes enviados para visualizadores para objetos que não foram aplicáveis no cache de presença no momento da solicitação. Em logs de acesso do CloudFront, Bytes from Misses é a soma dos valores na sc-bytes coluna para solicitações para que o valor de x-edge-result-type é Miss. Esse valor é uma boa aproximação de bytes transferidos da origem até caches de presença do CloudFront. No entanto, ele não inclui solicitações de objetos que já estão no cache de presença, mas que tenham expirado. Códigos de status de HTTP Este gráfico mostra as solicitações de visualizadores por código de status do HTTP. Em logs de acesso do CloudFront, códigos de status são exibidos na sc-status coluna: • 2xx – A solicitação foi bem-sucedida. • 3xx – ação adicional é necessária. Por exemplo, 301 (Movido permanentemente) significa que o objeto solicitado foi movido para um local diferente. • O cliente– 4xx aparentemente fez um erro. Por exemplo, 404 (não encontrado) significa que o cliente solicitou um objeto que não pôde ser encontrada. • 5xx – O servidor de origem não preencher a solicitação. Por exemplo, 503 (Serviço Indisponível) significa que o servidor de origem está indisponível no momento. Porcentagem de solicitações GET com download não concluído Este gráfico mostra o visualizador de GET solicitações que não concluíram o download do objeto solicitado como uma porcentagem do total de solicitações. Normalmente, o download de um objeto não concluído, pois o visualizador cancelado o download, por exemplo, clicando em um link diferente ou ao fechar o navegador. Em logs de acesso do CloudFront, essas solicitações têm um valor 200 na sc-status coluna e um valor Error na x-edge-result-type coluna. Relatório de objetos populares do CloudFront O console Amazon CloudFront pode exibir uma lista dos 50 objetos mais populares para uma distribuição durante um determinado intervalo de datas nos últimos 60 dias. Data para o relatório de objetos populares é desenhado da mesma origem como logs de acesso do CloudFront. Para obter uma contagem de precisos entre os 50 objetos, ele conta a solicitações para todos os seus objetos em intervalos de 10 minutos começando à meia-noite e mantém um total de execução dos principais 150 objetos para os próximos 24 horas. (do CloudFront também mantém totais diários para os principais 150 objetos por 60 dias). Perto do final do aumento na lista, os objetos constantemente ou uma entrega da lista, de modo que os totais para esses objetos são aproximadas. Os cinquenta objetos na parte superior da lista de 150 objetos podem aumentar e diminuir em lista, mas eles raramente soltar fora da lista, para que os totais para esses objetos normalmente são mais confiáveis. Quando um objeto cai fora da lista das principais 150 objetos e, em seguida, aumenta para a lista novamente durante o período de um dia, o CloudFront adiciona um número estimado de solicitações para o período em que o objeto foi faltando na lista. A estimativa é baseado no número de solicitações recebidas por qualquer objeto foi na parte inferior da lista durante esse período. Se o objeto aumenta para os 50 objetos mais tarde no dia, as estimativas do número de solicitações que o objeto foi recebida enquanto do CloudFront fora das principais 150 objetos geralmente faz com que o número de API Version 2016-01-13 16 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV solicitações no relatório de objetos populares para exceder o número de solicitações que aparecem no logs de acesso para esse objeto. Note Você não precisa habilitar o log de acesso para visualizar uma lista de objetos populares. Para exibir objetos populares para uma distribuição 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No painel de navegação, clique em Popular Objects. 3. No CloudFront Popular Objects Report painel, para Start Date e End Date, selecione o intervalo de datas para o qual você deseja exibir uma lista de objetos populares. Você pode escolher qualquer intervalo de datas nos últimos 60 dias. Datas e horários são no Tempo Universal Coordenado (UTC). 4. Na Distribution lista, selecione a distribuição para a qual você deseja exibir uma lista de objetos populares. 5. Clique em Update. Tópicos • Baixando dados no formato CSV (p. 17) • Como Data no relatório de objetos populares está relacionada a dados nos logs de acesso do CloudFront (p. 19) Baixando dados no formato CSV Você pode fazer o download do relatório de objetos populares no formato CSV. Esta seção explica como fazer o download do relatório e descreve os valores no relatório. Para fazer o download do relatório de objetos populares no formato CSV 1. Ao exibir o relatório de objetos populares, clique em CSV. 2. Na caixa de diálogoAbrir nome de arquivo, escolha se deseja abrir ou salvar o arquivo. Informações sobre o relatório O primeiro algumas linhas do relatório incluem as seguintes informações: Versão A versão do formato para este arquivo CSV. Relatório O nome do relatório. DistributionID O ID da distribuição que você executou o relatório. StartDateUTC O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). EndDateUTC O final do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). API Version 2016-01-13 17 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV GeneratedTimeUTC A data e a hora em que você executou o relatório, no Tempo Universal Coordenado (UTC). Os dados no relatório de objetos populares O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. Objeto A última 500 caracteres do URL para o objeto. RequestCount O número total de solicitações para esse objeto. HitCount O número de solicitações do visualizador para que o objeto é fornecido de um cache de presença do CloudFront. MissCount O número de solicitações do visualizador para que o objeto não está atualmente em um cache de presença do CloudFront, de modo que precisa obter o objeto de sua origem. HitCountPct O valor de HitCount como uma porcentagem do valor da RequestCount. BytesFromMisses O número de bytes enviados para visualizadores para esse objeto quando o objeto não estava no cache de presença aplicáveis no momento da solicitação. TotalBytes O número total de bytes enviados para visualizadores por CloudFront para esse objeto em resposta a todas as solicitações para todos os métodos HTTP. IncompleteDownloadCount O número de solicitações do visualizador para esse objeto para o qual o visualizador foi iniciado, mas não concluíram o download do objeto. HTTP2xx O número de solicitações do visualizador para que o código de status HTTP era um valor 2xx (bem-sucedido). HTTP3xx O número de solicitações do visualizador para que o código de status HTTP 3xx foi um valor (ação adicional é necessária). HTTP4xx O número de solicitações do visualizador para que o código de status HTTP 4xx foi um valor (cliente erro). HTTP5xx O número de solicitações do visualizador para que o código de status HTTP era um erro de servidor (valor 5xx). API Version 2016-01-13 18 Amazon CloudFront Guia do desenvolvedor Como Data no relatório de objetos populares está relacionada a dados nos logs de acesso do CloudFront Como Data no relatório de objetos populares está relacionada a dados nos logs de acesso do CloudFront A lista a seguir mostra como valores no relatório de objetos populares no console do CloudFront correspondem com os valores em logs de acesso do CloudFront. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). URL A última 500 caracteres do URL que os usuários usam para acessar o objeto. Solicitações O número total de solicitações para o objeto. Esse valor geralmente corresponde em conjunto com o número de GET solicitações para o objeto no logs de acesso do CloudFront. Ocorrências O número de solicitações do visualizador para que o objeto foi fornecido de um cache de presença do CloudFront. Em logs de acesso, essas são as solicitações para as quais o valor de x-edge-response-result-type é Hit. Erros O número de solicitações do visualizador para que o objeto não estava em um cache de presença do CloudFront, para recuperar o objeto de sua origem. Em logs de acesso, essas são as solicitações para as quais o valor de x-edge-response-result-type é Miss. Acertos O valor da Hits coluna como uma porcentagem do valor da Requests coluna. Bytes de Erros O número de bytes enviados para visualizadores para objetos que não foram aplicáveis no cache de presença no momento da solicitação. Em logs de acesso do CloudFront, Bytes from Misses é a soma dos valores na sc-bytes coluna para solicitações para que o valor de x-edge-resulttype é Miss. Total de bytes O número total de bytes enviados para visualizadores do CloudFront em resposta a todas as solicitações para o objeto para todos os métodos HTTP. Em logs de acesso do CloudFront, Total Bytes é a soma dos valores na sc-bytes coluna para todas as solicitações durante o mesmo período de tempo. Downloads Incompletas O número de solicitações do visualizador que não concluíram o download do objeto solicitado. Normalmente, o motivo que um download não concluído é que o visualizador cancelado, por exemplo, clicando em um link diferente ou ao fechar o navegador. Em logs de acesso do CloudFront, essas solicitações têm um valor 200 na sc-status coluna e um valor Error na xedge-result-type coluna. 2xx 3xx 4xx O número de solicitações para que o código de status HTTP é 2xx, Successful. Em logs de acesso do CloudFront, códigos de status aparecem na sc-status coluna. O número de solicitações para que o código de status HTTP é 3xx, Redirection. códigos de3xx status indicam que uma ação adicional é necessária. Por exemplo, 301 (Movido permanentemente) significa que o objeto solicitado foi movido para um local diferente. O número de solicitações para que o código de status HTTP é 4xx, Client Error. códigos de4xx status indicam que o cliente aparentemente fez um erro. Por exemplo, 404 (não encontrado) significa que o cliente solicitou um objeto que não pôde ser encontrada. API Version 2016-01-13 19 Amazon CloudFront Guia do desenvolvedor Relatório de principais indicadores do CloudFront 5xx O número de solicitações para que o código de status HTTP é 5xx, Server Error. códigos de5xx status indicam que o servidor de origem não preencher a solicitação. Por exemplo, 503 (Serviço Indisponível) significa que o servidor de origem está indisponível no momento. Relatório de principais indicadores do CloudFront O console do CloudFront pode exibir uma lista dos 25 domínios dos sites que originou a maioria das solicitações HTTP e HTTPS para objetos que é a distribuição do CloudFront para uma distribuição especificado. Esses principais indicadores podem ser mecanismos de pesquisa, outros sites que se vinculem diretamente aos seus objetos ou o seu próprio site. Por exemplo, se http://example.com/ index.html links para 10 gráficos, exemplo.com é o indicador para todos os 10 gráficos. Você pode exibir o relatório de principais indicadores para qualquer intervalo de datas nos últimos 60 dias. Note Se um usuário informa um URL diretamente na linha de endereço de um navegador, não há indicador para o objeto solicitado. Data para o relatório de principais indicadores é desenhado da mesma origem como logs de acesso do CloudFront. Para obter uma contagem de precisas das 25 principais indicadores, ele conta a solicitações para todos os seus objetos em intervalos de 10 minutos e mantém um total de execução dos principais 75 referenciais. Perto do final da lista, referenciais constantemente para aumento ou uma entrega da lista, de modo que os totais para esses indicadores são aproximadas. O 25 referenciais na parte superior da lista de 75 indicadores podem aumentar e diminuir em lista, mas eles raramente soltar fora da lista, para que os totais para esses indicadores geralmente são mais confiáveis. Note Você não precisa habilitar o log de acesso para visualizar uma lista de principais indicadores. Para exibir principais indicadores para uma distribuição 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No painel de navegação, clique em Top Referrers. 3. No CloudFront Top Referrers Report painel, para Start Date e End Date, selecione o intervalo de datas para o qual você deseja exibir uma lista de principais indicadores. Datas e horários são no Tempo Universal Coordenado (UTC). 4. Na Distribution lista, selecione a distribuição para a qual você deseja exibir uma lista de principais indicadores. 5. Clique em Update. Tópicos • Baixando dados no formato CSV (p. 21) • Como Data no Relatório de principais indicadores de dados no está relacionada a logs de acesso do CloudFront (p. 22) API Version 2016-01-13 20 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV Baixando dados no formato CSV Você pode fazer o download do relatório de principais indicadores no formato CSV. Esta seção explica como fazer o download do relatório e descreve os valores no relatório. Para fazer o download do relatório de principais indicadores no formato CSV 1. Ao exibir o relatório de principais indicadores, clique em CSV. 2. Na caixa de diálogoAbrir nome de arquivo, escolha se deseja abrir ou salvar o arquivo. Informações sobre o relatório O primeiro algumas linhas do relatório incluem as seguintes informações: Versão A versão do formato para este arquivo CSV. Relatório O nome do relatório. DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. StartDateUTC O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). EndDateUTC O final do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). GeneratedTimeUTC A data e a hora em que você executou o relatório, no Tempo Universal Coordenado (UTC). Os dados no relatório de principais indicadores O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. Referenciador O nome do domínio do indicador. O número total de solicitações do nome de domínio na Referrer coluna. RequestsPct O número de solicitações enviadas pelo indicador como uma porcentagem do número total de solicitações durante o período especificado. API Version 2016-01-13 21 Amazon CloudFront Guia do desenvolvedor Como Data no Relatório de principais indicadores de dados no está relacionada a logs de acesso do CloudFront Como Data no Relatório de principais indicadores de dados no está relacionada a logs de acesso do CloudFront A lista a seguir mostra como valores no relatório de principais indicadores no console do CloudFront correspondem com os valores em logs de acesso do CloudFront. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Referenciador O nome do domínio do indicador. Em logs de acesso, indicadores estão listados na cs(Referer) coluna. Contagem de solicitação O número total de solicitações do nome de domínio na Referrer coluna. Esse valor geralmente corresponde em conjunto com o número de GET solicitações do indicador do CloudFront nos logs de acesso. Solicitação % O número de solicitações enviadas pelo indicador como uma porcentagem do número total de solicitações durante o período especificado. Se você tiver mais de 25 referenciais e, em seguida, você não pode calcular Request % com base nos dados dessa tabela porque a Request Count coluna não incluem todas as solicitações durante o período especificado. Relatórios de uso do CloudFront O console Amazon CloudFront pode exibir uma representação gráfica do seu uso do CloudFront baseado em um subconjunto de relatório de uso de dados. Você pode exibir gráficos para um determinado intervalo de datas nos últimos 60 dias, com pontos de dados a cada hora ou todos os dias. Você pode geralmente visualizar dados sobre solicitações recebidas do CloudFront em quatro horas, mas os dados eventualmente, pode ser atrasada em até 24 horas. Para obter mais informações, consulte Como o são os gráficos de utilização do CloudFront relacionados aos dados no relatório de uso (p. 25). Para exibir gráficos de utilização do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No navigation painel, clique em Usage Reports. 3. No CloudFront Usage Reports painel, para Start Date e End Date, selecione o intervalo de datas para o qual você deseja exibir gráficos de uso. Disponível intervalos dependem do valor que você selecionar para Granularity: • Daily — Para exibir gráficos com um ponto de dados por dia, selecione qualquer intervalo de datas nos últimos 60 dias. • Hourly — Para exibir gráficos com um ponto de dados a cada hora, selecione qualquer intervalo de datas de até 14 dias dentro dos últimos 60 dias. Datas e horários são no Tempo Universal Coordenado (UTC). 4. Para Granularity, especifique se deseja exibir um ponto de dados por dia ou um ponto de dados por hora nos gráficos. Se você especificar um intervalo de datas mais de 14 dias, a opção para especificar um ponto de dados por hora não está disponível. API Version 2016-01-13 22 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV 5. Para Billing Region, escolher a região de faturamento do CloudFront que tem os dados que você deseja visualizar ou escolha All Regions. Os gráficos de uso incluem dados para solicitações que os processos do CloudFront em pontos de presença na região especificada. A região em que os processos do CloudFront solicitações pode ou não correspondem com a localização de seus usuários. Selecione apenas regiões que estão incluídos na classe de preço para sua distribuição; caso contrário, os gráficos de utilização provavelmente não contêm quaisquer dados. Por exemplo, se você escolher Classe de preço 200 para sua distribuição, a América do Sul e Austrália regiões de faturamento do CloudFront não estão incluídos, o que geralmente não processar as solicitações das regiões. Para obter mais informações sobre classes de preços, consulte Escolha a classe de preço para uma distribuição do CloudFront (p. 49). 6. Na Distribution lista, selecione as distribuições para as quais você deseja exibir dados nos gráficos de utilização: • Uma distribuição de web individuais — Os gráficos exibem os dados para a distribuição do CloudFront. A Distribution lista exibe o ID de distribuição e nomes de domínio alternativo (CNAMEs) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui nomes de domínio de origem para a distribuição. • Os gráficos exibem somadosAll Web Distributions (excludes deleted) — dados para todas as distribuições que estão associados com a conta da AWS atual, exceto as distribuições da web que você tenha excluído. • Os gráficos exibem somadosAll Deleted Distributions — dados para todas as distribuições atuais que estão associados com a conta da AWS e que foram excluídos nos últimos 60 dias. 7. Clique em Update Graphs. 8. Para exibir dados de um ponto de dados a cada dia ou hora em um gráfico, mova o ponteiro do mouse sobre o ponto de dados. 9. Para gráficos que mostram dados transferidos, observe que você pode alterar a escala vertical para gigabytes, megabytes ou kilobytes para cada gráfico. Tópicos • Baixando dados no formato CSV (p. 23) • Como o são os gráficos de utilização do CloudFront relacionados aos dados no relatório de uso (p. 25) Baixando dados no formato CSV Você pode fazer o download do relatório de uso no formato CSV. Esta seção explica como fazer o download do relatório e descreve os valores no relatório. Para fazer o download do relatório de uso no formato CSV 1. Ao exibir o relatório de uso, clique em CSV. 2. Na caixa de diálogoAbrir nome de arquivo, escolha se deseja abrir ou salvar o arquivo. Informações sobre o relatório O primeiro algumas linhas do relatório incluem as seguintes informações: Versão A versão do formato para este arquivo CSV. API Version 2016-01-13 23 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV Relatório O nome do relatório. DistributionID O ID da distribuição que você executou o relatório para, ALL se você executou o relatório para todas as distribuições, ou ALL_DELETED se você executou o relatório para todas as distribuições excluídos. StartDateUTC O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). EndDateUTC O final do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). GeneratedTimeUTC A data e a hora em que você executou o relatório, no Tempo Universal Coordenado (UTC). Granularidade Independentemente de cada linha no relatório representa uma hora ou um dia. BillingRegion O continente que solicitações do visualizador de origem, ou ALL, se você optar por fazer o download do relatório para todas as regiões de faturamento. Os dados no Relatório de uso O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ALL se você executou o relatório para todas as distribuições, ou ALL_DELETED se você executou o relatório para todas as distribuições excluídos. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. BillingRegion A região de faturamento do CloudFront que você executou o relatório para ou ALL. TimeBucket A hora ou o dia em que os dados se aplica, no Tempo Universal Coordenado (UTC). HTTP O número de solicitações HTTP que serão respondidos a partir de pontos de presença do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront. Os valores incluem: • O número de GET solicitações HEAD e do CloudFront, que cause para transferir dados para seus usuários • O número de DELETE, OPTIONS, PATCH, POST, e PUT solicitações, que causa do CloudFront para transferir dados para sua origem HTTPS O número de solicitações HTTPS que serão respondidos a partir de pontos de presença do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront. Os valores incluem: • O número de GET solicitações HEAD e do CloudFront, que cause para transferir dados para seus usuários • O número de DELETE, OPTIONS, PATCH, POST, e PUT solicitações, que causa do CloudFront para transferir dados para sua origem API Version 2016-01-13 24 Amazon CloudFront Guia do desenvolvedor Como o são os gráficos de utilização do CloudFront relacionados aos dados no relatório de uso HTTPBytes A quantidade total de dados transferidos por HTTP a partir de pontos de presença do CloudFront na região de faturamento selecionado durante o período de tempo para a distribuição do CloudFront. Os valores incluem: • Os dados transferidos do CloudFront para seus usuários em resposta a GET solicitações HEAD e • Os dados transferidos do CloudFront para sua origem para DELETE, OPTIONS, PATCH, POSTe PUT solicitações • Os dados transferidos do CloudFront para seus usuários em resposta a DELETE, OPTIONS, PATCH, POST e solicitações PUT HTTPSBytes A quantidade total de dados transferidos por HTTPS a partir de pontos de presença do CloudFront na região de faturamento selecionado durante o período de tempo para a distribuição do CloudFront. Os valores incluem: • Os dados transferidos do CloudFront para seus usuários em resposta a GET solicitações HEAD e • Os dados transferidos do CloudFront para sua origem para DELETE, OPTIONS, PATCH, POSTe PUT solicitações • Os dados transferidos do CloudFront para seus usuários em resposta a DELETE, OPTIONS, PATCH, POST e solicitações PUT BytesIn A quantidade total de dados transferidos do CloudFront para sua origem para DELETE, OPTIONS, PATCH, POSTe PUT solicitações na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront. BytesOut A quantidade total de dados transferidos via HTTP e HTTPS do CloudFront para seus usuários na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront. Os valores incluem: • Os dados transferidos do CloudFront para seus usuários em resposta a GET solicitações HEAD e • Os dados transferidos do CloudFront para seus usuários em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações Como o são os gráficos de utilização do CloudFront relacionados aos dados no relatório de uso A lista a seguir mostra como o uso gráficos no console do CloudFront correspondem com os valores na Usage Type coluna no relatório de uso do CloudFront. Tópicos • Número de solicitações (p. 25) • Os dados transferidos pelo Protocol (p. 26) • Os dados transferidos por Destino (p. 26) Número de solicitações Este gráfico mostra o número de solicitações HTTP e HTTPS do CloudFront responde a partir de pontos de presença na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront. Número de Solicitações HTTP • região-Solicitações-HTTP Estático: Número de HTTP GET e HEAD solicitações atendidas para objetos com TTL ≥ 3.600 segundos API Version 2016-01-13 25 Amazon CloudFront Guia do desenvolvedor Como o são os gráficos de utilização do CloudFront relacionados aos dados no relatório de uso • região-Solicitações-HTTP Dynamic: Número de HTTP GET e HEAD solicitações atendidas para objetos com TTL < 3.600 segundos • Solicitações deregião-@-HTTP-Proxy: Número de HTTP DELETE, OPTIONS, PATCH, POSTe PUT solicitações que encaminha para sua origem do CloudFront Número de Solicitações HTTPS • região-Solicitações-HTTPS-Static: Número de HTTPS GET e HEAD solicitações atendidas para objetos com TTL ≥ 3.600 segundos • região-Solicitações-HTTPS-Dynamic: Número de HTTPS GET e HEAD solicitações atendidas para objetos com TTL < 3.600 segundos • Solicitações-HTTPS-@region-Proxy: Número de HTTPS DELETE, OPTIONS, PATCH, POSTe PUT solicitações que encaminha para sua origem do CloudFront Os dados transferidos pelo Protocol Este gráfico mostra a quantidade total de dados transferidos via HTTP e HTTPS de pontos de presença do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront. Os dados transferidos via HTTP • region-Out-Bytes-HTTP-Static: Bytes atendidas via HTTP para objetos com TTL ≥ 3.600 segundos • region-Out-Bytes-HTTP-Dynamic: Bytes atendidas via HTTP para objetos com TTL < 3.600 segundos • region-Out-Bytes-HTTP-Proxy: Bytes retornado do CloudFront para visualizadores via HTTP em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações • -@região fora OBytes-HTTP-Proxy: Total de bytes transferidos via HTTP a partir de pontos de presença do CloudFront para sua origem em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações Os dados transferidos por HTTPS • region-Out-Bytes-HTTPS-Static: Bytes atendidas por meio de HTTPS para objetos com TTL ≥ 3.600 segundos • region-Out-Bytes-HTTPS-Dynamic: Bytes atendidas por meio de HTTPS para objetos com TTL < 3.600 segundos • region-Out-Bytes-HTTPS-Proxy: Bytes retornado do CloudFront para visualizadores por meio de HTTPS em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações • -@região fora OBytes-HTTPS-Proxy: Total de bytes transferidos por meio de HTTPS a partir de pontos de presença do CloudFront para sua origem em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações Os dados transferidos por Destino Este gráfico mostra a quantidade total de dados transferidos via HTTP e HTTPS de pontos de presença do CloudFront na região selecionada durante cada intervalo de tempo para a distribuição do CloudFront. Os dados transferidos do CloudFront aos seus usuários • region-Out-Bytes-HTTP-Static: Bytes atendidas via HTTP para objetos com TTL ≥ 3.600 segundos • region-Out-Bytes-HTTPS-Static: Bytes atendidas por meio de HTTPS para objetos com TTL ≥ 3.600 segundos API Version 2016-01-13 26 Amazon CloudFront Guia do desenvolvedor Relatórios de visualizadores do CloudFront • region-Out-Bytes-HTTP-Dynamic: Bytes atendidas via HTTP para objetos com TTL < 3.600 segundos • region-Out-Bytes-HTTPS-Dynamic: Bytes atendidas por meio de HTTPS para objetos com TTL < 3.600 segundos • region-Out-Bytes-HTTP-Proxy: Bytes retornado do CloudFront para visualizadores via HTTP em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações • region-Out-Bytes-HTTPS-Proxy: Bytes retornado do CloudFront para visualizadores por meio de HTTPS em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações Os dados transferidos do CloudFront para sua origem • -@região fora OBytes-HTTP-Proxy: Total de bytes transferidos via HTTP a partir de pontos de presença do CloudFront para sua origem em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações • -@região fora OBytes-HTTPS-Proxy: Total de bytes transferidos por meio de HTTPS a partir de pontos de presença do CloudFront para sua origem em resposta a DELETE, OPTIONS, PATCH, POSTe PUT solicitações Relatórios de visualizadores do CloudFront O console do CloudFront pode exibir quatro relatórios sobre os dispositivos físicos (desktops, dispositivos móveis) e sobre os visualizadores (normalmente, navegadores da Web) que estão acessando seu conteúdo: • Os dispositivos – O tipo de dispositivos que seus usuários usa com mais frequência para acessar seu conteúdo, por exemplo, Desktop ou Mobile. • Os navegadores – O nome (ou o nome e versão) dos navegadores que seus usuários usa com mais frequência para acessar seu conteúdo, por exemplo, Chrome ou Firefox. O relatório mostra os 10 principais navegadores. • Sistemasoperacionais – O nome (ou o nome e versão) do sistema operacional que os visualizadores são executadas em mais frequentemente ao acessar seu conteúdo, por exemplo, Linux, Mac OS X ou Windows. O relatório mostra os 10 principais sistemas operacionais. • Locais – O locais, país ou estado dos EUA/território dos visualizadores que acessam seu conteúdo com mais frequência. O relatório lista os 50 principais países ou estados/territórios dos EUA. Visualizadores Você pode exibir todos os quatro relatórios para qualquer intervalo de datas nos últimos 60 dias. Para o relatório de locais, você também pode exibir o relatório com pontos de dados a cada hora para qualquer intervalo de datas de até 14 dias nos últimos 60 dias. Note Você não precisa habilitar o log de acesso para exibir gráficos e relatórios de visualizadores. Tópicos • Exibindo Visualizadores Gráficos e Relatórios (p. 27) • Baixando dados no formato CSV (p. 28) • Como Data no Relatório está relacionada a pontos de dados nos logs de acesso do CloudFront (p. 33) Exibindo Visualizadores Gráficos e Relatórios Para exibir gráficos e relatórios de visualizadores do CloudFront, execute o procedimento a seguir. API Version 2016-01-13 27 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV Para exibir gráficos e relatórios de visualizadores do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No painel de navegação, clique em Viewers. 3. No CloudFront Viewers painel, para Start Date e End Date, selecione o intervalo de datas para o qual você deseja exibir gráficos e relatórios de visualizador. Para o gráfico, disponível pontos de intervalos dependem do valor que você selecionar para Granularity: • Daily – Para exibir gráficos com um ponto de dados por dia, selecione qualquer intervalo de datas nos últimos 60 dias. • Para exibir gráficos– por hora com um único ponto de dados a cada hora, selecione qualquer intervalo de datas de até 14 dias dentro dos últimos 60 dias. Datas e horários são no Tempo Universal Coordenado (UTC). 4. Os gráficos de navegadores e sistemas operacionais (somente) Para Grouping, especifique se você deseja agrupar navegadores e sistemas operacionais por nome (Chrome, Firefox) ou por nome e versão (Chrome, Firefox 40,0 35,0). 5. (Locais gráfico apenas) Para Granularity, especifique se deseja exibir um ponto de dados por dia ou um ponto de dados por hora nos gráficos. Se você especificar um intervalo de datas mais de 14 dias, a opção para especificar um ponto de dados por hora não está disponível. 6. (Locais gráfico apenas) Para Details, especifique se deseja exibir os principais locais, países ou por estados dos EUA. 7. Na Distribution lista, selecione a distribuição para a qual você deseja exibir dados nos gráficos de utilização: • Uma distribuição de web individuais – Os gráficos exibem os dados para a distribuição de web do CloudFront selecionada. A Distribution lista exibe o ID de distribuição e um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. • Todos os Distribuições de web (exclui excluído) – Os gráficos exibem somados os dados para todas as distribuições que estão associados com a conta da AWS atual, exceto as distribuições da web que você tenha excluído. 8. Clique em Update. 9. Para exibir dados de um ponto de dados a cada dia ou hora em um gráfico, mova o ponteiro do mouse sobre o ponto de dados. Baixando dados no formato CSV Você pode fazer o download de cada um dos relatórios de visualizadores no formato CSV. Esta seção explica como baixar os relatórios e descreve os valores no relatório. Para fazer o download de relatórios no formato CSV de visualizadores 1. Ao exibir o relatório de visualizadores aplicáveis, clique em CSV. 2. Escolha os dados que você deseja fazer o download, por exemplo, Devices ou Devices Trends. 3. Na caixa de diálogoAbrir nome de arquivo, escolha se deseja abrir ou salvar o arquivo. Tópicos • Informações sobre o Relatórios (p. 29) API Version 2016-01-13 28 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV • Relatório de dispositivos (p. 29) • Relatório de Tendências do dispositivo (p. 30) • Relatório de navegadores (p. 30) • Relatório de Tendências Browser (p. 31) • Relatório de sistemas operacionais (p. 31) • Relatório de Tendências do Sistema Operacional (p. 32) • Relatório de Locais (p. 32) • Relatório de Tendências Local (p. 33) Informações sobre o Relatórios O primeiro algumas linhas de cada relatório inclui as seguintes informações: Versão A versão do formato para este arquivo CSV. Relatório O nome do relatório. DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. StartDateUTC O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). EndDateUTC O final do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). GeneratedTimeUTC A data e a hora em que você executou o relatório, no Tempo Universal Coordenado (UTC). O agrupamento de relatórios de navegadores e sistemas operacionais (somente) Se os dados são agrupados por nome ou por nome e versão do navegador ou sistema operacional. Granularidade Independentemente de cada linha no relatório representa uma hora ou um dia. Pontos de Detalhes (Somente Relatório) Se as solicitações são listados por país ou estado dos EUA. Relatório de dispositivos O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. Solicitações O número de solicitações do CloudFront recebidas de cada tipo de dispositivo. API Version 2016-01-13 29 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV RequestsPct O número de solicitações do CloudFront recebidas de cada tipo de dispositivo como uma porcentagem do número total de solicitações recebidas de todos os dispositivos do CloudFront. Relatório de Tendências do dispositivo O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. TimeBucket A hora ou o dia em que os dados se aplica, no Tempo Universal Coordenado (UTC). Desktop O número de solicitações recebidas de computadores desktop do CloudFront durante o período. Mobile O número de solicitações do CloudFront recebidas de dispositivos móveis durante o período. Os dispositivos móveis podem incluir tablets e celulares. Se ele não pode determinar se uma solicitação foi originado a partir de um dispositivo móvel ou um tablet, é contada na Mobile coluna. Smart-TV O número de solicitações que recebeu a partir do CloudFront Smart TVs durante o período. Tablet O número de solicitações do CloudFront recebidas de tablets durante o período. Se ele não pode determinar se uma solicitação foi originado a partir de um dispositivo móvel ou um tablet, é contada na Mobile coluna. desconhecido As solicitações para as quais o valor do cabeçalho User-Agent HTTP não foi associado a um dos tipos de dispositivo padrão, por exemplo, Desktop ou Mobile. Esvaziar O número de solicitações que ele recebeu que não incluem um valor no User-Agent cabeçalho HTTP durante o período. Relatório de navegadores O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. Group O navegador ou o navegador e versão que solicitações de recebidas do CloudFront, dependendo do valor da Grouping. Além dos nomes do navegador, os valores possíveis incluem o seguinte: • Bot/Crawler – principalmente solicitações de mecanismos de pesquisa que são indexação o seu conteúdo. API Version 2016-01-13 30 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV • Esvaziar – solicitações para que o valor do cabeçalho User-Agent HTTP foi vazio. • Outros navegadores que – do CloudFront identificados, mas que não estão entre os mais populares. Se Bot/Crawler, Emptye/ou Unknown não aparecem entre os primeiros nove valores e, em seguida, eles também são incluídos no Other. • Desconhecido – solicitações para que o valor do cabeçalho User-Agent HTTP não foi associado a um navegador padrão. A maioria das solicitações nesta categoria vêm de aplicativos personalizados ou scripts. Solicitações O número de solicitações do CloudFront recebidas de cada tipo de navegador. RequestsPct O número de solicitações do CloudFront recebidas de cada tipo de navegador como uma porcentagem do número total de solicitações que ele recebeu durante o período de tempo. Relatório de Tendências Browser O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. TimeBucket A hora ou o dia em que os dados se aplica, no Tempo Universal Coordenado (UTC). (Navegadores) As colunas remanescentes no relatório lista os navegadores ou os navegadores e suas versões, dependendo do valor Grouping. Além dos nomes do navegador, os valores possíveis incluem o seguinte: • Bot/Crawler – principalmente solicitações de mecanismos de pesquisa que são indexação o seu conteúdo. • Esvaziar – solicitações para que o valor do cabeçalho User-Agent HTTP foi vazio. • Outros navegadores que – do CloudFront identificados, mas que não estão entre os mais populares. Se Bot/Crawler, Emptye/ou Unknown não aparecem entre os primeiros nove valores e, em seguida, eles também são incluídos no Other. • Desconhecido – solicitações para que o valor do cabeçalho User-Agent HTTP não foi associado a um navegador padrão. A maioria das solicitações nesta categoria vêm de aplicativos personalizados ou scripts. Relatório de sistemas operacionais O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. API Version 2016-01-13 31 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV Group O sistema operacional ou o sistema operacional e a versão que solicitações de recebidas do CloudFront, dependendo do valor da Grouping. Além dos nomes de sistema operacional, os valores possíveis incluem o seguinte: • Bot/Crawler – principalmente solicitações de mecanismos de pesquisa que são indexação o seu conteúdo. • Esvaziar – solicitações para que o valor do cabeçalho User-Agent HTTP foi vazio. • Outros – sistemas operacionais CloudFront identificados, mas que não estão entre os mais populares. Se Bot/Crawler, Emptye/ou Unknown não aparecem entre os primeiros nove valores e, em seguida, eles também são incluídos no Other. • Desconhecido – solicitações para que o valor do cabeçalho User-Agent HTTP não foi associado a um navegador padrão. A maioria das solicitações nesta categoria vêm de aplicativos personalizados ou scripts. Solicitações O número de solicitações do CloudFront recebidas de cada tipo de sistema operacional. RequestsPct O número de solicitações do CloudFront recebidas de cada tipo de sistema operacional como uma porcentagem do número total de solicitações que ele recebeu durante o período de tempo. Relatório de Tendências do Sistema Operacional O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. TimeBucket A hora ou o dia em que os dados se aplica, no Tempo Universal Coordenado (UTC). (sistemas operacionais) As colunas remanescentes no relatório lista os sistemas operacionais ou a sistemas operacionais e suas versões, dependendo do valor Grouping. Além dos nomes de sistema operacional, os valores possíveis incluem o seguinte: • Bot/Crawler – principalmente solicitações de mecanismos de pesquisa que são indexação o seu conteúdo. • Esvaziar – solicitações para que o valor do cabeçalho User-Agent HTTP foi vazio. • Outros – sistemas operacionais CloudFront identificados, mas que não estão entre os mais populares. Se Bot/Crawler, Emptye/ou Unknown não aparecem entre os primeiros nove valores e, em seguida, eles também são incluídos no Other. • Desconhecido – solicitações para que o sistema operacional não é especificado no cabeçalho User-Agent HTTP. Relatório de Locais O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. API Version 2016-01-13 32 Amazon CloudFront Guia do desenvolvedor Como Data no Relatório está relacionada a pontos de dados nos logs de acesso do CloudFront FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. LocationCode A abreviação para o local que solicitações de recebidas do CloudFront. Para obter mais informações sobre os valores possíveis, consulte a descrição do Local Como Data no Relatório está relacionada a pontos de dados nos logs de acesso do CloudFront (p. 33). LocationName O nome do local que solicitações de recebidas do CloudFront. Solicitações O número de solicitações do CloudFront recebidas de cada local. RequestsPct O número de solicitações do CloudFront recebidas de cada local como uma porcentagem do número total de solicitações recebidas de todos os locais do CloudFront durante o período de tempo. TotalBytes O número de bytes enviados para visualizadores do CloudFront neste país ou estado, para a distribuição e o período. Relatório de Tendências Local O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório para, ou ALL se você executou o relatório para todas as distribuições. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. TimeBucket A hora ou o dia em que os dados se aplica, no Tempo Universal Coordenado (UTC). (Locais) As colunas remanescentes no relatório lista os locais que as solicitações recebidas do CloudFront. Para obter mais informações sobre os valores possíveis, consulte a descrição do Local Como Data no Relatório está relacionada a pontos de dados nos logs de acesso do CloudFront (p. 33). Como Data no Relatório está relacionada a pontos de dados nos logs de acesso do CloudFront A lista a seguir mostra a forma como os dados no relatório de locais no console do CloudFront corresponde com valores nos logs de acesso do CloudFront. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Local O país ou estado dos EUA que o visualizador está. Em logs de acesso, a c-ip coluna contém o endereço IP do dispositivo que o visualizador está sendo executado. Usamos dados de geolocalização para identificar a localização geográfica do dispositivo com base no endereço IP. API Version 2016-01-13 33 Amazon CloudFront Guia do desenvolvedor Como Data no Relatório está relacionada a pontos de dados nos logs de acesso do CloudFront Se você estiver exibindo o Locations relatório de acordo com o país, observe que o país 3166-2 lista é baseada em ISO, Códigos para a representação de nomes de países e suas subdivisões – Parte 2: País subdivisão código. O país lista inclui os seguintes valores adicionais: • A solicitaçãoAnonymous Proxy – originadas em um proxy anônimo. • A solicitação tem umaSatellite Provider – provedor de satélite que fornece serviços de Internet para vários países. Os usuários podem estar em países com um alto risco de fraude. • A solicitaçãoEurope (Unknown) – originou de um IP em um bloco que é usado por vários países europeus. O país que a solicitação de origem não pode ser determinada. CloudFront usa Europe (Unknown) como padrão. • A solicitaçãoAsia/Pacific (Unknown) – originou de um IP em um bloco que é usado por vários países na região da Ásia/Pacífico. O país que a solicitação de origem não pode ser determinada. CloudFront usa Asia/Pacific (Unknown) como padrão. Se você estiver exibindo o Locations relatório por estado dos EUA, observe que o relatório pode incluir os territórios dos EUA e Forças Armadas dos Estados Unidos. Contagem de solicitação O número total de solicitações do país ou estado dos EUA que o visualizador está em, para a distribuição e o período. Esse valor geralmente corresponde em conjunto com o número de GET solicitações de endereços IP no país ou estado do CloudFront nos logs de acesso. Solicitação % Um dos seguintes, dependendo do valor que você selecionou para Details: • As solicitações dePaíses – este país como uma porcentagem do número total de solicitações. • As solicitações de estadosdos EUA – esse estado como uma porcentagem do número total de solicitações dos Estados Unidos. Se as solicitações veio de mais de 50 países e, em seguida, você não pode calcular Request % com base nos dados dessa tabela porque a Request Count coluna não incluem todas as solicitações durante o período especificado. Bytes O número de bytes enviados para visualizadores do CloudFront neste país ou estado, para a distribuição e o período. Para alterar a exibição de dados nesta coluna para KB, MB ou GB, clique no link no cabeçalho da coluna. API Version 2016-01-13 34 Amazon CloudFront Guia do desenvolvedor Etapa 1: cadastre-se na Amazon Web Services Conceitos básicos do CloudFront O exemplo deste tópico fornece uma rápida visão geral de como usar o CloudFront para: • Armazene versões originais de seus objetos em um bucket do Amazon Simple Storage Service (Amazon S3). • Distribua o download de conteúdo, como texto ou gráficos. • Deixe seus objetos acessível a todos. • Use o nome de domínio do CloudFront em URLs para seus objetos (por exemplo, http:// d111111abcdef8.cloudfront.net/image.jpg), em vez de seu próprio nome de domínio (por exemplo, http://www.example.com/image.jpg). • Mantenha seus objetos em pontos de presença do CloudFront para a duração padrão de 24 horas. (A duração mínima é 0 segundos.) Para obter informações sobre como usar o CloudFront quando você deseja usar outras opções, consulte Lista de tarefas para criar uma distribuição na Web (p. 54) ou Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88). Você só precisa executar algumas etapas básicas para começar a entregar seu conteúdo usando CloudFront. A primeira etapa é se inscrever. Depois disso, você cria uma distribuição do CloudFront e, em seguida, use o nome de domínio do CloudFront para referenciar o conteúdo em suas páginas da web ou aplicativos. Tópicos • Etapa 1: cadastre-se na Amazon Web Services (p. 35) • Etapa 2: Faça o upload de seu conteúdo para o Amazon S3 e conceder permissões de objeto (p. 36) • Etapa 3: Crie uma distribuição de web do CloudFront (p. 37) • Etapa 4: Teste seus links (p. 39) Etapa 1: cadastre-se na Amazon Web Services Se você ainda não tiver feito isso, se cadastrar para a Amazon Web Services em http:// aws.amazon.com. Basta escolher Sign Up Now e insira todas as informações necessárias. API Version 2016-01-13 35 Amazon CloudFront Guia do desenvolvedor Etapa 2: Faça o upload de seu conteúdo para o Amazon S3 e conceder permissões de objeto Etapa 2: Faça o upload de seu conteúdo para o Amazon S3 e conceder permissões de objeto Um bucket do Amazon S3 é um contêiner que pode conter objetos ou pastas. CloudFront pode distribuir praticamente qualquer tipo de objeto para você usando um bucket do Amazon S3 como origem, por exemplo, texto, imagens e vídeos. Você pode criar vários buckets, e não há limite para a quantidade de dados que você pode armazenar no Amazon S3. Por padrão, o bucket do Amazon S3 e todos os seus objetos são privados – somente a conta da AWS que criou o bucket tem permissão para ler ou gravar os objetos. Se você deseja permitir que qualquer pessoa para acessar objetos no bucket do Amazon S3 usando URLs do CloudFront públicos, você deve conceder permissões de leitura para os objetos. (Este é um dos erros mais comuns do CloudFront e ao trabalhar com o Amazon S3. Você deve conceder explicitamente privilégios para cada objeto em um bucket do Amazon S3.) Note Se você deseja restringir quem pode fazer o download de seu conteúdo, você pode usar o recurso de conteúdo privado do CloudFront. Para obter mais informações sobre a distribuição de conteúdo privado, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). Para fazer o upload de seu conteúdo para o Amazon S3 e conceder permissão de leitura para todos 1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon S3 em https:// console.aws.amazon.com/s3/. 2. 3. No console do Amazon S3, escolha Create Bucket. Na caixa de Create Bucket diálogo, insira um nome de bucket. Important Para o seu bucket para trabalhar com CloudFront, o nome deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. 4. 5. Selecione uma região para o seu bucket. Por padrão, o Amazon S3 cria buckets na região Leste dos EUA (Norte da Virgínia). Recomendamos que você escolher uma região perto de você para otimizar a latência, minimizar custos ou atender aos requisitos regulatórios. Escolha Create. 6. 7. Selecione seu bucket no Buckets painel e escolha Upload. Na Upload - Select Files página, escolha Add Filese escolher os arquivos que você deseja carregar. 8. Ativar privilégios de leitura públicos para cada objeto que você enviar para seu bucket do Amazon S3. a. b. c. 9. Escolha Set Details. Na Set Details página, escolha Set Permissions. Na Set Permissions página, escolha Make everything public. Escolha Start Upload. Após o upload for concluída, você poderá navegar para este item ao seu URL. No caso do exemplo anterior, o URL seria: API Version 2016-01-13 36 Amazon CloudFront Guia do desenvolvedor Etapa 3: Crie uma distribuição de web do CloudFront http://s3.amazonaws.com/example-myawsbucket/filename Use o URL do Amazon S3 para verificar se o seu conteúdo é acessível publicamente, mas lembre-se de que isso não é o URL utilizado quando você estiver pronto para distribuir seu conteúdo. Etapa 3: Crie uma distribuição de web do CloudFront Para criar uma distribuição de web do CloudFront 1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/. 2. Escolha Create Distribution. 3. Na Select a delivery method for your content página, na Web seção, escolha Get Started. 4. Na Create Distribution página, sob Origin Settings, escolha o bucket do Amazon S3 que você criou anteriormente. Para Origin ID, Origin Path, Restrict Bucket Accesse Origin Custom Headers, aceite os valores padrão. 5. Em Default Cache Behavior Settings, aceite os valores padrão e do CloudFront serão: • Encaminhe todas as solicitações que usam o URL do CloudFront para a sua distribuição (por exemplo, http://d111111abcdef8.cloudfront.net/image.jpg) para o bucket do Amazon S3 que você especificou na Etapa 4. • Permitir que os usuários finais para usar o HTTP ou HTTPS para acessar seus objetos. • Responder a solicitações de seus objetos. • seus objetos em cache os pontos de presença do CloudFront para 24 horas. • Encaminhe somente os cabeçalhos de solicitação padrão para sua origem e não em cache os objetos com base nos valores dos cabeçalhos. • Excluir cookies e parâmetros de sequência de caracteres de consulta, se houver, ao encaminhar as solicitações de objetos para sua origem. (Amazon S3 não processar cookies e processa apenas um conjunto limitado de parâmetros de sequência de caracteres de consulta.) • Não ser configurado para distribuir arquivos de mídia no formato Microsoft Smooth Streaming. • Permitir que qualquer pessoa para visualizar seu conteúdo. • Não compactar automaticamente o seu conteúdo. Para obter mais informações sobre as opções de comportamento de cache, consulte Configurações de comportamento de cache (p. 65). 6. Em Distribution Settings, insira os valores aplicáveis: Classe de preço Selecione a classe de preço que corresponde com o preço máximo que deseja pagar por serviço do CloudFront. Por padrão, o CloudFront oferece seus objetos a partir de pontos de presença em todas as regiões do CloudFront. Para obter mais informações sobre classes de preços e sobre como sua escolha de classe de preço afeta o desempenho do CloudFront para a sua distribuição, vá para Escolha a classe API Version 2016-01-13 37 Amazon CloudFront Guia do desenvolvedor Etapa 3: Crie uma distribuição de web do CloudFront de preço para uma distribuição do CloudFront (p. 49). Para obter informações sobre a definição de preço do CloudFront, incluindo como mapear classes de preço para regiões do CloudFront, vá para o Amazon CloudFront de preço. A AWS WAF ACL Web Se você quiser usar a AWS WAF para permitir ou bloquear as solicitações HTTP e HTTPS com base em critérios que você especificar, escolha o ACL da web para associar a essa distribuição. Para obter mais informações sobre a AWS WAF WAF da AWS, consulte o Guia do desenvolvedor. Alternar nomes de domínio (CNAMEs) (Opcional) Especifique um ou mais nomes de domínio que você deseja usar para URLs para seus objetos em vez do nome de domínio que ele atribui quando você cria sua distribuição. Por exemplo, se você deseja que o URL para o objeto: /images/image.jpg para o seguinte: http://www.example.com/images/image.jpg em vez de: http://d111111abcdef8.cloudfront.net/images/image.jpg você deve criar um CNAME para www.example.com. Important Se você adicionar um CNAME para www.example.com a sua distribuição, você também precisa criar (ou atualizar) um registro CNAME com o serviço DNS para rotear as consultas para www.example.com a d111111abcdef8.cloudfront.net. Você deve ter permissão para criar um registro CNAME com o provedor de serviço de DNS para o domínio. Normalmente, isso significa que você possui o domínio, mas você também pode ser o desenvolvimento de um aplicativo para o domínio proprietário. Para obter mais informações sobre CNAMEs, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Para saber mais sobre o limite do número de nomes de domínio alternativo que você pode adicionar a uma distribuição, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/ support/home#/case/create?issueType=service-limit-increase&limitType=service-codecloudfront-distributions. Certificado SSL Aceite o valor padrão, Default CloudFront Certificate. Objeto raiz padrão (Opcional) O objeto que você deseja que a solicitação do CloudFront de sua origem (por exemplo, index.html) quando um visualizador solicita o URL raiz de sua distribuição (http://www.example.com/) em vez de um objeto em sua distribuição (http:// www.example.com/product-description.html). Especificando um objeto de raiz padrão evita expor o conteúdo de sua distribuição. Logging (Opcional) Se você deseja que o CloudFront para registrar informações sobre cada solicitação para um objeto e armazenar os arquivos de log em um bucket do Amazon S3, selecione One especifique o bucket e um prefixo opcional para os nomes dos arquivos de log. Não há custo adicional para habilitar o registro em log, mas você provisiona habituais cobranças do Amazon S3 para armazenar e acessar os arquivos. CloudFront não excluir os logs API pode Version 2016-01-13 automaticamente, mas você excluí-los a qualquer momento. 38 Amazon CloudFront Guia do desenvolvedor Etapa 4: Teste seus links Registro de cookies Neste exemplo, estamos usando o Amazon S3 como a origem de seus objetos e o Amazon S3 não processar cookies, portanto, recomendamos que você selecione Off para o valor de Cookie Logging. Comentário (Opcional) Informe os comentários que você deseja salvar com a distribuição. Estado de distribuição Selecione esta Enabled opção se você deseja que as solicitações para iniciar o processamento do CloudFront assim que a distribuição é criado, ou selecione Disabled se não quiser que as solicitações para iniciar o processamento do CloudFront depois que a distribuição é criado. 7. Escolha Create Distribution. 8. Depois que tiver criado sua distribuição do CloudFront, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Se você optar por habilitar a distribuição, ele será, então, pronto para processar solicitações. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. (Ele também é exibido na General guia para uma distribuição selecionada.) Etapa 4: Teste seus links Depois de criar a distribuição, ele sabe onde o servidor de origem é Amazon S3 e você souber o nome de domínio associados com a distribuição. Você pode criar um link para o seu bucket do Amazon S3 conteúdo com esse nome de domínio e fazer com que ele servir. Note Você deve aguardar até que o status de sua distribuição alterações Deployed antes de testar seus links. Para vincular seus objetos 1. Copie o seguinte HTML em um novo arquivo: • Substitua nome de <domínio > com o nome de domínio que atribuídas a sua distribuição do CloudFront. • Substitua nome do <objeto > com o nome de um arquivo em seu bucket do Amazon S3. <html> <head>My CloudFront Test</head> <body> <p>My text content goes here.</p> <p><img src="http://domain name/object name" alt="my test image"/> </body> </html> Por exemplo, se o seu nome de domínio d111111abcdef8.cloudfront.net e seu objeto foi image.jpg, o URL do link seria: API Version 2016-01-13 39 Amazon CloudFront Guia do desenvolvedor Etapa 4: Teste seus links http://d111111abcdef8.cloudfront.net/image.jpg. Se o objeto está em uma pasta no seu bucket, incluem a pasta no URL. Por exemplo, se image.jpg está localizado em uma pasta de imagens e, em seguida, o URL seria: 2. 3. http://d111111abcdef8.cloudfront.net/images/image.jpg Salve o texto em um arquivo que tem uma extensão de nome de arquivo.html. Abra a página da web em um navegador para garantir que você pode ver o seu conteúdo. Se você não pode ver o conteúdo, confirme se você executou todas as etapas corretamente. Você também pode ver as dicas em Solução de problemas (p. 289). O navegador retorna a página com o arquivo de imagem incorporado, fornecido de presença do CloudFront determinado foi apropriado para servir o objeto. Para obter mais informações sobre o uso do CloudFront, consulte Recursos Amazon CloudFront (p. 359). API Version 2016-01-13 40 Amazon CloudFront Guia do desenvolvedor Trabalhando com Distribuições Tópicos • Visão geral da Web e distribuições RTMP (p. 42) • Criação de Web e distribuições RTMP (p. 43) • Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43) • A exclusão de uma distribuição (p. 44) • Usando Alternate Domain Names (CNAMEs) (p. 45) • Escolha a classe de preço para uma distribuição do CloudFront (p. 49) • Uso do CloudFront com o Amazon S3 (p. 50) • As alterações na API do CloudFront (p. 53) A tabela a seguir lista as ações que você pode executar em uma distribuição e fornece links para a documentação correspondente sobre como executar as ações usando o console do CloudFront e a API do CloudFront. Ação Usando o console do CloudFront Usando a API do CloudFront: Distribuições de web Usando a API do CloudFront: distribuições RTMP Crie uma distribuição Distribuições deweb: Consulte Lista de tarefas para criar uma distribuição na Web (p. 54) DistribuiçõesRTMP: Consulte Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88) Vá para POST Distribution Vá para POST Streaming Distribution Liste suas distribuições Consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43) Vá para Lista de DistribuiçãoGET Vá para GET Streaming Listade distribuição Obtenha todas as Consulte Listagem, informações sobre uma Exibindo e Atualizando distribuição Vá para Vá para Distribuição de Distribuição http:// streamingGET docs.aws.amazon.com/ API Version 2016-01-13 41 Amazon CloudFront Guia do desenvolvedor Visão geral da Web e distribuições RTMP Ação Usando o console do CloudFront Usando a API do CloudFront: Distribuições de web Usando a API do CloudFront: distribuições RTMP Distribuições do CloudFront (p. 43) AmazonCloudFront/ latest/APIReference/ GetDistribution.htmlGET Obtenha a configuração de distribuição. Consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43) Vá para Distribuição GET Config Vá para GET Streaming Distribution Config Atualizar uma distribuição Consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43) Vá para Distribuição de PUT Config Vá para PUT Streaming Distribution Config Excluir uma distribuição Consulte A exclusão de uma distribuição (p. 44) Vá para Vá para Distribuição de Distribuição http:// streamingDELETE docs.aws.amazon.com/ AmazonCloudFront/ latest/APIReference/ DeleteDistribution.htmlDELETE Visão geral da Web e distribuições RTMP Quando você deseja usar o CloudFront para distribuir seu conteúdo, você cria uma distribuição e especificar as definições de configuração, como: • A sua origem, que é o bucket do Amazon S3 ou um servidor HTTP de onde ele obtém os arquivos que ele distribui. Você pode especificar qualquer combinação de até 10 buckets do Amazon S3 e/ou servidores HTTP como sua origem. • Se você deseja que os arquivos para estar disponível para todos, ou que você deseja restringir o acesso a usuários selecionados. • Se você quiser para exigir que os usuários do CloudFront para usar HTTPS para acessar seu conteúdo. • Se você deseja que o CloudFront encaminhe cookies e/ou sequências de caracteres de consulta para sua origem. • Se você deseja que o CloudFront para impedir que os usuários em alguns países de acessar seu conteúdo. • Se você deseja que o CloudFront para criar os logs de acesso. Para saber mais sobre o limite do número de distribuições RTMP e da web que podem ser criadas por conta da AWS, consulte Limites no Amazon Web Services General Reference Amazon CloudFront. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/case/create? issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. O número de arquivos que você pode servir por distribuição é ilimitado. Distribuições de web Você pode usar as distribuições de web para servir o seguinte conteúdo via HTTP ou HTTPS: API Version 2016-01-13 42 Amazon CloudFront Guia do desenvolvedor Distribuições RTMP • fazer o download de conteúdo estático e dinâmico, por exemplo,.html,.css,.php e arquivos de imagem, usando HTTP ou HTTPS. • O conteúdo multimídia sob demanda por meio de download progressivo e Apple HTTP Live Streaming (HLS). Para obter mais informações, consulte o tópico aplicável Trabalhando com Distribuições de web (p. 54). Você não pode servir o Adobe Flash conteúdo multimídia via HTTP ou HTTPS, mas você pode servir usando uma distribuição RTMP do CloudFront. Veja Distribuições RTMP (p. 43) abaixo. • Um evento ao vivo, como uma reunião, conferência, ou conjunto, em tempo real. Para streaming ao vivo, você cria a distribuição automaticamente o AWS CloudFormation usando uma pilha. Para obter mais informações, consulte o tutorial de streaming em tempo real aplicáveis Tutoriais do CloudFront (p. 293). Para distribuições, sua origem pode ser um bucket do Amazon S3 ou um servidor HTTP, por exemplo, um servidor web. Para obter mais informações sobre como as distribuições de web do trabalho, incluindo os valores que você especifica ao criar uma distribuição de web, consulte Trabalhando com Distribuições de web (p. 54). Para obter informações sobre a criação de uma distribuição de web, consulte Lista de tarefas para criar uma distribuição na Web (p. 54). Distribuições RTMP As distribuições RTMP transmitir arquivos de mídia usando o Adobe Media Server e o Adobe RealTime Messaging Protocol (RTMP). Uma distribuição RTMP deve usar um bucket do Amazon S3 como a origem. Para obter informações sobre os valores que você especifica ao criar uma distribuição RTMP, consulte Trabalhando com distribuições RTMP (p. 86). Para obter informações sobre a criação de uma distribuição RTMP, consulte Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88). Criação de Web e distribuições RTMP Distribuições deweb: Para obter informações sobre a criação de distribuições da web usando o console do CloudFront, consulte Lista de tarefas para criar uma distribuição na Web (p. 54). Para obter informações sobre a criação de distribuições da web usando a API do CloudFront, consulte POST Distribution no Amazon CloudFront API Reference. As distribuiçõesRTMP: Para obter informações sobre a criação de distribuições RTMP usando o console do CloudFront, consulte Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88). Para obter informações sobre a criação de distribuições RTMP usando a API do CloudFront, consulte POST Streaming Distribution no Amazon CloudFront API Reference. Listagem, Exibindo e Atualizando Distribuições do CloudFront Você pode usar o console do CloudFront para listar as distribuições do CloudFront associados a sua conta da AWS, visualizar as configurações para uma distribuição e atualizar a maioria das configurações. Quando você salvar as alterações em sua configuração de distribuição do CloudFront começa para propagar as alterações a todos os pontos de presença. Até sua configuração é atualizado em um ponto de presença, ele continua para atender ao seu conteúdo a partir desse local com base na API Version 2016-01-13 43 Amazon CloudFront Guia do desenvolvedor A exclusão de uma distribuição configuração anterior. Após a configuração é atualizado em um ponto de presença, ele começa imediatamente para atender ao seu conteúdo a partir desse local com base na nova configuração. Suas alterações não serão propagadas para cada ponto de presença instantaneamente; propagação para todos os pontos de presença deve demorar menos de 15 minutos. Quando a propagação é concluída, o status de sua distribuição muda de InProgress para Deployed. Embora o CloudFront está propagando suas alterações em pontos de presença, não podemos determinar se um determinado ponto de presença é fornecer o seu conteúdo com base na configuração anterior ou a nova configuração. Para Lista, Exibir e Atualizar Distribuições do CloudFront usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No painel superior do console do CloudFront, selecione a distribuição que você deseja visualizar ou atualizar. Note O painel superior lista todas as distribuições que estão associados com a conta da AWS que você usou quando conectado ao console do CloudFront. 3. Para visualizar ou editar as definições de distribuição RTMP, pule para a Etapa 4. Para visualizar ou editar as configurações para uma distribuição de web, execute as seguintes etapas. a. b. No Distribution Settings painel, clique na guia para as configurações que você deseja alterar: General, Originsou Behaviors. Para configurações gerais, clique em Edit. Para origens ou comportamentos de cache, clique na origem ou comportamento de cache e clique em Edit. c. Informe ou atualize os valores aplicáveis. Para obter informações sobre os campos, consulte os seguintes tópicos: • General settings: Detalhes de distribuição (p. 73) • Origin settings: Configurações de origem (p. 61) 4. • Cache behavior settings: Configurações de comportamento de cache (p. 65) d. Clique em Yes, Edit. Para editar ou exibir as configurações para uma distribuição RTMP: a. b. c. No Distribution Details painel, clique em Edit. Informe ou atualize os valores aplicáveis. Para obter informações sobre os campos, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição RTMP (p. 89). Clique em Yes, Edit. A exclusão de uma distribuição Se você não quiser mais usar uma distribuição, use o procedimento a seguir para excluí-lo usando o console do CloudFront. Você também pode excluir uma distribuição usando a API do CloudFront: • Para excluir uma distribuição de web, use a DELETE Distribution API ação. Para obter mais informações, consulte DELETE Distribution no Amazon CloudFront API Reference. API Version 2016-01-13 44 Amazon CloudFront Guia do desenvolvedor Usando Alternate Domain Names (CNAMEs) • Para excluir uma distribuição RTMP, use a DELETE Streaming Distribution API ação. Para obter mais informações, acesse DELETE Streaming Distribution no Amazon CloudFront API Reference. Note CloudFront permite que você crie um total combinado de até 100 web e distribuições RTMP para uma conta da AWS. Para excluir uma distribuição do CloudFront usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. 3. No painel direito do console do CloudFront, localize a distribuição que você deseja excluir. Se o valor da State coluna é Disabled, pule para a Etapa 7. Se o valor de State é Enabled e o valor de Status é Deployed, vá para a etapa 4 para desativar a distribuição antes de excluí-lo. Se o valor de State é Enabled e o valor de Status é InProgress, aguardar até que Status as alterações Deployed. Em seguida, vá para a etapa 4 para desativar a distribuição antes de excluílo. 4. No painel direito do console do CloudFront, marque a caixa de seleção para a distribuição que você deseja excluir. 5. 7. Clique Disabled para desativar a distribuição e clique Yes, Disable para confirmar. Em seguida, clique em Close. O valor da State coluna imediatamente as alterações Disabled. Aguarde até que o valor da Status coluna muda para Deployed. Marque a caixa de seleção para a distribuição que você deseja excluir. 8. Clique em Deletee clique Yes, Delete para confirmar. Em seguida, clique em Close. 6. Usando Alternate Domain Names (CNAMEs) No CloudFront, um nome de domínio alternativo, também conhecido como um CNAME, permite que você use seu próprio nome de domínio (por exemplo, www.example.com) para links para seus objetos em vez de usar o nome de domínio que o CloudFront atribui para sua distribuição. Ambas as distribuições RTMP alternativos de suporte da web e nomes de domínio. Quando você cria uma distribuição, ele retorna um nome de domínio para a distribuição, por exemplo: d111111abcdef8.cloudfront.net Quando você usa o nome de domínio do CloudFront para seus objetos, o URL para um objeto chamado /images/image.jpg é: http://d111111abcdef8.cloudfront.net/images/image.jpg Se você quiser usar o seu próprio nome de domínio, como www.example.com, em vez do nome de cloudfront.net domínio que atribuídas a sua distribuição do CloudFront, você pode adicionar um nome alternativo de domínio para sua distribuição www.example.com. Em seguida, você pode usar o URL a seguir para /images/image.jpg: http://www.example.com/images/image.jpg Tópicos API Version 2016-01-13 45 Amazon CloudFront Guia do desenvolvedor Usando os nomes de domínio curinga no Alternativa* • Usando os nomes de domínio curinga no Alternativa* (p. 46) • Restrições sobre o uso de nomes de domínio Alternativos (p. 46) • Adicionando um nome de domínio Alternativos (p. 47) Usando os nomes de domínio curinga no Alternativa* Quando você adiciona nomes de domínio alternativo, você pode usar o curinga* no início de um nome de domínio em vez de especificar subdomínios individualmente. Por exemplo, com um nome de domínio alternativo *.example.com, você pode usar qualquer nome de domínio que termina com exemplo.com em seu objeto URLs, como www.example.com, product-name.example.com, e marketing.product-name.example.com. O nome de um objeto é o mesmo, independentemente do nome de domínio, por exemplo: www.example.com/images/image.jpg product-name.example.com/images/image.jpg marketing.product-name.example.com/images/image.jpg O nome de domínio alternativo deve começar com um asterisco e um ponto ( *. ). Você não pode usar um curinga para substituir parte de um nome de subdomínio, como em: *domain.example.com, e você não pode substituir um subdomínio no meio de um nome de domínio, como: subdomain.*.example.com. Um nome alternativo de domínio curinga, como alternativa *.example.com, pode incluir outro nome de domínio, como example.com, desde que eles estão tanto na mesma distribuição do CloudFront ou que estão em distribuições que foram criados usando o mesmo AWS conta. Restrições sobre o uso de nomes de domínio Alternativos Observe as seguintes restrições sobre o uso de nomes de domínio alternativo: Número máximo de Nomes de Domínio Alternativo Para saber mais sobre o limite do número de nomes de domínio alternativo que você pode adicionar a uma distribuição, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/ support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfrontdistributions. Permissão para alteração de configuração de DNS Se você estiver adicionando nomes de domínio alternativos para sua distribuição, você precisa criar registros CNAME para rotear consultas de DNS para os nomes de domínio para sua distribuição do CloudFront. Você deve ter permissão para criar registros CNAME com o provedor de serviço DNS para os domínios correspondentes. Normalmente, isso significa que você possui domínios, mas você também pode ser o desenvolvimento de um aplicativo para o domínio proprietário. Nomes de Domínio Alternativo Duplicado e Sobreposição Você não pode adicionar um nome alternativo de domínio para uma distribuição do CloudFront se o nome alternativo de domínio já existe em outra distribuição do CloudFront, mesmo se a sua conta da AWS possui a outra distribuição. No entanto, você pode adicionar um nome de domínio curinga, como alternativa *.example.com, que inclui (que se sobrepõe a) um nome alternativo de domínio curinga, como API Version 2016-01-13 46 Amazon CloudFront Guia do desenvolvedor Adicionando um nome de domínio Alternativos www.example.com. Sobreposição de nomes de domínio pode estar na mesma distribuição ou em distribuições separadas, desde que ambas as distribuições foram criados usando a mesma conta da AWS. Alternar nomes de domínio no apex de zona para um domínio Quando você adiciona um nome de domínio alternativo para uma distribuição, você precisa criar um registro CNAME na sua configuração do DNS para rotear consultas de DNS para o nome de domínio para sua distribuição do CloudFront. No entanto, você não pode criar um registro CNAME para o nó superior de um namespace DNS, também conhecido como o apex de zona, o protocolo DNS não permite. Por exemplo, se você registrar o nome DNS example.com, o apex de zona é example.com. Você não pode criar um registro CNAME para example.com, mas você pode criar registros CNAME para www.example.com, newproduct.example.come assim por diante. Se você estiver usando o Amazon Route 53 como o serviço DNS, você pode criar um conjunto de registros de recurso alias, em vez de um CNAME. Você pode criar um conjunto de registros de recurso alias para um nome de domínio no apex de zona (exemplo.com). Além disso, com um conjunto de registros de recurso alias, você não paga para Amazon Route 53 consultas. Para obter mais informações, acesse Solicitações de roteamento na distribuição a um Amazon CloudFront Guia do desenvolvedor do Amazon Route 53. Nomes de Domínio Alternativo e HTTPS Se você deseja que os visualizadores para usar HTTPS com uma alternativa nomes de domínio, configuração adicional é necessária. Para obter mais informações, consulte Usando Alternate Domain Names e HTTPS (p. 241). Adicionando um nome de domínio Alternativos A seguinte lista de tarefas descreve o processo para usar o console do CloudFront alternativo para adicionar um nome de domínio para sua distribuição, para que você possa usar seu próprio nome de domínio em seus links em vez do nome de domínio do CloudFront associada a sua distribuição. Note Se você deseja que os visualizadores para usar HTTPS com o seu nome de domínio alternativo, consulte Usando Alternate Domain Names e HTTPS (p. 241). Para obter informações sobre como atualizar sua distribuição usando a API do CloudFront, consulte Trabalhando com Distribuições (p. 41). Adicionando um nome de domínio Alternativos usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No console do CloudFront, use as etapas abaixo para atualizar sua distribuição para incluir o seu nome de domínio como um nome alternativo de domínio no Alternate Domain Names (CNAMEs) campo. a. No painel superior do console do CloudFront, selecione a distribuição que você deseja atualizar e clique em Distribution Settings. b. Na General guia, clique em Edit. c. Adicione os nomes de domínio alternativo aplicáveis no Alternate Domain Names (CNAMEs) campo. Separe os nomes de domínio com vírgulas ou colocar cada um em uma nova linha. d. Distribuições deweb apenas: Para SSL Certificate, escolha a opção aplicáveis: • Se você não deseja usar SSL – Clique Default CloudFront Certificate. • Se você quiser usar SSL – Clique em Custom SSL Certificate, e escolher um certificado na lista. Observe que a lista pode incluir tanto os certificados provisionados pela AWS API Version 2016-01-13 47 Amazon CloudFront Guia do desenvolvedor Adicionando um nome de domínio Alternativos Certificate Manager e certificados que você comprou de outra autoridade de certificação e IAM carregados para o armazenamento de certificados. Se você carregou um certificado para o armazenamento de certificados do IAM, mas não aparece na lista, revise o procedimento Para usar nomes de domínio alternativos com HTTPS (p. 245) para confirmar que você corretamente carregou o certificado para o certificado IAM armazenar. Se você escolher essa configuração, recomendamos que você use apenas um nome de domínio alternativo em seu objeto URLs (https://example.com/logo.jpg). Se você usar o seu nome de domínio de distribuição do CloudFront (https://d111111abcdef8.cloudfront.net/ logo.jpg) e o visualizador é compatível com o SNI e, em seguida, ele se comporta normalmente. No entanto, um visualizador que não oferece suporte a SNI apresenta um dos seguintes comportamentos, dependendo do valor de Clients Supported: • Todos os Clientes: Se o visualizador não compatíveis com o SNI, ele exibe um aviso porque o nome de domínio do CloudFront não corresponde ao nome de domínio em seu certificado SSL. • Apenas Clientes compatíveis com Server Name Indication (SNI): o CloudFront cai a conexão com o visualizador sem retornar o objeto. e. Distribuições deweb apenas: Escolha a opção aplicáveis para Clients Supported: • Todos os Clientes: o CloudFront oferece o conteúdo HTTPS usando endereços IP dedicados. Se você selecionar essa opção, você será cobrado pelos encargos adicionais ao associar seu certificado SSL com uma distribuição que está habilitado. Para obter mais informações, consulte http://aws.amazon.com/cloudfront/pricing. • Apenas Clientes compatíveis com Server Name Indication (SNI): Os navegadores mais antigos ou outros clientes que não suportam o SNI deve usar outro método para acessar seu conteúdo. Para obter mais informações, consulte Escolha Como Serve Solicitações HTTPS do CloudFront (p. 241). f. Clique em Yes, Edit. 3. No console do CloudFront, na General guia para a sua distribuição, confirme se o status de sua distribuição foi alterado Deployed. Se você tentar usar um nome alternativo de domínio antes de as atualizações para sua distribuição foram implementados, os links que você cria nas etapas a seguir podem não funcionar. 4. Usando o método de DNS fornecido pelo provedor de serviços, adicione um conjunto de registros de recurso CNAME para a zona hospedada para seu domínio. Este novo conjunto de registros de recurso CNAME redirecionará consultas de DNS a partir de seu domínio (por exemplo, www.exemplo.com) para o nome de domínio do CloudFront para a sua distribuição (por exemplo, d111111abcdef8.cloudfront.net). Para obter mais informações, consulte a documentação do DNS fornecido pelo provedor de serviços. Se você estiver usando Amazon Route 53 como o serviço DNS, você pode criar um conjunto de registros de recurso alias, em vez de um CNAME. Com um conjunto de registros de recurso alias, você não paga para Amazon Route 53 consultas. Além disso, você pode criar um conjunto de registros de recurso alias para um nome de domínio no apex de zona (exemplo.com), que permitem a CNAMEs não DNS. Para obter mais informações, acesse Solicitações de roteamento na distribuição a um Amazon CloudFront Guia do desenvolvedor do Amazon Route 53. Important Se você já tem um registro CNAME para o seu nome de domínio, atualizar esse conjunto de registros de recurso ou substituí-la por uma nova que aponte para o nome de domínio do CloudFront para a sua distribuição. API Version 2016-01-13 48 Amazon CloudFront Guia do desenvolvedor Escolha a classe de preço para uma distribuição do CloudFront Além disso, confirme se seu conjunto de registros de recurso CNAME aponta para o nome do domínio de sua distribuição e não para um de seus servidores de origem. 5. Usando dig ou uma ferramenta similar, confirme se o conjunto de registros de recurso CNAME que você criou na Etapa 4 aponta para o nome de domínio para a sua distribuição. Para obter mais informações sobre dig, consulte http://www.kloth.net/services/dig.php. O exemplo a seguir mostra uma solicitação no domínio dig images.example.com relevantes, bem como parte do resultado. [prompt]> dig images.example.com ; <<> DiG 9.3.3rc2 <<> images.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;images.example.com. IN ;; ANSWER SECTION: images.example.com. 10800 IN ... ... 6. 7. A CNAME d111111abcdef8.cloudfront.net. A linha na Resposta Seção mostra um conjunto de registros de recurso CNAME que encaminha as consultas para images.example.com para o nome de domínio de distribuição do CloudFront d111111abcdef8.cloudfront.net. O conjunto de registros de recurso CNAME é configurado corretamente se o nome no lado direito do CNAME é o nome de domínio da sua distribuição do CloudFront. Se que é qualquer outro valor, por exemplo, o nome de domínio para o seu bucket do Amazon S3, então o conjunto de registros de recurso CNAME é configurado incorretamente. Neste caso, volte para a Etapa 4 e corrigir o registro CNAME para apontar para o nome de domínio para a sua distribuição. Teste o nome de domínio alternativo, criando alguns links de teste que usam o seu nome de domínio na URL em vez do nome de domínio do CloudFront para a sua distribuição. No aplicativo, altere os links para os objetos para usar o seu nome de domínio alternativo em vez do nome de domínio da sua distribuição do CloudFront. Escolha a classe de preço para uma distribuição do CloudFront CloudFront tem pontos de presença em todo o mundo. O nosso custo de cada ponto de presença varia e, como resultado, o preço que cobra varia de acordo com o ponto de presença do qual o CloudFront oferece suas solicitações. pontos de presença do CloudFront são agrupadas em regiões geográficas, e estamos agrupadas regiões em classes de preço. A classe de preço padrão inclui todas as regiões. Outra classe de preço inclui a maioria das regiões (nos Estados Unidos, Europa; Hong Kong, Coreia e Cingapura, Japão; e na Índia), mas não inclui as regiões mais caras regiões. Um classe de preço inclui apenas as regiões menos caras (as regiões dos Estados Unidos e da Europa). Por padrão, ele responde a solicitações de seus objetos com base apenas no desempenho: objetos são atendidas a partir do ponto de presença para que a latência é menor para esse visualizador. Se você está disposto a aceitar maior latência para seus visualizadores em algumas regiões geográficas API Version 2016-01-13 49 Amazon CloudFront Guia do desenvolvedor Uso do CloudFront com o Amazon S3 em troca de um custo mais baixo, você pode escolher uma classe de preço que não inclua todas as regiões do CloudFront. Embora ele servirá seus objetos apenas a partir de pontos de presença em que classe de preço, ele ainda oferece conteúdo a partir do ponto de presença com a menor latência entre os pontos de presença em sua classe de preço selecionada. No entanto, alguns de seus visualizadores, especialmente aqueles em regiões geográficas que não estiverem em sua classe de preço, poderão vir maior latência do que se seu conteúdo estivesse sendo fornecido de todos os pontos de presença do CloudFront. Por exemplo, se você escolher a classe de preço que inclui apenas nos Estados Unidos e na Europa, os visualizadores na Austrália e na Ásia poderão ter maior latência do que se você escolher a classe de preço que inclui Austrália e Ásia. Se você escolher uma classe de preço que não inclua todos os pontos de presença, ele ainda pode, eventualmente, atender a solicitações de seu conteúdo de um ponto de presença em uma região que não esteja incluída em sua classe de preço. Quando isso ocorrer, você não será cobrado a taxa para a região mais caros do que seus objetos foram atendidas. Em vez disso, você é cobrado a taxa para a região menos cara na sua classe de preço selecionada. Você pode escolher uma classe de preço ao criar ou atualizar uma distribuição de web do CloudFront ou distribuição RTMP. Para encontrar o tópico aplicáveis sobre a criação ou atualização de um web ou uma distribuição RTMP usando o console ou a API do CloudFront, consulte Trabalhando com Distribuições (p. 41). Se você criar ou atualizar uma distribuição usando a API do CloudFront, um dos AWS SDKs ou o AWS CloudFormation aplicáveis, consulte o tópico para obter uma lista de valores válidos (pesquisar PriceClass): • Tipocomplexo – DistributionConfig distribuiçõesweb • Tipocomplexo – StreamingDistributionConfig distribuiçõesRTMP Para obter mais informações sobre a definição de preço do CloudFront e classes de preço, consulte Definição de preço Amazon CloudFront. Uso do CloudFront com o Amazon S3 Você pode armazenar seu conteúdo em um bucket do Amazon S3 e uso do CloudFront para distribuir o conteúdo. Este tópico explica como usar o CloudFront com seu bucket do S3 e como atualizar sua distribuição do CloudFront se você mover o bucket do S3 para outra região. Tópicos • A distribuição do CloudFront Quando Você está adicionando conteúdo a partir do Amazon S3 (p. 50) • Como mover uma região para outro bucket do Amazon S3 (p. 52) A distribuição do CloudFront Quando Você está adicionando conteúdo a partir do Amazon S3 Se você armazenar os objetos em um bucket do Amazon S3, você pode fazer com que os usuários obtêm seus objetos diretamente do S3, ou você pode configurar CloudFront para obter seus objetos do S3 e distribuí-los para seus usuários. O uso do CloudFront pode ser mais econômico se seus usuários acessar seus objetos com frequência porque, em uma maior utilização do CloudFront, o preço para a transferência de dados é menor do que o preço para transferência de dados do Amazon S3. Além disso, downloads estão mais rápido com o CloudFront do que com o Amazon S3 sozinho porque seus objetos são armazenados mais próximos aos usuários. API Version 2016-01-13 50 Amazon CloudFront Guia do desenvolvedor A distribuição do CloudFront Quando Você está adicionando conteúdo a partir do Amazon S3 Note Se você deseja que o Amazon S3 do CloudFront para respeitar as configurações de compartilhamento de recursos de origem cruzada, configure para encaminhar o Origin cabeçalho do CloudFront para o Amazon S3. Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Se você atualmente distribuir conteúdo diretamente do seu bucket do Amazon S3 usando o seu próprio nome de domínio (como exemplo.com) em vez do nome de domínio do seu bucket do Amazon S3 (como MyAWSBucket.s3.amazonaws.com), você pode adicionar do CloudFront sem interrupção usando o procedimento a seguir. Para adicionar do CloudFront quando você já está distribuindo o conteúdo do Amazon S3 1. Crie uma distribuição do CloudFront usando o procedimento descrito no tópico: aplicáveis • Lista de tarefas para criar uma distribuição na Web (p. 54) • Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88) Ao criar a distribuição, especifique o nome do seu bucket do Amazon S3 como o servidor de origem. Important Para o seu bucket para trabalhar com CloudFront, o nome deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. Se você estiver usando um CNAME com o Amazon S3, especifique o CNAME para sua distribuição. 2. Crie uma página da web de teste publicamente legível que contém links para os objetos em seu bucket do Amazon S3 e testar os links. Para esse teste inicial, use o nome de domínio da sua distribuição do CloudFront no objeto URLs, por exemplo, http:// d111111abcdef8.cloudfront.net/images/image.jpg. Para obter mais informações sobre o formato de URLs do CloudFront, consulte Formato de URLs dos objetos do CloudFront (p. 99). 3. Se você estiver usando o Amazon S3 CNAMEs, seu aplicativo usa o seu nome de domínio (por exemplo, exemplo.com) para fazer referência a objetos em seu bucket do Amazon S3 em vez de usar o nome do seu bucket (por exemplo, myawsbucket. s3.amazonaws.com). Para continuar a usar o seu nome de domínio para objetos de referência em vez de usar o nome de domínio da sua distribuição do CloudFront (por exemplo, d111111abcdef8.cloudfront.net), você precisa atualizar as configurações de DNS com o seu provedor de serviços. Para o Amazon S3 CNAMEs para funcionar, seu provedor de serviço de DNS deve ter um conjunto de registros de recurso CNAME para seu domínio que atualmente encaminha as consultas para o domínio para o seu bucket do Amazon S3. Por exemplo, se um usuário solicita esse objeto: http://example.com/images/image.jpg a solicitação é automaticamente redirecionado e o usuário vê esse objeto: http://myawsbucket.s3.amazonaws.com/images/image.jpg API Version 2016-01-13 51 Amazon CloudFront Guia do desenvolvedor Como mover uma região para outro bucket do Amazon S3 Para encaminhar consultas para a sua distribuição do CloudFront, em vez de seu bucket do Amazon S3, você precisa usar o método de DNS fornecido pelo provedor de serviços para atualizar o conjunto de registros de recurso CNAME para seu domínio. Esse registro CNAME começará para redirecionar consultas DNS do seu domínio para o nome de domínio do CloudFront para a sua distribuição. Para obter mais informações, consulte a documentação do DNS fornecido pelo provedor de serviços. Note Se você estiver usando o Amazon Route 53 como o serviço DNS, você pode usar um conjunto de registros de recurso CNAME ou um conjunto de registros de recurso alias. Para obter mais informações sobre como editar conjuntos de registros de recursos, consulte Editando conjuntos de registros de recursos. Para obter informações sobre conjuntos de registro de recurso alias, consulte Escolhendo entre Alias e não Alias conjuntos de registros de recursos. Ambos os tópicos estão no Guia do desenvolvedor do Amazon Route 53. Para obter mais informações sobre como usar CNAMEs com CloudFront, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Depois de atualizar o conjunto de registros de recurso CNAME, pode levar até 72 horas para que as alterações serão propagadas em todo o sistema DNS, embora normalmente acontece mais rápido. Durante esse período, algumas solicitações para seu conteúdo continuarão a ser direcionado para seu bucket do Amazon S3, e será direcionado para outros usuários do CloudFront. Como mover uma região para outro bucket do Amazon S3 Se você estiver usando o Amazon S3 como a origem de uma distribuição do CloudFront e mover o bucket para uma região diferente, ele pode levar até uma hora para atualizar seus registros para incluir a alteração de região quando ocorrer o seguinte: • Você está usando uma identidade de acesso de origem do CloudFront (OAI) para restringir o acesso ao bucket • Mova o bucket do Amazon S3 para uma região que requer Signature versão 4 para autenticação Quando você estiver usando OAIs, ele usa a região (entre outros valores) para calcular a assinatura que usa para solicitar objetos em seu bucket. Para obter mais informações sobre OAIs, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Para obter uma lista de regiões do Amazon S3 e a assinatura versões que eles suportam, consulte Amazon Simple Storage Service (Amazon S3) no "Regiões e endpoints" do Amazon Web Services General Reference. Para forçar uma atualização de registros do CloudFront mais rápido, você pode atualizar sua distribuição do CloudFront, por exemplo, atualizando o Comment campo na General guia no console do CloudFront. Quando você atualizar uma distribuição do CloudFront verifica imediatamente na região que seu bucket está em; propagação de a alteração para todos os pontos de presença deve demorar menos de 15 minutos. API Version 2016-01-13 52 Amazon CloudFront Guia do desenvolvedor As alterações na API do CloudFront As alterações na API do CloudFront Começando com a versão da API do CloudFront 2012-05-05, facilitamos alterações significativas para o formato de documento XML que você inclui na solicitação corpo ao criar ou atualizar uma distribuição de web ou uma distribuição RTMP, e quando você anular objetos. Com as versões anteriores da API, descobrimos que ele era muito fácil de excluir acidentalmente um ou mais valores para um elemento que aceita vários valores, por exemplo, CNAMEs e assinantes confiáveis. Nossa muda para a versão 2012-05-05 são projetados para impedir que essas exclusões acidentais e para notificá-lo quando há uma incompatibilidade entre o número de valores que você dizer que você está especificando no Quantity elemento e o número de valores que você está realmente especificando. Observe o seguinte sobre o uso da API 2012-05-05 versão ou posterior com web e distribuições RTMP que foram criados usando versões anteriores de API: • Você não pode usar versões de API anteriores a 2012-05-05 para atualizar uma distribuição de web que foi criada ou atualizada usando a API do CloudFront 2012-05-05 ou posterior. • Você pode usar a nova versão de API para obter uma lista de distribuições, obtenha informações sobre uma distribuição ou a configuração de distribuição. CloudFront retorna um documento XML no novo formato XML. • Para atualizar uma distribuição que foi criado usando uma versão anterior, use a API 2012-05-05 ou versão posterior de distribuição GET ou GET Streaming Distribution para obter um documento XML no novo formato XML, alterar os dados conforme aplicável, e usar a versão mais recente do PUT 2012-05-05 ou distribuição Config ou PUT Streaming Distribution Config para enviar as alterações do CloudFront. • Você pode usar a nova API para excluir uma distribuição que foi criado usando uma versão de API anteriores. A distribuição já deve ser desativado. API Version 2016-01-13 53 Amazon CloudFront Guia do desenvolvedor Lista de tarefas para criar uma distribuição na Web Trabalhando com Distribuições de web Esta seção descreve como configurar e gerenciar as distribuições de web do CloudFront. Para obter uma explicação básica de distribuições, consulte Trabalhando com Distribuições (p. 41). Para obter mais informações sobre as distribuições RTMP do CloudFront, consulte Trabalhando com distribuições RTMP (p. 86). Tópicos • Lista de tarefas para criar uma distribuição na Web (p. 54) • Criando ou Atualizando uma distribuição da Web usando o console do CloudFront (p. 56) • Testando a sua distribuição na Web (p. 57) • Usando o Amazon S3 origens e Personalize origens para Distribuições de web (p. 57) • Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59) • Os valores que CloudFront Exibe no Console Quando Você Criar ou Atualizar uma distribuição da Web (p. 78) • Requisitos e recomendações para o uso do Amazon EC2 e outras origens personalizadas (p. 80) • Usando a AWS WAF para Controlar o acesso a seu conteúdo (p. 80) • Restringindo a distribuição geográfica do seu conteúdo (p. 81) • Configuração de Smooth Streaming sob demanda (p. 84) • Configuração de download progressivo sob demanda (p. 85) • Configuração de HTTP Live Streaming (HLS) sob demanda no Apple (p. 85) Lista de tarefas para criar uma distribuição na Web A seguinte lista de tarefas resume o processo para criar uma distribuição de web. API Version 2016-01-13 54 Amazon CloudFront Guia do desenvolvedor Lista de tarefas para criar uma distribuição na Web Para criar uma distribuição da Web 1. Crie um ou mais buckets do Amazon S3 ou configurar servidores HTTP como seus servidores de origem. Uma origem é o local onde você armazena a versão original do seu conteúdo da web. Quando recebe uma solicitação do CloudFront para seus arquivos, ele vai para a origem para obter os arquivos que ele distribui em pontos de presença. Você pode usar qualquer combinação de buckets do Amazon S3 e servidores HTTP como seus servidores de origem. Se você estiver usando o Amazon S3, observe que o nome do seu bucket devem ser todos os minúsculos e não podem conter espaços. Se você estiver usando um servidor do Amazon EC2 ou outra origem personalizada, revisão Requisitos e recomendações para o uso do Amazon EC2 e outras origens personalizadas (p. 80). Para saber mais sobre o limite do número de origens que podem ser criadas para uma distribuição, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/case/ create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. 2. Faça o upload de seu conteúdo para seus servidores de origem. Se você não deseja restringir o acesso ao seu conteúdo usando URLs assinadas do CloudFront, tornar os objetos publicamente legível. Caution Você é responsável por garantir a segurança do seu servidor de origem. Você deve garantir que ele tem permissão para acessar o servidor e que as configurações de segurança são apropriadas para proteger o seu conteúdo. 3. Crie sua distribuição de web do CloudFront: • Para obter mais informações sobre a criação de uma distribuição de web usando o console do CloudFront, consulte Criando ou Atualizando uma distribuição da Web usando o console do CloudFront (p. 56). • Para obter informações sobre a criação de uma distribuição de web usando a API do CloudFront, acesse POST na distribuição Amazon CloudFront API Reference. 4. Opcional: Se você criou sua distribuição usando o console do CloudFront, criar mais comportamentos de cache ou origens para a sua distribuição. Para obter mais informações, consulte Para Lista, Exibir e Atualizar Distribuições do CloudFront usando o console do CloudFront (p. 44). 5. Teste sua distribuição na web. Para obter mais informações, consulte Testando a sua distribuição na Web (p. 57). 6. Desenvolva o seu site ou aplicativo para acessar seu conteúdo usando o nome de domínio que o CloudFront retornou depois que você criou sua distribuição na Etapa 3. Por exemplo, se o CloudFront retorna d111111abcdef8.cloudfront.net como o nome de domínio para sua distribuição, o URL para o arquivo image.jpg em um bucket do Amazon S3 ou no diretório raiz em um servidor HTTP será http://d111111abcdef8.cloudfront.net/image.jpg. Se você tiver especificado um ou mais nomes de domínio alternativo (CNAMEs) quando você criou sua distribuição, você pode usar seu próprio nome de domínio. Neste caso, o URL para image.jpg http://www.example.com/image.jpg. Observe o seguinte: • Se você quiser usar URLs assinadas para restringir o acesso ao seu conteúdo, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). • Se você deseja disponibilizar conteúdo, consulte Distribuição de arquivos compactados (p. 137). API Version 2016-01-13 55 Amazon CloudFront Guia do desenvolvedor Criando ou Atualizando uma distribuição da Web usando o console do CloudFront • Para obter mais informações sobre o comportamento da solicitação e da resposta do CloudFront para o Amazon S3 e origens personalizadas, consulte Solicitação e comportamento de resposta (p. 142). Criando ou Atualizando uma distribuição da Web usando o console do CloudFront Os procedimentos neste tópico explicam como criar ou atualizar uma distribuição de web usando o console do CloudFront. Se você deseja criar uma distribuição de web usando a API do CloudFront, acesse POST na distribuição Amazon CloudFront API Reference. Se você quiser atualizar uma distribuição de web usando a API do CloudFront, acesse PUT na DistributionConfig Amazon CloudFront API Reference. Para saber mais sobre o limite do número de distribuições que podem ser criadas por conta da AWS, consulte Limites no Amazon Web Services General Reference Amazon CloudFront. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/case/create?issueType=servicelimit-increase&limitType=service-code-cloudfront-distributions. • Para criar uma distribuição de web do CloudFront usando o console do CloudFront (p. 56) • Para atualizar uma distribuição de web do CloudFront usando o console do CloudFront (p. 56) Para criar uma distribuição de web do CloudFront usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Escolha Create Distribution. 3. Na primeira página do Create Distribution Wizard, na Web seção, escolha Get Started. 4. Especifique as configurações para a distribuição. Para obter mais informações, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). 5. Escolha Create Distribution. 6. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Se você optar por habilitar a distribuição, ele será, então, pronto para processar solicitações. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. (Ele também é exibido na General guia para uma distribuição selecionada.) 7. Quando sua distribuição for implementada, confirme se você pode acessar seu conteúdo usando o novo URL do CloudFront ou CNAME. Para obter mais informações, consulte Testando a sua distribuição na Web (p. 57). Para atualizar uma distribuição de web do CloudFront usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Escolha o ID para a distribuição que você deseja atualizar. 3. Atualizar os valores aplicáveis. Para obter mais informações, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). 4. Escolha Create Distribution. 5. Depois de alterar as configurações, o valor da Status coluna para a sua distribuição do CloudFront propaga as alterações InProgress e, ao mesmo tempo, as alterações para pontos API Version 2016-01-13 56 Amazon CloudFront Guia do desenvolvedor Testando a sua distribuição na Web de presença. Quando Status as alterações Deployed, a distribuição está pronto para processar solicitações. (O valor da State coluna para a distribuição também devem ser Enabled.) Isso deve demorar menos de 15 minutos após salvar a última alteração. Testando a sua distribuição na Web Depois de criar a distribuição, ele sabe onde seu servidor de origem é, e você souber o nome de domínio associados com a distribuição. Você pode criar links para os objetos usando o nome de domínio do CloudFront e do CloudFront servirá os objetos em seu aplicativo ou página da Web. Note Você deve aguardar até que o status da distribuição será alterado para Deployed antes de pode testar seus links. Para criar links para objetos em uma distribuição de web 1. Copie o seguinte código HTML em um novo arquivo, substitua o nome de domínio com o nome do domínio de sua distribuição e substitua o nome do objeto com o nome do seu objeto. <html> <head>My CloudFront Test</head> <body> <p>My text content goes here.</p> <p><img src="http://domain-name/object-name" alt="my test image" </body> </html> Por exemplo, se o seu nome de domínio d111111abcdef8.cloudfront.net e seu objeto foram foram image.jpg, o URL do link seria: http://d111111abcdef8.cloudfront.net/image.jpg. Se o objeto está em uma pasta no seu servidor de origem e, em seguida, a pasta também devem ser incluídos no URL. Por exemplo, se image.jpg estavam localizados na pasta de imagens em seu servidor de origem e, em seguida, o URL seria: http://d111111abcdef8.cloudfront.net/images/image.jpg 2. Salve o código HTML em um arquivo que tem uma extensão de nome de arquivo.html. 3. Abra a página da web em um navegador para garantir que você pode ver o objeto. O navegador retorna a página com o arquivo de imagem incorporado, fornecido de presença do CloudFront determinado foi apropriado para servir o objeto. Usando o Amazon S3 origens e Personalize origens para Distribuições de web Quando você cria uma distribuição de web, você especifica onde ele envia solicitações para os arquivos que ele distribui para pontos de presença. usando o Amazon S3 do CloudFront é compatível com buckets e servidores HTTP (por exemplo, servidores da Web) como origens. API Version 2016-01-13 57 Amazon CloudFront Guia do desenvolvedor Usando o Amazon S3 Buckets para sua origem Usando o Amazon S3 Buckets para sua origem Quando você usa o Amazon S3 como origem para a sua distribuição, você coloca todos os objetos que você deseja que o CloudFront para entregar em um bucket do Amazon S3. Você pode usar qualquer método que é compatível com o Amazon S3 para colocar os objetos para o Amazon S3, por exemplo, o console ou a API do Amazon S3 ou uma ferramenta de terceiros. Você pode criar uma hierarquia em seu bucket para armazenar os objetos, da mesma forma que faria com qualquer outro bucket do Amazon S3. Usando um bucket do Amazon S3 como seu servidor de origem do CloudFront não altera o bucket, você ainda pode usá-lo normalmente para armazenar e acessar o Amazon S3 objetos no preço padrão do Amazon S3. Você será cobrado pelos encargos do Amazon S3 regular para armazenar os objetos no bucket. Para obter mais informações sobre as cobranças de uso do CloudFront, consulte Relatórios do CloudFront (p. 11). Important Para o seu bucket para trabalhar com CloudFront, o nome deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. Quando você especifica o bucket do Amazon S3 que você deseja que o CloudFront para obter objetos do, como você especificar o nome do bucket depende se você tiver configurado o bucket como um site endpoint: O bucket não está configurado como um site endpoint Em geral, use o seguinte formato: bucket-name.s3.amazonaws.com Se o seu bucket está na região padrão dos EUA e você deseja que o Amazon S3 para rotear as solicitações para um recurso no Norte da Virgínia, use o seguinte formato: bucket-name.s3-external-1.amazonaws.com Quando você especifica o nome do bucket neste formato, você pode usar os seguintes recursos do CloudFront: • Configure CloudFront para se comunicar com seu bucket do Amazon S3 usando SSL. Para obter mais informações, consulte Usando uma conexão HTTPS para acessar seus objetos (p. 235). • Use uma identidade de acesso de origem para exigir que os usuários acessam seu conteúdo usando URLs do CloudFront URLs, não usando o Amazon S3. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). • Atualize o conteúdo do seu bucket enviando POST e PUT solicitações para CloudFront. Para obter mais informações, consulte Métodos HTTP (p. 144) o tópico Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 (p. 142). O bucket é configurado como um site endpoint Insira o endpoint de hospedagem de site estático do Amazon S3 para o seu bucket. Esse valor é exibido no console do Amazon S3, na Properties página Static Website Hosting. Quando você especifica o nome do bucket neste formato, você pode usar o Amazon S3 redireciona e documentos de erro personalizadas do Amazon S3. (CloudFront também fornece páginas de erro personalizadas. Para obter mais informações, consulte Personalizando respostas de erro (p. 130).) Para obter mais informações sobre os recursos do Amazon S3, consulte a documentação do Amazon S3. API Version 2016-01-13 58 Amazon CloudFront Guia do desenvolvedor Usando o Amazon EC2 ou outras origens personalizadas Não especifique o bucket usando os seguintes formatos: • O s3.amazonaws.com/bucket-nameestilo de caminho do Amazon S3 • O Amazon S3 CNAME, se houver Usando o Amazon EC2 ou outras origens personalizadas A origem personalizada é um servidor HTTP, por exemplo, um servidor web. O servidor HTTP pode ser uma instância do Amazon EC2 ou um servidor HTTP que você gerencia de forma privada. Quando você usa uma origem personalizada, você especifica o nome DNS do servidor, junto com as portas HTTP e HTTPS e o protocolo que você deseja que o CloudFront use ao recuperar objetos em sua origem. A maioria dos recursos do CloudFront são suportadas quando você usa uma origem personalizada com as seguintes exceções: • As distribuiçõesRTMP– Não suportado. • conteúdoprivado-Embora você pode usar um URL assinada para distribuir o conteúdo de uma origem personalizada, para CloudFront para acessar a origem personalizada, a origem deve permanecer acessível publicamente. Para obter mais informações, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). Para obter informações sobre os requisitos e as recomendações ao usar origens personalizadas, consulte Requisitos e recomendações para o uso do Amazon EC2 e outras origens personalizadas (p. 80). Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web Quando você cria uma nova distribuição de web ou atualizar uma distribuição existente, você especifica os seguintes valores. Para obter informações sobre a criação ou atualização de uma distribuição de web usando o console do CloudFront aplicáveis, consulte o tópico: • Trabalhando com Distribuições de web (p. 54) • Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43) Método de apresentação (p. 61) Configurações de origem (p. 61) • Nome do domínio de origem (p. 61) • Caminho de origem (p. 62) • ID de origem (p. 63) • Restrinja Bucket Access (Amazon S3 Only) (p. 63) • Identidade de acesso de origem (Amazon S3 Only) (p. 63) • Comentário para Novos Identity (Amazon S3 Only) (p. 63) • Suas identidades (Amazon S3 Only) (p. 63) API Version 2016-01-13 59 Amazon CloudFront Guia do desenvolvedor Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web • Permissões de leitura de bolsas no bucket (Amazon S3 Only) (p. 64) • Protocolos de origem SSL (Amazon EC2 e outras origens personalizadas somente) (p. 64) • Política de protocolo de origem (Amazon EC2 e outras origens personalizadas somente) (p. 64) • Porta HTTP (Amazon EC2 e outras origens personalizadas somente) (p. 65) • Porta HTTPS (Amazon EC2 e outras origens personalizadas somente) (p. 65) • Cabeçalhos personalizados de origem (p. 65) Configurações de comportamento de cache (p. 65) • Padrão Path (p. 66) • Distribuições existentes de origem (Somente) (p. 68) • Política de protocolo de visualizadores (p. 68) • Métodos HTTP permitidos (p. 68) • Métodos HTTP armazenados em cache (p. 69) • Encaminhar cabeçalhos (p. 69) • Cabeçalhos da lista de permissões (p. 69) • Armazenamento em cache de objetos (p. 70) • Mínimo de TTL (p. 70) • Default TTL (p. 70) • Máximo TTL (p. 70) • Forward Cookies (Amazon EC2 e outras origens personalizadas somente) (p. 71) • lista de permissões Cookies (Amazon EC2 e outras origens personalizadas somente) (p. 71) • Encaminhe sequências de caracteres de consulta (p. 71) • Smooth Streaming (p. 72) • Restrinja Viewer Access (Use URLs assinadas) (p. 72) • Trusted Signatários (p. 72) • Números de conta da AWS (p. 72) • Compactar objetos automaticamente (p. 73) Detalhes de distribuição (p. 73) • Classe de preço (p. 73) • A AWS WAF ACL Web (p. 73) • Alternar nomes de domínio (CNAMEs) (p. 73) • Certificado SSL (p. 74) • Clientes compatíveis (p. 75) • Versão do protocolo SSL Mínima (p. 75) • Objeto raiz padrão (p. 75) • Registro em log (p. 75) • Logs de bucket para (p. 76) • Prefixo de log (p. 76) • Registro de cookies (p. 76) • Comentário (p. 76) • Estado de distribuição (p. 76) API Version 2016-01-13 60 Amazon CloudFront Guia do desenvolvedor Método de apresentação Erro de páginas de erro personalizadas e armazenamento em cache (p. 77) • Código de erro (p. 77) • Página Resposta Caminho (p. 77) • Código de resposta (p. 77) • Erro ao armazenamento em cache TTL mínimo (p. 77) Restrições (p. 78) • Ativar restrição geográfica (p. 78) • Tipo de Restrição (p. 78) • Países (p. 78) Método de apresentação Você especifica o método de entrega quando você cria uma distribuição. Para obter uma distribuição de web, esse valor está sempre Web. Você não pode alterar o método de entrega para uma distribuição existente. Configurações de origem Ao criar ou atualizar uma distribuição, você fornece informações sobre um ou mais locais – conhecido como origens – onde você armazenar versões originais de seu conteúdo da web. CloudFront obtém o seu conteúdo da web de suas origens e serve para os visualizadores por meio de uma rede mundial de servidores de presença. Cada origem é um bucket do Amazon S3 ou um servidor HTTP, por exemplo, um servidor web. Para saber mais sobre o limite do número de origens que podem ser criadas para uma distribuição, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/case/create?issueType=servicelimit-increase&limitType=service-code-cloudfront-distributions. Se você deseja excluir uma origem, primeiro você deve editar ou excluir os comportamentos de cache que são associados a essa origem. Caution Se você excluir uma origem, confirme se os arquivos que foram anteriormente atendidas por essa origem estão disponíveis em outra origem e que seus comportamentos de cache agora são as solicitações de roteamento para esses arquivos para a nova origem. Ao criar ou atualizar uma distribuição, você especifica os seguintes valores para cada origem. Nome do domínio de origem O nome de domínio DNS do bucket do Amazon S3 ou um servidor HTTP do qual você deseja que o CloudFront para obter objetos para esta origem, por exemplo: • – bucket do myawsbucket.s3.amazonaws.comAmazon S3 • – instância ec2-203-0-113-25.compute-1.amazonaws.comdo Amazon EC2 • O Elastic Load Balancing – my-load-balancer-1234567890.uswest-2.elb.amazonaws.combalanceador de carga API Version 2016-01-13 61 Amazon CloudFront Guia do desenvolvedor Configurações de origem Se sua origem é um servidor HTTP, digite o nome de domínio do recurso. Os arquivos deve ser legível publicamente. Se a origem é um bucket do Amazon S3, no console do CloudFront, escolha no Origin Domain Name campo e uma lista enumera buckets do Amazon S3 atuais que estão associados com a conta da AWS. Observe o seguinte: • Se o bucket é configurado como um site, insira o endpoint de hospedagem de site estático do Amazon S3 para o bucket; não selecione o nome do bucket na lista no Origin Domain Name campo. A hospedagem de site estático do endpoint é exibido no console do Amazon S3, na Properties página Static Website Hosting. • Se você configurou o Amazon S3 Transfer Acceleration para o seu bucket, não especifique o s3accelerate endpoint para Origin Domain Name. • Se você estiver usando um bucket de uma conta diferente da AWS e, se o bucket não está configurado como um site, digite o nome no seguinte formato: bucket-name.s3.amazonaws.com Se o seu bucket está na região padrão dos EUA e você deseja que o Amazon S3 para rotear as solicitações para um recurso no Norte da Virgínia, use o seguinte formato: bucket-name.s3-external-1.amazonaws.com Se o seu bucket está na região UE (Frankfurt), você também pode usar o seguinte formato: bucket-name.s3.eu-central-1.amazonaws.com • Os arquivos deve ser legível publicamente, a menos que você proteja seu conteúdo no Amazon S3, utilizando uma identidade de acesso de origem do CloudFront. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Important Se a origem é um bucket do Amazon S3, o nome do bucket devem estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. Quando você alterar o valor Origin Domain Name para uma origem, replicando a alteração do CloudFront começa imediatamente para os pontos de presença do CloudFront. Até a configuração de distribuição é atualizado em um determinado ponto de presença, ele continuará a encaminhar solicitações ao servidor HTTP anterior ou bucket do Amazon S3. Assim que a configuração de distribuição é atualizado naquele ponto de presença, o CloudFront começa para encaminhar as solicitações para o novo servidor HTTP ou bucket do Amazon S3. Alterando a origem não requer caches de presença do CloudFront para preencher novamente com os objetos da nova origem. Desde que as solicitações do visualizador em seu aplicativo não foram alterados, ele continuará a servir objetos que já estão em um cache de presença até que o TTL em cada objeto expirar ou até que raramente objetos solicitados são removidas. Caminho de origem Se você deseja que o CloudFront para solicitar seu conteúdo a partir de um diretório em seu bucket do Amazon S3 ou sua origem personalizada, insira o caminho do diretório, começando com uma /. CloudFront anexa o caminho do diretório para o valor de Origin Domain Name, por exemplo, cforigin.example.com/production/images. Não adicione um/no final do caminho. Por exemplo, suponha que você especificou os seguintes valores para sua distribuição: API Version 2016-01-13 62 Amazon CloudFront Guia do desenvolvedor Configurações de origem • Um bucket do Amazon S3 designadoOrigin Domain Name myawsbucket– • Origin Path – /production • Alternate Domain Names (CNAMEs) – example.com Quando um usuário entra example.com/index.html em um navegador, ele envia uma solicitação para o Amazon S3 myawsbucket/production/index.html. Quando um usuário entra example.com/acme/index.html em um navegador, ele envia uma solicitação para o Amazon S3 myawsbucket/production/acme/index.html. ID de origem Uma string que distingue exclusivamente essa origem de outras origens nesta distribuição. Se você criar comportamentos de cache, além do comportamento de cache padrão, você pode usar o ID de origem que você especificar aqui para identificar a origem do CloudFront para o qual você deseja rotear uma solicitação quando a solicitação coincide com o caminho padrão para esse comportamento de cache. Para obter mais informações, consulte Configurações de comportamento de cache (p. 65). Restrinja Bucket Access (Amazon S3 Only) Escolha Yes se você deseja exigir que os usuários para acessar objetos em um bucket do Amazon S3, usando apenas URLs do CloudFront, não usando o Amazon S3 URLs. Em seguida, especifique os valores aplicáveis. Escolha No se os usuários poderão acessar objetos usando URLs do CloudFront ou URLs do Amazon S3. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Para obter informações sobre como exigir que os usuários acessam objetos em uma origem personalizada usando apenas URLs do CloudFront, consulte Usando Cabeçalhos Personalizados para restringir o acesso ao seu conteúdo em uma origem personalizada (p. 115). Identidade de acesso de origem (Amazon S3 Only) Se você escolheu Yes para Restrict Bucket Access, escolha se deseja criar uma nova identidade de acesso de origem ou usar uma existente que está associado à sua conta da AWS. Se você já tem uma identidade de acesso de origem, recomendamos que você reutilizá-la para simplificar a manutenção. Para obter mais informações sobre as identidades de acesso de origem, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Comentário para Novos Identity (Amazon S3 Only) Se você escolheu Create a New Identity para Origin Access Identity, insira um comentário que identifica a nova identidade de acesso de origem. CloudFront criará a identidade de acesso de origem quando você cria essa distribuição. Suas identidades (Amazon S3 Only) Se você escolheu Use an Existing Identity para Origin Access Identity, escolha a identidade de acesso de origem que você deseja usar. Você não pode usar uma identidade de acesso de origem que está associada a outra conta da AWS. API Version 2016-01-13 63 Amazon CloudFront Guia do desenvolvedor Configurações de origem Permissões de leitura de bolsas no bucket (Amazon S3 Only) Se você deseja conceder a origem do CloudFront para automaticamente a permissão de identidade de acesso para ler objetos no bucket do Amazon S3, escolha Yes, Update Bucket Policy. Important Se você escolher Yes, Update Bucket Policy, as atualizações do CloudFront para conceder a política de bucket especificado a permissão de identidade de acesso de origem para ler objetos em seu bucket. No entanto, ele não remove as permissões existentes na política de bucket ou permissões sobre objetos individuais. Se os usuários atualmente têm permissão para acessar os objetos em seu bucket usando o Amazon S3 URLs, eles ainda terá essa permissão após as atualizações do CloudFront a sua política de bucket. Para visualizar ou alterar a política de buckets existentes e permissões existentes sobre os objetos no seu bucket, use um método fornecido pelo Amazon S3. Para obter mais informações, consulte Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 (p. 174). Se você quiser atualizar as permissões manualmente, por exemplo, se você deseja atualizar ACLs em seus objetos em vez de atualizar as permissões de bucket, escolha No, I will Update Permissions. Protocolos de origem SSL (Amazon EC2 e outras origens personalizadas somente) Escolha o SSL para protocolos que ele pode usar ao estabelecer uma conexão HTTPS com sua origem. O protocolo SSLv3 é menos segura, portanto, recomendamos que você escolha SSLv3 somente se sua origem não suporta TLSv1 ou posterior. Se a origem é um bucket do Amazon S3, ele sempre usa TSLv1.2. Política de protocolo de origem (Amazon EC2 e outras origens personalizadas somente) O protocolo de política do CloudFront que você deseja usar ao recuperar objetos do seu servidor de origem. Important Se o seu bucket do Amazon S3 é configurado como um site endpoint, você deve especificar Somente HTTP. O Amazon S3 não tem suporte para conexões HTTPS nessa configuração. Escolha o valor aplicável: • HTTP Only: CloudFront usa apenas HTTP para acessar a origem. • HTTPS Only: CloudFront usa apenas HTTPS para acessar a origem. • Match Viewer: do CloudFront se comunica com sua origem usando HTTP ou HTTPS, dependendo do protocolo de a solicitação do visualizador. caches do CloudFront do objeto somente uma vez, mesmo se os visualizadores fazer solicitações usando protocolos HTTP e HTTPS. Important Para solicitações do visualizador HTTPS do CloudFront encaminha para essa origem, um dos nomes de domínio no certificado SSL em seu servidor de origem deve corresponder ao nome de domínio que você especificar Origin Domain Name. Caso contrário, ele responde a solicitações do visualizador com um código de status HTTP 502 (Gateway Inválido), em API Version 2016-01-13 64 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache vez de o objeto solicitado. Para obter mais informações, consulte Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront (p. 237). Porta HTTP (Amazon EC2 e outras origens personalizadas somente) Opcional. A porta HTTP que a origem personalizada atende. Os valores válidos incluem as portas 80, 443 e 1024 para 65535. O valor padrão é a porta 80. Porta HTTPS (Amazon EC2 e outras origens personalizadas somente) Opcional. A porta HTTPS que a origem personalizada atende. Os valores válidos incluem as portas 80, 443 e 1024 para 65535. O valor padrão é a porta 443. Cabeçalhos personalizados de origem Se você deseja que o CloudFront para incluir os cabeçalhos personalizados sempre que ele encaminha uma solicitação para sua origem, especifique os seguintes valores: Nome do cabeçalho O nome de um cabeçalho desejado do CloudFront para encaminhar a sua origem. Value O valor para o cabeçalho especificado no Custom Header campo. Para obter mais informações, consulte Encaminhando Cabeçalhos Personalizados para sua origem (Web Distribuições Somente) (p. 113). Para saber mais sobre o limite do número máximo de cabeçalhos personalizados que você pode encaminhar para a origem, o tamanho máximo de um cabeçalho personalizado nome e valor, e o tamanho total de todos os nomes e valores de cabeçalho, consulte Limites (p. 357). Configurações de comportamento de cache Um comportamento de cache permite que você configure uma variedade de funcionalidade do CloudFront para um determinado caminho URL padrão para arquivos no seu site. Por exemplo, um comportamento de cache pode se aplicam a todos os .jpg arquivos no images diretório em um servidor da Web que você está usando como um servidor de origem para CloudFront. A funcionalidade que você pode configurar para cada comportamento de cache inclui: • O caminho padrão. • Se você tiver configurado várias origens para a sua distribuição do CloudFront, o que você deseja de origem do CloudFront para encaminhar suas solicitações. • Seja para encaminhar sequências de caracteres de consulta para sua origem. • Ao acessar arquivos especificados requer URLs assinadas. • Seja para exigir que os usuários usem HTTPS para acessar esses arquivos. • A quantidade mínima de tempo que os arquivos permanecem no cache do CloudFront, independentemente do valor de todos os Cache-Control cabeçalhos que sua origem adiciona para os arquivos. Quando você cria uma nova distribuição, você especifica as configurações para o padrão comportamento de cache, que encaminha automaticamente todas as solicitações para a origem que você especifica ao criar a distribuição. Depois de criar uma distribuição, você pode criar outros API Version 2016-01-13 65 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache comportamentos de cache que definem como o CloudFront responde quando ele recebe uma solicitação para objetos que correspondem a um caminho padrão, por exemplo, *.jpg. Se você criar mais comportamentos de cache padrão, o comportamento de cache é sempre o último a ser processada. Outros comportamentos de cache são processados na ordem em que estão listados no console do CloudFront ou, se você estiver usando a API do CloudFront, a ordem em que eles estão listados no DistributionConfig elemento para a distribuição. Para obter mais informações, consulte Padrão Path (p. 66). Quando você cria um comportamento de cache, você especifica a origem a partir da qual você deseja que o CloudFront para obter objetos. Como resultado, se você deseja que o CloudFront para distribuir objetos de todas as suas origens, você deve ter, pelo menos, como vários comportamentos de cache (incluindo o comportamento de cache padrão) como você tem origens. Por exemplo, se você tiver duas origens e apenas o comportamento de cache padrão, o comportamento de cache fará com que padrão do CloudFront para obter objetos de uma das origens, mas a outra origem nunca será usado. Para saber mais sobre o limite do número de comportamentos de cache que você pode adicionar a uma distribuição, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/case/create? issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. Padrão Path Um caminho padrão (por exemplo, images/*.jpg) especifica as solicitações que você deseja que esse comportamento de cache para aplicar. Quando ele recebe uma solicitação do usuário, o caminho solicitado é comparada com padrões de caminho na ordem em que comportamentos de cache são listados na distribuição. A primeira correspondência determina o comportamento de cache é aplicada a essa solicitação. Por exemplo, suponha que você tenha três comportamentos de cache com os seguintes três padrões de caminho, nesta ordem: • images/*.jpg • images/* • *.gif Note Opcionalmente, você pode incluir uma barra (/) no início do caminho padrão, por exemplo, / images/*.jpg. comportamento do CloudFront é o mesmo com ou sem o principal /. Uma solicitação para o arquivo images/sample.gif não satisfazer primeiro caminho padrão, de modo que o associado comportamentos de cache não são aplicadas para a solicitação. O arquivo é satisfazer o segundo caminho padrão, de modo que os comportamentos de cache associado ao segundo caminho padrão são aplicadas, embora a solicitação também vincula o caminho padrão. Note Quando você cria uma nova distribuição, o valor Path Pattern para o comportamento de cache padrão é definido como * (todos os arquivos) e não pode ser alterada. Isso faz com que o valor do CloudFront para encaminhar todas as solicitações para seus objetos para a origem que você especificou no Nome do domínio de origem (p. 61) campo. Se a solicitação de um objeto não corresponder o caminho padrão para qualquer um dos outros comportamentos de cache, ele se aplica o comportamento que você especificar no comportamento de cache padrão. Caution Definir padrões de caminho e sua seqüência cuidadosamente ou você pode conceder aos usuários acesso indesejável ao seu conteúdo. Por exemplo, suponha que uma API Version 2016-01-13 66 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache solicitação coincide com o caminho padrão para dois comportamentos de cache. O primeiro comportamento de cache não requer URLs assinadas e o segundo comportamento de cache requer URLs assinadas. Os usuários poderão acessar os objetos sem usar um URL assinada, pois ele processa o comportamento de cache associados com a primeira correspondência. O caminho que você especificar se aplica a solicitações para todos os arquivos no diretório especificado e em subdiretórios abaixo do diretório especificado. CloudFront não considera sequências de caracteres de consulta ou cookies ao avaliar o caminho padrão. Por exemplo, se um images diretório contém product1 e product2 subdiretórios, o caminho padrão images/ *.jpg se aplica a solicitações de qualquer arquivo.jpg no images, images/product1e images/ product2 diretórios. Se você deseja aplicar outro comportamento de cache para os arquivos no images/product1 diretório do que os arquivos no images e images/product2 diretórios, crie um comportamento de cache separadas images/product1 e mover esse comportamento de cache para uma posição acima (antes) o comportamento de cache para o images diretório. Você pode usar os seguintes caracteres curinga no caminho padrão: • * corresponde a 0 ou mais caracteres. • ? corresponde exatamente 1 caractere. Os exemplos a seguir mostram como os caracteres curinga funcionam: Path padrão Os arquivos que correspondem o caminho padrão *.jpg Todos os arquivos.jpg images/*.jpg Todos os arquivos.jpg no images diretório e em subdiretórios no images diretório a*.jpg • Todos os arquivos.jpg para os quais o nome do arquivo começa com a, por exemplo, apple.jpg e appalachian_trail_2012_05_21.jpg • Todos os arquivos.jpg para que o caminho do arquivo começa com a, por exemplo, abra/cadabra/magic.jpg. a??.jpg Todos os arquivos.jpg para os quais o nome do arquivo começa com a e é seguido por exatamente dois outros caracteres, por exemplo, ant.jpg e abe.jpg *.doc* Todos os arquivos para os quais a extensão do nome do arquivo começa com .doc, por exemplo, .doc, .docxe .docm arquivos. Você não pode usar o caminho padrão *.doc? , neste caso, porque o caminho padrão não se aplicam a solicitações de .doc arquivos; o caractere ? curinga substitui exatamente um caractere. O tamanho máximo de um caminho padrão é 255 caracteres. O valor pode conter qualquer um dos seguintes caracteres: • A-Z, a-z Path padrões de minúsculas, de modo que o caminho padrão *.jpg não se aplicam ao arquivo LOGO.JPG. • 0-9 • _-.*$/~"'@:+ • &, passados e retornados como & API Version 2016-01-13 67 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache Distribuições existentes de origem (Somente) Insira o valor Origin ID para uma origem. Isso identifica a origem que você deseja que o CloudFront para rotear solicitações para quando uma solicitação (como http://example.com/logo.jpg) corresponde o caminho padrão para um comportamento de cache (por exemplo,*.jpg) ou para o comportamento de cache padrão (*). Política de protocolo de visualizadores Escolha o protocolo de política que você deseja que os usuários usem para acessar seu conteúdo em pontos de presença do CloudFront: • HTTP and HTTPS: Visualizadores pode usar ambos os protocolos. • Redirect HTTP to HTTPS: Visualizadores pode usar ambos os protocolos, mas solicitações HTTP são automaticamente redirecionados para solicitações HTTPS. • HTTPS Only: Visualizadores só podem acessar seu conteúdo se eles estão usando HTTPS. Para obter mais informações, consulte Usando uma conexão HTTPS para acessar seus objetos (p. 235). Métodos HTTP permitidos Especifique os métodos HTTP que você deseja que o CloudFront para processar e encaminhar para sua origem: • GET, HEAD: Você pode usar o CloudFront apenas para obter objetos em sua origem ou para obter os cabeçalhos de objeto. • GET, HEAD, OPTIONS: Você pode usar o CloudFront apenas para obter objetos em sua origem, obtenha cabeçalhos de objetos, ou recuperar uma lista das opções que o seu servidor de origem oferece suporte. • GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE: Você pode usar CloudFront para obter, adicionar, atualizar e excluir objetos e para obter os cabeçalhos de objeto. Além disso, você pode executar outras operações de POST, como o envio de dados de um formulário da Web. Note caches do CloudFront GET e respostas para HEAD solicitações e, opcionalmente, OPTIONS as solicitações. CloudFront não armazena em cache respostas para solicitações que usam outros métodos. Se você usar um bucket do Amazon S3 como a origem para a sua distribuição do CloudFront e se você usar identidades de acesso de origem, POST as solicitações não são suportadas em algumas regiões do Amazon S3 e PUT solicitações dessas regiões exigem um cabeçalho adicional. Para obter mais informações, consulte Usando uma Identidade de acesso de origem no Amazon S3 regiões que Support Somente Signature versão 4 Authentication (p. 176). Caution Se você escolher GET, HEAD, OPTIONS ou GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE, pode ser necessário restringir o acesso ao seu bucket do Amazon S3 ou para sua origem personalizada para impedir que os usuários de realizar operações que você não deseja executar. Os exemplos a seguir explicam como restringir o acesso: • Se você estiver usando o Amazon S3 como origem para sua distribuição: Crie uma identidade de acesso de origem do CloudFront para restringir o acesso ao conteúdo do Amazon S3, e conceder acesso de origem identidade as permissões aplicáveis. Por API Version 2016-01-13 68 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache exemplo, se você configurar do CloudFront para aceitar e encaminhar esses métodos apenas porque você deseja usar PUT, você ainda deverá configurar políticas de bucket do Amazon S3 ou ACLs para lidar com DELETE as solicitações de forma apropriada. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). • Se você estiver usando uma origem personalizada: Configure seu servidor de origem para lidar com todos os métodos. Por exemplo, se você configurar do CloudFront para aceitar e encaminhar esses métodos apenas porque você deseja usar POST, você ainda deverá configurar seu servidor de origem para lidar com DELETE as solicitações de forma apropriada. Métodos HTTP armazenados em cache Especifique se você quer que o CloudFront para armazenar em cache as respostas de sua origem quando um visualizador envia uma OPTIONS solicitação. CloudFront sempre armazena em cache a resposta a GET e HEAD solicitações. Encaminhar cabeçalhos Especifique se você quer que o CloudFront para encaminhar os cabeçalhos de solicitação para seu servidor de origem e para armazenar em cache os objetos com base nos valores de cabeçalho: • All – encaminha todos os cabeçalhos do CloudFront para sua origem para um comportamento de cache. Important Se você configurar o CloudFront para encaminhar todos os cabeçalhos para sua origem, ele não armazenar em cache os objetos associados a esse comportamento de cache. Em vez disso, ele envia todas as solicitações para a origem. • Whitelist – CloudFront encaminha somente os cabeçalhos especificados para a origem. Use Whitelist Headers para escolher os cabeçalhos que você deseja que o CloudFront encaminhe. • None (Improves Caching) – cabeçalhos padrão do CloudFront encaminha para a origem, mas não em cache os objetos com base nos valores de cabeçalho. Se você estiver usando um bucket do Amazon S3 como sua origem, observe que o Amazon S3 processa apenas três cabeçalhos: Access-Control-Request-Headers, Access-ControlRequest-Method, e Origin. Ele ignorará todos os outros cabeçalhos em uma solicitação. Para obter mais informações sobre o encaminhamento de cabeçalhos para a origem, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Para obter uma lista de cabeçalhos HTTP e informações sobre se encaminha o cabeçalho do CloudFront para a origem por padrão, consulte Cabeçalhos de Solicitação HTTP e o comportamento do CloudFront (p. 153). Cabeçalhos da lista de permissões Especifique os cabeçalhos que você deseja considerar para o armazenamento em cache do CloudFront seus objetos. Selecione os cabeçalhos na lista de cabeçalhos disponíveis e escolha Add. Para encaminhar um cabeçalho personalizado, insira o nome do cabeçalho no campo, e escolha Add Custom. Para saber mais sobre o limite do número de cabeçalhos que você poderá aprovar para cada comportamento de cache, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/ case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. API Version 2016-01-13 69 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache Armazenamento em cache de objetos Se o seu servidor de origem é a adição de um Cache-Control cabeçalho para seus objetos para controlar por quanto tempo os objetos permanecem no cache do CloudFront e se você não quiser alterar o Cache-Control valor, escolha Use Origin Cache Headers. Para especificar um período mínimo e máximo que seus objetos permanecem no cache do CloudFront, independentemente de Cache-Control cabeçalhos, e um tempo padrão que seus objetos permanecem no cache do CloudFront quando o Cache-Control cabeçalho não está presente em um objeto, escolha Customize. Em seguida, na Minimum TTL, Default TTLe Maximum TTL campos, especifique o valor aplicável. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Mínimo de TTL Especifique a quantidade mínima de tempo, em segundos, que você deseja que os objetos para manter caches do CloudFront antes do CloudFront encaminha outra solicitação para sua origem para determinar se o objeto foi atualizado. O valor padrão Minimum TTL é 0 segundos. Important Se você configurar o CloudFront para encaminhar todos os cabeçalhos para sua origem para um comportamento de cache, ele nunca armazena em cache os objetos associados. Em vez disso, ele encaminha todas as solicitações para esses objetos para a origem. Em que a configuração, o valor Minimum TTL deve ser 0. Para especificar um valor para Minimum TTL, você deve escolher a Customize opção para a Object Caching configuração. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Default TTL Especifique o período de tempo padrão, em segundos, que você deseja que os objetos para manter caches do CloudFront antes do CloudFront encaminha outra solicitação para sua origem para determinar se o objeto foi atualizado. O valor que você especifica para Default TTL se aplica apenas quando sua origem não adicionar cabeçalhos HTTP como Cache-Control max-age, CacheControl s-maxageou Expires a objetos. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Para especificar um valor para Default TTL, você deve escolher a Customize opção para a Object Caching configuração. O valor padrão Default TTL é 86400 segundos (um dia). Se você alterar o valor de Minimum TTL para mais de 86400 segundos, o valor padrão de Default TTL alterações para o valor de Minimum TTL. Máximo TTL Especifique o tempo máximo, em segundos, que você deseja que os objetos para manter as consultas do CloudFront caches do CloudFront antes de sua origem para ver se o objeto foi atualizado. O valor que você especifica para Maximum TTL se aplica apenas quando sua origem adiciona cabeçalhos HTTP como Cache-Control max-age, Cache-Control s-maxageou Expires a objetos. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). API Version 2016-01-13 70 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache Para especificar um valor para Maximum TTL, você deve escolher a Customize opção para a Object Caching configuração. O valor padrão Maximum TTL é 31536000 segundos (um ano). Se você alterar o valor de Minimum TTL ou Default TTL para mais de 31536000 segundos, o valor padrão de Maximum TTL alterações para o valor de Default TTL. Forward Cookies (Amazon EC2 e outras origens personalizadas somente) Especifique se você quer que o CloudFront encaminhe cookies ao seu servidor de origem e, em caso afirmativo, para quais servidores. Se você optar por encaminhar apenas cookies selecionados (uma lista branca de cookies), insira o nome de cookie no Whitelist Cookies campo. Se você optar All, ele encaminha todos os cookies, independentemente de como muitos seu aplicativo usa. Amazon S3 não processar cookies e encaminhar cookies para a origem reduz armazenamento no cache. Para comportamentos de cache que estão encaminhando solicitações para uma origem do Amazon S3, escolha None para Forward Cookies. Para obter mais informações sobre o encaminhamento de cookies para a origem, acesse A configuração do cache do CloudFront para objetos com base em cookies (p. 107). lista de permissões Cookies (Amazon EC2 e outras origens personalizadas somente) Se você escolheu Whitelist na Forward Cookies lista e, em seguida, em Whitelist Cookies campo, insira os nomes dos cookies que você deseja que o CloudFront encaminhe ao seu servidor de origem para esse comportamento de cache. Informe cada nome do cookie em uma nova linha. Você pode especificar os seguintes caracteres curinga para especificar nomes de cookie: • * corresponde a 0 ou mais caracteres no nome do cookie • ? corresponde a exatamente um caractere no nome do cookie Por exemplo, suponha que solicitações do visualizador de um objeto incluem um cookie chamado: userid_member-number em que cada um de seus usuários tem um valor exclusivo para o número de membros. Você quer do CloudFront para armazenar em cache uma versão do objeto separado para cada membro. Você pode realizar isso encaminhando todos os cookies para sua origem, mas as solicitações de visualizadores incluem alguns cookies que você não deseja que o CloudFront para armazenar em cache. Como alternativa, você pode especificar o seguinte valor como um nome de cookie do CloudFront, o que faz com que a origem aplicáveis para encaminhar todos os cookies que começam com userid_: userid_* Para saber mais sobre o limite do número de nomes de cookies que você poderá aprovar para cada comportamento de cache, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/ case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. Encaminhe sequências de caracteres de consulta Se o seu servidor de origem retorna diferentes versões de um objeto com base em uma string de consulta na URL, escolha Yes. Se sua origem retorna a mesma versão de um objeto, independentemente da sequência de caracteres de consulta, escolha No. Isso aumenta a API Version 2016-01-13 71 Amazon CloudFront Guia do desenvolvedor Configurações de comportamento de cache probabilidade de que ele pode atender a uma solicitação de cache, que melhora o desempenho e reduz a carga em sua origem. Para obter mais informações sobre sequências de consulta, consulte A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105). Smooth Streaming Escolha Yes se você deseja distribuir arquivos de mídia no formato Microsoft Smooth Streaming usando a origem que está associada a este comportamento de cache. Caso contrário, escolha No. Note Se você especificar Yes, você ainda pode distribuir outros conteúdos usando esse comportamento de cache se o conteúdo corresponde ao valor de Path Pattern. Para obter mais informações, consulte Configuração de Smooth Streaming sob demanda (p. 84). Restrinja Viewer Access (Use URLs assinadas) Se você deseja que solicitações de objetos correspondentes PathPattern para esse comportamento de cache para usar URLs públicos, escolha No. Se você deseja que solicitações de objetos correspondentes PathPattern para esse comportamento de cache para usar URLs assinadas, escolha Yes. Em seguida, especifique as contas da AWS que você deseja usar para criar URLs assinadas; essas contas são conhecidos como assinantes confiáveis. Para obter mais informações sobre assinantes confiáveis, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). Trusted Signatários Escolha quais contas da AWS que você deseja usar como assinantes confiáveis para esse comportamento de cache: • Self: Use a conta com a qual você está atualmente conectado ao Console de gerenciamento da AWS como um assinante confiável. Se você estiver conectado no momento como um usuário do IAM, consulte os documentos de conta da AWS é adicionada como um assinante confiável. • Specify Accounts: Informe números de contas para assinantes confiáveis no AWS Account Numbers campo. Para criar URLs assinadas, uma conta da AWS devem ter pelo menos um par de chaves do CloudFront ativas. Caution Se você está atualizando uma distribuição que você já está usando para distribuir conteúdo, adicionar assinantes confiáveis somente quando você está pronto para iniciar a geração de URLs assinadas para seus objetos. Após adicionar assinantes confiáveis para uma distribuição, os usuários devem usar URLs assinadas para acessar os objetos que correspondem a PathPattern esse comportamento de cache. Números de conta da AWS Se você deseja criar URLs assinadas usando contas da AWS em acréscimo ou em vez da sua conta atual, insira um número de conta da AWS por linha neste campo. Observe o seguinte: API Version 2016-01-13 72 Amazon CloudFront Guia do desenvolvedor Detalhes de distribuição • As contas que você especificar deve ter, pelo menos, um par de chaves do CloudFront ativas. Para obter mais informações, consulte A criação de pares de chaves do CloudFront para o seu Trusted Signatários (p. 178). • Você não pode criar pares de chaves do CloudFront para usuários do IAM, portanto, você não pode usar os usuários do IAM como assinantes confiáveis. • Para obter informações sobre como obter o número de conta da AWS para uma conta, consulte Como obter credenciais de segurança? no Amazon Web Services General Reference. • Se você insira o número da conta para a conta atual, o CloudFront verifica automaticamente a Self caixa de seleção e remove o número de conta na AWS Account Numbers lista. Compactar objetos automaticamente Se você deseja compactar arquivos automaticamente do CloudFront de certos tipos quando as solicitações de visualizadores incluem Accept-Encoding: gzip no cabeçalho de solicitação, escolha Yes. Quando seu conteúdo, downloads compacta do CloudFront são mais rápidas, pois os arquivos são menores e suas páginas da web renderizar mais rapidamente para seus usuários. Para obter mais informações, consulte Distribuição de arquivos compactados (p. 137). Detalhes de distribuição Os valores a seguir se aplicam a toda a distribuição. Classe de preço Escolha a classe de preço que corresponde com o preço máximo que deseja pagar por serviço do CloudFront. Por padrão, o CloudFront oferece seus objetos a partir de pontos de presença em todas as regiões do CloudFront. Para obter mais informações sobre classes de preços e sobre como sua escolha de classe de preço afeta o desempenho do CloudFront para a sua distribuição, consulte Escolha a classe de preço para uma distribuição do CloudFront (p. 49). Para obter informações sobre a definição de preço do CloudFront, incluindo como mapear classes de preço para regiões do CloudFront, vá para o Amazon CloudFront de preço. A AWS WAF ACL Web Se você quiser usar a AWS WAF para permitir ou bloquear solicitações com base em critérios que você especificar, escolha o ACL da web para associar a essa distribuição. A AWS WAF é um firewall para aplicativos da web que permite monitorar as solicitações HTTP e HTTPS que são encaminhados para o CloudFront e permite que você controle o acesso ao seu conteúdo. Com base em condições que você especificar, como os endereços IP se originam de que as solicitações ou os valores de sequências de caracteres de consulta, ele responde a solicitações com o conteúdo solicitado ou com um código de status HTTP 403 (Proibido). Você também pode configurar o CloudFront para retornar uma página de erro personalizada quando uma solicitação é bloqueada. Para obter mais informações sobre a AWS WAF WAF da AWS, consulte o Guia do desenvolvedor. Alternar nomes de domínio (CNAMEs) Opcional. Especifique um ou mais nomes de domínio que você deseja usar para URLs para seus objetos em vez do nome de domínio que ele atribui quando você cria sua distribuição. Por exemplo, se você deseja que o URL para o objeto: API Version 2016-01-13 73 Amazon CloudFront Guia do desenvolvedor Detalhes de distribuição /images/image.jpg para o seguinte: http://www.example.com/images/image.jpg em vez de: http://d111111abcdef8.cloudfront.net/images/image.jpg adicionar um CNAME para www.example.com. Important Se você adicionar um CNAME para www.example.com a sua distribuição, você também precisa criar (ou atualizar) um registro CNAME com o serviço DNS para rotear as consultas para www.example.com a d111111abcdef8.cloudfront.net. Você deve ter permissão para criar um registro CNAME com o provedor de serviço de DNS para o domínio. Normalmente, isso significa que você possui o domínio, mas você também pode ser o desenvolvimento de um aplicativo para o domínio proprietário. Para saber mais sobre o limite do número de nomes de domínio alternativo que você pode adicionar a uma distribuição, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/case/create? issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. Para obter mais informações sobre nomes de domínio alternativo, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Para obter mais informações sobre URLs do CloudFront, consulte Formato de URLs dos objetos do CloudFront (p. 99). Certificado SSL Se você deseja que os visualizadores para usar HTTPS para acessar seus objetos, escolha a configuração aplicáveis. Além disso, se você escolher Custom SSL Certificate, escolha o certificado que você deseja usar: • Certificado do CloudFrontpadrão (*. cloudfront.net) – Se você deseja usar o nome de domínio do CloudFront no URLs para seus objetos, como https://d111111abcdef8.cloudfront.net/ image1.jpg, escolha essa opção. Além disso, escolha essa opção se você deseja que os usuários usam o HTTP para acessar seus objetos. • Certificado SSLpersonalizado – Se você deseja usar seu próprio nome de domínio no URLs para seus objetos, como https://example.com/image1.jpg, escolha essa opção e, em seguida, escolha o certificado aplicável. Observe que a lista pode incluir tanto os certificados provisionados pela AWS Certificate Manager e certificados que você comprou de outra autoridade de certificação e IAM carregados para o armazenamento de certificados. Para obter mais informações, consulte Usando Alternate Domain Names e HTTPS (p. 241). Se você escolher essa configuração, recomendamos que você use apenas um nome de domínio alternativo em seu objeto URLs (https://example.com/logo.jpg). Se você usar o seu nome de domínio de distribuição do CloudFront (https://d111111abcdef8.cloudfront.net/logo.jpg) e o visualizador é compatível com o SNI e, em seguida, ele se comporta normalmente. No entanto, um visualizador que não oferece suporte a SNI apresenta um dos seguintes comportamentos, dependendo do valor de Clients Supported: • Todos os Clientes: Se o visualizador não compatíveis com o SNI, ele exibe um aviso porque o nome de domínio do CloudFront não corresponde ao nome de domínio em seu certificado SSL. • Apenas Clientes compatíveis com Server Name Indication (SNI): o CloudFront cai a conexão com o visualizador sem retornar o objeto. API Version 2016-01-13 74 Amazon CloudFront Guia do desenvolvedor Detalhes de distribuição Clientes compatíveis Se você tiver especificado um ou mais nomes de domínio alternativos e que você especificou um certificado SSL no IAM certificado armazenar, escolher como você deseja que o CloudFront para atender a solicitações HTTPS, um método que funciona para todos os clientes ou uma que funciona para a maioria dos clientes: • Todos os Clientes: Qualquer cliente pode acessar seu conteúdo. No entanto, você deve solicitar permissão para usar esse recurso, e você será cobrado pelos custos adicionais mensais. • Apenas Clientes compatíveis com Server Name Indication (SNI): Todos os navegadores modernos pode acessar seu conteúdo porque todos eles oferecem suporte a SNI. No entanto, alguns navegadores ainda em uso não compatíveis com o SNI. Os usuários com esses navegadores devem acessar seu conteúdo usando algum outro método, por exemplo, ao ter seus objetos diretamente a partir da origem. Para obter mais informações, consulte Usando Alternate Domain Names e HTTPS (p. 241). Versão do protocolo SSL Mínima Especifique a versão mínima do protocolo SSL que você deseja que o CloudFront para usar —SSLv3 ou TLSv1— para conexões HTTPS. CloudFront servirá seus objetos apenas para navegadores ou dispositivos que suportam pelo menos a versão SSL que você especificar. O protocolo TLSv1 é mais seguro, portanto, recomendamos que você especifique SSLv3 somente se os usuários estão usando navegadores ou dispositivos que não suportam TLSv1. Se você selecionou Custom SSL Certificate e que você selecionou Only Clients that Support Server Name Indication (SNI), ele usa TLSv1 mínimo permitido, que é o protocolo SSL para o SNI. Objeto raiz padrão Opcional. O objeto que você deseja que a solicitação do CloudFront de sua origem (por exemplo, index.html) quando um visualizador solicita o URL raiz de sua distribuição (http:// www.example.com/) em vez de um objeto em sua distribuição (http://www.example.com/ product-description.html). Especificando um objeto de raiz padrão evita expor o conteúdo de sua distribuição. O tamanho máximo do nome é 255 caracteres. O nome pode conter qualquer um dos seguintes caracteres: • A-Z, a-z • 0-9 • _-.*$/~"' • &, passados e retornados como & Quando você especifica o objeto de raiz padrão, insira apenas o nome do objeto, por exemplo, index.html. Não adicione um / antes do nome do objeto. Para obter mais informações, consulte Especificar um Objeto raiz padrão (Web Distribuições Somente) (p. 135). Registro em log Se você deseja que o CloudFront para registrar informações sobre cada solicitação para um objeto e armazenar os arquivos de log em um bucket do Amazon S3. Você pode ativar ou desativar o registro a qualquer momento. Não há custo adicional se você habilitar o log, mas você provisiona habituais API Version 2016-01-13 75 Amazon CloudFront Guia do desenvolvedor Detalhes de distribuição cobranças do Amazon S3 para armazenar e acessar os arquivos em um bucket do Amazon S3. Você pode excluir os logs a qualquer momento. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Logs de bucket para Se você escolheu On para Logging, o bucket do Amazon S3 que você deseja para armazenar os logs de acesso do CloudFront, por exemplo, myawslogbucket.s3.amazonaws.com. Se você ativar o registro, ele registra informações sobre cada solicitação do usuário final de um objeto e armazena os arquivos no bucket do Amazon S3 especificado. Você pode ativar ou desativar o registro a qualquer momento. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Prefixo de log Opcional. Se você escolheu On para Logging, especifique a string, se houver, que você deseja que ele prefixar para os nomes de arquivos de log de acesso para essa distribuição, por exemplo, exampleprefix/. barra à direita (/) é opcional, mas recomendado para simplificar a navegação de seus arquivos de log. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Registro de cookies Se você deseja que o CloudFront para incluir cookies nos logs de acesso, escolha On. Se você optar por incluir os logs do CloudFront cookies nos logs, todos os cookies, independentemente de como você configurar os comportamentos de cache para essa distribuição: encaminhar todos os cookies, encaminhar nenhum cookie ou encaminhar uma lista especificada de cookies para a origem. Amazon S3 não processar cookies, portanto, a menos que sua distribuição também inclui um Amazon EC2 ou outra origem personalizada, recomendamos que você escolher Off para o valor de Cookie Logging. Para obter mais informações sobre cookies, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). Comentário Opcional. Quando você cria uma distribuição, você pode incluir um comentário de até 128 caracteres. Você pode atualizar o comentário a qualquer momento. Estado de distribuição Indica se você deseja que a distribuição seja ativado ou desativado depois que ele é implantado: • Enabled significa que assim que a distribuição estiver totalmente implementado, você pode implementar links que usam o nome de domínio de distribuição e os usuários podem recuperar o conteúdo. Sempre que uma distribuição é ativado, ele aceita e lida com qualquer usuário final as solicitações de conteúdo que usam o nome de domínio associados a essa distribuição. Quando você criar, modificar ou excluir uma distribuição do CloudFront, o tempo necessário para que suas alterações serão propagadas para o banco de dados do CloudFront. Uma solicitação imediata para obter informações sobre uma distribuição podem não mostrar a alteração. Propagação, em geral, é concluída em questão de minutos, mas uma alta carga do sistema ou partição de rede pode aumentar esse tempo. • Desativado significa que mesmo que a distribuição pode ser implantado e pronto para usar, os usuários não podem usá-lo. Sempre que uma distribuição é desativado, ele não aceita solicitações API Version 2016-01-13 76 Amazon CloudFront Guia do desenvolvedor Erro de páginas de erro personalizadas e armazenamento em cache de usuário final que usam o nome de domínio associados a essa distribuição. Até que você alterna a distribuição de desativado para habilitado (atualizando a distribuição da configuração), ninguém pode usá-lo. Você pode alternar uma distribuição entre desativado e ativado sempre que desejar. Siga o processo de atualização de uma configuração de distribuição. Para obter mais informações, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Erro de páginas de erro personalizadas e armazenamento em cache Você pode ter um objeto de devolução do CloudFront para o visualizador (por exemplo, um arquivo HTML) quando o Amazon S3 ou origem personalizada retorna um código de status HTTP 4xx e 5xx para CloudFront. Você também pode especificar por quanto tempo uma resposta de erro de sua origem ou uma página de erro personalizadas são armazenados em cache em caches de presença do CloudFront. Para obter mais informações, consulte Personalizando respostas de erro (p. 130). Note Os valores a seguir não são incluídos no assistente Create Distribution, portanto, você pode configurar páginas de erro personalizadas somente quando você atualizar uma distribuição. Código de erro O código de status HTTP para a qual você deseja que o CloudFront para retornar uma página de erro personalizada. Você pode configurar páginas de erro personalizadas do CloudFront para retornar para nenhum, alguns ou todos os códigos de status do HTTP que caches do CloudFront. Página Resposta Caminho O caminho para a página de erro personalizadas (por exemplo, /4xx-errors/403forbidden.html) que você deseja que o CloudFront para retornar para um espectador quando sua origem retornar o código de status HTTP que você especificou para Error Code (por exemplo, 403). Se você deseja armazenar seus objetos e suas páginas de erro personalizadas em locais diferentes, sua distribuição deve incluir um comportamento de cache para que o seguinte é verdadeiro: • O valor de Path Pattern correspondências o caminho para as suas mensagens de erro personalizadas. Por exemplo, suponha que você salvou páginas de erro personalizadas para 4xx erros em um bucket do Amazon S3 em um diretório chamado /4xx-erros. Sua distribuição deve incluir um comportamento de cache para o qual o caminho padrão encaminha solicitações de páginas de erro personalizadas para esse local, por exemplo, /4xx-errors/*. • O valor de Origin especifica o valor Origin ID para a origem que contém suas páginas de erro personalizadas. Código de resposta O código de status HTTP que você deseja que o CloudFront para retornar para o visualizador junto com a página de erro personalizada. Erro ao armazenamento em cache TTL mínimo A quantidade mínima de tempo que você deseja para armazenar em cache as respostas de erro do CloudFront a partir de seu servidor de origem. API Version 2016-01-13 77 Amazon CloudFront Guia do desenvolvedor Restrições Restrições Se você precisa para impedir que os usuários em alguns países de acessar seu conteúdo, você pode configurar sua distribuição do CloudFront para permitir que os usuários em uma lista branca de países especificados para acessar seu conteúdo ou para não permitir que os usuários em uma lista negra de países especificados para acessar seu conteúdo. Para obter mais informações, consulte Restringindo a distribuição geográfica do seu conteúdo (p. 81). Note Os valores a seguir não são incluídos no assistente Create Distribution, para que você possa configurar restrições geográficas somente quando você atualizar uma distribuição. Ativar restrição geográfica Se você deseja impedir que os usuários em alguns países de acessar seu conteúdo. Não há custo adicional para a configuração de restrição geográfica. Tipo de Restrição Como você deseja especificar os países em que os usuários podem acessar seu conteúdo: • lista de permissões: A Countries lista inclui todos os países em que você deseja que seus usuários para acessar seu conteúdo. • lista negra: A Countries lista inclui todos os países em que você não deseja que seus usuários para acessar seu conteúdo. Países Os países que você deseja adicionar à sua lista branca ou uma lista negra. Para adicionar um país, selecione-a na lista à esquerda e escolha Add. Observe o seguinte: • Para adicionar vários países consecutivos, selecione o primeiro país, pressione e mantenha a tecla Shift, selecione o último país e escolha Add. • Para adicionar vários países não consecutivos, selecione o primeiro país, pressione e mantenha a tecla Ctrl, selecione os outros países e escolha Add. • Para encontrar um país na lista à esquerda, informe os primeiros caracteres do nome completo do país. • O código de duas letras antes do nome de cada país é o valor que você insira se quiser criar ou atualizar uma distribuição usando a API do CloudFront. Usamos o International Organization for Standardization códigos de país. Para obter uma lista fácil de usar, classificável por código e pelo nome do país, consulte a entrada da Wikipédia ISO 3166-1 alpha-2. Os valores que CloudFront Exibe no Console Quando Você Criar ou Atualizar uma distribuição da Web Quando você cria uma nova distribuição de web ou atualizar uma distribuição existente, ele exibe as seguintes informações no console do CloudFront. API Version 2016-01-13 78 Amazon CloudFront Guia do desenvolvedor ID de distribuição (Guia Geral) Note Active assinantes confiáveis, as contas da AWS que têm um par de chaves e ativas do CloudFront podem ser usadas para criar URLs assinadas válido, não estão visíveis no console do CloudFront. ID de distribuição (Guia Geral) Quando você executar uma ação em uma distribuição usando a API do CloudFront, você deve usar o ID de distribuição de distribuição para especificar que você deseja executar a ação, por exemplo, EDFDVBD6EXAMPLE. Você não pode alterar a ID de distribuição Status de distribuição (Guia Geral) Os possíveis valores de status para uma distribuição são listados na tabela a seguir. Value Descrição InProgress A distribuição ainda está sendo criada ou atualizada. Deployed A distribuição foi criada ou atualizada e as alterações foram totalmente propagadas através do sistema do CloudFront. Note Além de garantir que o status de uma distribuição Deployed, você deve habilitar a distribuição antes que os usuários podem usar o CloudFront para acessar seu conteúdo. Para obter mais informações, consulte Estado de distribuição (p. 76). Última modificação (Guia Geral) A data e a hora em que a distribuição foi modificado pela última vez, usando a norma ISO 8601 para formato, por exemplo, 2012-05-19T19:37:58Z. Para obter mais informações, acesse http:// www.w3.org/TR/NOTE-datetime. Domain Name (Guia Geral) Você usa o nome de domínio de distribuição nos links para seus objetos. Por exemplo, se o nome do domínio de sua distribuição é d111111abcdef8.cloudfront.net, o link para /images/ image.jpg seria http://d111111abcdef8.cloudfront.net/images/image.jpg. Você não pode alterar o nome de domínio do CloudFront para a sua distribuição. Para obter mais informações sobre URLs do CloudFront para links para seus objetos, consulte Formato de URLs dos objetos do CloudFront (p. 99). Se você tiver especificado um ou mais nomes de domínio alternativo (CNAMEs), você pode usar seus próprios nomes de domínio para links para seus objetos em vez de usar o nome de domínio do CloudFront. Para obter mais informações sobre CNAMEs, consulte Alternar nomes de domínio (CNAMEs) (p. 73). Note Os nomes de domínio do CloudFront são exclusivos. Seu nome de domínio de distribuição nunca foi usado para uma distribuição anterior e nunca serão reutilizadas para outra distribuição no futuro. API Version 2016-01-13 79 Amazon CloudFront Guia do desenvolvedor Requisitos e recomendações para o uso do Amazon EC2 e outras origens personalizadas Requisitos e recomendações para o uso do Amazon EC2 e outras origens personalizadas Siga essas diretrizes para usar instâncias do Amazon EC2 e outras origens personalizadas com o CloudFront. • Hospede e servir o mesmo conteúdo em todos os servidores. • Registrar o X-Amz-Cf-Id cabeçalho em todos os servidores; entradas do CloudFront requer essas informações para depuração. • Restrinja o acesso de solicitações HTTP e HTTPS para as portas que sua origem personalizada atende. • Sincronizar os relógios de todos os servidores em sua implementação. • Use servidores redundantes para lidar com falhas. • Para obter mais informações sobre o uso de uma origem personalizada para servir conteúdo privado, consulte O uso de um HTTP Server para conteúdo privado (p. 168). • Para obter mais informações sobre o comportamento da solicitação e da resposta e sobre compatíveis códigos de status do HTTP, consulte Solicitação e comportamento de resposta (p. 142). Se você usar Amazon Elastic Compute Cloud para suas origens personalizadas, recomendamos que você faça o seguinte: 1. Use uma imagem de máquina da Amazon que instala automaticamente o software para um servidor da Web. Para obter mais informações, consulte a documentação do Amazon EC2. 2. O Elastic Load Balancing Use um load balancer para lidar com o tráfego em várias instâncias do Amazon EC2 e para isolar seu aplicativo de alterações nas instâncias do Amazon EC2. Por exemplo, se você usar um balanceador de carga, você pode adicionar e excluir instâncias do Amazon EC2 sem alterar o aplicativo. Para obter mais informações, consulte a documentação do O Elastic Load Balancing. 3. Quando você criar sua distribuição do CloudFront, especifique o URL do load balancer para o nome de domínio do seu servidor de origem. Para obter mais informações, consulte Trabalhando com Distribuições de web (p. 54). Usando a AWS WAF para Controlar o acesso a seu conteúdo A AWS WAF é um firewall para aplicativos da web que permite monitorar as solicitações HTTP e HTTPS que são encaminhados para o CloudFront e permite que você controle o acesso ao seu conteúdo. Com base em condições que você especificar, como os endereços IP se originam de que as solicitações ou os valores de sequências de caracteres de consulta, ele responde a solicitações com o conteúdo solicitado ou com um código de status HTTP 403 (Proibido). Você também pode configurar o CloudFront para retornar uma página de erro personalizada quando uma solicitação é bloqueada. Para obter mais informações sobre a AWS WAF WAF da AWS, consulte o Guia do desenvolvedor. Depois de criar um WAF web da AWS lista de controle de acesso (ACL) da web, você pode criar ou atualizar uma distribuição de web e associar a distribuição com uma ACL da web. Você pode associar o número de distribuições do CloudFront que quiser com a mesma ACL da web ou com diferentes ACLs da web. Para obter informações sobre a criação de uma distribuição de web e associá-la a API Version 2016-01-13 80 Amazon CloudFront Guia do desenvolvedor Restringindo a distribuição geográfica do seu conteúdo um ACL da web, consulte Criando ou Atualizando uma distribuição da Web usando o console do CloudFront (p. 56). Para associar ou desassociar uma ACL da web e uma distribuição existente, ou alterar a ACL da web que está associada a uma distribuição, execute o procedimento a seguir. Para associar ou desassociar uma ACL da web WAF da AWS e uma distribuição do CloudFront usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Escolha o ID para a distribuição que você deseja atualizar. 3. Na General guia, escolha Edit. 4. Na Distribution Settings página, na AWS WAF Web ACL lista, escolha a ACL da web que você deseja associar a essa distribuição. Se você deseja desassociar a distribuição de todas as ACLs da web, escolha None. Se você deseja associar a distribuição a uma ACL da web diferente, escolha o novo ACL da web. 5. 6. Escolha Yes, Edit. Repita as etapas de 2 a 5 para outras distribuições, se houver, para a qual você deseja adicionar, excluir ou alterar associações com WAF ACLs da web da AWS. 7. Depois de alterar as configurações, o valor da Status coluna para as distribuições que você atualizado as alterações InProgress e, ao mesmo tempo, propaga as alterações do CloudFront para pontos de presença. Quando Status as alterações Deployed para uma distribuição, a distribuição está pronto para usar a AWS WAF ao processar solicitações. (O valor da State coluna para a distribuição também devem ser Enabled.) Isso deve demorar menos de 15 minutos após salvar a última alteração a uma distribuição. Restringindo a distribuição geográfica do seu conteúdo Você pode usar a restrição geográfica, também conhecido como geoblocking, para impedir que os usuários em locais geográficos específicos de acessar o conteúdo que você está distribuindo através de uma distribuição de web do CloudFront. Para usar a restrição geográfica, você tem duas opções: • Use o recurso de restrição geográfica do CloudFront. Use esta opção para restringir o acesso a todos os arquivos que são associados a uma distribuição e para restringir o acesso no nível do país. • Use serviços de geolocalização de terceiros. Use essa opção para restringir o acesso a um subconjunto de arquivos que são associados a uma distribuição ou para restringir o acesso a uma granularidade de nível do país. Tópicos • Usando a restrição geográfica do CloudFront (p. 81) • O uso de um serviço de geolocalização de terceiros (p. 83) Usando a restrição geográfica do CloudFront Quando um usuário solicita o seu conteúdo, ele normalmente serve o conteúdo solicitado, independentemente de onde o usuário está localizado. Se você precisa para impedir que os usuários em países específicos de acessar seu conteúdo, você pode usar o recurso de restrição geográfica do CloudFront para executar uma das seguintes ações: API Version 2016-01-13 81 Amazon CloudFront Guia do desenvolvedor Usando a restrição geográfica do CloudFront • Permitir que os usuários acessem o conteúdo somente se eles estão em um dos países em uma lista branca de países aprovados. • Impedir que os usuários acessem o conteúdo que está em um dos países em uma lista negra de países proibidos. Por exemplo, se uma solicitação vem de um país em que, por motivos de direitos autorais, você não está autorizado a distribuir o conteúdo, você pode usar a restrição geográfica do CloudFront para bloquear a solicitação. Note CloudFront determina a localização de seus usuários usando um terceiro do seu banco de dados GeoIP. A precisão do mapeamento entre os endereços IP e países varia de acordo com a região. Com base em testes recentes, a precisão global é de 99,8%. Veja como funciona: restrição geográfica 1. Suponha que você tem direitos para distribuir o conteúdo apenas em Liechtenstein. Você atualizar sua distribuição de web do CloudFront e adicionar uma lista branca que contém apenas Liechtenstein. (Como alternativa, você pode adicionar uma lista negra que contém todos os países, exceto Liechtenstein.) 2. Um usuário em Mônaco solicitações seu conteúdo e DNS do CloudFront encaminha a solicitação para o ponto de presença em Milão, Itália. 3. O ponto de presença em Milão procura sua distribuição e determina que o usuário em Mônaco não é permitida para baixar seu conteúdo. 4. CloudFront retorna um código de status HTTP 403 (Proibido) para o usuário. Opcionalmente, você pode configurar o CloudFront para retornar uma mensagem de erro personalizada para o usuário, e você pode especificar por quanto tempo a resposta de erro para armazenar em cache do CloudFront para o objeto solicitado; o valor padrão é de cinco minutos. Para obter mais informações, consulte Personalizando respostas de erro (p. 130). Geo restrição se aplica a toda uma distribuição de web. Se você precisa aplicar uma restrição a parte de seu conteúdo e outra restrição (ou nenhuma restrição) para outra parte do seu conteúdo, você deve criar distribuições web do CloudFront separado ou utilizar serviços de geolocalização de terceiros. Se você habilitar o log de acesso do CloudFront, você pode identificar as solicitações do CloudFront rejeitados, procurando as entradas de log para os quais o valor da sc-status (o código de status HTTP) é 403. No entanto, usando apenas os logs de acesso, você não pode distinguir uma solicitação que CloudFront rejeitada com base na localização do usuário de uma solicitação que CloudFront rejeitada porque o usuário não tem permissão para acessar o objeto para outro motivo. Se você tem serviços de geolocalização de terceiros, como Digital Elemento ou MaxMind, você pode identificar a localização de solicitações com base no endereço IP c-ip (IP) do cliente na coluna nos logs de acesso. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). O procedimento a seguir explica como usar o console do CloudFront para adicionar geo restrição para uma distribuição de web existente. Para obter informações sobre como usar o console para criar uma distribuição de web, consulte Trabalhando com Distribuições de web (p. 54). Para usar o console do CloudFront para adicionar geo restrição para sua distribuição de web do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. API Version 2016-01-13 82 Amazon CloudFront Guia do desenvolvedor O uso de um serviço de geolocalização de terceiros 2. Selecione a distribuição que você deseja atualizar. 3. No Distribution Settings painel, escolha o Restrictions guia. 4. Escolha Edit. 5. Insira os valores aplicáveis. Para obter mais informações, consulte Restrições (p. 78). 6. Escolha Yes, Edit. O uso de um serviço de geolocalização de terceiros O recurso de restrição geográfica do CloudFront permite controlar a distribuição do seu conteúdo no nível do país para todos os arquivos que você está distribuindo com uma determinada distribuição de web. Se você tem restrições geográficas sobre onde seu conteúdo podem ser distribuídos e as restrições não adotam limites do país, ou se você quiser limitar o acesso a apenas alguns dos arquivos que você está distribuindo através do CloudFront, você pode combinar do CloudFront com serviços de geolocalização de terceiros. Isso pode permitir que você controle o acesso ao conteúdo com base não apenas no país, mas também com base na cidade, CEP ou código postal, ou até mesmo latitude e longitude. Quando você estiver usando serviços de geolocalização de terceiros, recomendamos que você use URLs assinadas do CloudFront, que permitem que você especifique uma data e hora de expiração depois que o URL não é mais válido. Além disso, recomendamos que você use um bucket do Amazon S3 como sua origem, pois você pode usar uma identidade de acesso de origem do CloudFront para impedir que os usuários acessem seu conteúdo diretamente a partir da origem. Para obter mais informações sobre URLs assinadas e identidades de acesso de origem, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). A seguinte lista de tarefas explica como controlar o acesso a seus arquivos usando serviços de geolocalização de terceiros. Lista de tarefas para restringir o acesso a arquivos em uma distribuição do CloudFront com base na localização geográfica 1. Obtenha uma conta com um serviço de geolocalização. 2. Faça o upload do seu conteúdo a um Amazon Simple Storage Service (S3) bucket. Para obter mais informações, consulte a documentação do Amazon S3. 3. Configure o Amazon CloudFront e o Amazon S3 para servir conteúdo privado. Para obter mais informações, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). 4. Escreva o seu aplicativo da web para fazer o seguinte: a. Envie o endereço IP para cada solicitação do usuário para os serviços de geolocalização. b. Avaliar o valor de retorno do serviço de geolocalização para determinar se o usuário está em um local para o qual você deseja que o CloudFront para distribuir seu conteúdo. c. Com base em se você deseja distribuir seu conteúdo para o local do usuário, gerar um URL do CloudFront para o seu conteúdo ou retornar código de status HTTP 403 (Proibido) para o usuário. Como alternativa, você pode configurar o CloudFront para retornar uma mensagem de erro personalizada. Para obter mais informações, consulte Personalizando respostas de erro (p. 130). Para obter mais informações, consulte a documentação para os serviços de geolocalização que você está usando. Você pode usar um servidor web variável para obter os endereços IP dos usuários que está visitando o site. Observe as seguintes advertências: API Version 2016-01-13 83 Amazon CloudFront Guia do desenvolvedor Configuração de Smooth Streaming sob demanda • Se o seu servidor web não está conectado à Internet por meio de um balanceador de carga, você pode usar um servidor web variável para obter o endereço IP remoto. No entanto, este endereço IP não é sempre o endereço IP do usuário, ele também pode ser o endereço IP de um servidor de proxy, dependendo de como o usuário está conectado à Internet. • Se o seu servidor web está conectado à Internet por meio de um balanceador de carga, um servidor web variável pode conter o endereço IP do balanceador de carga, e não o endereço IP do usuário. Nesta configuração, recomendamos que você use o último endereço IP no cabeçalho XForwarded-For http. Este cabeçalho normalmente contém mais de um endereço IP, a maioria dos quais são para proxies ou balanceadores de carga. O último endereço IP na lista é o que apresenta maior probabilidade de ser associado com a localização geográfica do usuário. Se o seu servidor web não está conectado a um balanceador de carga, recomendamos que você use variáveis de servidor da web em vez do X-Forwarded-For cabeçalho para evitar a falsificação de endereço IP. Configuração de Smooth Streaming sob demanda Você pode usar o CloudFront para streaming sob demanda de arquivos de mídia que você tenha transcodificado no formato Microsoft Smooth Streaming. Para distribuir conteúdo de Smooth Streaming sob demanda, você tem duas opções: • Como a origem de sua distribuição, especifique um servidor da Web que pode transmitir arquivos que foram transcodificados no formato Microsoft Smooth Streaming. • Ativar Smooth Streaming em uma distribuição do CloudFront. Smooth Streaming é uma propriedade de comportamentos de cache, o que significa que você pode usar uma distribuição Smooth Streaming para distribuir arquivos de mídia, bem como outros conteúdos. Se você ativar o Smooth Streaming, observe o seguinte: • Você ainda pode distribuir outros conteúdos usando o mesmo comportamento de cache se o conteúdo corresponde ao valor de Path Pattern para esse comportamento de cache. • CloudFront pode usar um bucket do Amazon S3 ou uma origem personalizada para Smooth Streaming arquivos de mídia. No entanto, ele não pode usar um Microsoft IIS Server como uma origem se o servidor está configurado para Smooth Streaming. • Você não pode anular arquivos de mídia no formato Smooth Streaming. Se você quiser atualizar arquivos antes de eles expirar, você deve renomear. Para obter mais informações, consulte Como adicionar, remover ou substituir objetos em uma distribuição (p. 116). Para obter mais informações sobre os clientes, consulte Smooth Streaming Smooth Streaming Primer no site da Microsoft. Para usar o CloudFront para transmitir arquivos de mídia que foram codificados no formato Microsoft Smooth Streaming sem usar um servidor web que pode transmitir arquivos no formato Smooth Streaming, execute as seguintes tarefas: 1. transcodificação seus arquivos de mídia no formato Smooth Streaming-MP4 fragmentado. Para obter uma lista de aplicativos que pode transcodificar no formato Smooth Streaming, consulte Smooth Streaming Primer no site da Microsoft. 2. Execute uma das seguintes ações: • Se você estiver usando o console do CloudFront: Ao criar uma distribuição de web, ativar o Smooth Streaming no comportamento de cache padrão. Como alternativa, você pode ativar o Smooth Streaming no padrão comportamento de cache e/ou um ou mais comportamentos de cache personalizados existentes em uma distribuição de web do CloudFront. API Version 2016-01-13 84 Amazon CloudFront Guia do desenvolvedor Configuração de download progressivo sob demanda 3. 4. 5. • Se você estiver usando a API do CloudFront: adicione o SmoothStreaming elemento para o tipo DistributionConfig complexo para o padrão comportamento de cache e/ou um ou mais comportamentos de cache personalizados. Carregue os arquivos em seu Smooth Streaming aplicáveis apresentações para a origem. Crie um arquivo clientaccesspolicy.xml ou um crossdomainpolicy.xml arquivo e adicioná-lo para um local que pode ser acessado na raiz de sua distribuição, por exemplo, http://d111111abcdef8.cloudfront.net/clientaccesspolicy.xml. Para obter mais informações, consulte Making Limites de domínio disponível em um serviço no Microsoft Developer Network site. Para links em seu aplicativo, especifique o manifesto do cliente no seguinte formato: http://d111111abcdef8.cloudfront.net/video/presentation.ism/Manifest Configuração de download progressivo sob demanda Para usar o CloudFront para distribuir arquivos de mídia por meio de download progressivo, execute as seguintes tarefas: 1. 2. transcodificação seus arquivos de mídia, se aplicável. Crie uma distribuição de web do CloudFront. Não há configurações especiais são necessárias. 3. 4. Carregue seus arquivos para a origem que você especificou quando criou sua distribuição. Para links em seu aplicativo (por exemplo, um media player), especifique o nome do arquivo de mídia no mesmo formato que você usa para outros objetos que você está distribuindo com ele. Para obter mais informações, consulte Formato de URLs dos objetos do CloudFront (p. 99). Configuração de HTTP Live Streaming (HLS) sob demanda no Apple Para usar o CloudFront para transmitir arquivos de mídia no Apple formato HTTP Live Streaming (HLS), execute as seguintes tarefas: 1. 2. 3. 4. transcodificação seus arquivos de mídia em formato HLS. Você pode usar qualquer aplicativo que ofereça suporte para transcodificação de formato HLS, por exemplo, Amazon Elastic Transcoder. Crie uma distribuição de web do CloudFront. Não há configurações especiais são necessárias. Carregue seus arquivos para a origem que você especificou quando criou sua distribuição. Para links em seu aplicativo (por exemplo, um media player), especifique a lista de reprodução principal no mesmo formato que você usa para outros objetos que você está distribuindo com ele. Para obter mais informações, consulte Formato de URLs dos objetos do CloudFront (p. 99). API Version 2016-01-13 85 Amazon CloudFront Guia do desenvolvedor Como distribuições RTMP Trabalhe Trabalhando com distribuições RTMP Tópicos • Como distribuições RTMP Trabalhe (p. 86) • Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88) • A criação de uma distribuição RTMP usando o console do CloudFront (p. 89) • Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição RTMP (p. 89) • Os valores que CloudFront Exibe no Console Quando Você Criar ou Atualizar uma distribuição RTMP (p. 94) • A configuração do Media Player (p. 95) • O uso de um bucket do Amazon S3 como a origem para uma distribuição RTMP (p. 96) • A criação de várias distribuições RTMP para um Servidor de Origem (p. 97) • Restringindo Acesso Usando Crossdomain.xml (p. 97) • Códigos de erro para distribuições RTMP (p. 97) • Solução de problemas de distribuições RTMP (p. 97) Esta seção descreve como configurar e gerenciar as distribuições RTMP. Para obter informações sobre como criar uma distribuição RTMP, consulte Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88). Como distribuições RTMP Trabalhe Para transmitir arquivos de mídia usando CloudFront, você fornece dois tipos de arquivos para seus usuários finais: • Seus arquivos de mídia • Um media player, por exemplo, o JW Player, Flowplayer ou Adobe Flash API Version 2016-01-13 86 Amazon CloudFront Guia do desenvolvedor Como distribuições RTMP Trabalhe Os usuários finais visualizar seus arquivos de mídia usando o reprodutor de mídia que você fornecer para eles; eles não usam o reprodutor de mídia (se houver) que já está instalado no seu computador ou outro dispositivo. Quando um usuário final transmite seu arquivo de mídia, o reprodutor de mídia começa a reproduzir o conteúdo do arquivo enquanto o arquivo ainda está sendo baixado a partir do CloudFront. O arquivo de mídia não é armazenada localmente no sistema do usuário final. Para usar o CloudFront para servir o reprodutor de mídia e os arquivos de mídia, você precisa de dois tipos de distribuições: uma distribuição de web para o media player e uma distribuição RTMP para os arquivos de mídia. Distribuições de web servir arquivos via HTTP e, ao mesmo tempo, as distribuições RTMP transmitir arquivos de mídia em RTMP (ou uma variante de RTMP). O exemplo a seguir pressupõe que seus arquivos de mídia e seu reprodutor de mídia são armazenados em diferentes buckets no Amazon S3, mas que não é necessária – você pode armazenar arquivos de mídia e seu media player no mesmo bucket do Amazon S3. Você também pode fazer o media player disponível para os usuários finais em outras maneiras, por exemplo, usando CloudFront e uma origem personalizada. No entanto, os arquivos de mídia devem usar um bucket do Amazon S3 como a origem. No diagrama a seguir, seu site serve a cópia armazenada em cache do media player para cada usuário final através do d1234.cloudfront.net domínio. O reprodutor de mídia acessa em cache cópias de seus arquivos de mídia por meio do s5678.cloudfront.net domínio. Seu media player bucket mantém o media player e é o servidor de origem para uma distribuição de HTTP regulares. Neste exemplo, o nome de domínio para a distribuição d1234.cloudfront.net. (O d em d1234.cloudfront.net indica que essa é uma distribuição de web.) Seu período de mídia de streaming retém os arquivos de mídia e é o servidor de origem para uma distribuição RTMP. Neste exemplo, o nome de domínio para a distribuição s5678.cloudfront.net. (O s em s5678.cloudfront.net indica que essa é uma distribuição RTMP.) Ao configurar a distribuição de arquivos de mídia do CloudFront, o CloudFront usa o Adobe Flash Media Server 3.5 como o servidor de streaming e executa seus arquivos de mídia usando o Adobe Real-Time Messaging Protocol (RTMP). RTMP do CloudFront aceita solicitações na porta 1935 e a porta 80. CloudFront oferece suporte às seguintes variantes do protocolo RTMP: • RTMP- daAdobe protocolo de mensagem em tempo real • encapsulados em streamingRTMPT-Adobe HTTP • RTMPE-Adobe criptografados • RTMPTE-Adobe criptografados tunelado via HTTP Para obter um resumo básico de RTMP e os formatos de arquivo que o Adobe Flash Media Server oferece suporte, consulte Visão geral do Streaming com o Flash Media Server 3 no site da Adobe. A visão geral inclui informações sobre codecs suportados e contêineres. CloudFront é compatível com todos os recursos do Adobe Flash Media Server 3.5 relacionados ao streaming dinâmico, que permite alternar entre fluxos de diferentes qualidades durante a reprodução. Para obter mais informações, acesse Dynamic streaming no Flash Media Server 3.5: Parte 1 no site da Adobe. API Version 2016-01-13 87 Amazon CloudFront Guia do desenvolvedor Lista de tarefas para arquivos usando RTMP Streaming Media Para atender a conteúdo de streaming, você precisa fornecer a seus usuários finais com um media player. Você pode escrever seus próprios jogadores usando o Adobe Flash. Para obter mais informações, acesse http://www.adobe.com/products/flashplayer/. Como alternativa, você pode usar um jogador. Para obter mais informações, consulte os seguintes tutoriais: • O uso de streaming de vídeo on-demand do CloudFront e Adobe Flash Player (p. 344) • O uso de streaming de vídeo on-demand e do CloudFront Flowplayer para Adobe Flash (p. 348) • O uso de streaming de vídeo on-demand e do CloudFront JW Player (p. 353) Lista de tarefas para arquivos usando RTMP Streaming Media Esta seção resume o processo geral para a configuração de streaming sob demanda usando o Adobe protocolo RTMP para qualquer media player. Se você estiver usando o Adobe Flash Player, Flowplayer ou JW Player para seu media player, consulte o tutorial aplicáveis em vez: • O uso de streaming de vídeo on-demand do CloudFront e Adobe Flash Player (p. 344) • O uso de streaming de vídeo on-demand e do CloudFront Flowplayer para Adobe Flash (p. 348) • O uso de streaming de vídeo on-demand e do CloudFront JW Player (p. 353) A seguinte lista de tarefas resume o processo para criar uma distribuição de web. Para criar uma distribuição RTMP 1. Crie um bucket do Amazon S3 para os seus arquivos de mídia. Se você estiver usando outro bucket do Amazon S3 para seu media player, crie um bucket do Amazon S3 para o reprodutor de mídia de arquivos. Os nomes de seus buckets devem ser todos os minúsculos e não podem conter espaços. 2. Escolha e configure um media player para reproduzir seus arquivos de mídia. Para obter mais informações, consulte a documentação do media player. 3. Carregue os arquivos para o seu media player para a origem a partir da qual você deseja do CloudFront para acessar os seus arquivos. Se você estiver usando um bucket do Amazon S3 como a origem para o media player, tornar os arquivos (e não o bucket) publicamente legível. 4. Crie uma distribuição de web para seu media player. (Você também pode usar uma distribuição existente.) Para obter mais informações, consulte Lista de tarefas para criar uma distribuição na Web (p. 54). 5. Faça o upload de seus arquivos de mídia para o bucket do Amazon S3 que você criou para os arquivos de mídia e tornar o conteúdo (não o bucket) publicamente legível. Important Arquivos de mídia em um contêiner de vídeo Flash.flv devem incluir a extensão de nome de arquivo ou a mídia não fazer streaming. Você pode colocar arquivos de reprodutor de mídia e arquivos de mídia no mesmo bucket. 6. Crie uma distribuição RTMP para seus arquivos de mídia: • Para obter mais informações sobre a criação de uma distribuição de web usando o console do CloudFront, consulte A criação de uma distribuição RTMP usando o console do CloudFront (p. 89). API Version 2016-01-13 88 Amazon CloudFront Guia do desenvolvedor A criação de uma distribuição RTMP usando o console do CloudFront • Para obter informações sobre a criação de uma distribuição de web usando a API do CloudFront, vá para POST Streaming Distribution no Amazon CloudFront API Reference. 7. Configure o seu media player. Para obter mais informações, consulte A configuração do Media Player (p. 95). Se você tiver problemas para seu conteúdo para reproduzir, consulte Solução de problemas de distribuições RTMP (p. 97). A criação de uma distribuição RTMP usando o console do CloudFront O procedimento a seguir explica como criar uma distribuição RTMP usando o console do CloudFront. Se você deseja criar uma distribuição RTMP usando a API do CloudFront, vá para POST Streaming Distribution no Amazon CloudFront API Reference. Para saber mais sobre o limite do número de distribuições RTMP que podem ser criadas por conta da AWS, consulte Limites no Amazon Web Services General Reference Amazon CloudFront. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/case/create? issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. Para criar uma distribuição RTMP usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Clique em Create Distribution. 3. Na primeira página do Create Distribution Wizard, na RTMP seção, escolha Get Started. 4. Especifique as configurações para a distribuição. Para obter mais informações, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição RTMP (p. 89). 5. Clique em Create Distribution. 6. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Se você optar por habilitar a distribuição, ele será, então, pronto para processar solicitações. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. O nome de domínio também é exibido na General guia para uma distribuição selecionada. Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição RTMP Para transmitir arquivos de mídia por meio do CloudFront, você cria uma distribuição RTMP e especifique os seguintes valores. Tópicos • Origin Domain Name (Amazon S3 Bucket) (p. 90) • Restrinja Bucket Access (Amazon S3 Only) (p. 91) • Identidade de acesso de origem (Amazon S3 Only) (p. 91) API Version 2016-01-13 89 Amazon CloudFront Guia do desenvolvedor Origin Domain Name (Amazon S3 Bucket) • Comentário para Novos Identity (Amazon S3 Only) (p. 91) • Suas identidades (Amazon S3 Only) (p. 91) • Permissões de leitura de bolsas no bucket (Amazon S3 Only) (p. 91) • Classe de preço (p. 92) • Alternar nomes de domínio (CNAMEs) (p. 92) • Registro em log (p. 92) • Logs de bucket para (p. 92) • Prefixo de log (p. 92) • Comentário (p. 92) • Estado de distribuição (p. 93) • Restrinja Viewer Access (Use URLs assinadas) (p. 93) • Trusted Signatários (p. 93) • Números de conta da AWS (p. 94) Origin Domain Name (Amazon S3 Bucket) O nome de domínio DNS do bucket do Amazon S3 a partir da qual você deseja que o CloudFront para obter objetos para esta origem, por exemplo, myawsbucket.s3.amazonaws.com. No console do CloudFront, clique no Origin Domain Name campo e uma lista enumera buckets do Amazon S3 atuais que estão associados com a conta da AWS. Para usar um bucket de uma conta da AWS diferente, digite o nome de domínio do bucket no seguinte formato: bucket-name.s3.amazonaws.com Se o seu bucket está na região padrão dos EUA e você deseja que o Amazon S3 para rotear as solicitações para um recurso no Norte da Virgínia, use o seguinte formato: bucket-name.s3-external-1.amazonaws.com Se você configurou o Amazon S3 Transfer Acceleration para o seu bucket, não especifique o s3accelerate endpoint para Origin Domain Name. Os arquivos deve ser legível publicamente, a menos que você proteja seu conteúdo no Amazon S3, utilizando uma identidade de acesso de origem do CloudFront. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Important O nome do bucket deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. Quando você alterar o bucket no qual ele obtém objetos para a origem atual do CloudFront começa imediatamente, replicando a alteração para os pontos de presença do CloudFront. Até a configuração de distribuição é atualizado em um determinado ponto de presença, ele continuará a encaminhar solicitações ao bucket do Amazon S3 anterior. Assim que a configuração de distribuição é atualizado naquele ponto de presença, o CloudFront começa para encaminhar as solicitações para o novo bucket do Amazon S3. Alterando o bucket não requer caches de presença do CloudFront para preencher novamente com os objetos da nova origem. Desde que as solicitações do visualizador em seu aplicativo não foram API Version 2016-01-13 90 Amazon CloudFront Guia do desenvolvedor Restrinja Bucket Access (Amazon S3 Only) alterados, ele continuará a servir objetos que já estão em um cache de presença até que o TTL em cada objeto expirar ou até que raramente objetos solicitados são removidas. Para obter mais informações, consulte O uso de um bucket do Amazon S3 como a origem para uma distribuição RTMP (p. 96). Restrinja Bucket Access (Amazon S3 Only) Clique em Yes se quiser para exigir que os usuários finais para acessar objetos em um bucket do Amazon S3, usando apenas URLs do CloudFront, não usando o Amazon S3 URLs. Em seguida, especifique os valores aplicáveis. Clique em No se quiser que os usuários finais para acessar objetos usando URLs do CloudFront ou URLs do Amazon S3. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Identidade de acesso de origem (Amazon S3 Only) Se você escolheu Yes para Restrict Bucket Access, escolha se deseja criar uma nova identidade de acesso de origem ou usar uma existente que está associado à sua conta da AWS. Se você já tem uma identidade de acesso de origem, recomendamos que você reutilizá-la para simplificar a manutenção. Para obter mais informações sobre as identidades de acesso de origem, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Comentário para Novos Identity (Amazon S3 Only) Se você escolheu Create a New Identity para Origin Access Identity, insira um comentário que identifica a nova identidade de acesso de origem. CloudFront criará a identidade de acesso de origem quando você cria essa distribuição. Suas identidades (Amazon S3 Only) Se você escolheu Use an Existing Identity para Origin Access Identity, escolha a identidade de acesso de origem que você deseja usar. Você não pode usar uma identidade de acesso de origem que está associada a outra conta da AWS. Permissões de leitura de bolsas no bucket (Amazon S3 Only) Se você deseja conceder a origem do CloudFront para automaticamente a permissão de identidade de acesso para ler objetos no bucket do Amazon S3, clique em Yes, Update Bucket Policy. Important Se você clicar Yes, Update Bucket Policy, ele atualiza a política de bucket para conceder a identidade de acesso de origem especificado a permissão para ler objetos em seu bucket. No entanto, ele não remove as permissões existentes na política de bucket ou permissões sobre objetos individuais. Se os usuários atualmente têm permissão para acessar os objetos em seu bucket usando o Amazon S3 URLs, eles ainda terá essa permissão após as atualizações do CloudFront a sua política de bucket. Para visualizar ou alterar a política de buckets existentes e permissões existentes sobre os objetos no seu bucket, use um método fornecido pelo API Version 2016-01-13 91 Amazon CloudFront Guia do desenvolvedor Classe de preço Amazon S3. Para obter mais informações, consulte Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 (p. 174). Se você quiser atualizar as permissões manualmente, por exemplo, se você deseja atualizar ACLs em seus objetos em vez de atualizar as permissões de bucket, clique em No, I will Update Permissions. Classe de preço A classe de preço que corresponde com o preço máximo que deseja pagar por serviço do CloudFront. Por padrão, o CloudFront oferece seus objetos a partir de pontos de presença em todas as regiões do CloudFront. Para obter mais informações sobre classes de preços e sobre como sua escolha de classe de preço afeta o desempenho do CloudFront para a sua distribuição, consulte Escolha a classe de preço para uma distribuição do CloudFront (p. 49). Para obter informações sobre a definição de preço do CloudFront, incluindo como mapear classes de preço para regiões do CloudFront, vá para o Amazon CloudFront de preço. Alternar nomes de domínio (CNAMEs) Opcional. Você pode associar um ou mais aliases de CNAME com uma distribuição para que você possa usar o seu nome de domínio (por exemplo, exemplo.com) no URLs para seus objetos em vez de usar o nome de domínio que ele atribuído quando você criou sua distribuição. Para obter mais informações, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Registro em log Se você deseja que o CloudFront para registrar informações sobre cada solicitação para um objeto e armazenar os arquivos de log em um bucket do Amazon S3. Você pode ativar ou desativar o registro a qualquer momento. Não há custo adicional se você habilitar o log, mas você provisiona habituais cobranças do Amazon S3 para armazenar e acessar os arquivos em um bucket do Amazon S3. Você pode excluir os logs a qualquer momento. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Logs de bucket para Se você escolheu On para Logging, o bucket do Amazon S3 que você deseja para armazenar os logs de acesso do CloudFront, por exemplo, myawslogbucket.s3.amazonaws.com. Se você ativar o registro, ele registra informações sobre cada solicitação do usuário final de um objeto e armazena os arquivos no bucket do Amazon S3 especificado. Você pode ativar ou desativar o registro a qualquer momento. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Prefixo de log Opcional. Se você escolheu On para Logging, especifique a string, se houver, que você deseja que ele prefixar para os nomes de arquivos de log de acesso para essa distribuição, por exemplo, exampleprefix/. barra à direita (/) é opcional, mas recomendado para simplificar a navegação de seus arquivos de log. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Logs de acesso (p. 264). Comentário Opcional. Quando você cria uma distribuição, você pode incluir um comentário de até 128 caracteres. Você pode atualizar o comentário a qualquer momento. API Version 2016-01-13 92 Amazon CloudFront Guia do desenvolvedor Estado de distribuição Estado de distribuição Quando você cria uma distribuição, você deve especificar se quiser que a distribuição seja ativado ou desativado depois que ela for criada: • Enabled significa que assim que a distribuição estiver totalmente implementado, você pode implementar links que usam a distribuição do nome de domínio e os usuários finais podem recuperar conteúdo. Sempre que uma distribuição é ativado, ele aceita e processa qualquer usuário final as solicitações de conteúdo que usam o nome de domínio associados a essa distribuição. Quando você criar, modificar ou excluir uma distribuição do CloudFront, o tempo necessário para que suas alterações serão propagadas para o banco de dados do CloudFront. Uma solicitação imediata para obter informações sobre uma distribuição podem não mostrar a alteração. Propagação, em geral, é concluída em questão de minutos, mas uma alta carga do sistema ou partição de rede pode aumentar esse tempo. • Desativado significa que mesmo que a distribuição pode ser implantado e pronto para usar, os usuários finais não podem usá-lo. Quando uma distribuição é desativado, ele não aceita solicitações de usuário final que usam o nome de domínio associados a essa distribuição. Até que você alterna a distribuição de desativado para habilitado (atualizando a distribuição da configuração), ninguém pode usá-lo. Você pode alternar uma distribuição entre desativado e ativado sempre que desejar. Para obter informações sobre a atualização de uma configuração de distribuição, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Restrinja Viewer Access (Use URLs assinadas) Se você deseja que solicitações de objetos atendidas por essa distribuição usar URLs públicos, clique em No. Se você deseja que as solicitações para usar URLs assinadas, clique em Yes. Em seguida, especifique as contas da AWS que você deseja usar para criar URLs assinadas; essas contas são conhecidos como assinantes confiáveis. Para obter mais informações sobre assinantes confiáveis, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). Trusted Signatários Escolha quais contas da AWS que você deseja usar como assinantes confiáveis para essa distribuição: • Self: Use a conta com a qual você está atualmente conectado ao Console de gerenciamento da AWS como um assinante confiável. Se você estiver conectado no momento como um usuário do IAM, consulte os documentos de conta da AWS é adicionada como um assinante confiável. • Specify Accounts: Informe números de contas para assinantes confiáveis no AWS Account Numbers campo. Para criar URLs assinadas, uma conta da AWS devem ter pelo menos um par de chaves do CloudFront ativas. Caution Se você está atualizando uma distribuição que você já está usando para distribuir conteúdo, adicionar assinantes confiáveis somente quando você está pronto para iniciar a geração de URLs assinadas para seus objetos. Após adicionar assinantes confiáveis para uma distribuição, os usuários devem usar URLs assinadas para acessar os objetos atendidas por essa distribuição. API Version 2016-01-13 93 Amazon CloudFront Guia do desenvolvedor Números de conta da AWS Números de conta da AWS Se você deseja criar URLs assinadas usando contas da AWS em acréscimo ou em vez da sua conta atual, insira um número de conta da AWS por linha neste campo. Observe o seguinte: • As contas que você especificar deve ter, pelo menos, um par de chaves do CloudFront ativas. Para obter mais informações, consulte A criação de pares de chaves do CloudFront para o seu Trusted Signatários (p. 178). • Você não pode criar pares de chaves do CloudFront para usuários do IAM, portanto, você não pode usar os usuários do IAM como assinantes confiáveis. • Para obter informações sobre como obter o número de conta da AWS para uma conta, consulte Como obter credenciais de segurança? no Amazon Web Services General Reference. • Se você insira o número da conta para a conta atual, o CloudFront verifica automaticamente a Self caixa de seleção e remove o número de conta na AWS Account Numbers lista. Os valores que CloudFront Exibe no Console Quando Você Criar ou Atualizar uma distribuição RTMP Quando você cria uma nova distribuição RTMP ou atualizar uma distribuição existente, ele exibe as seguintes informações no console do CloudFront. Note Active assinantes confiáveis, as contas da AWS que têm um par de chaves e ativas do CloudFront podem ser usadas para criar URLs assinadas válido, não estão visíveis no console do CloudFront. ID de distribuição Quando você executar uma ação em uma distribuição usando a API do CloudFront, você deve usar o ID de distribuição de distribuição para especificar que você deseja executar a ação, por exemplo, EDFDVBD6EXAMPLE. Você não pode alterar a ID de distribuição Status Os possíveis valores de status para uma distribuição são listados na tabela a seguir. Value Descrição InProgress A distribuição ainda está sendo criada ou atualizada. Deployed A distribuição foi criada ou atualizada e as alterações foram totalmente propagadas através do sistema do CloudFront. Além de garantir que o status de uma distribuição Deployed, você deve habilitar a distribuição antes de os usuários finais podem usar do CloudFront para acessar seu conteúdo. Para obter mais informações, consulte Estado de distribuição (p. 93). API Version 2016-01-13 94 Amazon CloudFront Guia do desenvolvedor Última modificação Última modificação A data e a hora em que a distribuição foi modificado pela última vez, usando a norma ISO 8601 para formato, por exemplo, 2012-05-19T19:37:58Z. Para obter mais informações, acesse http:// www.w3.org/TR/NOTE-datetime. Nome do domínio Você usa o nome de domínio de distribuição nos links para seus objetos, a menos que você está usando nomes de domínio alternativo (CNAMEs). Por exemplo, se o nome do domínio de sua distribuição é d111111abcdef8.cloudfront.net, o link para o /images/image.jpg arquivo de exemplo seria http://d111111abcdef8.cloudfront.net/images/image.jpg. Você não pode alterar o nome de domínio do CloudFront para a sua distribuição. Para obter mais informações sobre URLs do CloudFront para links para seus objetos, consulte Formato de URLs dos objetos do CloudFront (p. 99). Se você tiver especificado um ou mais nomes de domínio alternativo (CNAMEs), você pode usar seus próprios nomes de domínio para links para seus objetos em vez de usar o nome de domínio do CloudFront. Para obter mais informações sobre CNAMEs, consulte Alternar nomes de domínio (CNAMEs) (p. 73). Note Os nomes de domínio do CloudFront são exclusivos. Seu nome de domínio de distribuição nunca foi usado para uma distribuição anterior e nunca serão reutilizadas para outra distribuição no futuro. A configuração do Media Player Para reproduzir um arquivo de mídia, você deve configurar o reprodutor de mídia com o caminho correto para o arquivo. Como você configurar a mídia depende do media player que você está usando e como você está usando. Quando você configurar o media player, o caminho especificado para o arquivo de mídia deve conter os caracteres cfx/st imediatamente após o nome de domínio, por exemplo: rtmp://s5c39gqb8ow64r.cloudfront.net/cfx/st/mediafile.flv. Note CloudFront segue o Adobe FMS requisitos de nomeação. Diferentes jogadores têm suas próprias regras sobre como especificar fluxos. O exemplo acima é para o JW Player. Consulte a documentação de jogador. Por exemplo, o Adobe Flash Media Server não permite que a extensão .flv para estar presentes no caminho de reprodução. Muitos jogadores remover o.flv extensão para você. Seu media player podem solicitar o caminho separado do nome de arquivo. Por exemplo, com o JW Player streamer e assistente, você especifica uma file variável: • streamer-rtmp://s5c39gqb8ow64r.cloudfront.net/cfx/st (sem direita) • mediafile.flvarquivos Se você armazenou os arquivos de mídia em um diretório no seu bucket (por exemplo, vídeos/ mediafile.flv) e, em seguida, as variáveis para o JW Player seria: API Version 2016-01-13 95 Amazon CloudFront Guia do desenvolvedor Arquivos MPEG • streamer-rtmp://s5c39gqb8ow64r.cloudfront.net/cfx/st (sem direita) • videos/mediafile.flvarquivos Para usar o assistente JW Player, vá para a página do Assistente de configuração JW Player no site. Arquivos MPEG Para atender a arquivos de áudio MP3 ou H.264/MPEG-4 arquivos de vídeo, você pode precisar prefixar o nome do arquivo com mp3: ou mp4:. Alguns jogadores de mídia podem ser configurados para adicionar o prefixo automaticamente. O media player também pode exigir que você especifique o nome de arquivo, sem a extensão de arquivo (por exemplo, em vez de magicvideo magicvideo.mp4). O uso de um bucket do Amazon S3 como a origem para uma distribuição RTMP Quando você cria uma distribuição do CloudFront, você especifica onde obtém os arquivos que ele distribui para pontos de presença. Para obter uma distribuição RTMP, você deve usar um bucket do Amazon S3; origens personalizadas não são compatíveis. Para obter seus objetos em seu bucket, você pode usar qualquer método compatíveis com o Amazon S3, por exemplo, a API do Amazon S3 ou uma ferramenta de terceiros. Você pode criar uma hierarquia em seu bucket da mesma forma que faria com qualquer outro bucket do Amazon S3. Você será cobrado pelos encargos do Amazon S3 regular para armazenar os objetos no bucket. Para obter mais informações sobre as cobranças de uso do CloudFront, consulte Relatórios do CloudFront (p. 11). Usando um bucket do Amazon S3 como seu servidor de origem do CloudFront não altera o bucket, você ainda pode usá-lo normalmente para armazenar e acessar os objetos do Amazon S3 (no Amazon S3 normal os preços). Você pode usar o mesmo bucket do Amazon S3 para RTMP e distribuições da web. Note Depois de criar uma distribuição RTMP, não é possível alterar o servidor de origem. Se você precisa alterar o bucket do Amazon S3 para uma distribuição RTMP, você deve criar uma nova distribuição que usa o novo bucket e atualizar seu links ou seus registros DNS para usar o nome de domínio para a nova distribuição. Em seguida, você pode excluir a distribuição original. Para obter mais informações, consulte A exclusão de uma distribuição (p. 44). Quando você especificar o nome do bucket do Amazon S3 que você deseja que o CloudFront para obter objetos de, você geralmente usa o seguinte formato: bucket-name.s3.amazonaws.com Se o seu bucket está na região padrão dos EUA e você deseja que o Amazon S3 para rotear as solicitações para um recurso no Norte da Virgínia, use o seguinte formato: bucket-name.s3-external-1.amazonaws.com Não especifique o nome do bucket usando os seguintes valores: • O s3.amazonaws.com/bucket-nameestilo de caminho do Amazon S3 API Version 2016-01-13 96 Amazon CloudFront Guia do desenvolvedor A criação de várias distribuições RTMP para um Servidor de Origem • O Amazon S3 CNAME, se houver Important Para o seu bucket para trabalhar com CloudFront, o nome deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. A criação de várias distribuições RTMP para um Servidor de Origem Geralmente, você cria uma distribuição RTMP por bucket do Amazon S3, mas você pode optar por criar várias distribuições RTMP para o mesmo bucket. Por exemplo, se você tiver duas distribuições para um bucket do Amazon S3, você pode fazer referência a um único arquivo de mídia usando a distribuição. Neste caso, se você tiver um arquivo de mídia chamado media.flv em seu servidor de origem, ele deverá trabalhar com cada distribuição como se ele referenciados um indivíduo media.flv objeto: uma media.flv acessível por meio de uma distribuição e outro media.flv acessíveis por meio de outras distribuição. Restringindo Acesso Usando Crossdomain.xml O Adobe Flash Media Server arquivo crossdomain.xml especifica que os domínios podem acessar arquivos de mídia em um determinado domínio. As fontes do CloudFront um arquivo padrão que permite que todos os domínios para acessar os arquivos de mídia em sua distribuição RTMP, e você não pode alterar esse comportamento. Se você incluir um arquivo crossdomain.xml mais restritivas em seu bucket do Amazon S3, ele o ignora. Códigos de erro para distribuições RTMP A tabela a seguir lista os códigos de erro que ele pode enviar para seu media player. Os erros são parte da string retornados com Event.info.application.message ou Event.info.description. Erro Descrição DistributionNotFound A distribuição não foi encontrado. DistributionTypeMismatch A distribuição não é uma distribuição RTMP. InvalidInstance A instância é inválido. InvalidURI O URI é inválido. Solução de problemas de distribuições RTMP Se você está tendo problemas para seus arquivos de mídia para reprodução, verifique os seguintes itens. API Version 2016-01-13 97 Amazon CloudFront Guia do desenvolvedor Solução de problemas de distribuições RTMP Item para verificação Descrição Separe distribuições para o reprodutor de mídia de arquivos e arquivos de mídia O media player devem ser atendidas por uma distribuição HTTP regular (por exemplo, nome de domínio d111111abcdef8.cloudfront.net) e arquivos de mídia devem ser atendidas por uma distribuição RTMP (por exemplo, nome de domínio s5c39gqb8ow64r.cloudfront.net). Verifique se você não está usando a mesma distribuição para ambos. /cfx/st no caminho do arquivo Confirme se o caminho para o arquivo inclui /cfx/st. Você não precisa incluir /cfx/st no caminho para o objeto no bucket do Amazon S3. Para obter mais informações, consulte A configuração do Media Player (p. 95). Os nomes de arquivo no caminho do arquivo Alguns reprodutores exigem que você incluem a extensão do nome do arquivo (por exemplo, mp4:) antes do nome de arquivo no caminho do arquivo. Alguns reprodutores de mídia também exigem que você excluir a extensão do nome do arquivo (por exemplo, .mp4) do caminho do arquivo. Para obter mais informações, consulte Arquivos MPEG (p. 96). Note Os nomes dos arquivos de mídia em seu bucket do Amazon S3 sempre deve incluir a extensão de nome de arquivo aplicáveis. Porta 1935 em seu firewall Adobe Flash Media Server usa a porta 1935 para RTMP. Verifique se o firewall tem essa porta aberta. Se não tiver, a mensagem típica retornado é "Não é possível reproduzir o vídeo." Você também pode alternar para RTMPT para túnel via HTTP usando a porta 80. Adobe Flash Player de mensagens Por padrão, o Adobe Flash Player não exibir uma mensagem se o arquivo de vídeo está tentando reproduzir ausente. Em vez disso, ele aguarda o arquivo para mostrar. Você pode alterar esse comportamento para dar a seus usuários finais uma experiência melhor. Para em vez têm o jogador enviar uma mensagem se o vídeo não estiver presente, use play("vid",0,-1) em vez de play("vid"). API Version 2016-01-13 98 Amazon CloudFront Guia do desenvolvedor Formato de URLs dos objetos do CloudFront Trabalho com objetos Tópicos • Formato de URLs dos objetos do CloudFront (p. 99) • Como processos de solicitações HTTP e HTTPS do CloudFront (p. 102) • Aumentar a Proporção de solicitações que são Servidas de presença do CloudFront Caches (p. 102) • A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105) • A configuração do cache do CloudFront para objetos com base em cookies (p. 107) • A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109) • Encaminhando Cabeçalhos Personalizados para sua origem (Web Distribuições Somente) (p. 113) • Como adicionar, remover ou substituir objetos em uma distribuição (p. 116) • Personalizando respostas de erro (p. 130) • Como processos de solicitações parciais do CloudFront para um objeto (Range GETs) (p. 134) • Especificar um Objeto raiz padrão (Web Distribuições Somente) (p. 135) • Distribuição de arquivos compactados (p. 137) Esta seção descreve como trabalhar com objetos no CloudFront. Formato de URLs dos objetos do CloudFront Tópicos • Formato de URLs para objetos no Amazon S3 público (p. 100) • Formato de URLs para objetos em um público de origem personalizado (p. 101) • Como URLs públicos Afetam a invalidação de diretórios (p. 101) • Formato de URLs assinadas (p. 102) Quando você cria uma distribuição do CloudFront, você recebe o nome de domínio associados a essa distribuição. Você usa esse nome de domínio ao criar os links para seus objetos. Se você tiver outro nome de domínio que você prefere usar (por exemplo, www.example.com), você pode API Version 2016-01-13 99 Amazon CloudFront Guia do desenvolvedor Formato de URLs para objetos no Amazon S3 público adicionar um alias CNAME. Para obter mais informações, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Quando você criar URLs para oferecer aos usuários finais acesso a objetos em sua distribuição do CloudFront, os URLs são URLs públicos ou URLs assinadas: URLspúblicos permitem que os usuários acessem os seguintes objetos: • Os objetos em que não há restrições. • Os objetos em um bucket do Amazon S3 que os usuários finais devem acessar através do CloudFront, mas que não exigem um URL assinada. Esses objetos não podem ser acessados usando um URL do Amazon S3. URLsassinadas são necessárias para acessar os objetos que são especificados por um comportamento de cache que você tiver configurado para exigir URLs assinadas. Observe que, se uma solicitação de um objeto (por exemplo, image.jpg) corresponde ao caminho padrões para dois ou mais comportamentos de cache, o CloudFront processará a solicitação com base no comportamento de cache que está listada primeiro na distribuição. Se o primeiro comportamento de cache não exige URLs assinadas e o segundo comportamento de cache requer URLs assinadas, os usuários finais poderão acessar image.jpg sem um URL assinada. Para obter mais informações sobre comportamentos de cache, incluindo padrões de caminho, consulte Configurações de comportamento de cache (p. 65). Para obter mais informações sobre URLs assinadas, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). Formato de URLs para objetos no Amazon S3 público Um URL pública para um objeto em um bucket do Amazon S3 usa o seguinte formato: http://<CloudFront domain name>/<object name in Amazon S3 bucket> Important Se a distribuição atende streaming de conteúdo, caracteres adicionais são necessárias no caminho para o arquivo. Para obter mais informações, consulte A configuração do Media Player (p. 95). Por exemplo, suponha que você tem um bucket do Amazon S3 chamado mybucket. O bucket contém um objeto chamado legível publicamente /images/image.jpg. Você cria uma distribuição do CloudFront e especificar mybucket.s3.amazonaws.com como o servidor de origem para essa distribuição. CloudFront retorna d111111abcdef8.cloudfront.net como o nome de domínio para a distribuição e EDFDVBD6EXAMPLE como o ID de distribuição O URL fornecido aos usuários finais para acessar o objeto neste exemplo é: http://d111111abcdef8.cloudfront.net/images/image.jpg Para distribuições, se você está armazenando seu conteúdo em mais de um bucket do Amazon S3, o formato de URLs é o mesmo – URLs não inclui informações sobre seus buckets do Amazon S3. Para rotear solicitações do bucket, você cria uma origem para cada bucket e criar um ou mais comportamentos de cache que roteiam solicitações para cada origem. O caminho padrão em um comportamento de cache especifica que as solicitações são encaminhados para a origem (o bucket do Amazon S3) que está associada a esse comportamento de cache. Para obter mais informações sobre as configurações de origens e para comportamentos de cache em uma distribuição do API Version 2016-01-13 100 Amazon CloudFront Guia do desenvolvedor Formato de URLs para objetos em um público de origem personalizado CloudFront, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). Para obter mais informações sobre nomes e caminhos para buckets do Amazon S3, consulte Virtual Hosting de buckets no Guia do desenvolvedor do Amazon Simple Storage Service. Sempre que um usuário final acessa esse objeto, o CloudFront oferece o objeto do ponto de presença apropriado. Se o objeto não está naquele ponto de presença, ele vai para o servidor de origem associados com a EDFDVBD6EXAMPLE distribuição (mybucket.s3.amazonaws.com) e obtém uma cópia do objeto para o ponto de presença para atender ao usuário final. Formato de URLs para objetos em um público de origem personalizado O formato de URLs públicos para objetos em uma origem personalizada são muito como URLs públicos para objetos no Amazon S3: http://<CloudFront domain name>/<object name in custom origin> Se o objeto está em uma pasta no seu servidor de origem e, em seguida, o URL do CloudFront deve incluir o nome da pasta. Por exemplo, se image.jpg está localizado na images pasta e, em seguida, o URL é: http://d111111abcdef8.cloudfront.net/images/image.jpg CloudFront obtém objetos do domínio que você especificou quando criou a distribuição, usando o caminho e o nome do objeto no URL pública. Por exemplo, se o domínio para sua origem personalizada é example.com e o caminho e o nome do objeto do CloudFront /images/image.jpg, obterá o objeto do seguinte local: http://example.com/images/image.jpg Se você está armazenando seu conteúdo em mais de uma origem personalizada, o formato de URLs é o mesmo – URLs não inclui informações sobre a origem personalizada. Para rotear solicitações para a origem personalizada aplicáveis, você adicionar uma origem para a sua distribuição para cada origem personalizada e criar um ou mais comportamentos de cache que roteiam solicitações para cada origem. O caminho padrão em um comportamento de cache especifica que as solicitações são encaminhados para a origem que está associada a esse comportamento de cache. Para obter mais informações sobre as configurações de origens e para comportamentos de cache em uma distribuição do CloudFront, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). Como URLs públicos Afetam a invalidação de diretórios Se você usar URLs do CloudFront, que proporcionam aos usuários finais acesso a diretórios, recomendamos que você sempre usar o mesmo formato de URL, com uma média de barra (/) ou sem, por exemplo: http://d111111abcdef8.cloudfront.net/images/ http://d111111abcdef8.cloudfront.net/images Os navegadores e outros aplicativos da Web resolverá ambos os formatos para o mesmo diretório. No entanto, o CloudFront armazena URLs públicos exatamente como aparecem na solicitação. Se você deseja invalidar um diretório, você precisa especificar o mesmo diretório, incluindo ou excluindo a barra. Se você não tiver um padrão de como você especificar diretórios, você precisará invalidar o diretório com e sem a barra para garantir que remove o diretório do CloudFront a partir do ponto API Version 2016-01-13 101 Amazon CloudFront Guia do desenvolvedor Formato de URLs assinadas de presença. Se você atingiu o limite gratuitamente invalidações para o mês, você vai pagar para invalidações, mesmo que apenas um dos diretórios existe. Formato de URLs assinadas URLs assinadas permitem que os usuários finais para acessar objetos em uma distribuição que é configurado para servir conteúdo privado. Os URLs incluem informações adicionais que restringe o acesso a objetos em cache. Para obter informações sobre o formato de URLs assinadas, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). Como processos de solicitações HTTP e HTTPS do CloudFront Para o Amazon S3 origens, ele aceita solicitações em ambos os protocolos HTTP e HTTPS para objetos em uma distribuição do CloudFront por padrão. Em seguida, ele encaminha as solicitações para seu bucket do Amazon S3 usando o mesmo protocolo em que as solicitações foram feitas. Para origens personalizadas, quando você cria a sua distribuição do CloudFront, você pode especificar como acessar sua origem: HTTP, ou apenas o protocolo correspondente que é usado pelo visualizador. Para obter mais informações sobre como o CloudFront lida com as solicitações HTTP e HTTPS para origens personalizadas, consulte Protocolos (p. 157). Para obter informações sobre como restringir sua distribuição de web, para que os usuários finais podem acessar somente objetos usando HTTPS, consulte Usando uma conexão HTTPS para acessar seus objetos (p. 235). (Esta opção não se aplicam a distribuições RTMP, que usam o protocolo RTMP.) Note A cobrança para solicitações HTTPS é maior que a cobrança para solicitações HTTP. Para obter mais informações sobre as taxas de faturamento, consulte o plano de preços do CloudFront. Aumentar a Proporção de solicitações que são Servidas de presença do CloudFront Caches Uma das finalidades do uso do CloudFront é reduzir o número de solicitações que o seu servidor de origem. Isso reduz a carga em seu servidor de origem e também reduz a latência porque mais objetos são fornecidas usando os pontos de presença do CloudFront, que são mais perto de seus usuários. Quanto mais solicitações que ele é capaz de atender a partir de caches de presença como uma proporção de todas as solicitações (maior a taxa de acertos do cache), a menos que as solicitações de necessidades do CloudFront para encaminhar a sua origem para obter a versão mais recente ou uma única versão de um objeto. Você pode visualizar a porcentagem de solicitações do visualizador que são o número de solicitações atendidas, não atendidas e erros no console do CloudFront. Para obter mais informações, consulte Relatórios de estatísticas de cache do CloudFront (p. 12) na Guia do desenvolvedor do Amazon CloudFront. As seções a seguir explicam como melhorar sua taxa de acertos do cache. Tópicos API Version 2016-01-13 102 Amazon CloudFront Guia do desenvolvedor Especificando Quanto tempo Caches Seu Objetos do CloudFront • Especificando Quanto tempo Caches Seu Objetos do CloudFront (p. 103) • Parâmetros de sequência de caracteres de consulta com base em cache (p. 103) • Com base nos valores de cookie de cache (p. 103) • Com base nos cabeçalhos de solicitação de armazenamento em cache (p. 104) • Distribuição de conteúdo de mídia usando HTTP (p. 105) Especificando Quanto tempo Caches Seu Objetos do CloudFront Para aumentar sua taxa de acertos do cache, você pode configurar sua origem para adicionar uma Cache-Control max-age diretiva aos seus objetos e especificar o maior valor de prática para maxage. A menor duração do cache, mais frequentemente do CloudFront encaminha outra solicitação para sua origem para determinar se o objeto foi alterado e, se esse for o caso, para obter a versão mais recente. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Parâmetros de sequência de caracteres de consulta com base em cache Se você configurar o CloudFront para armazenar em cache com base nos parâmetros de sequência de caracteres de consulta, você pode melhorar o armazenamento em cache se você fazer o seguinte: • Configure CloudFront para encaminhar apenas as sequências de caracteres de consulta para que sua origem retornará objetos exclusivos. • Use o mesmo caso (maiúsculas e minúsculas) para todas as instâncias do mesmo parâmetro. Por exemplo, se uma solicitação contém parameter1=A e outro contém parameter1=a, ele encaminha solicitações separadas para sua origem quando uma solicitação contém parameter1=A e quando uma solicitação contém parameter1=a. Em seguida, separadamente do CloudFront armazena em cache os objetos correspondentes retornados por sua origem separadamente, mesmo se os objetos são idênticos. Se você usar apenas A ou a, ele encaminha menos solicitações para sua origem. • Liste os parâmetros na mesma ordem. Assim como ocorre com diferenças em caso, se uma solicitação de um objeto contém a string de consulta parameter1=a¶meter2=b e outra solicitação para o mesmo objeto contém parameter2=b¶meter1=a, ele encaminha ambas as solicitações para sua origem e separadamente armazena os objetos correspondentes, mesmo se eles são idênticos. Se você sempre usar a mesma ordem para parâmetros, ele encaminha menos solicitações para sua origem. Para obter mais informações, consulte A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105). Se você deseja revisar as sequências de consulta que ele encaminha para sua origem, habilitar os logs de acesso do CloudFront e ver os valores na cs-uri-query coluna de seus arquivos de log. Para obter mais informações, consulte Logs de acesso (p. 264). Com base nos valores de cookie de cache Se você configurar o CloudFront para armazenar em cache com base nos valores dos cookies, você pode melhorar o armazenamento em cache se você fazer o seguinte: • Configure CloudFront para encaminhar apenas cookies especificados em vez de encaminhar todos os cookies. Para os cookies que você configura para encaminhar para sua origem do CloudFront, API Version 2016-01-13 103 Amazon CloudFront Guia do desenvolvedor Com base nos cabeçalhos de solicitação de armazenamento em cache o CloudFront encaminhará a cada combinação de nome do cookie e o valor e separadamente armazena em cache os objetos que sua origem retornar, mesmo se todos eles são idênticos. Por exemplo, suponha que os visualizadores incluem dois cookies em cada solicitação, que cada cookie tem três valores possíveis, e que todas as combinações de valores de cookie são possíveis. CloudFront encaminha até seis diferentes solicitações para sua origem para cada objeto. Se sua origem retornar diferentes versões de um objeto com base em apenas um dos cookies e, em seguida, do CloudFront está encaminhando mais solicitações para sua origem que o necessário e é idêntico desnecessariamente o armazenamento em cache várias versões do objeto. • Crie separar comportamentos de cache para conteúdo estático e dinâmico, e configurar do CloudFront encaminhe cookies para sua origem apenas para conteúdo dinâmico. Por exemplo, suponha que você tem apenas um comportamento de cache para a sua distribuição e que você está usando a distribuição tanto para conteúdo dinâmico, como arquivos.css,.php e para arquivos que raramente são alterados. caches do CloudFront separadas versões dos seus arquivos com base nos valores dos cookies.css, de modo que cada ponto de presença do CloudFront encaminha uma solicitação para sua origem para cada novo valor de cookie ou combinação de valores de cookie. Se você criar um comportamento de cache para o qual o caminho padrão é*.css e para que ele não armazenar em cache com base nos valores dos cookies e, em seguida, encaminha solicitações para arquivos.css do CloudFront para sua origem apenas para a primeira solicitação que um ponto de presença recebe para um determinado arquivo.css e para a primeira solicitação após um arquivo.css expire. • Se possível, crie separadas comportamentos de cache para conteúdo dinâmico para os quais valores de cookie são exclusivas para cada usuário (como uma ID de usuário) e conteúdo dinâmico que varia com base em um número menor de valores exclusivos. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). Se você deseja revisar os cookies do CloudFront encaminha para sua origem, habilitar os logs de acesso do CloudFront e ver os valores na cs(Cookie) coluna de seus arquivos de log. Para obter mais informações, consulte Logs de acesso (p. 264). Com base nos cabeçalhos de solicitação de armazenamento em cache Se você configurar o CloudFront para armazenar em cache com base nos cabeçalhos de solicitação, você pode melhorar o armazenamento em cache se você fazer o seguinte: • Configure CloudFront para encaminhar e armazenar em cache com base apenas em vez de encaminhamento de cabeçalhos especificados e o armazenamento em cache com base em todos os cabeçalhos. Para os cabeçalhos que você especificar, cabeçalho do CloudFront encaminhará a cada combinação de nome e valor e separadamente armazena em cache os objetos que sua origem retornar, mesmo se todos eles são idênticos. Note sempre encaminha para sua origem do CloudFront cabeçalhos especificados nos seguintes tópicos: • Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 > Cabeçalhos de Solicitação HTTP que CloudFront Remove ou Atualizações (p. 145) • Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado > Cabeçalhos de Solicitação HTTP e o comportamento do CloudFront (p. 153) API Version 2016-01-13 104 Amazon CloudFront Guia do desenvolvedor Distribuição de conteúdo de mídia usando HTTP Quando você configurar o CloudFront para armazenar em cache com base nos cabeçalhos de solicitação, você não alterar os cabeçalhos que ele encaminha, somente se ele armazena objetos com base nos valores de cabeçalho. • Tente evitar o armazenamento em cache com base nos cabeçalhos de solicitação que têm um grande número de valores exclusivos. Por exemplo, se você deseja servir diferentes tamanhos de uma imagem com base no dispositivo do usuário e, em seguida, não configurar do CloudFront para armazenar em cache com base no User-Agent cabeçalho, que tem um grande número de valores possíveis. Em vez disso, configure o CloudFront para armazenar em cache com base nos cabeçalhos do tipo de dispositivo do CloudFront CloudFront-Is-Desktop-ViewerCloudFront-Is-Mobile-Viewer, CloudFrontIs-SmartTV-Viewer, e CloudFront-Is-Tablet-Viewer. Além disso, se você está retornando a mesma versão da imagem para tablets e desktops e, em seguida, encaminhar somente o CloudFront-Is-Tablet-Viewer cabeçalho, não o CloudFront-Is-Desktop-Viewer cabeçalho. Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Distribuição de conteúdo de mídia usando HTTP Quando você usa HTTP para servir conteúdo de mídia, recomendamos que você use um protocolo de streaming dinâmico baseadas em HTTP, como Apple HTTP Dynamic Streaming (HDS) da Apple, o Apple HTTP Live Streaming (HLS) da Apple, Microsoft Smooth Streaming ou MPEG-DASH. Para protocolos de streaming dinâmico, um vídeo é dividido em vários segmentos que são normalmente apenas alguns segundos cada. Se seus usuários comumente parar de assistir a antes do término de um vídeo (por exemplo, porque eles fechar seu visualizador durante os créditos), ele ainda tem armazenado em cache todos os segmentos pequenos até esse ponto no vídeo. Se você estiver usando um protocolo para que um vídeo é retornado em um único arquivo grande e um usuário é interrompida assistindo a antes do término do cache, ele pode não todo o vídeo, e pode ser necessário solicitar o vídeo de sua origem novamente na próxima vez que ele recebe uma solicitação para ele. A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta Para distribuições da web, você pode escolher se quer que os parâmetros de sequência de caracteres de consulta do CloudFront para encaminhar a sua origem. Para distribuições RTMP, você não pode configurar os parâmetros de sequência de caracteres de consulta do CloudFront para encaminhar a sua origem. Para os dois tipos de distribuições, se você habilitar o registro de logs do CloudFront, o URL completo, incluindo parâmetros de sequência de caracteres de consulta. Para distribuições, isso é verdadeiro, independentemente de você ter configurado do CloudFront para encaminhar sequências de caracteres de consulta. Para obter mais informações sobre o registro do CloudFront, consulte Logs de acesso (p. 264). Para obter mais informações, consulte o tópico aplicáveis: • Parâmetros de sequência de caracteres de consulta e Web Distribuições (p. 106) API Version 2016-01-13 105 Amazon CloudFront Guia do desenvolvedor Parâmetros de sequência de caracteres de consulta e Web Distribuições • Parâmetros de sequência de caracteres de consulta e distribuições RTMP (p. 107) Parâmetros de sequência de caracteres de consulta e Web Distribuições Para distribuições da web, você pode especificar se quer que o CloudFront para incluir sequências de caracteres de consulta quando ele encaminha solicitações para sua origem. Por exemplo, você pode especificar se quer que o CloudFront para encaminhar o ? parameter1 = uma parte do URL a seguir: http://d111111abcdef8.cloudfront.net/images/image.jpg?parameter1=a Se você configurar o CloudFront para encaminhar sequências de caracteres de consulta para sua origem, ele incluirá a parte de sequência de caracteres de consulta do URL quando o armazenamento em cache o objeto. Por exemplo, as seguintes sequências de consulta para armazenar em cache do CloudFront cause três objetos. Isso é verdadeiro mesmo se sua origem sempre retorna a mesma image.jpg , independentemente de a string de consulta: • http://d111111abcdef8.cloudfront.net/images/image.jpg?parameter1=a • http://d111111abcdef8.cloudfront.net/images/image.jpg?parameter1=b • http://d111111abcdef8.cloudfront.net/images/image.jpg?parameter1=c Se sua origem retornar diferentes versões de um objeto (por exemplo, /images/image.jpg) com base na sequência de caracteres de consulta, selecione Yes para Forward Query Strings no console do CloudFront ou especificar true para o valor do QueryString elemento no tipo DistributionConfig complexo quando você está usando a API do CloudFront. Se sua origem retorna a mesma versão de um objeto, independentemente da sequência de caracteres de consulta, selecione No ou false. Isso aumenta a probabilidade de que ele pode atender a uma solicitação de cache, que melhora o desempenho e reduz a carga em sua origem. A ordem dos parâmetros assuntos em sequências de caracteres de consulta. Se você configurar o CloudFront para encaminhar sequências de caracteres de consulta para sua origem, as seguintes sequências de caracteres de consulta para armazenar em cache do CloudFront cause dois objetos: • http://d111111abcdef8.cloudfront.net/images/image.jpg? parameter1=a¶meter2=b • http://d111111abcdef8.cloudfront.net/images/image.jpg? parameter2=b¶meter1=a Caso também é importante em sequências de caracteres de consulta. Se você configurar o CloudFront para encaminhar sequências de caracteres de consulta para sua origem, as seguintes sequências de caracteres de consulta para armazenar em cache do CloudFront cause dois objetos: • http://d111111abcdef8.cloudfront.net/images/image.jpg?parameter1=a • http://d111111abcdef8.cloudfront.net/images/image.jpg?parameter1=A Se você estiver usando URLs assinadas para restringir o acesso ao seu conteúdo (se você adicionou assinantes confiáveis para sua distribuição), ele remove os seguintes parâmetros de sequência de caracteres de consulta antes de encaminhar o restante do URL para sua origem: • Expires • Key-Pair-Id • Policy API Version 2016-01-13 106 Amazon CloudFront Guia do desenvolvedor Parâmetros de sequência de caracteres de consulta e distribuições RTMP • Signature Isso significa que, se você estiver usando URLs assinadas e você é a configuração do CloudFront para encaminhar parâmetros de sequência de caracteres de consulta para sua origem, seus próprios parâmetros de sequência de caracteres de consulta não pode ser chamado Expires, Key-Pair-Id, Policyou Signature. Parâmetros de sequência de caracteres de consulta e distribuições RTMP Para distribuições RTMP, quando as solicitações do CloudFront um objeto do servidor de origem, ele remove todos os parâmetros de sequência de caracteres de consulta. Por exemplo, se o CloudFront recebe a seguinte solicitação e media.flv ainda não estiver no cache do CloudFront: http://d111111abcdef8.cloudfront.net/media/media.flv?parameter1=a envia o URL a seguir para seu servidor de origem: http://d111111abcdef8.cloudfront.net/media/media.flv A configuração do cache do CloudFront para objetos com base em cookies Para distribuições da web, você pode escolher se quer que ele encaminhe cookies para sua origem e para armazenar em cache versões separadas de seus objetos com base nos valores dos cookies em solicitações do visualizador. Para o Real Time Messaging Protocol (RTMP), você não pode configurar as distribuições do CloudFront para processar cookies. Quando as solicitações do CloudFront um objeto do servidor de origem, ele remove todos os cookies antes de encaminhar a solicitação à sua origem. Se sua origem retornar todos os cookies junto com o objeto, ele os remove antes de retornar o objeto para o visualizador. Para distribuições RTMP, ele não armazena em cache os cookies em caches de presença. Important Amazon S3 e alguns servidores HTTP não processar cookies. Não configure comportamentos de cache do CloudFront para encaminhar cookies para uma origem que não processar cookies, ou você vai afetar armazenamento no cache e, portanto, o desempenho. Para obter mais informações sobre comportamentos de cache, consulte Configurações de comportamento de cache (p. 65). Para distribuições web HTTP e HTTPS, você pode escolher se quer que ele encaminhe cookies para sua origem. Para distribuições RTMP, você não pode configurar o CloudFront para processar cookies. Para distribuições web do CloudFront, por padrão, não considera cookies ao armazenamento em cache seus objetos em cache nos pontos de presença. Se sua origem retornar dois objetos e eles diferem somente pelos valores no Set-Cookie cabeçalho, caches do CloudFront apenas uma versão do objeto. Você pode configurar o CloudFront para encaminhar para sua origem alguns ou todos os cookies em solicitações do visualizador. CloudFront usa os cookies em solicitações do visualizador para identificar exclusivamente um objeto no cache. Por exemplo, suponha que as solicitações para locations.html conter um country cookie que tem um valor de uk ou fr. Quando você configurar o CloudFront para armazenar seus objetos com base no valor do country cookie, ele encaminha API Version 2016-01-13 107 Amazon CloudFront Guia do desenvolvedor A configuração do cache do CloudFront para objetos com base em cookies solicitações para locations.html a origem e inclui o country cookie e valores de cookie. Sua origem do CloudFront retorna locations.htmle armazena em cache o objeto uma vez para solicitações em que o valor do country cookie uk e uma vez para solicitações em que o valor é fr. Note Se você configurar o CloudFront para encaminhar cookies para sua origem, o CloudFront armazena em cache com base nos valores dos cookies. Isso é verdadeiro mesmo se sua origem ignora os valores do cookie na solicitação e, no exemplo anterior, sempre retorna a mesma versão do locations.html para CloudFront. Como resultado, ele encaminha mais solicitações para seu servidor de origem para o mesmo objeto, que reduz o desempenho e aumenta a carga no servidor de origem. Se o seu servidor de origem não varia sua resposta com base no valor de um determinado cookie, recomendamos que você não configurar do CloudFront para encaminhar que cookie para sua origem. Você pode configurar cada comportamento de cache em uma distribuição de web para executar uma das seguintes ações: • Encaminhe todos os cookies para sua origem – encaminha solicitações do visualizador do CloudFront para sua origem, incluindo todos os cookies. Quando sua origem retorna uma resposta, o CloudFront armazena em cache a resposta e os cookies e valores de cookie na solicitação de visualizador. (Se sua origem retorna cookies que não foram na solicitação de visualizador, ele não armazena em cache.) CloudFront retorna para o visualizador do objeto solicitado e todos os cookies e valores de cookie, incluindo cookies que não foram na solicitação do visualizador. • Encaminhe uma lista branca de cookies que você especificar – CloudFront remove todos os cookies que não estão na lista branca antes de encaminhar solicitações para sua origem. caches do CloudFront a resposta de sua origem, bem como a cookies e seus valores. (Se sua origem retornar tanto na lista branca de cookies e cookies que não são caches do CloudFront na sua lista branca, somente os cookies na lista branca.) CloudFront também retorna para o visualizador do objeto, incluindo cookies e valores de cookie especificado. Se a resposta da origem inclui cookies que não estão na lista branca, ele retorna os cookies para o visualizador. Para obter informações sobre como especificar caracteres curinga em nomes de cookies, consulte lista de permissões Cookies (Amazon EC2 e outras origens personalizadas somente) (p. 71). Para saber mais sobre o limite do número de nomes de cookies que você poderá aprovar para cada comportamento de cache, consulte Limites do Amazon CloudFront na Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/ support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfrontdistributions. • Não encaminhe cookies para sua origem do CloudFront – não em cache os objetos com base nos valores dos cookies. Além disso, ele remove o Cookie cabeçalho de solicitações que ele encaminha para sua origem e remove o Set-Cookie cabeçalho de respostas que ele retorna para seus visualizadores. Observe o seguinte sobre como especificar os cookies que você deseja encaminhar: Logs de acesso Se você configurar o CloudFront para registrar as solicitações e os logs do CloudFront para registrar cookies, todos os cookies e todos os atributos de cookie do CloudFront, mesmo se você configurar não encaminhe cookies para sua origem ou se você configurar do CloudFront para encaminhar apenas uma lista especificada de cookies. Para obter mais informações sobre o registro do CloudFront, consulte Logs de acesso (p. 264). Sensibilidade de caso nomes e valores de cookies são letras maiúsculas e minúsculas. Por exemplo, se dois cookies para o mesmo objeto são idênticos, exceto para o caso, o CloudFront armazenará em cache o objeto duas vezes. API Version 2016-01-13 108 Amazon CloudFront Guia do desenvolvedor A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache Classifica cookies do CloudFront CloudFront classifica os cookies em ordem natural por nome do cookie antes de encaminhar a solicitação à sua origem. Se-modificação-Como e Se-Nenhum Correspondência If-Modified-Since e solicitações If-None-Match condicionais não são suportados. Suspendendo Caching Com base em cookies Se você deseja interromper temporariamente o armazenamento em cache do CloudFront cookies e atributos de cookie, configurar seu servidor de origem para adicionar o cabeçalho do CloudFront em respostas a seguir: no-cache="Set-Cookie" Tamanho total de nomes de cookies O número total de bytes em todos os nomes de cookie do CloudFront que você configura para encaminhar a sua origem não pode exceder: 512 – (the number of cookies that you're forwarding) Por exemplo, se você configurar do CloudFront para encaminhar 10 cookies para sua origem, a extensão combinada dos nomes dos 10 cookies não pode exceder 502 bytes (512 – 10). Se você configurar o CloudFront para encaminhar todos os cookies para sua origem, o tamanho de nomes de cookies não importa. Para obter informações sobre como usar o console do CloudFront para atualizar uma distribuição do CloudFront que encaminha cookies para a origem, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Para obter informações sobre como usar a API para atualizar uma distribuição do CloudFront, consulte PUT Amazon CloudFront API Reference Config na distribuição. A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache Para distribuições da web, ele permite que você escolha se quiser para encaminhar os cabeçalhos do CloudFront para sua origem e para armazenar em cache versões separadas de um objeto especificado com base nos valores do cabeçalho em solicitações do visualizador. Isso permite que você envie diferentes versões do seu conteúdo com base no dispositivo, o usuário esteja usando a localização do visualizador, o idioma usado pelo visualizador, e uma variedade de outros critérios. Para distribuições RTMP, você não pode configurar o cabeçalho do CloudFront para armazenar em cache com base nos valores. Tópicos • Distribuições Cabeçalhos e Web (p. 109) • Cabeçalhos e distribuições RTMP (p. 113) Distribuições Cabeçalhos e Web Por padrão, o CloudFront não considerar cabeçalhos ao armazenamento em cache seus objetos em cache nos pontos de presença. Se sua origem retornar dois objetos e eles diferem somente pelos valores na solicitação cabeçalhos, caches do CloudFront apenas uma versão do objeto. Você pode configurar o CloudFront para encaminhar os cabeçalhos para a origem, o que faz com que o CloudFront para armazenar em cache várias versões de um objeto com base nos valores em um ou mais cabeçalhos de solicitação. Por exemplo, suponha que solicitações do visualizador para logo.jpg conter um Product cabeçalho personalizado que tem um valor de Acme ou Apex. Quando você configurar o CloudFront para armazenar seus objetos com base no valor do Product cabeçalho, API Version 2016-01-13 109 Amazon CloudFront Guia do desenvolvedor Distribuições Cabeçalhos e Web ele encaminha solicitações para logo.jpg a origem e inclui o Product cabeçalho e valores de cabeçalho. Armazenamento em cache do CloudFront logo.jpg uma vez para solicitações em que o valor do Product cabeçalho é Acme e uma vez para solicitações em que o valor é Apex. Você pode configurar cada comportamento de cache em uma distribuição de web para executar uma das seguintes ações: • Encaminhe todos os cabeçalhos para a origem Important Se você configurar o CloudFront para encaminhar todos os cabeçalhos para sua origem, ele não armazenar em cache os objetos associados a esse comportamento de cache. Em vez disso, ele envia todas as solicitações para a origem. • Encaminhe uma lista branca de cabeçalhos que você especificar. CloudFront mantém seus objetos em cache com base nos valores em todos os cabeçalhos especificados. também encaminha os cabeçalhos do CloudFront que ele encaminha por padrão, mas mantém seus objetos com base apenas nos cabeçalhos que você especificar. • Encaminhe somente os cabeçalhos padrão. Nesta configuração, o CloudFront não em cache os objetos com base nos valores dos cabeçalhos de solicitação. Para saber mais sobre o limite do número de cabeçalhos que você poderá aprovar para cada comportamento de cache, consulte o Amazon CloudFront Limits no Amazon Web Services General Reference. Para solicitar um limite maior, vá para https://console.aws.amazon.com/support/home#/ case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions. Para obter informações sobre como usar o console do CloudFront para atualizar uma distribuição do CloudFront que encaminha os cabeçalhos para a origem, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Para obter mais informações sobre o uso da API do CloudFront para atualizar uma distribuição de web, consulte PUT Amazon CloudFront API Reference Config na distribuição. Tópicos • Selecionar Cabeçalhos em que Você Deseja Base do CloudFront para armazenamento em cache (p. 110) • A configuração do CloudFront para Respeitar Cross-Origin Resource Sharing (CORS) Settings (p. 111) • A configuração do CloudFront para objetos de cache com base no tipo de dispositivo (p. 112) • A configuração do CloudFront para objetos de cache com base no idioma do Viewer (p. 112) • A configuração de objetos com base em cache do CloudFront para a localização do visualizador (p. 112) • A configuração do CloudFront para objetos com base no protocolo de cache da solicitação (p. 112) • Como armazenamento em cache com base em Cabeçalhos Afeta Desempenho (p. 112) • Como o caso de cache Afeta Cabeçalhos e Valores de Cabeçalho (p. 113) • Retorna Cabeçalhos do CloudFront para a Tela que (p. 113) Selecionar Cabeçalhos em que Você Deseja Base do CloudFront para armazenamento em cache O que você pode encaminhar os cabeçalhos para a origem e o armazenamento em cache em bases do CloudFront dependem de se você está usando um bucket do Amazon S3 ou uma origem personalizada. API Version 2016-01-13 110 Amazon CloudFront Guia do desenvolvedor Distribuições Cabeçalhos e Web • Você pode configurar – Amazon S3 do CloudFront para encaminhar e para armazenar em cache seus objetos com base apenas em três cabeçalhos: Access-Control-Request-Headers, Access-Control-Request-Method, e Origin. Encaminhando esses cabeçalhos permite distribuir conteúdo do CloudFront para sites que estão habilitados para o compartilhamento de recursos de origem cruzada (CORS). Você não pode configurar o CloudFront para encaminhar os cabeçalhos personalizados para o Amazon S3. Para obter mais informações, consulte A configuração do CloudFront para Respeitar Cross-Origin Resource Sharing (CORS) Settings (p. 111). • Você pode configurar a origempersonalizado – do CloudFront para armazenar em cache com base no valor de qualquer cabeçalho de solicitação, exceto o seguinte: • Accept-Encoding • Connection • Cookie – Se você deseja encaminhar e cache com base em cookies, você usa uma configuração em sua distribuição. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). • Proxy-Authorization • TE • Upgrade Você pode configurar o CloudFront para armazenar em cache os objetos com base nos valores dos Date cabeçalhos User-Agent e, mas não é recomendável. Esses cabeçalhos tem uma grande quantidade de valores possíveis e armazenamento em cache com base em seus valores fazem com que o CloudFront encaminhe significativamente mais solicitações para sua origem. Para obter uma lista completa dos cabeçalhos de solicitação HTTP e como os processos do CloudFront aplicáveis, consulte o tópico: • Amazon S3 – Cabeçalhos de Solicitação HTTP que CloudFront Remove ou Atualizações (p. 145)origem • – origem Cabeçalhos de Solicitação HTTP e o comportamento do CloudFront (p. 153)personalizado A configuração do CloudFront para Respeitar Cross-Origin Resource Sharing (CORS) Settings Se você tiver habilitado o compartilhamento de recursos de origem cruzada (CORS) em um bucket do Amazon S3 ou uma origem personalizada, você pode configurar as definições do CloudFront para respeitar o CORS. Configure CloudFront para encaminhar uma lista branca de cabeçalhos e incluem os cabeçalhos aplicáveis na lista de cabeçalhos para encaminhar, dependendo se você está usando o Amazon S3 ou uma origem personalizada: Amazon S3 • Quando você deseja que OPTIONS as respostas sejam armazenados em cache, configurar do CloudFront para encaminhar os seguintes cabeçalhos: Origin, Access-Control-RequestHeaders, e Access-Control-Request-Method. • Quando você não quer que OPTIONS as respostas sejam armazenados em cache, configurar do CloudFront para encaminhar o Origin cabeçalho. Você também pode configurar o CloudFront para encaminhar Access-Control-Request-Headers e Access-Control-Request-Method cabeçalhos, mas não é necessário. origenspersonalizadas – Forward o Origin cabeçalho junto com quaisquer outros cabeçalhos exigidos pela sua origem. API Version 2016-01-13 111 Amazon CloudFront Guia do desenvolvedor Distribuições Cabeçalhos e Web Para obter mais informações sobre o CORS e o Amazon S3, consulte Habilitação de compartilhamento de recursos de origem cruzada no Guia do desenvolvedor do Amazon Simple Storage Service. A configuração do CloudFront para objetos de cache com base no tipo de dispositivo Se você deseja que o CloudFront para armazenar em cache diferentes versões de seus objetos com base no dispositivo de um usuário está usando para visualizar seu conteúdo, configurar do CloudFront para encaminhar os cabeçalhos aplicáveis para sua origem personalizada: • CloudFront-Is-Desktop-Viewer • CloudFront-Is-Mobile-Viewer • CloudFront-Is-SmartTV-Viewer • CloudFront-Is-Tablet-Viewer Com base no valor do User-Agent cabeçalho, ele define o valor de esses cabeçalhos true ou false antes de encaminhar a solicitação à sua origem. Se um dispositivo cai em mais de uma categoria, mais de um valor true. Por exemplo, para alguns dispositivos tablet, ele pode definir CloudFront-Is-Mobile-Viewer e CloudFront-Is-Tablet-Viewer para true. A configuração do CloudFront para objetos de cache com base no idioma do Viewer Se você deseja que o CloudFront para armazenar em cache diferentes versões de seus objetos com base no idioma especificado na solicitação, programa do seu aplicativo para incluir o idioma no Accept-Language cabeçalho, e configurar do CloudFront para encaminhar o Accept-Language cabeçalho para sua origem. A configuração de objetos com base em cache do CloudFront para a localização do visualizador Se você deseja que o CloudFront para armazenar em cache diferentes versões de seus objetos com base no país que a solicitação veio de, configurar do CloudFront para encaminhar o CloudFrontViewer-Country cabeçalho para sua origem. CloudFront converte automaticamente o endereço IP que a solicitação veio de duas letras em um código de país. Para obter uma lista fácil de usar códigos de países, classificáveis por código e pelo nome do país, consulte a entrada da Wikipédia ISO 3166-1 alpha-2. A configuração do CloudFront para objetos com base no protocolo de cache da solicitação Se você deseja que o CloudFront para armazenar em cache diferentes versões de seus objetos de acordo com o protocolo de solicitação, HTTP ou HTTPS, configurar do CloudFront para encaminhar o CloudFront-Forwarded-Proto cabeçalho para sua origem. Como armazenamento em cache com base em Cabeçalhos Afeta Desempenho Quando você configurar o CloudFront para armazenar em cache com base em um ou mais cabeçalhos e cabeçalhos tem mais de um valor possível, ele encaminha mais solicitações para seu servidor de origem para o mesmo objeto. Isso reduz o desempenho e aumenta a carga no servidor API Version 2016-01-13 112 Amazon CloudFront Guia do desenvolvedor Cabeçalhos e distribuições RTMP de origem. Se o seu servidor de origem retorna o mesmo objeto, independentemente do valor de um determinado cabeçalho, recomendamos que você não configurar do CloudFront para armazenar em cache com base no cabeçalho. Se você configurar o CloudFront para encaminhar mais de um cabeçalho, a ordem dos cabeçalhos em solicitações do visualizador não afeta o armazenamento em cache, desde que os valores são os mesmos. Por exemplo, se uma solicitação contém os cabeçalhos R: 1, B: 2 e outra solicitação contém B: 2, R: 1, ele armazena apenas uma cópia do objeto. Como o caso de cache Afeta Cabeçalhos e Valores de Cabeçalho Quando o CloudFront armazena em cache com base nos valores do cabeçalho, não considerar o caso de nome do cabeçalho, mas considerar o caso de o valor do cabeçalho: • Se as solicitações de visualizadores incluem ambos os caches do CloudFront Product:Acme e product:Acme, um objeto apenas uma vez. A única diferença entre eles é o caso do nome de cabeçalho, que não afeta o armazenamento em cache. • Se as solicitações de visualizadores incluem ambos os caches do CloudFront Product:Acme e Product:acme, um objeto duas vezes, porque o valor está Acme em algumas solicitações e acme em outros. Retorna Cabeçalhos do CloudFront para a Tela que A configuração do CloudFront para encaminhar os cabeçalhos de cache e não afeta o que os cabeçalhos do CloudFront retorna para o visualizador. retornará todos os cabeçalhos do CloudFront obtido do a origem com algumas exceções. Para obter mais informações, consulte o tópico aplicáveis: • origens doAmazon S3 – Consulte Resposta HTTP Cabeçalhos que Remove ou atualizações do CloudFront (p. 148). • origenspersonalizadas – Consulte Resposta HTTP Cabeçalhos que Remove ou atualizações do CloudFront (p. 160). Cabeçalhos e distribuições RTMP Para distribuições RTMP, você não pode configurar o CloudFront para armazenar seu conteúdo em cache com base nos cabeçalhos de solicitações do visualizador. Encaminhando Cabeçalhos Personalizados para sua origem (Web Distribuições Somente) Você pode configurar o CloudFront para incluir os cabeçalhos personalizados sempre que ele encaminha uma solicitação para sua origem. Você pode especificar os nomes e valores de cabeçalhos personalizados para cada origem, tanto para origens personalizadas e para buckets do Amazon S3. cabeçalhos personalizados têm uma variedade de usos, como o seguinte: • Você pode identificar as solicitações que são encaminhados para sua origem personalizada por CloudFront. Isso é útil se você quiser saber se os usuários estão desviando CloudFront ou se você estiver usando mais de uma CDN e que deseja obter informações sobre quais solicitações estão vindo de cada CDN. (Se você estiver usando uma origem do Amazon S3 e você habilitar o log de acesso ao servidor do Amazon S3, os logs não incluem as informações de cabeçalho.) API Version 2016-01-13 113 Amazon CloudFront Guia do desenvolvedor Configurando CloudFront para encaminhar Cabeçalhos personalizados para sua origem • Se você tiver configurado mais de uma distribuição do CloudFront para usar a mesma origem, você pode especificar diferentes cabeçalhos personalizados para as origens em cada distribuição e usar os logs para o seu servidor web para distinguir entre as solicitações que ele encaminha para cada distribuição. • Se alguns dos seus usuários usam os visualizadores que não suportam o compartilhamento de recursos de origem cruzada (CORS), você pode configurar o CloudFront para encaminhar o Origin cabeçalho para sua origem. Isso fará com que sua origem para retornar o Access-ControlAllow-Origin cabeçalho para cada solicitação. • Você pode usar os cabeçalhos personalizados juntos e, opcionalmente, URLs assinadas ou cookies assinados para controlar o acesso ao conteúdo em uma origem personalizada. Se você configurar sua origem personalizada para responder a solicitações somente se eles incluem um cabeçalho personalizado, você pode evitar que os usuários ignorando CloudFront e enviar solicitações diretamente para sua origem. Tópicos • Configurando CloudFront para encaminhar Cabeçalhos personalizados para sua origem (p. 114) • Cabeçalhos personalizados do CloudFront que não é possível Encaminhar para sua origem (p. 114) • Usando Cabeçalhos Personalizados para Cross-Origin Resource Sharing (CORS) (p. 115) • Usando Cabeçalhos Personalizados para restringir o acesso ao seu conteúdo em uma origem personalizada (p. 115) Configurando CloudFront para encaminhar Cabeçalhos personalizados para sua origem Para configurar uma distribuição de web para encaminhar os cabeçalhos personalizados para sua origem, você atualizar a configuração de origens aplicáveis usando um dos seguintes métodos: console do CloudFront Ao criar ou atualizar uma distribuição, especifique nomes e valores no cabeçalho de Origin Custom Headers configurações. Para obter mais informações, consulte Criando ou Atualizando uma distribuição da Web usando o console do CloudFront (p. 56). API do CloudFront Para cada origem que você deseja encaminhar os cabeçalhos personalizados, adicionar nomes e valores do cabeçalho para a CustomHeaders seção do tipo DistributionConfig complexo. Para obter mais informações, consulte POST Distribution (para criar uma nova distribuição) ou PUT Distribution Config (para atualizar uma distribuição existente). Se o cabeçalho nomes e valores que você especifica não estão presentes na solicitação de visualizador, ele adiciona. Se um cabeçalho está presente, ele substitui o valor do cabeçalho antes de encaminhar a solicitação para a origem. Para ver os limites atuais relacionados ao encaminhamento de cabeçalhos personalizados para a origem, consulte Limites (p. 357). Cabeçalhos personalizados do CloudFront que não é possível Encaminhar para sua origem Você não pode configurar o CloudFront para encaminhar os seguintes cabeçalhos personalizados à sua origem. API Version 2016-01-13 114 Amazon CloudFront Guia do desenvolvedor Usando Cabeçalhos Personalizados para Cross-Origin Resource Sharing (CORS) Aceitar-Codificação Autenticação de proxy Controle de Cache Autorização de Proxy Conexão Conexão de proxy Tamanho do Conteúdo Faixa Cookie Solicitação-Faixa Hospede TE Se Correspondência Trailer Se-modificação-Como Codificação de transferência Se-Nenhum Correspondência Atualize Se-Faixa Via Se-não modificado-Como Cabeçalhos que começam com X-Amz-* Max-Encaminha Cabeçalhos que começam com X-Edge-* Pragma X-Ip real Usando Cabeçalhos Personalizados para CrossOrigin Resource Sharing (CORS) Você pode configurar o CloudFront para sempre encaminhar os cabeçalhos aplicáveis para sua origem, a fim de acomodar automaticamente os visualizadores que não incluem os cabeçalhos de solicitações. Você também precisa configurar o CORS para respeitar as configurações do CloudFront. Para obter mais informações, consulte A configuração do CloudFront para Respeitar Cross-Origin Resource Sharing (CORS) Settings (p. 111). Usando Cabeçalhos Personalizados para restringir o acesso ao seu conteúdo em uma origem personalizada Se você estiver usando uma origem personalizada, você pode usar os cabeçalhos personalizados do CloudFront para impedir que os usuários ignorando e solicitando conteúdo diretamente de sua origem. Você também pode, opcionalmente, restringir o acesso ao seu conteúdo ao exigir que os usuários acessam seus objetos usando URLs assinadas ou assinadas cookies. Para obter mais informações sobre conteúdo privado, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). Para exigir que os usuários acessam seu conteúdo por meio do CloudFront, alterar as seguintes configurações em suas distribuições do CloudFront: Cabeçalhos personalizados de origem Configure CloudFront para encaminhar os cabeçalhos personalizados para sua origem. Consulte Configurando CloudFront para encaminhar Cabeçalhos personalizados para sua origem (p. 114). Política de protocolo de visualizadores Configure sua distribuição para se certificar de que os usuários usam HTTPS para acessar do CloudFront. Consulte Política de protocolo de visualizadores (p. 68). API Version 2016-01-13 115 Amazon CloudFront Guia do desenvolvedor Como adicionar, remover ou substituir objetos em uma distribuição Política de protocolo de origem Configure sua distribuição para exigir CloudFront para usar o mesmo protocolo como visualizadores para encaminhar solicitações para a origem. Consulte Política de protocolo de origem (Amazon EC2 e outras origens personalizadas somente) (p. 64). A combinação do Viewer Protocol Policy e Origin Protocol Policy garantir que seus cabeçalhos personalizados são criptografados entre o visualizador e sua origem. No entanto, recomendamos que você periodicamente executar as seguintes tarefas para girar os cabeçalhos personalizados que ele encaminha para sua origem: 1. Atualizar sua distribuição do CloudFront para começar a encaminhar um novo cabeçalho para sua origem personalizada. 2. Atualize seu aplicativo para aceitar o novo cabeçalho como confirmação de que a solicitação é proveniente do CloudFront. 3. Quando solicitações do visualizador já não incluem o cabeçalho que você está substituindo, atualize seu aplicativo para não aceitar o cabeçalho antigo como confirmação de que a solicitação é proveniente do CloudFront. Como adicionar, remover ou substituir objetos em uma distribuição Para obter informações sobre a adição de objetos para uma distribuição, consulte Adicionando Objetos para Distribuição do CloudFront que você quiser (p. 116). Quando você substituir objetos em sua distribuição, recomendamos que você use nomes de objeto com controle de versão. Para obter mais informações, consulte Atualizando Objetos Existentes Usando Nomes de Objetos com Versão (p. 117). Você também pode substituir objetos com objetos que têm o mesmo nome. Consulte Atualizando Objetos Existentes Usando os Mesmos Nomes de Objetos (p. 117). Independentemente de como você optar por substituir objetos em sua distribuição, recomendamos que você especifica quando os objetos devem ser removidos no cache do CloudFront. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Se você precisa rapidamente remover objetos de uma distribuição, você pode anular. Para obter mais informações, consulte Distribuições (Web Invalidating Objects Somente) (p. 123). Adicionando Objetos para Distribuição do CloudFront que você quiser Quando você deseja que os objetos adicionais para iniciar a distribuição do CloudFront, você adiciona os objetos para uma das origens que você especificou para a distribuição do CloudFront, e você exponha um link para os objetos. Um ponto de presença do CloudFront não buscará os novos objetos a partir de uma origem até o ponto de presença recebe solicitações do visualizador para os objetos. Para obter mais informações, consulte Como o CloudFront oferece conteúdo (p. 2). Quando você adiciona um objeto que você deseja que a distribuição do CloudFront, assegure-se de que você adiciona-lo para um dos buckets do Amazon S3 especificado na sua distribuição ou, para uma origem personalizada, a um diretório no domínio especificado. Além disso, confirme se o caminho padrão no aplicável comportamento de cache envia solicitações para corrigir a origem. Por exemplo, suponha que o caminho padrão para um comportamento de cache é *.html. Se não houver outros comportamentos de cache são configurados para encaminhar solicitações para essa origem, ele nunca distribuir arquivos.jpg que você fazer o upload para a origem. API Version 2016-01-13 116 Amazon CloudFront Guia do desenvolvedor Atualizando Objetos Existentes Usando Nomes de Objetos com Versão Os servidores do CloudFront não determinar o tipo de MIME para os objetos que atendem. Quando você carregar um objeto para sua origem, você deve definir o campo de Content-Type cabeçalho para o objeto. Atualizando Objetos Existentes Usando Nomes de Objetos com Versão Quando você atualizar objetos existentes em uma distribuição do CloudFront, recomendamos que você incluem algum tipo de identificador de versão em seus nomes de objeto ou em seu diretório do tipo "faça você mesmo" nomes para oferecer melhor controle sobre seu conteúdo. Esse identificador pode ser uma marca de data e hora, um número seqüencial, ou algum outro método de distinguir duas versões do mesmo objeto. Por exemplo, em vez de nomear um arquivo gráfico image.jpg image_1.jpg, você pode chamálo. Quando você deseja iniciar servindo uma nova versão do arquivo, o nome do novo arquivo image_2.jpg e deseja atualizar os links em seu site ou aplicativo da Web para apontar para image_2.jpg. Como alternativa, você pode colocar todos os gráficos em um diretório images_v1 e, quando você deseja iniciar servindo novas versões de um ou mais gráficos, você pode criar um novo diretório e images_v2 quiser atualizar seus links para apontar para esse diretório. Com o controle de versão, você não precisa esperar que um objeto tenha sua validade expirada para CloudFront começa para atender a uma nova versão de ele, e você não precisa pagar por objeto invalidação. Mesmo se você versão seus objetos, ainda recomendamos que você defina uma data de expiração. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Note Especificando nomes de objeto ou nomes de diretórios com controle de versão não está relacionado ao controle de versões de objetos do Amazon S3. Atualizando Objetos Existentes Usando os Mesmos Nomes de Objetos Embora você possa atualizar objetos existentes em uma distribuição do CloudFront e usar os mesmos nomes de objetos, não é recomendável. distribui objetos para pontos de presença do CloudFront somente quando os objetos são solicitados, não quando você colocar novos ou atualizados objetos em sua origem. Se você atualizar um objeto existente na sua origem com uma versão mais recente que tem o mesmo nome, um ponto de presença não receberá que nova versão de sua origem até que os dois dos seguintes ocorrer: • A versão antiga do objeto no cache expire. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). • Existe uma solicitação do usuário final para o objeto no ponto de presença em questão. Se você usar os mesmos nomes quando você substituir os objetos, você não pode controlar quando ele começa para atender a novos arquivos. Por padrão, ele armazena objetos em pontos de presença por 24 horas. (Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118).) Por exemplo, se você estiver substituindo todos os objetos em um site completo: • Os objetos menos populares para as páginas podem não estar em todos os pontos de presença. As novas versões de esses objetos começará sendo fornecido na próxima solicitação. API Version 2016-01-13 117 Amazon CloudFront Guia do desenvolvedor Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) • Os objetos para algumas páginas podem estar em alguns pontos de presença e não em outros, para que os usuários finais verá diferentes versões dependendo do ponto de presença que sejam atendidas. • As novas versões dos objetos para as páginas mais populares podem não ser atendidas por até 24 horas, pois ele pode recuperar os objetos para essas páginas apenas antes da substituição a objetos com novas versões. Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) Você pode controlar por quanto tempo seus objetos permanecer em um cache do CloudFront antes do CloudFront encaminha outra solicitação para sua origem. Reduzindo a duração permite que você servir conteúdo dinâmico. Aumentar a duração significa que os seus usuários obtêm melhor desempenho, pois seus objetos são mais propensos a ser atendidas diretamente do cache de presença. A maior duração também reduz a carga em sua origem. Normalmente, o CloudFront oferece um objeto de um ponto de presença até que a duração do cache que você especificou transfere — que é, até que o objeto expire. Após expirar, na próxima vez que o ponto de presença recebe uma solicitação do usuário para o objeto, ele encaminhará a solicitação para o servidor de origem para verificar se o cache contém a versão mais recente do objeto. A resposta da origem depende se o objeto foi alterado: • Se o cache do CloudFront já tem a versão mais recente, a origem retorna um código de status (304 não modificado). • Se o cache do CloudFront não tem a versão mais recente, a origem retorna um código de status 200 (OK) e a versão mais recente do objeto. Se um objeto em um ponto de presença não é frequentemente solicitado, ele pode remover o objeto – remover o objeto antes da data de expiração – para criar espaço para os objetos que foram solicitados mais recentemente. Por padrão, cada objeto automaticamente expirar após 24 horas. Para distribuições da web, você pode alterar o comportamento padrão de duas formas: • Para alterar a duração do cache para todos os objetos que produzem o mesmo caminho padrão, você pode alterar as configurações do CloudFront para Minimum TTL, Maximum TTLe Default TTL para um comportamento de cache. Para obter informações sobre as configurações individuais, consulte mínimo, máximo de TTL TTLe Default TTL. Para usar essas configurações, você deve escolher a Customize opção para a configuração de armazenamento em cache de objetos. • Para alterar a duração do cache para um objeto individual, você pode configurar sua origem para adicionar um Cache-Control max-age ou Cache-Control s-maxage diretiva, ou um campo de Expires cabeçalho para o objeto. Para obter mais informações, consulte Usando cabeçalhos de controle de cache para Objetos Duração (p. 119). Para obter mais informações sobre como Minimum TTL, Default TTLe Maximum TTL interagir com Cache-Control max-age e Cache-Control s-maxage diretivas e o campo de Expires cabeçalho, consulte Especificando o Tempo que Distribuições do CloudFront Objetos para Web Caches (p. 120). Você também pode controlar o tempo erros (por exemplo, 404, não encontrado) permanecer em um cache do CloudFront antes do CloudFront tentará novamente para obter o objeto solicitado por encaminhando outra solicitação para sua origem. Para obter mais informações, consulte Como CloudFront Processos e Caches Códigos de status de HTTP 4xx e 5xx da sua origem (p. 162). Tópicos API Version 2016-01-13 118 Amazon CloudFront Guia do desenvolvedor Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) • Usando cabeçalhos de controle de cache para Objetos Duração (p. 119) • Especificando o Tempo que Distribuições do CloudFront Objetos para Web Caches (p. 120) • Especificando o tempo mínimo do CloudFront Caches Objetos para distribuições RTMP (p. 123) • Adicionar cabeçalhos para seus objetos usando o Amazon S3 Console (p. 123) Usando cabeçalhos de controle de cache para Objetos Duração Você pode usar o Cache-Control e Expires os cabeçalhos para controlar por quanto tempo os objetos permanecem no cache. Configurações para Minimum TTL, Default TTLe Maximum TTL também afetam a duração do cache, mas aqui está uma visão geral de como os cabeçalhos podem afetar a duração do cache: • A Cache-Control max-age diretiva permite que você especifique o tempo (em segundos) que você deseja que um objeto permanecer no cache antes do CloudFront obtém o objeto novamente a partir do servidor de origem. O tempo mínimo de expiração do CloudFront oferece suporte é 0 segundos para distribuições da web e 3.600 segundos para distribuições RTMP. O valor máximo é 100 anos. Especifique o valor no seguinte formato: Cache-Control: max-age=segundos Por exemplo, a seguinte diretiva informa ao CloudFront para manter o objeto associado no cache para 3.600 segundos (uma hora): Cache-Control: max-age=3600 Se você deseja que os objetos para manter caches de presença do CloudFront para uma duração diferente do que permanecer no cache do navegador, você pode usar o Cache-Control maxage e Cache-Control s-maxage diretivas juntos. Para obter mais informações, consulte Especificando o Tempo que Distribuições do CloudFront Objetos para Web Caches (p. 120). • O campo de Expires cabeçalho permite que você especifique uma data e hora de expiração usando o formato especificado no RFC 2616, Hypertext Transfer Protocol – HTTP/1.1 Seção 3.3.1, Data completo, por exemplo: Sat, 27 Jun 2015 23:59:59 GMT Recomendamos que você use a Cache-Control max-age diretiva em vez do campo de Expires cabeçalho para controlar em cache de objetos. Se você especificar valores tanto para CacheControl max-age e para Expires, ele usa somente o valor de Cache-Control max-age. Para obter mais informações, consulte Especificando o Tempo que Distribuições do CloudFront Objetos para Web Caches (p. 120). Você não pode usar o HTTP Cache-Control ou campos de Pragma cabeçalho em uma GET solicitação de um usuário para forçar do CloudFront para voltar para o servidor de origem para o objeto. CloudFront ignora esses campos de cabeçalho em solicitações do visualizador. Para obter mais informações sobre as Cache-Control e campos de Expires cabeçalho, consulte as seguintes seções no RFC 2616, Hypertext Transfer Protocol – HTTP/1.1: • Seção de controlede cache 14,9 • Seção 14,21 Expira Para obter um exemplo de como adicionar Cache-Control e campos de Expires cabeçalho usando o AWS SDK para PHP, consulte Enviar um objeto usando o AWS SDK para PHP no Guia do API Version 2016-01-13 119 Amazon CloudFront Guia do desenvolvedor Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) desenvolvedor do Amazon Simple Storage Service. Algumas ferramentas de terceiros também são capazes de adicionar esses campos. Especificando o Tempo que Distribuições do CloudFront Objetos para Web Caches Para distribuições da web, você pode usar Cache-Control ou Expires cabeçalhos e CloudFront mínimo, máximo e padrão, os valores de TTL para controlar a quantidade de tempo em segundos que o CloudFront mantém um objeto no cache antes de encaminhar outra solicitação para a origem. Cabeçalhos valores também determinar por quanto tempo um navegador mantém um objeto no cache antes de encaminhar uma solicitação adicional ao CloudFront. Important Se você configurar o CloudFront para encaminhar todos os cabeçalhos para sua origem para um comportamento de cache, ele nunca armazena em cache os objetos associados. Em vez disso, ele encaminha todas as solicitações para esses objetos para a origem. Em que configuração, o valor de TTL mínimo deve ser 0. Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Para especificar valores para TTL mínimo, máximo de TTLe Default TTL, você deve escolher a Customize opção para a configuração de armazenamento em cache de objetos. Configuração de origem Mínimo de TTL = 0 segundos Mínimo de TTL > 0 segundos A origem adiciona uma CacheControl max-age diretiva a objetos armazenamento em cachedo CloudFront armazenamento em cachedo CloudFront caches do CloudFront objetos para o menor valor da CacheControl max-age diretiva ou o valor de TTL máximo do CloudFront. armazenamento em cache do CloudFront depende dos valores do TTL mínimo e máximo do CloudFront TTL e a CacheControl max-age diretiva: armazenamento em cachedonavegador • TTL mínimo TTL < max-age < máximo Navegadores objetos de cache para o valor da CacheControl max-age diretiva. caches do CloudFront objetos para o valor da CacheControl max-age diretiva. • TTLmax-age < mínimo caches do CloudFront objetos para o valor do TTL mínimo do CloudFront. • max-age > TTL máximo caches do CloudFront objetos para o valor do máximo do CloudFront TTL. armazenamento em cachedonavegador API Version 2016-01-13 120 Amazon CloudFront Guia do desenvolvedor Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) Configuração de origem Mínimo de TTL = 0 segundos Mínimo de TTL > 0 segundos Navegadores objetos de cache para o valor da Cache-Control max-age diretiva. A origem não adiciona uma Cache-Control max-age diretiva a objetos armazenamento em cachedo CloudFront armazenamento em cachedo CloudFront caches do CloudFront objetos para o valor do CloudFront TTL padrão. caches do CloudFront objetos para o maior do valor mínimo de TTL ou TTL padrão do CloudFront. armazenamento em cachedonavegador Depende do navegador. A origem adiciona CacheControl max-age e CacheControl s-maxage diretivas a objetos armazenamento em cachedonavegador Depende do navegador. armazenamento em cachedo CloudFront armazenamento em cachedo CloudFront caches do CloudFront objetos para o menor valor da CacheControl s-maxage diretiva ou o valor de TTL máximo do CloudFront. armazenamento em cache do CloudFront depende dos valores do TTL mínimo e máximo do CloudFront TTL e a CacheControl s-maxage diretiva: armazenamento em cachedonavegador • TTL mínimo TTL < s-maxage < máximo Navegadores objetos de cache para o valor da CacheControl max-age diretiva. caches do CloudFront objetos para o valor da CacheControl s-maxage diretiva. • TTLs-maxage < mínimo caches do CloudFront objetos para o valor do TTL mínimo do CloudFront. • s-maxage > TTL máximo caches do CloudFront objetos para o valor do máximo do CloudFront TTL. armazenamento em cachedonavegador Navegadores objetos de cache para o valor da Cache-Control max-age diretiva. API Version 2016-01-13 121 Amazon CloudFront Guia do desenvolvedor Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) Configuração de origem Mínimo de TTL = 0 segundos Mínimo de TTL > 0 segundos A origem adiciona um Expires cabeçalho para objetos armazenamento em cachedo CloudFront armazenamento em cachedo CloudFront caches do CloudFront objetos até a data no Expires cabeçalho ou para o valor do CloudFront TTL máximo, o que ocorrer primeiro. armazenamento em cache do CloudFront depende dos valores do TTL mínimo e máximo do CloudFront TTL e o Expires cabeçalho: armazenamento em cachedonavegador • TTL mínimo TTL < Expires < máximo Navegadores objetos de cache até a data no Expires cabeçalho. caches do CloudFront objetos até que a data e a hora no Expires cabeçalho. • TTLExpires < mínimo caches do CloudFront objetos para o valor do TTL mínimo do CloudFront. • Expires > TTL máximo caches do CloudFront objetos para o valor do máximo do CloudFront TTL. armazenamento em cachedonavegador Navegadores objetos de cache até a data e a hora no Expires cabeçalho. Origem adiciona Cacherespeitar os cabeçalhos e Control: no-cache, nonavegadores do CloudFront. storee/ou private diretivas a Para uma exceção à objetos forma como lida com o Cache-Control: nocache cabeçalho do CloudFront, consulte As solicitações simultâneas para o mesmo objeto (Traffic Spikes) (p. 158). armazenamento em cachedo CloudFront caches do CloudFront objetos para o valor do TTL mínimo do CloudFront. armazenamento em cachedonavegador Os navegadores respeitam os cabeçalhos. Para obter informações sobre como alterar as configurações para distribuições da web usando o console do CloudFront, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Para obter informações sobre como alterar as configurações para distribuições da web usando a API do CloudFront, consulte PUT Config. API Version 2016-01-13 122 Amazon CloudFront Guia do desenvolvedor Distribuições (Web Invalidating Objects Somente) Especificando o tempo mínimo do CloudFront Caches Objetos para distribuições RTMP Para distribuições RTMP, o CloudFront mantém objetos em caches de presença por 24 horas por padrão. Você pode adicionar Cache-Control ou Expires cabeçalhos para seus objetos para alterar a quantidade de tempo que mantém objetos no cache de presença do CloudFront antes que ele encaminha outra solicitação para a origem. A duração mínima é 3.600 segundos (1 hora). Se você especificar um valor mais baixo, ele usa 3.600 segundos. Adicionar cabeçalhos para seus objetos usando o Amazon S3 Console Note Usando o console do Amazon S3, você só pode adicionar cabeçalhos para um objeto por vez, mas com algumas ferramentas de terceiros, você pode adicionar cabeçalhos para vários objetos do Amazon S3 por vez. Para obter mais informações sobre ferramentas de terceiros que suportam o Amazon S3, execute uma pesquisa na Web na AWS S3 ferramentas de terceiros. Para adicionar um campo de Cache-Control cabeçalho Expires ou objetos do Amazon S3 usando o console do Amazon S3 1. Cadastre-se no Console de gerenciamento da AWS e abra o console do Amazon S3 em https:// console.aws.amazon.com/ s3. 2. No console do Amazon S3, no painel de buckets, clique no nome do bucket que contém os arquivos. 3. Na lista de objetos, selecione o primeiro objeto para o qual você deseja adicionar um campo de cabeçalho. 4. Clique em Actions e clique em Properties. 5. No painel direito, expanda Metadata. 6. Clique em Add More Metadata. 7. Na Key lista, clique em Cache-Control ou Expires, conforme aplicável. 8. No Value campo, insira o valor aplicável: • Para um Cache-Control campo, insira: max-age=number of seconds that you want objects to stay in a CloudFront edge cache • Para um Expires campo, insira uma data e hora no formato HTML. 9. Clique em Save. 10. Se você quiser adicionar um campo de cabeçalho para objetos adicionais, clique no nome do próximo objeto e repita as etapas de 5 a 9. Distribuições (Web Invalidating Objects Somente) Se você precisa remover um objeto de caches de presença do CloudFront antes da expiração, você pode executar uma das seguintes ações: • Invalidar o objeto de caches de presença. A próxima vez que um visualizador solicita o objeto, ele retorna para a origem para buscar a versão mais recente do objeto. API Version 2016-01-13 123 Amazon CloudFront Guia do desenvolvedor Distribuições (Web Invalidating Objects Somente) • Use o controle de versões de objetos para atender a uma versão diferente do objeto que tem um nome diferente. Para obter mais informações, consulte Atualizando Objetos Existentes Usando Nomes de Objetos com Versão (p. 117). Important Você pode anular a maioria dos tipos de objetos que são atendidas por uma distribuição de web, mas você não pode anular arquivos de mídia no formato Microsoft Smooth Streaming quando você ativou Smooth Streaming para o comportamento de cache correspondente. Além disso, você não pode anular objetos que são atendidas por uma distribuição RTMP. Para anular objetos, você pode especificar o caminho para objetos individuais ou um caminho que termina com o * caractere curinga, que pode se inscrever para um objeto ou para muitas, como mostrado nos exemplos a seguir: • /images/image1.jpg • /images/image* • /images/* Você pode enviar um número específico de caminhos de anulação a cada mês gratuitamente. Se você enviar mais do que o número estipulado de caminhos de anulação em um mês, você paga uma taxa para cada caminho de anulação que você enviar. Para obter mais informações sobre as cobranças de invalidação, consulte O custo de anulação de objetos (p. 130). Tópicos • Escolhendo entre Anulação de objetos e Usando Nomes de Objetos com Versão (p. 124) • Determinando Quais Objetos a Invalidar (p. 125) • Especificando Objetos para Invalidar (p. 125) • Anulação de Objetos e Exibição de Informações sobre Invalidações (p. 127) • Ferramentas de terceiros para Invalidating Objects (p. 129) • Limites de anulação (p. 129) • O custo de anulação de objetos (p. 130) Escolhendo entre Anulação de objetos e Usando Nomes de Objetos com Versão Para controlar as versões de objetos que são fornecidas a partir de sua distribuição, você pode anular objetos ou fornecer nomes de arquivos com controle de versão. Se você deseja atualizar seus objetos com frequência, recomendamos que você utilize o controle de versões de objetos principalmente para os seguintes motivos: • O controle de versão permite que você controle quais objeto uma solicitação retorna mesmo quando o usuário tem uma versão armazenada em cache localmente ou atrás de um proxy de armazenamento em cache corporativo. Se você anular o objeto, o usuário pode continuar vendo a versão antiga até que ele expire desses caches. • Os logs de acesso do CloudFront incluem os nomes dos objetos, o que facilita o versionamento para analisar os resultados de objeto muda. • O controle de versão oferece uma maneira de atender a diferentes versões de objetos para diferentes usuários. • simplifica o controle de versão para frente e para trás entre constantes revisões de objeto. API Version 2016-01-13 124 Amazon CloudFront Guia do desenvolvedor Distribuições (Web Invalidating Objects Somente) • O controle de versão é mais barato. Você ainda tem de pagar para CloudFront para transferir novas versões de seus objetos para pontos de presença, mas você não precisa pagar de anulação de objetos. Para obter mais informações sobre o controle de versões de objetos, consulte Atualizando Objetos Existentes Usando Nomes de Objetos com Versão (p. 117). Determinando Quais Objetos a Invalidar Se você deseja invalidar vários objetos, como todos os objetos em um diretório ou todos os objetos cujos nomes começam com os mesmos caracteres, você pode incluir o * curinga no final do caminho de anulação. Para obter mais informações sobre como usar o * curinga, consulte Invalidation paths. Se você deseja anular objetos selecionados, mas os usuários não são necessariamente acessar todos os objetos em sua origem, você pode determinar quais objetos visualizadores solicitados a partir do CloudFront e invalidar apenas os objetos. Para determinar quais objetos visualizadores solicitados do CloudFront, habilitar o log de acesso. Para obter mais informações sobre logs de acesso, consulte Logs de acesso (p. 264). Especificando Objetos para Invalidar Se você anular objetos usando o console ou a API do CloudFront do CloudFront, os requisitos e limitações para especificar os objetos são os mesmos. Observe o seguinte sobre como especificar os objetos que você deseja invalidar. O uso demaiúsculas e minúsculas caminhos de anulação de minúsculas, portanto, /images/image.jpg e /images/Image.jpg especifique dois objetos diferentes. Objetoraizpadrão Para invalidar o objeto de raiz padrão, especifique o caminho da mesma forma que você especifica o caminho para qualquer outro objeto. tiposdedistribuição Você pode anular somente os objetos que são associados a uma distribuição de web. Encaminhando cookies Se você configurou CloudFront para encaminhar cookies para sua origem, caches de presença do CloudFront pode conter várias versões do objeto. Quando você invalidar um objeto, ele invalida cada versão do objeto armazenado em cache, independentemente de seus cookies associados. Você não pode anular seletivamente algumas versões e outras não associado com base em cookies. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). cabeçalhosdeencaminhamento Se você tiver configurado do CloudFront para encaminhar uma lista branca de cabeçalhos para sua origem e para armazenar em cache com base nos valores dos cabeçalhos, caches de presença do CloudFront pode conter várias versões do objeto. Quando você invalidar um objeto, ele invalida cada versão do objeto armazenado em cache, independentemente dos valores de cabeçalho. Você não pode anular seletivamente algumas versões e outras não com base nos valores de cabeçalho. (Se você configurar do CloudFront para encaminhar todos os cabeçalhos do CloudFront para sua origem, não em cache os objetos.) Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Encaminhando sequênciasde caracteres de consulta Se você tiver configurado do CloudFront para encaminhar sequências de caracteres de consulta para sua origem, você deve incluir as sequências de caracteres de consulta quando invalidar objetos, como mostrado nos exemplos a seguir: • images/image.jpg?parameter1=a API Version 2016-01-13 125 Amazon CloudFront Guia do desenvolvedor Distribuições (Web Invalidating Objects Somente) • images/image.jpg?parameter1=b Se as solicitações de clientes incluem cinco diferentes sequências de consulta para o mesmo objeto, você pode anular o objeto cinco vezes, uma vez para cada string de consulta, ou você pode usar o curinga* no caminho de anulação, como mostrado no exemplo a seguir: /images/image.jpg* Para obter mais informações sobre o uso de curingas no caminho de anulação, consulte Invalidation paths. Para obter mais informações sobre sequências de consulta, consulte A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105). Para determinar quais sequências de consulta estão em uso, você pode ativar o registro em log do CloudFront. Para obter mais informações, consulte Logs de acesso (p. 264). Limites Para obter informações sobre limites para invalidações, consulte Limites de anulação (p. 129). arquivos Microsoft Smooth Streaming Você não pode anular arquivos de mídia no formato Microsoft Smooth Streaming quando você ativou Smooth Streaming para o comportamento de cache correspondente. caracteres não seguros ou não ASCII no caminho Se o caminho inclui caracteres não-ASCII ou caracteres não-seguros, conforme definido na RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL-codificar esses caracteres. Não URL-codificar quaisquer outros caracteres no caminho ou do CloudFront não invalidar a versão antiga do objeto atualizado. caminhosdeanulação O caminho é relativo para a distribuição. Um dos principais/é opcional. Por exemplo, para invalidar o objeto http://d111111abcdef8.cloudfront.net/images/image2.jpg, especifique o seguinte: /images/image2.jpg ou images/image2.jpg Você também pode anular vários objetos simultaneamente usando o * caractere curinga. O *, que substitui 0 ou mais caracteres, deve ser o último caractere no caminho de anulação. Por exemplo: • Para anular todos os objetos em um diretório: caminho/de/*diretório • Para anular um diretório, todos os seus subdiretórios, e todos os objetos no diretório e subdiretórios: caminho/de*diretório • Para anular todos os arquivos que têm o mesmo nome, mas com diferentes extensões de nome de arquivo, como logo.jpg, logo.png e logo.gif: nome/de/arquivo de caminho de*diretório • Para anular todos os arquivos em um diretório para os quais o nome do arquivo começa com os mesmos caracteres (como todos os arquivos para um vídeo no formato HLS), independentemente de a extensão de nome de arquivo: caminho de/diretório/inicial-caracteres no nome*de arquivo • Quando você configurar o CloudFront para armazenar em cache com base nos parâmetros de sequência de caracteres de consulta e você deseja anular todas as versões de um objeto: API Version 2016-01-13 126 Amazon CloudFront Guia do desenvolvedor Distribuições (Web Invalidating Objects Somente) caminhos/de/diretório nome-do-extensão.de nome de*arquivo • Para anular todos os objetos em uma distribuição: /* O tamanho máximo de um caminho é 4.000 caracteres. A cobrança para enviar um caminho de anulação é o mesmo, independentemente do número de objetos que você anular: um único objeto (/images/logo.jpg) ou todos os objetos que são associados a uma distribuição (/*). Para obter mais informações, consulte o Amazon CloudFront Pricing. Se o caminho de anulação é um diretório e se você não adotou um método para especificar diretórios – com ou sem uma média de barra (/), recomendamos que você invalidar o diretório com e sem uma barra no final, por exemplo, /images e /images/. Para obter mais informações, consulte Como URLs públicos Afetam a invalidação de diretórios (p. 101). URLsassinadas Se você estiver usando URLs assinadas, invalidar um objeto, incluindo apenas a parte do URL antes do ponto de interrogação (?). Anulação de Objetos e Exibição de Informações sobre Invalidações Você pode usar o console do CloudFront ou do CloudFront ações de API para criar e executar uma invalidação, exibir uma lista de invalidações que você enviou anteriormente, e exibir informações detalhadas sobre um indivíduo invalidação. Você também pode copiar uma invalidação, edite a lista de caminhos de objetos e executar a anulação editado. Consulte o tópico aplicáveis: • Anulação de objetos usando o console do CloudFront (p. 127) • Copiando, Editando e Reexecutando uma invalidação existente usando o console do CloudFront (p. 128) • Usando o console do CloudFront Invalidações Listagem (p. 128) • Exibindo Informações sobre uma invalidação usando o console do CloudFront (p. 129) • Anulação de Objetos e Exibindo Informações sobre o uso da API do CloudFront Invalidações (p. 129) Anulação de objetos usando o console do CloudFront Para anular objetos usando o console do CloudFront, siga o procedimento a seguir. Para anular objetos usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Escolha a distribuição para a qual você deseja anular objetos. 3. Escolha Distribution Settings. 4. Escolha a Invalidations guia. 5. Escolha Create Invalidation. 6. Para os objetos que você deseja invalidar, insira um caminho de anulação por linha. Para obter informações sobre como especificar caminhos de anulação, consulte Especificando Objetos para Invalidar (p. 125). API Version 2016-01-13 127 Amazon CloudFront Guia do desenvolvedor Distribuições (Web Invalidating Objects Somente) Important Especifique caminhos de objetos com cuidado. Você não pode cancelar uma solicitação de anulação depois de iniciá-lo. 7. Escolha Invalidate. Copiando, Editando e Reexecutando uma invalidação existente usando o console do CloudFront Você pode copiar uma invalidação que você criou anteriormente, atualize a lista de caminhos de anulação e executar a anulação atualizado. Você não pode copiar uma invalidação, atualizar os caminhos de anulação e salvar a anulação atualizado sem executá-lo. Important Se você copiar uma invalidação que ainda está em andamento, atualize a lista de caminhos de anulação e executar a anulação atualizado, ele não irá interromper ou excluir a invalidação que você copiou. Se todos os caminhos de anulação aparecem no original e na cópia, ele tentará invalidar os objetos duas vezes, e ambas as invalidações serão contados em seu número máximo de invalidações gratuitos para o mês. Se você já tiver atingido o número máximo de invalidações gratuito, você será cobrado por ambas as invalidações de cada objeto. Para obter mais informações, consulte Limites de anulação (p. 129). Para copiar, editar e executar uma invalidação usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Escolha a distribuição que contém a invalidação que você deseja copiar. 3. Escolha Distribution Settings. 4. Escolha a Invalidations guia. 5. Escolha a invalidação que você deseja copiar. Se você não tiver certeza de que a invalidação que deseja copiar, você pode escolher uma invalidação e escolher Details para exibir informações detalhadas sobre a invalidação. 6. Escolha Copy. 7. Atualizar a lista de caminhos de anulação, se aplicável. 8. Escolha Invalidate. Usando o console do CloudFront Invalidações Listagem Usando o console, você pode exibir uma lista dos últimos 100 invalidações que você criou e executar para uma distribuição. Se você deseja obter uma lista de mais de 100 invalidações, use a API de invalidação GET Lista de ação. Para obter mais informações, consulte GET na lista de anulação Amazon CloudFront API Reference. Para relacionar invalidações usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Escolha a distribuição para a qual você deseja exibir uma lista de invalidações. 3. Escolha Distribution Settings. 4. Escolha a Invalidations guia. API Version 2016-01-13 128 Amazon CloudFront Guia do desenvolvedor Distribuições (Web Invalidating Objects Somente) Exibindo Informações sobre uma invalidação usando o console do CloudFront Você pode exibir informações detalhadas sobre um ID de distribuição de invalidação, incluindo o ID de anulação, o status da invalidação, a data e a hora em que a invalidação foi criada e uma lista completa dos caminhos de anulação. Para exibir informações sobre uma invalidação usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Escolha a distribuição que contém a invalidação sobre a qual você deseja exibir informações detalhadas. 3. Escolha Distribution Settings. 4. Escolha a Invalidations guia. 5. Escolha a invalidação sobre a qual você deseja exibir informações detalhadas. 6. Escolha Details. Anulação de Objetos e Exibindo Informações sobre o uso da API do CloudFront Invalidações Para obter informações sobre a anulação de objetos e sobre como exibir informações sobre invalidações usando a API do CloudFront, consulte o tópico na Amazon CloudFront API Reference aplicáveis: • Anulação de objetos: POST de anulação • Obter uma lista de suas invalidações: Lista de anulaçãoGET • Como obter informações sobre uma determinada invalidação: invalidação http:// docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetInvalidation.htmlGET Ferramentas de terceiros para Invalidating Objects Além dos métodos de anulação fornecidas pelo CloudFront, várias ferramentas de terceiros fornecem maneiras para anular objetos. Para obter uma lista de ferramentas, consulte Anulação de objetos (p. 361). Limites de anulação Se você anular objetos individualmente, poderá ter solicitações de anulação para até 3.000 objetos por distribuição em andamento por vez. Isso pode ser uma solicitação de anulação para até 3.000 objetos, até 3.000 solicitações com um objeto por solicitação ou qualquer outra combinação que não exceda o total de 3.000 objetos. Por exemplo, você pode enviar 30 solicitações de anulação que invalidar 100 objetos cada. Desde que todas as 30 solicitações de anulação ainda estão em andamento, você não pode enviar mais solicitações de anulação. Se você exceder o limite, ele retorna uma mensagem de erro. Se você usar o curinga*, pode ter solicitações de até 15 caminhos de anulação em andamento por vez. Você também pode ter solicitações de anulação para até 3.000 objetos individuais por distribuição em progresso por vez. O limite de solicitações de anulação com curinga independe do limite de anulação individual de objetos. Note Ele geralmente leva de 10 a 15 minutos para concluir a solicitação de anulação do CloudFront, dependendo do número de caminhos de anulação que é incluído na solicitação. API Version 2016-01-13 129 Amazon CloudFront Guia do desenvolvedor Personalizando respostas de erro O custo de anulação de objetos Os primeiros 1.000 caminhos de anulação que você enviar por mês é gratuito; você paga por cada caminho de anulação que incluir mais de 1.000 em um mês. Um caminho de anulação que pode ser para um único objeto (como /images/logo.jpg) ou para vários objetos (como /images/*). Um caminho que inclui o * curinga contará como um caminho, mesmo se ele causa do CloudFront para invalidar milhares de objetos. Esse limite de 1.000 caminhos de anulação por mês se aplica para o número total de caminhos de anulação em todas as distribuições que você cria com uma conta da AWS. Por exemplo, se você usar a conta da AWS [email protected] para criar três distribuições e você enviar 600 caminhos de anulação para cada distribuição em um determinado mês (para um total de 1.800 caminhos de anulação), a AWS cobrará 800 caminhos de anulação naquele mês. Para obter informações específicas sobre preços, acesse o Amazon CloudFront de anulação de preço. Para obter mais informações sobre caminhos de anulação, consulte Invalidation paths. Personalizando respostas de erro Tópicos • Criando ou Atualizando um comportamento de cache para páginas de erro personalizadas (p. 131) • Alterando Códigos de Resposta (p. 131) • Controlando Quanto tempo Caches do CloudFront Erros (p. 132) • Como ele responde Quando uma página de erro personalizadas não está disponível (p. 133) • A definição de preço das páginas de erro personalizadas (p. 133) • Configurando Erro Comportamento de resposta (p. 133) Se os objetos que você está servindo através do CloudFront não estão disponíveis por algum motivo, o seu servidor web geralmente retorna um código de status HTTP para CloudFront. Por exemplo, se um visualizador especifica um URL inválido, seu servidor web retorna um código de status a 404 do CloudFront e do CloudFront retorna que código de status para o visualizador. O visualizador exibe uma breve mensagem de padrão e formatados de forma esparsa semelhante a esta: Not Found: The requested URL /myfilename.html was not found on this server. Se você prefere exibir uma mensagem de erro personalizada, possivelmente usando a mesma formatação que o restante do seu site, você pode voltar para o visualizador do CloudFront têm um objeto (por exemplo, um arquivo HTML) que contém sua mensagem de erro personalizada. Você pode especificar um objeto diferente para cada compatíveis código de status HTTP, ou você pode usar o mesmo objeto para todos os códigos de status suportados. Você também pode optar por especificar objetos para alguns códigos de status e não para outros. Os objetos que você está servindo através do CloudFront pode ser indisponível por vários motivos. Eles são divididos em duas categorias amplas: • Client erros indicar um problema com a solicitação. Por exemplo, um objeto com o nome especificado não está disponível ou o usuário não tem as permissões necessárias para obter um objeto no bucket do Amazon S3. Quando um cliente erro ocorre, a origem retorna um código de status HTTP no intervalo de 400 do CloudFront. • Server erros indicar um problema com o servidor de origem. Por exemplo, o servidor HTTP está ocupado ou indisponível. Quando um servidor erro ocorre, o servidor de origem retorna um código API Version 2016-01-13 130 Amazon CloudFront Guia do desenvolvedor Criando ou Atualizando um comportamento de cache para páginas de erro personalizadas de status HTTP no intervalo de 500 do CloudFront ou do CloudFront não obtém uma resposta do servidor de origem para um determinado período de tempo e assume um código de status de espera de gateway (504). Os códigos de status do HTTP para que ele pode retornar uma página de erro personalizadas incluem o seguinte: • 400, 403, 404, 405, 414, 416 • 500, 501, 502, 503, 504 Note Você pode criar uma página de erro personalizada para código de status HTTP 416 (Solicitação de Faixa Não Pode Ser Satisfeita), e você pode alterar o código de status HTTP que ele retorna para visualizadores quando sua origem retornar um código de status 416 para CloudFront. (Para obter mais informações, consulte Alterando Códigos de Resposta (p. 131).) No entanto, ele não 416 respostas código de status de cache, para que você possa especificar um valor Error Caching Minimum TTL para o código de status do CloudFront 416, mas não usá-lo. Para obter uma explicação detalhada de como ele lida com as respostas a erro de sua origem, consulte Como CloudFront Processos e Caches Códigos de status de HTTP 4xx e 5xx da sua origem (p. 162). Criando ou Atualizando um comportamento de cache para páginas de erro personalizadas Se você deseja armazenar seus objetos e suas páginas de erro personalizadas em locais diferentes, sua distribuição deve incluir um comportamento de cache para que o seguinte é verdadeiro: • O valor de Path Pattern correspondências o caminho para as suas mensagens de erro personalizadas. Por exemplo, suponha que você salvou páginas de erro personalizadas para 4xx erros em um bucket do Amazon S3 em um diretório chamado /4xx-erros. Sua distribuição deve incluir um comportamento de cache para o qual o caminho padrão encaminha solicitações de páginas de erro personalizadas para esse local, por exemplo, /4xx-errors/*. • O valor de Origin especifica o valor Origin ID para a origem que contém suas páginas de erro personalizadas. Para obter mais informações, consulte Configurações de comportamento de cache (p. 65) o tópico Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). Alterando Códigos de Resposta Você pode escolher o código de status HTTP do CloudFront retorna junto com uma página de erro personalizada para um determinado código de status HTTP. Por exemplo, se sua origem retorna um código de status a 500, você pode querer do CloudFront do CloudFront para retornar uma página de erro personalizadas de 200 e um código de status (OK) para o visualizador. Há vários motivos que você pode querer do CloudFront para retornar um código de status para o visualizador que é diferente do que sua origem retornar à CloudFront: • Alguns dispositivos da Internet (alguns firewalls e proxies corporativos, por exemplo) interceptar HTTP 4xx e 5xx e impedir que a resposta seja devolvido para o visualizador. Se você substituir 200, a resposta normalmente não serão interceptados. API Version 2016-01-13 131 Amazon CloudFront Guia do desenvolvedor Controlando Quanto tempo Caches do CloudFront Erros • Se você não gosta distinguir entre diferentes erros de erros do cliente ou do servidor, você pode especificar 400 ou 500 como o valor que ele retorna para todos os códigos de status 4xx e 5xx. • Você pode querer retornar um código de 200 status (OK) e site estático para que os clientes não souber que seu site está inativo. Se você habilitar e configurar logs de acesso do CloudFront do CloudFront para alterar o código de status HTTP na resposta, o valor da sc-status coluna em logs de acesso conterá o código de status que você especificar. No entanto, o valor da x-edge-result-type coluna não serão afetados; ele ainda contêm o tipo de resultado de resposta a partir da origem. Por exemplo, suponha que você configura do CloudFront para retornar um código de status do 200 visualizador quando a origem retorna 404 (não encontrado) para CloudFront. Quando a origem responde a uma solicitação com um código de 404 status, o valor na sc-status coluna no log de acesso será 200, mas o valor na xedge-result-type coluna será Error. Você pode configurar o CloudFront para retornar qualquer um dos seguintes códigos de status do HTTP junto com uma página de erro personalizada: • 200 • 400, 403, 404, 405, 414, 416 • 500, 501, 502, 503, 504 Controlando Quanto tempo Caches do CloudFront Erros Por padrão, quando sua origem retornar um código de status HTTP 4xx e 5xx, o CloudFront armazena em cache as respostas de erro para cinco minutos e, em seguida, envia a próxima solicitação para o objeto para sua origem para ver se o problema que causou o erro foi resolvido e o objeto solicitado agora está disponível. Note Você pode criar uma página de erro personalizada para código de status HTTP 416 (Solicitação de Faixa Não Pode Ser Satisfeita), e você pode alterar o código de status HTTP que ele retorna para visualizadores quando sua origem retornar um código de status 416 para CloudFront. (Para obter mais informações, consulte Alterando Códigos de Resposta (p. 131).) No entanto, ele não 416 respostas código de status de cache, para que você possa especificar um valor Error Caching Minimum TTL para o código de status do CloudFront 416, mas não usá-lo. Você pode especificar a duração do cache de erro – Error Caching Minimum TTL-4xx e 5xx para cada código de status que caches do CloudFront. Para um procedimento, consulte Configurando Erro Comportamento de resposta (p. 133). Quando você especificar uma duração, observe o seguinte: • Se você especificar um erro de curta duração, o cache do CloudFront encaminha mais solicitações para sua origem do que se você especificar um período maior. Para 5xx erros, isso pode originalmente para piorar o problema que fez com sua origem para retornar um erro. • Quando sua origem retornar um erro para um objeto, ele responde a solicitações para o objeto com a resposta de erro ou com a sua página de erro personalizadas até que a duração de cache de erro expirar. Se você especificar um erro de longa duração, armazenamento em cache do CloudFront pode continuar a responder a solicitações com uma resposta de erro ou a sua página de erro personalizada por um longo período após o objeto estiver disponível novamente. API Version 2016-01-13 132 Amazon CloudFront Guia do desenvolvedor Como ele responde Quando uma página de erro personalizadas não está disponível Se você quiser controlar o tempo do CloudFront armazena erros para objetos individuais, você pode configurar seu servidor de origem para adicionar o cabeçalho aplicáveis para a resposta de erro para esse objeto: • Se a origem adiciona um Cache-Control max-age ou Cache-Control s-maxage diretiva, ou um Expires cabeçalho: CloudFront armazena em cache as respostas de erro para o maior do valor no cabeçalho ou o valor de Error Caching Minimum TTL. • Se a origem adiciona outras Cache-Control diretivas ou adiciona sem cabeçalhos: caches do CloudFront para o valor de respostas de erro Error Caching Minimum TTL. Se o tempo de expiração para um código de status 5xx 4xx ou de um objeto é mais do que você deseja esperar, você pode anular o código de status usando o URL do objeto solicitado. Se sua origem está retornando uma resposta de erro para vários objetos, você precisa invalidar cada objeto separadamente. Para obter mais informações sobre a anulação de objetos, consulte Distribuições (Web Invalidating Objects Somente) (p. 123). Como ele responde Quando uma página de erro personalizadas não está disponível Se você configurar o CloudFront para retornar uma página de erro personalizada para um código de status HTTP, mas a página de erro personalizada não estiver disponível, ele retorna para o visualizador que o código de status do CloudFront recebidas de origem que contém as páginas de erro personalizadas. Por exemplo, suponha que a sua origem personalizada retorna um código de status de 500 e você tiver configurado do CloudFront para obter uma página de erro personalizada para um código de status de 500 a partir de um bucket do Amazon S3. No entanto, alguém excluído acidentalmente a página de erro personalizada a partir de seu bucket. CloudFront retornará um código de status HTTP 404 (não encontrados) para o visualizador que solicitou o objeto. A definição de preço das páginas de erro personalizadas Quando a página do CloudFront retorna um erro personalizada para um visualizador, você paga as cobranças do CloudFront padrão para a página de erro personalizadas, e não as cobranças para o objeto solicitado. Para obter mais informações sobre as cobranças do CloudFront, consulte Definição de preço do Amazon CloudFront. Configurando Erro Comportamento de resposta Você pode usar o console ou a API do CloudFront para configurar as respostas de erro do CloudFront. Para obter mais informações sobre o uso da API do CloudFront para configurar as respostas de erro, acesse PUT Amazon CloudFront API Reference Configna distribuição e visualize o CustomErrorResponses elemento. Para configurar as respostas de erro usando o console do CloudFront 1. Crie as páginas de erro personalizadas que você deseja que o CloudFront para retornar para visualizadores quando sua origem retornar erros de HTTP 4xx e 5xx. Salvar páginas em um local que possa ser acessado do CloudFront. Recomendamos que você armazenar páginas de erro personalizadas em um bucket do Amazon S3, mesmo se você estiver usando uma origem personalizada. Se você armazenar páginas de erro personalizadas em um servidor HTTP e o servidor começa para retornar erros de 5xx, ele não pode obter os arquivos que você deseja retornar para visualizadores porque o servidor de origem está indisponível. API Version 2016-01-13 133 Amazon CloudFront Guia do desenvolvedor Como processos de solicitações parciais do CloudFront para um objeto (Range GETs) 2. Confirme se você tiver concedido do CloudFront pelo menos read permissão para sua página de erro personalizadas objetos. Para obter mais informações sobre as permissões do Amazon S3, consulte Access Control no Guia do desenvolvedor do Amazon Simple Storage Service. Para obter informações sobre como usar o console do Amazon S3 para atualizar permissões, consulte o Amazon Simple Storage Service Console User Guide. 3. (Opcional) Configure seu servidor de origem para adicionar Cache-Control diretivas ou um Expires cabeçalho junto com a resposta de erro para objetos específicos, se aplicável. Para obter mais informações, consulte Controlando Quanto tempo Caches do CloudFront Erros (p. 132). 4. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 5. Na lista de distribuições, selecione a distribuição para atualizar e escolher Distribution Settings. 6. Escolha a Error Pages guia. Em seguida, escolha Create Custom Error Responseou escolher um código de erro e escolha Edit. 7. Insira os valores aplicáveis. Para obter mais informações, consulte Erro de páginas de erro personalizadas e armazenamento em cache (p. 77). 8. Se você configurar páginas de erro personalizadas do CloudFront para retornar, adicionar ou atualizar os comportamentos de cache aplicáveis. Para obter mais informações, consulte Criando ou Atualizando um comportamento de cache para páginas de erro personalizadas (p. 131). 9. Para salvar as alterações, escolha Yes, Edit. Como processos de solicitações parciais do CloudFront para um objeto (Range GETs) Para um grande objeto, um cliente ou navegador do usuário final pode fazer várias GET solicitações e use o cabeçalho de Range solicitação para baixar o objeto em unidades menores. Essas solicitações de faixas de bytes, às vezes conhecido como Range GET solicitações, melhorar a eficiência de downloads parcial parcialmente e a recuperação de transferências com falha. Quando ele recebe uma Range GET solicitação, ele verifica o cache no ponto de presença que recebeu a solicitação. Se o cache em que ponto de presença já contém todo o objeto ou parte solicitada do objeto solicitado, ele imediatamente serve o intervalo do cache. Se o cache não contém o intervalo solicitada, ele encaminha a solicitação para a origem. (Para otimizar o desempenho, o CloudFront pode solicitar um intervalo maior do que o cliente solicitou na Range GET.) O que acontece em seguida depende se a origem é compatível com Range GET solicitações: • Se a origem é compatível com Range GET solicitações: Ele retorna o intervalo solicitada. CloudFront oferece o intervalo solicitada e também armazena em cache em futuras solicitações. (Amazon S3 é compatível com Range GET solicitações, assim como alguns servidores HTTP, por exemplo, Apache e IIS. Para obter informações sobre se o seu servidor HTTP, consulte a documentação para o seu servidor HTTP.) • Se a origem não oferece suporte a Range GET solicitações: Ele retorna todo o objeto. CloudFront oferece o objeto inteiro e também armazena o objeto inteiro para solicitações futuras. Após o CloudFront armazena em cache o objeto inteiro em um cache de presença, ele responde a Range GET solicitações, atendendo à faixa solicitado. API Version 2016-01-13 134 Amazon CloudFront Guia do desenvolvedor Especificar um Objeto raiz padrão (Web Distribuições Somente) Em ambos os casos, o CloudFront começa para servir o intervalo solicitada ou objeto para o usuário final assim que o primeiro byte chega a partir da origem. Note Se o usuário faz uma Range GET solicitação e a origem retorna Transfer-Encoding: chunked, ele retorna o objeto inteiro para o visualizador em vez do intervalo solicitada. RFC geralmente segue a especificação do CloudFront para o Range cabeçalho. No entanto, se os Range cabeçalhos não seguem os seguintes requisitos, ele retornará código de status HTTP 200 com todo o objeto, em vez de código de status 206 com as faixas especificadas: • As faixas devem ser listados em ordem ascendente. Por exemplo, 100-200,300-400 é válido, não 300-400,100-200 é válido. • Os intervalos não devem se sobrepor. Por exemplo, não 100-200,150-250 é válido. • Todos os intervalos especificações deve ser válido. Por exemplo, você não pode especificar um valor negativo como parte de um intervalo. Para obter mais informações sobre o cabeçalho de Range solicitação, consulte "Seção 14,35 Range" no Hypertext Transfer Protocol – HTTP/1.1 em http://www.w3.org/Protocols/rfc2616/rfc2616sec14.html#sec14.35. Especificar um Objeto raiz padrão (Web Distribuições Somente) Você pode configurar o CloudFront para retornar um objeto específico (o objeto de raiz padrão) quando um usuário final solicita o URL raiz para a sua distribuição em vez de um objeto em sua distribuição. Especificando um objeto de raiz padrão evita expor o conteúdo de sua distribuição. Por exemplo, os seguintes pontos de solicitação para o objeto image.jpg: http://d111111abcdef8.cloudfront.net/image.jpg Os seguintes pontos de solicitação para o URL raiz da mesma distribuição, em vez de para um objeto específico: http://d111111abcdef8.cloudfront.net/ Quando você definir um objeto de raiz padrão, uma solicitação do usuário que chama a raiz de sua distribuição retorna o objeto de raiz padrão. Por exemplo, se você designar o arquivo index.html como o objeto de raiz padrão, uma solicitação para: http://d111111abcdef8.cloudfront.net/ retorna: http://d111111abcdef8.cloudfront.net/index.html No entanto, se você definir um objeto de raiz padrão, uma solicitação do usuário para um subdiretório de sua distribuição não retorna o objeto de raiz padrão. Por exemplo, suponha que index.html é o seu objeto de raiz padrão e que ele recebe uma solicitação do usuário para o install diretório de acordo com sua distribuição do CloudFront: http://d111111abcdef8.cloudfront.net/install/ CloudFront não retornará o objeto de raiz padrão, mesmo se uma cópia de dados index.html aparece no install diretório. API Version 2016-01-13 135 Amazon CloudFront Guia do desenvolvedor Especificar um Objeto raiz padrão (Web Distribuições Somente) Se você configurar sua distribuição para permitir que todos os métodos HTTP que ele suporta, o objeto de raiz padrão aplica-se a todos os métodos. Por exemplo, se o objeto de raiz padrão é index.php e você grava o seu aplicativo para enviar uma POST solicitação para a raiz do seu domínio (http://exemplo.com), ele enviará a solicitação para http://example.com/index.php. O comportamento dos objetos raiz padrão do CloudFront é diferente do comportamento do Amazon S3 documentos do índice. Ao configurar um bucket do Amazon S3 como um site e especifique o documento de índice, o Amazon S3 retorna o índice de documentos, mesmo se um usuário solicita um subdiretório no bucket. (A cópia do documento de índice deve aparecer em cada subdiretório.) Para obter mais informações sobre como configurar o Amazon S3 buckets como sites e sobre o índice de documentos, consulte a Hospedagem de sites no Amazon S3 capítulo no Guia do desenvolvedor do Amazon Simple Storage Service. Important Lembre-se de que um objeto de raiz padrão se aplica apenas à sua distribuição do CloudFront. Você ainda precisa gerenciar a segurança para sua origem. Por exemplo, se você estiver usando uma origem do Amazon S3, você ainda precisa definir seu bucket do Amazon S3 ACLs adequadamente para garantir o nível de acesso que deseja em seu bucket. Se você não definir um objeto de raiz padrão, as solicitações para a raiz de sua distribuição passar ao seu servidor de origem. Se você estiver usando uma origem do Amazon S3, qualquer um dos seguintes podem ser retornados: • Uma lista de o conteúdo do seu bucket do Amazon S3– em qualquer uma das condições a seguir, o conteúdo de origem são visíveis para qualquer pessoa que usa do CloudFront para acessar sua distribuição: • O bucket não está configurado corretamente. • O Amazon S3 permissões no bucket associadas à sua distribuição e nos objetos no bucket conceder acesso a todos. • Um usuário final acessa sua origem usando sua origem URL raiz. • Uma lista de conteúdo privado de sua origem– Se você configurar sua origem como uma distribuição privada do CloudFront (somente você e têm acesso), o conteúdo do bucket do Amazon S3 associados com sua distribuição são visíveis para qualquer pessoa que tem as credenciais para acessar sua distribuição por meio do CloudFront. Neste caso, os usuários não podem acessar seu conteúdo por meio de sua origem URL raiz. Para obter mais informações sobre a distribuição de conteúdo privado, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). • Erro 403 Proibido-CloudFront retorna esse erro se as permissões no bucket do Amazon S3 associado a sua distribuição ou as permissões sobre os objetos desse período do CloudFront e negar acesso a todos. Para evitar expor o conteúdo de sua distribuição de web ou retornar um erro, execute o procedimento a seguir para especificar um objeto de raiz padrão para sua distribuição. Para especificar um objeto de raiz padrão para sua distribuição 1. Carregar o objeto de raiz padrão para a origem que sua distribuição aponta. O arquivo pode ser qualquer tipo suportadas pelo CloudFront. Para obter uma lista de restrições no nome de arquivo, consulte a descrição do DefaultRootObject elemento na DistributionConfig Tipo complexo. Note Se o nome do objeto de raiz padrão é muito longo ou contém um caractere inválido, ele retorna o erro HTTP 400 Bad Request - InvalidDefaultRootObject. Além disso, ele armazena o código para cinco minutos e grava os resultados para os logs de acesso. API Version 2016-01-13 136 Amazon CloudFront Guia do desenvolvedor Distribuição de arquivos compactados 2. 3. Confirme se as permissões para o objeto do CloudFront, pelo menos, conceder read acesso. Para obter mais informações sobre as permissões do Amazon S3, consulte Access Control no Guia do desenvolvedor do Amazon Simple Storage Service. Para obter informações sobre como usar o console do Amazon S3 para atualizar permissões, consulte o Amazon Simple Storage Service Console User Guide. Atualize sua distribuição para fazer referência ao objeto de raiz padrão usando o console ou a API do CloudFront do CloudFront. Para especificar um objeto de raiz padrão usando o console do CloudFront: a. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. b. Na lista de distribuições no painel superior, selecione a distribuição para atualizar. c. No Distribution Details painel, na General guia, clique em Edit. d. Na caixa de Edit Distribution diálogo, no Default Root Object campo, insira o nome do objeto de raiz padrão. e. 4. Insira apenas o nome do objeto, por exemplo, index.html. Não adicione um / antes do nome do objeto. Para salvar as alterações, clique em Yes, Edit. Para atualizar a configuração usando a API do CloudFront, você especifica um valor para o DefaultRootObject elemento em sua distribuição. Para obter mais informações sobre o uso da API do CloudFront para especificar um objeto de raiz padrão, consulte PUT Amazon CloudFront API Reference Config na distribuição. Confirme se você ativou o objeto de raiz padrão ao solicitar o URL raiz. Se seu navegador não exibir o objeto de raiz padrão, execute as seguintes etapas: a. b. Confirme se a sua distribuição estiver totalmente implementado, visualizando o status da sua distribuição no console do CloudFront. Repita as etapas 2 e 3 para verificar se você receber as permissões corretas e que você corretamente atualizado a configuração de sua distribuição para especificar o objeto de raiz padrão. Distribuição de arquivos compactados Você pode configurar automaticamente do CloudFront para compactar arquivos de certos tipos e atender a arquivos compactados quando as solicitações de visualizadores incluem AcceptEncoding: gzip no cabeçalho de solicitação. Quando o conteúdo é compactado, downloads são mais rapidamente porque os arquivos são menores — em alguns casos, menos de um quarto o tamanho do original. Especialmente para JavaScript e CSS se traduz em arquivos, downloads mais rápidos de renderização de páginas da web mais rápida para seus usuários. Além disso, porque o custo de transferência de dados do CloudFront é baseado na quantidade total de dados distribuídos, servindo arquivos compactados é mais barato do que servindo arquivos não compactados. Important Uma solicitação de visualizador devem incluir Accept-Encoding: gzip no cabeçalho de solicitação ou do CloudFront não compactar o arquivo solicitado. Se você estiver usando uma origem personalizada, você pode configurar sua origem para compactar arquivos com ou sem compactação do CloudFront. Sua origem do CloudFront pode compactar tipos de arquivo não compacta. (Consulte Tipos de arquivos do CloudFront Compacta (p. 140).) API Version 2016-01-13 137 Amazon CloudFront Guia do desenvolvedor Uso do CloudFront para Compactar seu conteúdo Se sua origem retorna um arquivo compactado do CloudFront, o CloudFront detecta que o arquivo é compactado com base no valor do Content-Encoding cabeçalho e não compactar o arquivo novamente. Tópicos • Uso do CloudFront para Compactar seu conteúdo (p. 138) • O uso de uma origem personalizado para Compactar seu conteúdo (p. 140) Uso do CloudFront para Compactar seu conteúdo CloudFront pode compactar arquivos para origens do Amazon S3 e para origens personalizadas. Quando você configurar o CloudFront para compactar o seu conteúdo, você especifica a configuração em seus comportamentos de cache. Quando você configurar para compactar o conteúdo do CloudFront, o CloudFront oferece o conteúdo: 1. Você pode criar ou atualizar uma distribuição do CloudFront para compactar e configurar o conteúdo do CloudFront. 2. Um visualizador solicita um arquivo. O visualizador adiciona o Accept-Encoding: gzip cabeçalho para a solicitação. Isso indica que o visualizador é compatível com conteúdo compactado. 3. No ponto de presença, o CloudFront verifica o cache para uma versão do arquivo compactado que é mencionado na solicitação. 4. Se o arquivo compactado já estiver no cache, ele retorna o arquivo para o visualizador e ignora as etapas restantes. 5. Se o arquivo compactado não estiver no cache, ele encaminhará a solicitação para o servidor de origem, que pode ser um bucket do Amazon S3 ou uma origem personalizada. Note Se não compactados do CloudFront tem uma versão do arquivo no cache, ele ainda encaminha uma solicitação para a origem. 6. O servidor de origem retorna uma versão descompactado do arquivo solicitado para CloudFront. 7. CloudFront determina se o arquivo é compactáveis: • O arquivo deve ser de um tipo que compacta do CloudFront. • O tamanho do arquivo deve ser entre 1.000 e 10.000.000 bytes. • A resposta deve incluir um Content-Length cabeçalho de forma que ele pode determinar se o tamanho do arquivo é na faixa que CloudFront compacta. Se o Content-Length cabeçalho estiver faltando, ele não compactar o arquivo. • O valor do Content-Encoding cabeçalho no arquivo não deve ser gzip. Se estiver, a origem já compactados no arquivo. 8. Se o arquivo for compactáveis, compacta do CloudFront, retorna o arquivo compactado para o visualizador e o adiciona para o cache. 9. O visualizador descompactará o arquivo. Observe o seguinte: Os tipos de arquivo compacta do CloudFront CloudFront compacta arquivos em um grande número de tipos de arquivo. Para obter uma lista completa, consulte Tipos de arquivos do CloudFront Compacta (p. 140). Tamanho dos arquivos que compacta do CloudFront CloudFront compacta arquivos entre 1.000 bytes e 10.000.000 bytes de tamanho. API Version 2016-01-13 138 Amazon CloudFront Guia do desenvolvedor Uso do CloudFront para Compactar seu conteúdo cabeçalho Tamanho do Conteúdo A origem deve incluir um Content-Length cabeçalho de resposta para que ele pode determinar se o tamanho do arquivo é na faixa que CloudFront compacta. Se o Content-Length cabeçalho estiver faltando, ele não compactar o arquivo. cabeçalho Etag Se você configurar para compactar o conteúdo do CloudFront, o CloudFront remove o cabeçalho de ETag resposta dos arquivos que ele comprime. Quando o ETag cabeçalho está presente, ele e sua origem pode usá-lo para determinar se a versão de um arquivo em um cache de presença do CloudFront é idêntico ao no servidor de origem. No entanto, após compactação as duas versões não são mais idênticos. Como resultado, quando um arquivo compactado do CloudFront expira e encaminha outra solicitação para sua origem, sua origem sempre retorna o arquivo para CloudFront em vez de um código de status HTTP 304 (não modificado). O conteúdo já em pontos de presença ao configurar do CloudFront para compactar arquivos CloudFront compacta arquivos em cada ponto de presença quando ele obtém os arquivos de sua origem. Quando você configurar o CloudFront para compactar seu conteúdo, não compactar arquivos que já estão em pontos de presença. Além disso, quando um arquivo expira em um ponto de presença do CloudFront e encaminha uma solicitação adicional para o arquivo para sua origem, ele não compactar o arquivo se sua origem retorna um código de status HTTP 304, o que significa que o ponto de presença já tem a versão mais recente do arquivo. Se você deseja que o CloudFront para compactar os arquivos que já estão em pontos de presença, você precisará invalidar esses arquivos. Para obter mais informações, consulte Distribuições (Web Invalidating Objects Somente) (p. 123). origem personalizado já está configurado para compactar arquivos Se você configurar para compactar arquivos do CloudFront e do CloudFront está encaminhando solicitações para uma origem personalizada que também é configurado para compactar arquivos, a origem personalizada inclui um Content-Encoding: gzip cabeçalho, o que indica que o arquivo de origem do CloudFront já foi devolvido em compactado. CloudFront retorna o arquivo em cache para o visualizador e armazena em cache no ponto de presença. Solicitação não incluem Aceitar-Codificação: gzip Se o Accept-Encoding cabeçalho ausente da solicitação, o CloudFront oferece o conteúdo não compactados. Se o Accept-Encoding cabeçalho inclui valores adicionais, como deflate ou sdch, remove antes do CloudFront encaminhar a solicitação para o servidor de origem. CloudFront está ocupado Em casos raros, quando um ponto de presença do CloudFront não está muito ocupado, alguns arquivos não serão compactados. Configurando uma distribuição do CloudFront para Compactar Content Para configurar uma distribuição de web para compactar seu conteúdo, você atualizar os comportamentos de cache aplicáveis usando um dos seguintes métodos: • Atualizar o consoledo CloudFront – Compress objects automatically configuração. Para obter mais informações, consulte Criando ou Atualizando uma distribuição da Web usando o console do CloudFront (p. 56). • APIdo CloudFront – Altere o valor do Compress elemento true. Para obter mais informações, consulte POST Distribution (para criar uma nova distribuição) ou PUT Distribution Config (para atualizar uma distribuição existente). • Um dos SDKs da AWS, consulte a documentação do SDK – aplicáveis na página de documentação da AWS. • O AWS CLI – Para obter mais informações, consulte create-distribuição ou update-distribuição na AWS Command Line Interface Reference. API Version 2016-01-13 139 Amazon CloudFront Guia do desenvolvedor O uso de uma origem personalizado para Compactar seu conteúdo Tipos de arquivos do CloudFront Compacta Se você configurar para compactar o conteúdo do CloudFront, o CloudFront comprime arquivos que tenham os seguintes valores no Content-Type cabeçalho: aplicativo/eot aplicativo/x-otf aplicativo/font aplicativo/x-perl aplicativo/font-sfnt aplicativo/x-ttf aplicativo/javascript font/eot application/json font/ttf aplicativo/opentype font/otf aplicativo/otf font/opentype aplicativo/pkcs7-mime image/svg+xml aplicativo/truetype text/css aplicativo/ttf text/csv aplicativo/vnd.ms-fontobject text/html application/xhtml+xml texto/javascript application/xml text/js application/xml+rss texto/sem formatação aplicativo/x-font-opentype texto/richtext aplicativo/x-font-truetype text/tab valores separados aplicativo/x-font-ttf text/xml aplicativo/x-httpd-cgi text/x-script aplicativo/x-javascript text/x-componente aplicativo/x-mpegurl text/x-java-fonte aplicativo/x-opentype O uso de uma origem personalizado para Compactar seu conteúdo Se você deseja compactar tipos de arquivo que ele não compacta, você pode configurar sua origem personalizada para compactar arquivos de esses tipos usando gzip. CloudFront não oferece suporte a outros algoritmos de compactação. Quando sua origem retornar o arquivo compactado do CloudFront, ele inclui um Content-Encoding: gzip cabeçalho do CloudFront, o que indica que o arquivo já estão compactados. API Version 2016-01-13 140 Amazon CloudFront Guia do desenvolvedor O uso de uma origem personalizado para Compactar seu conteúdo Distribuição de arquivos compactados Quando sua origem IIS Server está sendo executado Por padrão, o IIS não disponibilizar conteúdo para solicitações que são fornecidas por meio de servidores de proxy, como CloudFront. Se você estiver usando o IIS e se você tiver configurado o IIS para compactar conteúdo usando o httpCompressionelement, alterar o valor do noCompressionForProxies atributo false para que o IIS retornará compactado para conteúdo do CloudFront. Além disso, se você tiver objetos compactados que são solicitados com menos frequência do que a cada alguns segundos, você pode ter para alterar os valores frequentHitThreshold e frequentHitTimePeriod. Para obter mais informações, consulte a documentação do IIS no site da Microsoft. Distribuição de arquivos compactados Quando sua origem NGINX Server está sendo executado Quando o CloudFront encaminha uma solicitação para o servidor de origem, ele inclui um Via cabeçalho. Isso faz com que NGINX para interpretar a solicitação como representados e, por padrão, NGINX desativa compactação para proxy das solicitações. Se a sua versão do NGINX inclui a gzip_proxied configuração, alterar o valor de any modo que NGINX retornará compactado para conteúdo do CloudFront. Para obter mais informações, consulte a documentação do NGINX para o módulo ngx_http_gzip_module. API Version 2016-01-13 141 Amazon CloudFront Guia do desenvolvedor Solicitação e Resposta Comportamento Origens para o Amazon S3 Solicitação e comportamento de resposta As seções a seguir explicam como os processos de solicitações do visualizador do CloudFront e encaminha as solicitações para o Amazon S3 ou origem personalizada, e como os processos do CloudFront respostas de sua origem, incluindo como caches e processos do CloudFront 4xx e 5xx códigos de status do HTTP. Tópicos • Solicitação e Resposta Comportamento Origens para o Amazon S3 (p. 142) • Solicitação e Comportamento para Personalizar origens de resposta (p. 149) • Como Códigos de status de processos do CloudFront HTTP 3xx da sua origem (p. 162) • Como CloudFront Processos e Caches Códigos de status de HTTP 4xx e 5xx da sua origem (p. 162) Solicitação e Resposta Comportamento Origens para o Amazon S3 Tópicos • Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 (p. 142) • Como processos do CloudFront Respostas do seu Servidor de Origem do Amazon S3 (p. 147) Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 Para obter informações sobre como os processos de solicitações do visualizador do CloudFront e encaminha as solicitações para sua origem do Amazon S3 aplicáveis, consulte o tópico: Tópicos API Version 2016-01-13 142 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 • Duração mínimo de TTL e armazenamento em cache (p. 143) • • • • • Endereços IP de Clientes (p. 143) GETs condicionais (p. 143) Cookies (p. 144) compartilhamento de recursos de origem cruzada (CORS) (p. 144) Incluir um corpo Solicitações GET (p. 144) • Métodos HTTP (p. 144) • Cabeçalhos de Solicitação HTTP que CloudFront Remove ou Atualizações (p. 145) • Tamanho máximo de uma solicitação e máximo de um URL (p. 146) • OCSP Stapling (p. 146) • Protocolos (p. 146) • sequências de caracteres de consulta (p. 146) • Timeout de Solicitação (p. 146) • As solicitações simultâneas para o mesmo objeto (Traffic Spikes) (p. 147) Duração mínimo de TTL e armazenamento em cache Para distribuições da web, para controlar por quanto tempo seus objetos permanecer em um cache do CloudFront antes do CloudFront encaminha outra solicitação para sua origem, você pode: • Configure sua origem para adicionar um Cache-Control ou um campo de Expires cabeçalho para cada objeto. • Especifique um valor para o mínimo do CloudFront TTL em comportamentos de cache. • Use o valor padrão de 24 horas. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Endereços IP de Clientes Se um visualizador envia uma solicitação para CloudFront e não inclui um cabeçalho de XForwarded-For solicitação, ele obtém o endereço IP do visualizador da conexão TCP, adiciona um X-Forwarded-For cabeçalho que inclui o endereço IP e encaminhará a solicitação para a origem. Por exemplo, se o CloudFront obtém o endereço IP 192.0.2.2 da conexão TCP, ele encaminha o cabeçalho a seguir para a origem: X-Forwarded-For: 192.0.2.2 Se um visualizador envia uma solicitação para e inclui um cabeçalho de X-Forwarded-For solicitação do CloudFront, o CloudFront obtém o endereço IP do visualizador da conexão TCP, anexa ao final do X-Forwarded-For cabeçalho e encaminhará a solicitação para a origem. Por exemplo, se a solicitação do visualizador do CloudFront inclui X-Forwarded-For: 192.0.2.4,192.0.2.3 e obtém o endereço IP 192.0.2.2 da conexão TCP, ele encaminha o cabeçalho a seguir para a origem: X-Forwarded-For: 192.0.2.4,192.0.2.3,192.0.2.2 GETs condicionais Quando o CloudFront recebe uma solicitação de um objeto que expirou a partir de um cache de presença, ele encaminha a solicitação de origem para o Amazon S3 para obter a versão mais recente do objeto ou para obter a confirmação do Amazon S3 que o cache de presença do CloudFront já tem a versão mais recente. Quando o Amazon S3 originalmente enviado o objeto do CloudFront, ele API Version 2016-01-13 143 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 incluiu um ETag valor e um LastModified valor na resposta. Na nova solicitação que encaminha para o Amazon S3 do CloudFront, o CloudFront adiciona um ou ambos os seguintes: • Um If-Match ou If-None-Match cabeçalho que contém o ETag valor para a versão do objeto expirado. • Um If-Modified-Since cabeçalho que contém o LastModified valor para a versão do objeto expirado. O Amazon S3 usa essas informações para determinar se o objeto foi atualizado e, portanto, se retornar o objeto inteiro do CloudFront ou para retornar apenas um código de status HTTP 304 (não modificado). Cookies Amazon S3 não processar cookies. Se você configurar um comportamento de cache para encaminhar cookies para uma origem do Amazon S3, ele encaminha os cookies, mas o Amazon S3 ignora-os. compartilhamento de recursos de origem cruzada (CORS) Se você deseja que o Amazon S3 do CloudFront para respeitar as configurações de compartilhamento de recursos de origem cruzada, configure o CloudFront para encaminhar os cabeçalhos selecionados para o Amazon S3. Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Incluir um corpo Solicitações GET Se uma GET solicitação de visualizador inclui um corpo, ele retorna um código de status HTTP 403 (Proibido) para o visualizador. Métodos HTTP Se você configurar o CloudFront para processar todos os métodos HTTP que ele suporta, ele aceita as seguintes solicitações de visualizadores e os encaminha para a origem do Amazon S3: • DELETE • GET • HEAD • OPTIONS • PATCH • POST • PUT CloudFront sempre armazena em cache as respostas GET e HEAD solicitações. Você também pode configurar o CloudFront para armazenar em cache respostas para OPTIONS solicitações. CloudFront não armazena em cache respostas para solicitações que usam outros métodos. Se você usar um bucket do Amazon S3 como a origem para a sua distribuição do CloudFront e se você usar identidades de acesso de origem, POST as solicitações não são suportadas em algumas regiões do Amazon S3 e PUT solicitações dessas regiões exigem um cabeçalho adicional. Para obter mais informações, consulte Usando uma Identidade de acesso de origem no Amazon S3 regiões que Support Somente Signature versão 4 Authentication (p. 176). Se você quiser usar a multipart uploads para adicionar objetos para um bucket do Amazon S3, você deve adicionar uma identidade de acesso de origem do CloudFront para sua distribuição de identidade de acesso de origem e conceder permissões aplicáveis. Para obter mais informações, consulte API Version 2016-01-13 144 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Caution Se você configurar o CloudFront para aceitar e encaminhar o Amazon S3 todos os métodos HTTP que ele suporta, você deve criar uma identidade de acesso de origem do CloudFront para restringir o acesso ao conteúdo do Amazon S3 identidade de acesso de origem e conceder permissões aplicáveis. Por exemplo, se você configurar do CloudFront para aceitar e encaminhar esses métodos, pois você deseja usar PUT, você deve configurar políticas de bucket do Amazon S3 ou ACLs para lidar com DELETE as solicitações de forma apropriada para que os usuários não podem excluir os recursos que você não desejar. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Para obter informações sobre as operações suportadas pelo Amazon S3, consulte a documentação do Amazon S3. Cabeçalhos de Solicitação HTTP que CloudFront Remove ou Atualizações CloudFront remove ou atualiza os seguintes campos de cabeçalho antes de encaminhar solicitações para sua origem do Amazon S3: • Accept • Accept-Charset • Se o valorAccept-Encoding – contém gzip, ele encaminha Accept-Encoding: gzip para a origem do Amazon S3. Se o valor não contêm gzip, ele remove o campo de Accept-Encoding cabeçalho antes de encaminhar a solicitação à sua origem. • Accept-Language • Authorization: • GET e HEAD solicitações: remove o campo de Authorization cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem. • OPTIONS solicitações: remove o campo de Authorization cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem se você configurar do CloudFront para armazenar em cache respostas para OPTIONS solicitações. encaminha o campo de Authorization cabeçalho do CloudFront para sua origem se você não configurar do CloudFront para armazenar em cache as respostas às solicitações OPTIONS. • DELETE, PATCH, POSTe PUT solicitações: CloudFront não remove o campo de cabeçalho antes de encaminhar a solicitação à sua origem. • Connection – substitui esse cabeçalho com Connection: Keep-Alive antes do CloudFront encaminhar a solicitação à sua origem do Amazon S3. • Se você configurarCookie – encaminhe cookies do CloudFront, ele encaminhará o campo de Cookie cabeçalho de origem para o Amazon S3. Se você não, ele remove o campo de Cookie cabeçalho. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). • Expect • Host – CloudFront define o valor para o nome do bucket do Amazon S3 que está associada com o objeto solicitado. • Proxy-Authorization • Referer • TE API Version 2016-01-13 145 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem do Amazon S3 • Upgrade • User-Agent – CloudFront substitui o valor do campo de cabeçalho Amazon CloudFront. Tamanho máximo de uma solicitação e máximo de um URL O tamanho máximo de uma solicitação, incluindo o caminho, a string de consulta (se houver) e cabeçalhos, é 20480 bytes. construções do CloudFront um URL da solicitação. O tamanho máximo deste URL é 8192 bytes. Se uma solicitação ou um URL ultrapassar esses limites, ele retorna código de status HTTP 413, Campos do cabeçalho de solicitação muito grande, para o visualizador e, em seguida, encerra a conexão TCP para o visualizador. OCSP Stapling Quando um visualizador HTTPS envia uma solicitação para um objeto, o CloudFront ou o visualizador precisa confirmar com a autoridade certificadora (CA) que o certificado SSL para o domínio não foi revogado. OCSP grampear validação, permitindo que acelera o certificado do CloudFront para validar o certificado e para armazenar em cache as respostas da CA, de modo que o cliente não precisa validar o certificado diretamente com o CA. A melhoria de desempenho de OCSP grampear é mais pronunciado quando ele recebe uma grande quantidade de solicitações HTTPS para objetos no mesmo domínio. Cada servidor em um ponto de presença do CloudFront deve enviar uma solicitação de validação separado. Quando ele recebe uma grande quantidade de solicitações HTTPS para o mesmo domínio, cada servidor no ponto de presença em breve tem uma resposta do CA que ele pode "grampear" para um pacote na apresentação SSL; quando o visualizador é atendida que o certificado é válido, ele pode servir o objeto solicitado. Se a sua distribuição não obtém quantidade de tráfego em um ponto de presença do CloudFront, novas solicitações são mais propensos a ser direcionado a um servidor que não tiver validada o certificado com o CA. Neste caso, o visualizador separadamente executa a etapa de validação e o servidor do CloudFront serve o objeto. Esse servidor do CloudFront também envia uma solicitação de validação para a CA, portanto, na próxima vez em que recebe uma solicitação que inclui o mesmo nome de domínio, ele tem uma resposta de validação da Califórnia. Protocolos encaminha solicitações HTTP ou HTTPS do CloudFront para o servidor de origem com base no protocolo de a solicitação do visualizador, seja HTTP ou HTTPS. Important Se o seu bucket do Amazon S3 é configurado como um site endpoint, você não pode configurar o CloudFront para usar o HTTPS para se comunicar com sua origem, pois o Amazon S3 não tem suporte para conexões HTTPS nessa configuração. sequências de caracteres de consulta Para distribuições da web, você pode configurar se ele encaminha parâmetros de sequência de caracteres de consulta para a origem do Amazon S3. Para distribuições RTMP, ele não encaminha parâmetros de sequência de caracteres de consulta. Para obter mais informações, consulte A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105). Timeout de Solicitação A solicitação para o tempo de espera do CloudFront depende do método HTTP: API Version 2016-01-13 146 Amazon CloudFront Guia do desenvolvedor Como processos do CloudFront Respostas do seu Servidor de Origem do Amazon S3 • GET e HEAD solicitações – Se o Amazon S3 não responder dentro de 30 segundos ou parar de responder por 30 segundos, ele cai a conexão e disponibiliza dois tentativas adicionais para entrar em contato com a origem. Se a origem não responder durante a terceira tentativa, ele não tente novamente até que ele recebe outra solicitação de conteúdo na mesma origem. • DELETE, OPTIONS, PATCH, POSTe POST solicitações – Se o Amazon S3 não responder dentro de 30 segundos, ele cai a conexão e não tente novamente para entrar em contato com a origem. O cliente pode ressubmeter a solicitação se necessário. A solicitação não pode ser alterada. As solicitações simultâneas para o mesmo objeto (Traffic Spikes) Quando um ponto de presença do CloudFront recebe uma solicitação de um objeto e o objeto não está atualmente no cache ou o objeto expirou, o CloudFront imediatamente envia a solicitação à sua origem do Amazon S3. Se houver um pico de tráfego — se solicitações adicionais para o mesmo objeto chegar no ponto de presença antes que o Amazon S3 responde a primeira solicitação do CloudFront — pausa brevemente antes de encaminhar solicitações adicionais para o objeto para sua origem. Normalmente, a resposta para a primeira solicitação do CloudFront chegará no ponto de presença antes que a resposta a solicitações subseqüentes. Esta breve pausa desnecessários ajuda a reduzir a carga no Amazon S3. Se as solicitações adicionais não são idênticos porque, por exemplo, você configurou do CloudFront para armazenar em cache com base nos cabeçalhos de solicitação ou sequências de caracteres de consulta, ele encaminha todas as solicitações exclusivas para sua origem. Quando a resposta do Cache-Control: no-cache cabeçalho inclui uma origem, ele normalmente encaminhará a próxima solicitação para o mesmo objeto para a origem para determinar se o objeto foi atualizado. No entanto, quando há um pico de tráfego do CloudFront e pausa após encaminhar a primeira solicitação para sua origem, várias solicitações do visualizador podem chegar antes do CloudFront recebe uma resposta a partir da origem. Quando ele recebe uma resposta que contenha um Cache-Control: no-cache cabeçalho, ele envia o objeto na resposta para o visualizador que fez a solicitação original e a todos os visualizadores que solicitou o objeto durante a pausa. Após a resposta chega na origem, ele encaminha a próxima solicitação do visualizador para o mesmo objeto para a origem. Em logs de acesso do CloudFront, a primeira solicitação é identificado como Miss na x-edge-result-type coluna, e todas as solicitações subseqüentes que recebeu durante a pausa do CloudFront são identificados como um Hit. Para obter mais informações sobre o formato de arquivo de log de acesso, consulte Formato do arquivo de registro de distribuição da Web (p. 269). Como processos do CloudFront Respostas do seu Servidor de Origem do Amazon S3 Tópicos • Solicitações canceladas (p. 147) • Resposta HTTP Cabeçalhos que Remove ou atualizações do CloudFront (p. 148) • Tamanho máximo de arquivo (p. 148) • Redireciona (p. 148) Solicitações canceladas Se um objeto não estiver no cache de presença, e se um visualizador é encerrado uma sessão (por exemplo, fecha um navegador) depois do CloudFront obtém o objeto de sua origem, mas antes de fornecer o objeto solicitado, ele não armazena em cache o objeto no ponto de presença. API Version 2016-01-13 147 Amazon CloudFront Guia do desenvolvedor Como processos do CloudFront Respostas do seu Servidor de Origem do Amazon S3 Resposta HTTP Cabeçalhos que Remove ou atualizações do CloudFront CloudFront remove ou atualiza os seguintes campos de cabeçalho antes de encaminhar a resposta do Amazon S3 origem para o visualizador: • Se você configurarSet-Cookie – encaminhe cookies do CloudFront, ele encaminhará o campo de Set-Cookie cabeçalho para clientes. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). • Trailer • Se o Amazon S3Transfer-Encoding – retorna esse campo de cabeçalho de origem, ele define o valor para chunked antes de retornar a resposta para o visualizador. • Upgrade • Via – define o valor do CloudFront para: stringVia: 1.1 .cloudfront.net (CloudFront)alfanumérica antes de retornar a resposta para o visualizador. Por exemplo: Via: 1.1 1026589cc7887e7a0dc7827b4example.cloudfront.net (CloudFront) Tamanho máximo de arquivo O tamanho máximo de um corpo de resposta que o CloudFront retornará para o visualizador é de 20 GB. Isso inclui as respostas de transferência é dividida que não especifica o valor do ContentLength cabeçalho. Redireciona Você pode configurar um bucket do Amazon S3 para redirecionar todas as solicitações para outro nome de host; isso pode ser outro bucket do Amazon S3 ou um servidor HTTP. Se você configurar um bucket para redirecionar todas as solicitações e se o bucket é a origem de uma distribuição do CloudFront, recomendamos que você configure o bucket para redirecionar todas as solicitações para uma distribuição do CloudFront usando o nome de domínio para a distribuição (por exemplo, d111111abcdef8.cloudfront.net) ou um nome de domínio alternativo (um CNAME) que está associada a uma distribuição (por exemplo, exemplo.com). Caso contrário, as solicitações do visualizador do CloudFront bypass, e os objetos são atendidas diretamente da nova origem. Note Se você redirecionar as solicitações para um nome de domínio alternativo, você também deve atualizar o serviço DNS para seu domínio, adicionando um registro CNAME. Para obter mais informações, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Veja o que acontece quando você configurar um bucket para redirecionar todas as solicitações: 1. Um visualizador (por exemplo, um navegador) solicita um objeto do CloudFront. 2. encaminha a solicitação do CloudFront para o bucket do Amazon S3 que é a origem para a sua distribuição. 3. O Amazon S3 retorna um código de status HTTP 301 (Movido permanentemente), bem como o novo local. 4. armazena o código de status de redirecionamento do CloudFront e o novo local e retorna os valores para o visualizador. CloudFront não segue o redirecionamento para obter o objeto para o novo local. API Version 2016-01-13 148 Amazon CloudFront Guia do desenvolvedor Solicitação e Comportamento para Personalizar origens de resposta 5. O visualizador envia uma solicitação para o objeto, mas desta vez o visualizador especifica o novo local que obteve do CloudFront: • Se o bucket do Amazon S3 está redirecionando todas as solicitações para uma distribuição do CloudFront, usando o nome de domínio para a distribuição ou outro nome de domínio, as solicitações do CloudFront do objeto para o bucket do Amazon S3 ou um servidor HTTP no novo local. Quando o novo local retorna o objeto, ele retorna para o visualizador e os armazenam em um ponto de presença. • Se o bucket do Amazon S3 está redirecionando solicitações para outro local, a segunda solicitação ignora do CloudFront. O bucket do Amazon S3 ou um servidor HTTP no novo local retorna o objeto diretamente para o visualizador, para que o objeto nunca são armazenados em cache em um cache de presença do CloudFront. Solicitação e Comportamento para Personalizar origens de resposta Tópicos • Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado (p. 149) • Como processos personalizados do CloudFront Respostas do seu Servidor de Origem (p. 159) Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado Para obter informações sobre como os processos de solicitações do visualizador do CloudFront e encaminha as solicitações para sua origem personalizada, consulte o tópico aplicáveis: Tópicos • Autenticação (p. 150) • Duração mínimo de TTL e armazenamento em cache (p. 150) • Endereços IP de Clientes (p. 150) • Autenticação SSL no lado do cliente (p. 151) • Compactação (p. 151) • Solicitações condicionais (p. 151) • Cookies (p. 151) • compartilhamento de recursos de origem cruzada (CORS) (p. 151) • Criptografia (p. 151) • Incluir um corpo Solicitações GET (p. 152) • Métodos HTTP (p. 152) • Cabeçalhos de Solicitação HTTP e o comportamento do CloudFront (p. 153) • Versão HTTP (p. 157) • Tamanho máximo de uma solicitação e máximo de um URL (p. 157) • OCSP Stapling (p. 157) • Conexões persistentes (p. 157) API Version 2016-01-13 149 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado • Protocolos (p. 157) • sequências de caracteres de consulta (p. 158) • Timeout de Solicitação (p. 158) • As solicitações simultâneas para o mesmo objeto (Traffic Spikes) (p. 158) • Cabeçalho do Agente do usuário (p. 158) Autenticação Para DELETE, GET, HEAD, PATCH, POST, e PUT solicitações, se você configurar do CloudFront para encaminhar o Authorization cabeçalho para sua origem, você pode configurar seu servidor de origem para solicitar a autenticação do cliente. Para OPTIONS solicitações, você pode configurar seu servidor de origem para solicitar a autenticação do cliente somente se você usa as seguintes configurações do CloudFront: • Configure CloudFront para encaminhar o Authorization cabeçalho para sua origem • Configure CloudFront para não armazenar em cache as respostas para OPTIONS solicitações Você pode configurar o CloudFront para encaminhar solicitações para sua origem usando HTTP ou HTTPS; para obter mais informações, consulte Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront (p. 237). Duração mínimo de TTL e armazenamento em cache Para distribuições da web, para controlar por quanto tempo seus objetos permanecer em um cache do CloudFront antes do CloudFront encaminha outra solicitação para sua origem, você pode: • Configure sua origem para adicionar um Cache-Control ou um campo de Expires cabeçalho para cada objeto. • Especifique um valor para o mínimo do CloudFront TTL em comportamentos de cache. • Use o valor padrão de 24 horas. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Endereços IP de Clientes Se um visualizador envia uma solicitação para CloudFront e não inclui um cabeçalho de XForwarded-For solicitação, ele obtém o endereço IP do visualizador da conexão TCP, adiciona um X-Forwarded-For cabeçalho que inclui o endereço IP e encaminhará a solicitação para a origem. Por exemplo, se o CloudFront obtém o endereço IP 192.0.2.2 da conexão TCP, ele encaminha o cabeçalho a seguir para a origem: X-Forwarded-For: 192.0.2.2 Se um visualizador envia uma solicitação para e inclui um cabeçalho de X-Forwarded-For solicitação do CloudFront, o CloudFront obtém o endereço IP do visualizador da conexão TCP, anexa ao final do X-Forwarded-For cabeçalho e encaminhará a solicitação para a origem. Por exemplo, se a solicitação do visualizador do CloudFront inclui X-Forwarded-For: 192.0.2.4,192.0.2.3 e obtém o endereço IP 192.0.2.2 da conexão TCP, ele encaminha o cabeçalho a seguir para a origem: X-Forwarded-For: 192.0.2.4,192.0.2.3,192.0.2.2 API Version 2016-01-13 150 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado Alguns aplicativos, como balanceadores de carga (incluindo o Elastic Load Balancing), aplicação web firewalls, proxies reversos, sistemas de prevenção de invasão e API Gateway, anexe o endereço IP do servidor de presença do CloudFront que encaminhado a solicitação no final do X-Forwarded-For cabeçalho. Por exemplo, se o CloudFront inclui X-Forwarded-For: 192.0.2.2 em uma solicitação que ele encaminha para ELB e se o endereço IP do servidor de presença do CloudFront, a solicitação é 192.0.2.199 que sua instância do EC2 recebe contém o seguinte cabeçalho: X-Forwarded-For: 192.0.2.2,192.0.2.199 Autenticação SSL no lado do cliente CloudFront não oferece suporte à autenticação de clientes com certificados SSL do lado do cliente. Se uma origem solicita um certificado de cliente, o CloudFront cai a solicitação. Compactação CloudFront encaminha solicitações que têm os valores dos Accept-Encoding campos "identity" e "gzip". Para obter mais informações, consulte Distribuição de arquivos compactados (p. 137). Solicitações condicionais Quando o CloudFront recebe uma solicitação de um objeto que expirou a partir de um cache de presença, ele encaminha a solicitação para a origem para obter a versão mais recente do objeto ou para obter a confirmação da origem que o cache de presença do CloudFront já tem a versão mais recente. Normalmente, quando a origem último enviado o objeto do CloudFront, ele incluiu um ETag valor, um LastModified valor, ou ambos os valores na resposta. Na nova solicitação que encaminha para a origem do CloudFront, o CloudFront adiciona um ou ambos os seguintes: • Um If-Match ou If-None-Match cabeçalho que contém o ETag valor para a versão do objeto expirado. • Um If-Modified-Since cabeçalho que contém o LastModified valor para a versão do objeto expirado. A origem usa essas informações para determinar se o objeto foi atualizado e, portanto, se retornar o objeto inteiro do CloudFront ou para retornar apenas um código de status HTTP 304 (não modificado). Cookies Você pode configurar o CloudFront para encaminhar cookies para sua origem. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). compartilhamento de recursos de origem cruzada (CORS) Se você deseja que o CloudFront para respeitar as configurações de compartilhamento de recursos de origem cruzada, configurar do CloudFront para encaminhar o Origin cabeçalho para sua origem. Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Criptografia Você pode se certificar de que os usuários usam HTTPS para enviar solicitações para e do CloudFront do CloudFront para encaminhar solicitações para sua origem personalizada usando o protocolo usada pelo visualizador. Para obter mais informações, consulte os seguintes parâmetros de distribuição: • Política de protocolo de visualizadores (p. 68) API Version 2016-01-13 151 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado • Política de protocolo de origem (Amazon EC2 e outras origens personalizadas somente) (p. 64) CloudFront encaminha solicitações HTTPS para o servidor de origem, usando o SSL v3, TLSv1.0 TLSv1.2 TLSv1.1 e protocolos. Para origens personalizadas, você pode escolher os protocolos SSL do CloudFront que você deseja usar ao se comunicar com sua origem: • Se você estiver usando o console do CloudFront, escolha protocolos usando as caixas de Origin SSL Protocols verificação. Para obter mais informações, consulte Criando ou Atualizando uma distribuição da Web usando o console do CloudFront (p. 56). • Se você estiver usando a API do CloudFront, especifique protocolos usando o OriginSslProtocols elemento. Para obter mais informações, consulte na Amazon CloudFront API Reference DistributionConfig Tipo complexo. Se a origem é um bucket do Amazon S3, ele sempre usa TSLv1.2. Important Outras versões de SSL e TLS não são compatíveis. CloudFront encaminha solicitações HTTPS para o servidor de origem, usando os seguintes cifras: • ECDHE-RSA-AES128-SHA • ECDHE-RSA-AES256-SHA • AES256-SHA • AES128-SHA • DES-CBC3-SHA • RC4-MD5 Seu servidor de origem deve ser compatível com, pelo menos, um desses cifras do CloudFront para estabelecer uma conexão SSL para sua origem. Ao estabelecer uma conexão HTTPS para a origem, ele adiciona uma Server Name Indication (SNI) extensão e inclui o valor de Origin Domain Name origem aplicável em sua distribuição. Para obter mais informações sobre o SNI, consulte a Seção 3.1 de RFC 4366, Transport Layer Security (TLS) Extensions. Incluir um corpo Solicitações GET Se uma GET solicitação de visualizador inclui um corpo, ele retorna um código de status HTTP 403 (Proibido) para o visualizador. Métodos HTTP Se você configurar o CloudFront para processar todos os métodos HTTP que ele suporta, ele aceita as seguintes solicitações de visualizadores e os encaminha para a origem personalizada: • • • • DELETE GET HEAD OPTIONS • PATCH • POST • PUT API Version 2016-01-13 152 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado CloudFront sempre armazena em cache as respostas GET e HEAD solicitações. Você também pode configurar o CloudFront para armazenar em cache respostas para OPTIONS solicitações. CloudFront não armazena em cache respostas para solicitações que usam outros métodos. Para obter informações sobre como configurar se sua origem personalizada processa esses métodos, consulte a documentação para sua origem. Caution Se você configurar o CloudFront para aceitar e encaminhar para sua origem todos os métodos HTTP que ele suporta, configurar seu servidor de origem para lidar com todos os métodos. Por exemplo, se você configurar do CloudFront para aceitar e encaminhar esses métodos, pois você deseja usar POST, você deve configurar seu servidor de origem para lidar com DELETE as solicitações de forma apropriada para que os usuários não podem excluir os recursos que você não desejar. Para obter mais informações, consulte a documentação do seu servidor HTTP. Cabeçalhos de Solicitação HTTP e o comportamento do CloudFront A tabela a seguir lista cabeçalhos de solicitação HTTP e, para cada cabeçalho, explica o seguinte: • comportamento do CloudFront se você não configurar do CloudFront para encaminhar o cabeçalho para sua origem, o que faz com que seus objetos do CloudFront para armazenar em cache com base nos valores de cabeçalho. • Independentemente de você pode configurar do CloudFront para armazenar em cache os objetos com base nos valores de cabeçalho para esse cabeçalho. Você pode configurar o CloudFront para armazenar em cache os objetos com base nos valores dos Date cabeçalhos User-Agent e, mas não é recomendável. Esses cabeçalhos tem uma grande quantidade de valores possíveis e armazenamento em cache com base em seus valores fazem com que o CloudFront encaminhe significativamente mais solicitações para sua origem. Para obter mais informações sobre o armazenamento em cache com base nos valores de cabeçalho, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Cabeçalho Comportamento Se Você Não Configurar Com base em cache do CloudFront para Valores de Cabeçalho Com base nos valores do cabeçalho Cache é suportado cabeçalhos definidas pelo cliente CloudFront encaminha os cabeçalhos para sua origem. Sim Accept remove o cabeçalho do CloudFront. Sim Accept-Charset remove o cabeçalho do CloudFront. Sim Accept-Encoding Se o valor contém gzip, ele encaminha AcceptEncoding: gzip para sua origem. Não Se o valor não contêm gzip, ele remove o campo de Accept-Encoding cabeçalho antes de encaminhar a solicitação à sua origem. API Version 2016-01-13 153 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado Cabeçalho Comportamento Se Você Não Configurar Com base em cache do CloudFront para Valores de Cabeçalho Com base nos valores do cabeçalho Cache é suportado Accept-Language remove o cabeçalho do CloudFront. Sim Authorization • GET e HEAD solicitações – remove o campo de Authorization cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem. • OPTIONS solicitações – remove o campo de Authorization cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem se você configurar do CloudFront para armazenar em cache respostas para OPTIONS solicitações. Sim encaminha o campo de Authorization cabeçalho do CloudFront para sua origem se você não configurar do CloudFront para armazenar em cache as respostas às solicitações OPTIONS. • DELETE, PATCH, POSTe PUT solicitações – CloudFront não remove o campo de cabeçalho antes de encaminhar a solicitação à sua origem. Cache-Control encaminha o cabeçalho do CloudFront para sua origem. Não CloudFront-ForwardedProto não adicionar o cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem. Sim Para obter mais informações, consulte A configuração do CloudFront para objetos com base no protocolo de cache da solicitação (p. 112). CloudFront-IsDesktop-Viewer não adicionar o cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem. Sim Para obter mais informações, consulte A configuração do CloudFront para objetos de cache com base no tipo de dispositivo (p. 112). CloudFront-Is-MobileViewer não adicionar o cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem. Sim Para obter mais informações, consulte A configuração do CloudFront para objetos de cache com base no tipo de dispositivo (p. 112). CloudFront-Is-TabletViewer não adicionar o cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem. Sim Para obter mais informações, consulte A configuração do CloudFront para objetos de cache com base no tipo de dispositivo (p. 112). CloudFront-ViewerCountry não adicionar o cabeçalho do CloudFront antes de encaminhar a solicitação à sua origem. API Version 2016-01-13 154 Sim Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado Cabeçalho Comportamento Se Você Não Configurar Com base em cache do CloudFront para Valores de Cabeçalho Com base nos valores do cabeçalho Cache é suportado Connection substitui esse cabeçalho com Connection: KeepAlive antes do CloudFront encaminhar a solicitação à sua origem. Não Content-Length encaminha o cabeçalho do CloudFront para sua origem. Não Content-MD5 encaminha o cabeçalho do CloudFront para sua origem. Sim Content-Type encaminha o cabeçalho do CloudFront para sua origem. Sim Cookie Se você configurar o CloudFront para encaminhar cookies, ele encaminhará o campo de Cookie cabeçalho para sua origem. Se você não, ele remove o campo de Cookie cabeçalho. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). Não Date encaminha o cabeçalho do CloudFront para sua origem. Sim, mas não recomendado Expect remove o cabeçalho do CloudFront. Sim From encaminha o cabeçalho do CloudFront para sua origem. Sim Host CloudFront define o valor para o nome de domínio da Sim origem que está associada com o objeto solicitado. If-Match encaminha o cabeçalho do CloudFront para sua origem. Sim If-Modified-Since encaminha o cabeçalho do CloudFront para sua origem. Sim If-None-Match encaminha o cabeçalho do CloudFront para sua origem. Sim If-Range encaminha o cabeçalho do CloudFront para sua origem. Sim If-Unmodified-Since encaminha o cabeçalho do CloudFront para sua origem. Sim Max-Forwards encaminha o cabeçalho do CloudFront para sua origem. Não Origin encaminha o cabeçalho do CloudFront para sua origem. Sim Pragma encaminha o cabeçalho do CloudFront para sua origem. Não API Version 2016-01-13 155 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado Cabeçalho Comportamento Se Você Não Configurar Com base em cache do CloudFront para Valores de Cabeçalho Com base nos valores do cabeçalho Cache é suportado Proxy-Authenticate remove o cabeçalho do CloudFront. Não Proxy-Authorization remove o cabeçalho do CloudFront. Não Proxy-Connection remove o cabeçalho do CloudFront. Não Range encaminha o cabeçalho do CloudFront para sua origem. Para obter mais informações, consulte Como processos de solicitações parciais do CloudFront para um objeto (Range GETs) (p. 134). Sim, por padrão Referer remove o cabeçalho do CloudFront. Sim Request-Range encaminha o cabeçalho do CloudFront para sua origem. Não TE remove o cabeçalho do CloudFront. Não Trailer remove o cabeçalho do CloudFront. Não Transfer-Encoding encaminha o cabeçalho do CloudFront para sua origem. Não Upgrade remove o cabeçalho do CloudFront. Não User-Agent CloudFront substitui o valor do campo de cabeçalho Amazon CloudFront. Se você deseja que o CloudFront para armazenar seu conteúdo em cache com base no dispositivo do usuário está usando, consulte A configuração do CloudFront para objetos de cache com base no tipo de dispositivo (p. 112). Sim, mas não recomendado Via encaminha o cabeçalho do CloudFront para sua origem. Sim Warning encaminha o cabeçalho do CloudFront para sua origem. Sim X-Amz-Cf-Id CloudFront adiciona o cabeçalho para a solicitação Não do visualizador antes de encaminhar a solicitação à sua origem. O valor do cabeçalho contém uma sequência de caracteres criptografados que identifica exclusivamente a solicitação. X-Edge-* remove todos os X-Edge-* cabeçalhos do CloudFront. Não X-Forwarded-For encaminha o cabeçalho do CloudFront para sua origem. Para obter mais informações, consulte Endereços IP de Clientes (p. 150). Sim X-Forwarded-Proto remove o cabeçalho do CloudFront. Sim X-Real-IP remove o cabeçalho do CloudFront. Não API Version 2016-01-13 156 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado Versão HTTP CloudFront encaminha solicitações para sua origem personalizada usando HTTP/1.1. Tamanho máximo de uma solicitação e máximo de um URL O tamanho máximo de uma solicitação, incluindo o caminho, a string de consulta (se houver) e cabeçalhos, é 20480 bytes. construções do CloudFront um URL da solicitação. O tamanho máximo deste URL é 8192 bytes. Se uma solicitação ou um URL ultrapassar esses limites, ele retorna código de status HTTP 413, Campos do cabeçalho de solicitação muito grande, para o visualizador e, em seguida, encerra a conexão TCP para o visualizador. OCSP Stapling Quando um visualizador HTTPS envia uma solicitação para um objeto, o CloudFront ou o visualizador precisa confirmar com a autoridade certificadora (CA) que o certificado SSL para o domínio não foi revogado. OCSP grampear validação, permitindo que acelera o certificado do CloudFront para validar o certificado e para armazenar em cache as respostas da CA, de modo que o cliente não precisa validar o certificado diretamente com o CA. A melhoria de desempenho de OCSP grampear é mais pronunciado quando ele recebe uma grande quantidade de solicitações HTTPS para objetos no mesmo domínio. Cada servidor em um ponto de presença do CloudFront deve enviar uma solicitação de validação separado. Quando ele recebe uma grande quantidade de solicitações HTTPS para o mesmo domínio, cada servidor no ponto de presença em breve tem uma resposta do CA que ele pode "grampear" para um pacote na apresentação SSL; quando o visualizador é atendida que o certificado é válido, ele pode servir o objeto solicitado. Se a sua distribuição não obtém quantidade de tráfego em um ponto de presença do CloudFront, novas solicitações são mais propensos a ser direcionado a um servidor que não tiver validada o certificado com o CA. Neste caso, o visualizador separadamente executa a etapa de validação e o servidor do CloudFront serve o objeto. Esse servidor do CloudFront também envia uma solicitação de validação para a CA, portanto, na próxima vez em que recebe uma solicitação que inclui o mesmo nome de domínio, ele tem uma resposta de validação da Califórnia. Conexões persistentes Quando obtém uma resposta do CloudFront de sua origem, tente manter a conexão por alguns segundos em caso de outra solicitação chega durante esse período. Mantendo uma conexão persistente economiza o tempo necessário para restabelecer a conexão TCP e executar outro cumprimento de TLS para solicitações subseqüentes. Para melhorar o desempenho, recomendamos que você configurar seu servidor de origem para permitir conexões persistentes. Protocolos encaminha solicitações HTTP ou HTTPS do CloudFront para o servidor de origem de acordo com o seguinte: • O protocolo da solicitação que envia para o visualizador do CloudFront, seja HTTP ou HTTPS. • O valor do Origin Protocol Policy campo no console do CloudFront ou, se você estiver usando a API do CloudFront, o OriginProtocolPolicy elemento no tipo DistributionConfig complexo. No console do CloudFront, as opções são HTTP Only, HTTPS Onlye Match Viewer. Se você especificar HTTP Only ou HTTPS Only, ele encaminha solicitações para o servidor de origem usando o protocolo especificado, independentemente de o protocolo na solicitação do visualizador. API Version 2016-01-13 157 Amazon CloudFront Guia do desenvolvedor Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado Se você especificar Match Viewer, ele encaminha solicitações para o servidor de origem usando o protocolo na solicitação do visualizador. Observe que ele armazena em cache o objeto somente uma vez, mesmo se os visualizadores fazer solicitações usando protocolos HTTP e HTTPS. Caution Se o CloudFront encaminha uma solicitação para a origem usando o protocolo HTTPS, e se o servidor de origem retorna um certificado inválido ou um certificado autoassinado, ele elimina a conexão. Para obter informações sobre como atualizar uma distribuição usando o console do CloudFront, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Para obter informações sobre como atualizar uma distribuição usando a API do CloudFront, acesse o Config no Amazon CloudFront API Reference Distribuição PUT. sequências de caracteres de consulta Você pode configurar se ele encaminha parâmetros de sequência de caracteres de consulta para sua origem. Para obter mais informações, consulte A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105). Timeout de Solicitação A solicitação para o tempo de espera do CloudFront depende do método HTTP: • GET e HEAD solicitações – Se a origem não responder dentro de 30 segundos ou parar de responder por 30 segundos, ele cai a conexão e disponibiliza dois tentativas adicionais para entrar em contato com a origem. Se a origem não responder durante a terceira tentativa, ele não tente novamente até que ele recebe outra solicitação de conteúdo na mesma origem. • DELETE, OPTIONS, PATCH, POSTe POST solicitações – Se a origem não responder dentro de 30 segundos, ele cai a conexão e não tente novamente para entrar em contato com a origem. O cliente pode ressubmeter a solicitação se necessário. A solicitação não pode ser alterada. As solicitações simultâneas para o mesmo objeto (Traffic Spikes) Quando um ponto de presença do CloudFront recebe uma solicitação de um objeto e o objeto não está atualmente no cache ou o objeto expirou, o CloudFront imediatamente envia a solicitação à sua origem. Se houver um pico de tráfego — se solicitações adicionais para o mesmo objeto chegar no ponto de presença antes de sua origem responde a primeira solicitação do CloudFront — pausa brevemente antes de encaminhar solicitações adicionais para o objeto para sua origem. Normalmente, a resposta para a primeira solicitação do CloudFront chegará no ponto de presença antes que a resposta a solicitações subseqüentes. Esta breve pausa ajuda a reduzir a carga desnecessária no servidor de origem. Se as solicitações adicionais não são idênticos porque, por exemplo, você configurou do CloudFront para armazenar em cache com base nos cabeçalhos de solicitações ou cookies, ele encaminha todas as solicitações exclusivas para sua origem. Cabeçalho do Agente do usuário Se você deseja que o CloudFront para armazenar em cache diferentes versões de seus objetos com base no dispositivo de um usuário está usando para visualizar seu conteúdo, recomendamos que você configure o CloudFront para encaminhar os cabeçalhos aplicáveis para sua origem personalizada: API Version 2016-01-13 158 Amazon CloudFront Guia do desenvolvedor Como processos personalizados do CloudFront Respostas do seu Servidor de Origem • CloudFront-Is-Desktop-Viewer • CloudFront-Is-Mobile-Viewer • CloudFront-Is-SmartTV-Viewer • CloudFront-Is-Tablet-Viewer Com base no valor do User-Agent cabeçalho, ele define o valor de esses cabeçalhos true ou false antes de encaminhar a solicitação à sua origem. Se um dispositivo cai em mais de uma categoria, mais de um valor true. Por exemplo, para alguns dispositivos tablet, ele pode definir CloudFront-Is-Mobile-Viewer e CloudFront-Is-Tablet-Viewer para true. Para obter mais informações sobre a configuração do CloudFront para armazenar em cache com base nos cabeçalhos de solicitação, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Você pode configurar o CloudFront para armazenar em cache os objetos com base nos valores do User-Agent cabeçalho, mas não é recomendável. O User-Agent cabeçalho tem uma grande quantidade de valores possíveis e armazenamento em cache com base nesses valores fazem com que o CloudFront encaminhe significativamente mais solicitações para sua origem. Se você não configurar o CloudFront para armazenar em cache os objetos com base nos valores do User-Agent cabeçalho, do CloudFront CloudFront adiciona um User-Agent cabeçalho com o seguinte valor antes que ele encaminha uma solicitação para sua origem: User-Agent = Amazon CloudFront CloudFront adiciona esse cabeçalho, independentemente de a solicitação do visualizador inclui um User-Agent cabeçalho. Se a solicitação do visualizador inclui um User-Agent cabeçalho, ele remove. Como processos personalizados do CloudFront Respostas do seu Servidor de Origem Para obter informações sobre como as respostas de processos do CloudFront personalizadas aplicáveis de servidores de origem, consulte o tópico: Tópicos • Armazenamento em cache (p. 159) • Solicitações canceladas (p. 160) • Negociação de conteúdo (p. 160) • Cookies (p. 160) • Conexões TCP Eliminadas (p. 160) • Resposta HTTP Cabeçalhos que Remove ou atualizações do CloudFront (p. 160) • Tamanho máximo de arquivo (p. 161) • Origem indisponível (p. 161) • Redireciona (p. 161) • Codificação de transferência (p. 162) Armazenamento em cache • Certifique-se de que o servidor de origem define válido e valores precisos para o Date e campos de Last-Modified cabeçalho. API Version 2016-01-13 159 Amazon CloudFront Guia do desenvolvedor Como processos personalizados do CloudFront Respostas do seu Servidor de Origem • Se solicitações de visualizadores incluem o If-Match ou If-None-Match solicitar campos de cabeçalho, defina o campo de cabeçalho de ETag resposta. Se você não especificar um ETag valor, o CloudFront ignora If-Match ou If-None-Match cabeçalhos subsequentes. • CloudFront normalmente respeita um Cache-Control: no-cache cabeçalho na resposta a partir da origem. Para uma exceção, consulte As solicitações simultâneas para o mesmo objeto (Traffic Spikes) (p. 158). Solicitações canceladas Se um objeto não estiver no cache de presença, e se um visualizador é encerrado uma sessão (por exemplo, fecha um navegador) depois do CloudFront obtém o objeto de sua origem, mas antes de fornecer o objeto solicitado, ele não armazena em cache o objeto no ponto de presença. Negociação de conteúdo Se sua origem retornar Vary:* na resposta, e se o valor Minimum TTL para o comportamento de cache é correspondente 0, ele armazena o objeto, mas ainda encaminhará a cada solicitação subseqüente para o objeto para a origem para confirmar que o cache contém a versão mais recente do objeto. Se sua origem retornar Vary:* na resposta e se o valor de comportamento de cache é correspondente Minimum TTL para qualquer outro valor, processos do CloudFront, como descrito no Vary cabeçalho Resposta HTTP Cabeçalhos que Remove ou atualizações do CloudFront (p. 160). Cookies Se você ativar os cookies para um comportamento de cache e se a origem retorna cookies com um objeto, caches do CloudFront tanto o objeto e a cookies. Observe que isso reduz cache para um objeto. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). Conexões TCP Eliminadas Se a conexão TCP entre CloudFront e sua origem cai ao mesmo tempo em que sua origem está retornando um objeto para o comportamento do CloudFront do CloudFront, depende de sua origem incluído um Content-Length cabeçalho de resposta: • Tamanho doConteúdo – cabeçalho do CloudFront retorna o objeto para o visualizador à medida que é o objeto de sua origem. No entanto, se o valor do Content-Length cabeçalho não corresponde ao tamanho do objeto, ele não armazena em cache o objeto. • Codificação detransferência: Chunked – do CloudFront retorna o objeto para o visualizador à medida que é o objeto de sua origem. No entanto, se a resposta é dividida não é concluído, ele não armazena em cache o objeto. • Nenhum conteúdo – cabeçalho Tamanho do CloudFront retorna o objeto para o visualizador e os armazenam, mas o objeto não pode ser concluído. Sem um Content-Length cabeçalho, ele não pode determinar se a conexão TCP foi eliminado acidentalmente ou no fim. Recomendamos que você configurar seu servidor HTTP para adicionar um Content-Length cabeçalho para impedir que os objetos de armazenamento em cache do CloudFront parcial. Resposta HTTP Cabeçalhos que Remove ou atualizações do CloudFront CloudFront remove ou atualiza os seguintes campos de cabeçalho antes de encaminhar a resposta de sua origem para o visualizador: API Version 2016-01-13 160 Amazon CloudFront Guia do desenvolvedor Como processos personalizados do CloudFront Respostas do seu Servidor de Origem • Se você configurarSet-Cookie – encaminhe cookies do CloudFront, ele encaminhará o campo de Set-Cookie cabeçalho para clientes. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). • Trailer • Se a sua origem retornarTransfer-Encoding – este campo de cabeçalho, ele define o valor para chunked antes de retornar a resposta para o visualizador. • Upgrade • Vary – Observe o seguinte: • Se você configurar o CloudFront para encaminhar todos os cabeçalhos específicos do dispositivo para sua origem (CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer, CloudFront-Is-SmartTV-Viewer, CloudFront-Is-Tablet-Viewer) e você configurar sua origem para retornar Vary:User-Agent para o CloudFront, o CloudFront retorna Vary:UserAgent para o visualizador. Para obter mais informações, consulte A configuração do CloudFront para objetos de cache com base no tipo de dispositivo (p. 112). • Se você configurar a origem para incluir Accept-Encoding ou Cookie no Vary cabeçalho, ele inclui os valores na resposta para o visualizador. • Se você configurar o CloudFront para encaminhar uma lista branca de cabeçalhos para sua origem, e se você configurar a origem para retornar os nomes de cabeçalho do CloudFront no Vary cabeçalho (por exemplo, Vary:Accept-Charset,Accept-Language), ele retorna o Vary cabeçalho com esses valores para o visualizador. • Para obter informações sobre como um valor de processos do CloudFront * no Vary cabeçalho, consulte Negociação de conteúdo (p. 160). • Se você configurar a origem para incluir outros valores no Vary cabeçalho, o CloudFront remove os valores antes de retornar a resposta para o visualizador. • Independentemente de sua origemVia – retorna esse campo de cabeçalho do CloudFront, o CloudFront define o valor para: stringVia: 1.1 .cloudfront.net (CloudFront)alfanumérica antes de retornar a resposta para o visualizador. Por exemplo: Via: 1.1 1026589cc7887e7a0dc7827b4example.cloudfront.net (CloudFront) Tamanho máximo de arquivo O tamanho máximo de um corpo de resposta que o CloudFront retornará para o visualizador é de 20 GB. Isso inclui as respostas de transferência é dividida que não especifica o valor do ContentLength cabeçalho. Origem indisponível Se o seu servidor de origem está indisponível e do CloudFront recebe uma solicitação de um objeto que está no cache de presença, mas que expirou (por exemplo, porque o período de tempo especificado na Cache-Control max-age diretiva passou), o CloudFront o serve a versão do objeto expirado ou serve uma página de erro personalizada. Para obter mais informações, consulte Como CloudFront Processos e Caches Códigos de status de HTTP 4xx e 5xx da sua origem (p. 162). Em alguns casos, um objeto que é raramente solicitado será despejado e não está mais disponível no cache de presença. CloudFront não pode servir um objeto que foi removida. Redireciona Se você alterar a localização de um objeto no servidor de origem, você pode configurar seu servidor da Web para redirecionar as solicitações para o novo local. Depois de configurar o redirecionamento, API Version 2016-01-13 161 Amazon CloudFront Guia do desenvolvedor Como Códigos de status de processos do CloudFront HTTP 3xx da sua origem a primeira vez que um usuário envia uma solicitação para o objeto, Front envia a solicitação do CloudFront para a origem e a origem responde com um redirecionamento (por exemplo, 302 Moved Temporarily). caches do CloudFront o redirecionamento e retorna-lo para o visualizador. CloudFront não segue o redirecionamento. Você pode configurar o seu servidor web para redirecionar as solicitações para um dos seguintes locais: • O novo URL do objeto no servidor de origem. Quando o visualizador segue o redirecionamento para o novo URL, o visualizador ignora do CloudFront e vai diretamente para a origem. Como resultado, recomendamos que você não redirecione as solicitações para o novo URL do objeto na origem. • O novo URL do CloudFront para o objeto. Quando o visualizador envia a solicitação que contém o novo URL do CloudFront, o CloudFront obtém o objeto para o novo local na sua origem, armazena em cache no ponto de presença e retorna o objeto para o visualizador. As solicitações subseqüentes para o objeto serão atendidas pelo ponto de presença. Isso evita a latência e carga associado ao visualizador solicitar o objeto a partir da origem. No entanto, a cada nova solicitação para o objeto deve ser cobrado por duas solicitações para CloudFront. Codificação de transferência CloudFront oferece suporte apenas o chunked valor do Transfer-Encoding cabeçalho. Se a sua origem retornar Transfer-Encoding: chunked, ele retorna o objeto para o cliente como o objeto é recebida no ponto de presença e armazena o objeto no formato é dividida para solicitações subseqüentes. Se o usuário faz uma Range GET solicitação e a origem retorna Transfer-Encoding: chunked, ele retorna o objeto inteiro para o visualizador em vez do intervalo solicitada. Recomendamos que você use codificação agrupada se o tamanho do conteúdo de sua resposta não pode ser predeterminado. Para obter mais informações, consulte Conexões TCP Eliminadas (p. 160). Como Códigos de status de processos do CloudFront HTTP 3xx da sua origem Quando as solicitações do CloudFront um objeto de seu bucket do Amazon S3 ou servidor de origem personalizado, sua origem, às vezes, retorna um código de status HTTP 3xx, que normalmente indica que o URL foi alterado (301, Movido permanentemente ou 307, Temporário redirecionamento) ou que o objeto não foram alterados desde a última vez que o solicitou do CloudFront (304, não modificado). 3xx do CloudFront armazena em cache respostas para a duração especificada pelo configurações em sua distribuição do CloudFront e pelos campos de cabeçalho que sua origem retornar junto com um objeto. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Se sua origem retorna um código de status 301 ou 307, ele não segue o redirecionamento para o novo local. Como CloudFront Processos e Caches Códigos de status de HTTP 4xx e 5xx da sua origem Tópicos API Version 2016-01-13 162 Amazon CloudFront Guia do desenvolvedor Como Erros de processos do CloudFront quando você tem páginas de erro personalizadas configurados • Como Erros de processos do CloudFront quando você tem páginas de erro personalizadas configurados (p. 163) • Como processos do CloudFront Erros Não Configurado quando você tem páginas de erro personalizadas (p. 164) • Códigos de status de HTTP 4xx e 5xx que Caches do CloudFront (p. 165) Quando as solicitações do CloudFront um objeto de seu bucket do Amazon S3 ou servidor de origem personalizado, sua origem, às vezes, retorna um código de status HTTP 4xx ou 5xx, o que indica um erro. comportamento do CloudFront depende de: • Se você tiver configurado páginas de erro personalizadas. • Se você tiver configurado por quanto tempo você deseja que o CloudFront para armazenar em cache as respostas de erro de sua origem mínima de armazenamento em cache de erro (TTL). • O código de status. • Para códigos de status 5xx, se o objeto solicitado está atualmente no cache de presença do CloudFront. Para obter informações sobre as configurações para páginas de erro personalizadas no console do CloudFront, consulte Erro de páginas de erro personalizadas e armazenamento em cache (p. 77). Para obter informações sobre o armazenamento em cache de erro mínimo de TTL no console do CloudFront, consulte Erro ao armazenamento em cache TTL mínimo (p. 77). Para obter uma lista de códigos de status do HTTP que caches do CloudFront, consulte Códigos de status de HTTP 4xx e 5xx que Caches do CloudFront (p. 165). Se você tiver habilitado o registro, ele grava os resultados para os logs, independentemente do código de status HTTP. Como Erros de processos do CloudFront quando você tem páginas de erro personalizadas configurados Se você tiver configurado páginas de erro personalizadas, o comportamento do CloudFront depende se o objeto solicitado está no cache de presença. O objeto solicitado não está no cache de presença CloudFront continua a tente para obter o objeto solicitado de sua origem quando todas as opções a seguir forem verdadeiras: • Um visualizador solicita um objeto • O objeto não está no cache de presença • Sua origem retorna um código de status HTTP 4xx e 5xx 304 em vez de retornar um código de status (não modificado) ou uma versão atualizada do objeto CloudFront faz o seguinte: 1. No cache de presença do CloudFront que recebeu a solicitação do visualizador, o CloudFront verifica a sua configuração de distribuição e obtém o caminho da página de erro personalizada que corresponde ao código de status que sua origem retornado. 2. CloudFront localiza o primeiro comportamento de cache em sua distribuição que tenha um caminho padrão que corresponde ao caminho da página de erro personalizada. API Version 2016-01-13 163 Amazon CloudFront Guia do desenvolvedor Como processos do CloudFront Erros Não Configurado quando você tem páginas de erro personalizadas 3. O ponto de presença do CloudFront envia uma solicitação para a página de erro personalizada para a origem que é especificado no comportamento de cache. 4. A origem retorna a página de erro personalizada para o ponto de presença. 5. CloudFront retorna a página de erro personalizadas para o espectador que fez a solicitação, e também armazena em cache a página de erro personalizada para a quantidade de tempo especificado pelo armazenamento em cache de erro mínimo de TTL (cinco minutos por padrão). 6. Após o TTL mínimo de armazenamento em cache de erro do CloudFront, tente novamente para obter o objeto solicitado por encaminhando outra solicitação para sua origem. CloudFront continua para tentar novamente em intervalos especificados pela TTL mínimo de armazenamento em cache de erro. O objeto é solicitado no cache de presença CloudFront continua a servir o objeto que está atualmente no cache de presença quando todas as opções a seguir são verdadeiras: • Um visualizador solicita um objeto • O objeto está no cache de presença mas expirou • Sua origem retorna um código de status HTTP 4xx e 5xx 304 em vez de retornar um código de status (não modificado) ou uma versão atualizada do objeto CloudFront faz o seguinte: 1. Se sua origem retorna um código de status 5xx, o CloudFront oferece o objeto, mesmo que ele expirou. Para a duração do erro TTL mínimo de armazenamento em cache, ele continua a responder a solicitações do visualizador, servindo o objeto do cache de presença. Se sua origem retorna um código de status 4xx, ele retorna o código de status, não o objeto solicitado, para o visualizador. 2. Após o TTL mínimo de armazenamento em cache de erro do CloudFront, tente novamente para obter o objeto solicitado por encaminhando outra solicitação para sua origem. Observe que, se o objeto não são solicitados com frequência, ele pode remover do cache de presença e, ao mesmo tempo, seu servidor de origem ainda está retornando 5xx respostas. Para obter informações sobre por quanto tempo os objetos permanecem em caches de presença do CloudFront, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Como processos do CloudFront Erros Não Configurado quando você tem páginas de erro personalizadas Se você não tiver configurado páginas de erro personalizadas, o comportamento do CloudFront depende se o objeto solicitado está no cache de presença. O objeto solicitado não está no cache de presença CloudFront continua a tente para obter o objeto solicitado de sua origem quando todas as opções a seguir forem verdadeiras: • Um visualizador solicita um objeto • O objeto não está no cache de presença API Version 2016-01-13 164 Amazon CloudFront Guia do desenvolvedor Códigos de status de HTTP 4xx e 5xx que Caches do CloudFront • Sua origem retorna um código de status HTTP 4xx e 5xx 304 em vez de retornar um código de status (não modificado) ou uma versão atualizada do objeto CloudFront faz o seguinte: 1. 4xx ou 5xx do CloudFront retorna o código de status para o visualizador. 2. CloudFront também armazena o código de status no cache de presença que recebeu a solicitação. 3. Para a duração do cache de erro mínimo de TTL (cinco minutos por padrão), ele responde a solicitações de visualizador subsequentes para o mesmo objeto armazenado em cache 4xx ou 5xx com o código de status. 4. Após o TTL mínimo de armazenamento em cache de erro do CloudFront, tente novamente para obter o objeto solicitado por encaminhando outra solicitação para sua origem. O objeto é solicitado no cache de presença CloudFront continua a servir o objeto que está atualmente no cache de presença quando todas as opções a seguir são verdadeiras: • Um visualizador solicita um objeto • O objeto está no cache de presença mas expirou • Sua origem retorna um código de status HTTP 4xx e 5xx 304 em vez de retornar um código de status (não modificado) ou uma versão atualizada do objeto CloudFront faz o seguinte: 1. Se sua origem retorna um código de erro 5xx, o CloudFront oferece o objeto, mesmo que ele expirou. Para a duração do cache de erro mínimo de TTL (cinco minutos por padrão), ele continua a responder a solicitações do visualizador, servindo o objeto do cache de presença. Se sua origem retorna um código de status 4xx, ele retorna o código de status, não o objeto solicitado, para o visualizador. 2. Após o TTL mínimo de armazenamento em cache de erro do CloudFront, tente novamente para obter o objeto solicitado por encaminhando outra solicitação para sua origem. Observe que, se o objeto não são solicitados com frequência, ele pode remover do cache de presença e, ao mesmo tempo, seu servidor de origem ainda está retornando 5xx respostas. Para obter informações sobre por quanto tempo os objetos permanecem em caches de presença do CloudFront, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). Códigos de status de HTTP 4xx e 5xx que Caches do CloudFront caches do CloudFront HTTP 4xx e 5xx a seguir os códigos de status retornados pelo Amazon S3 ou seu servidor de origem personalizado. Se você tiver configurado uma página de erro personalizada para um código de status HTTP, o CloudFront armazena em cache a página de erro personalizada. 400 Solicitação incorreta 403 Proibido 404 Não encontrado 405 Método Não Permitido API Version 2016-01-13 165 Amazon CloudFront Guia do desenvolvedor Códigos de status de HTTP 4xx e 5xx que Caches do CloudFront 414 Solicitação-URI muito grande 500 Erro de serviço interno 501 Não implementado 502 Gateway Inválido 503 Serviço Indisponível 504 Gateway Timeout API Version 2016-01-13 166 Amazon CloudFront Guia do desenvolvedor Visão geral de conteúdo privado Distribuição de conteúdo privado por meio do CloudFront Muitas empresas que distribuir conteúdo pela Internet para limitar o acesso a documentos, dados comerciais, streams de mídia ou conteúdo que é destinado aos usuários selecionados, por exemplo, os usuários que têm paga uma taxa. Para atender com segurança usando este conteúdo privado do CloudFront, você pode fazer o seguinte: • Exija que seus usuários acessam seu conteúdo privado usando URLs assinadas ou assinadas do CloudFront especiais cookies. • Exija que os usuários acessam o conteúdo do Amazon S3 usando URLs do CloudFront, e não URLs do Amazon S3. Exigência de URLs do CloudFront não é necessária, mas recomendamos para impedir que os usuários ignorando as restrições que você especifica em URLs assinadas ou assinadas cookies. Tópicos • Visão geral de conteúdo privado (p. 167) • O uso de um HTTP Server para conteúdo privado (p. 168) • Lista de Tarefas: Distribuição de Conteúdo privado (p. 170) • Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171) • Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177) • Escolhendo entre URLs assinadas e cookies assinados (p. 184) • Usando URLs assinadas (p. 185) • Usando cookies assinados (p. 205) • O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 (p. 221) • Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222) Visão geral de conteúdo privado Você pode controlar o acesso do usuário ao seu conteúdo privado de duas formas, como mostrado na ilustração a seguir: API Version 2016-01-13 167 Amazon CloudFront Guia do desenvolvedor Restringir o acesso aos objetos em Caches de presença do CloudFront 1. Restrinja o acesso a objetos no cache de presença do CloudFront 2. Restrinja o acesso a objetos em seu bucket do Amazon S3 Restringir o acesso aos objetos em Caches de presença do CloudFront Você pode configurar o CloudFront para exigir que os usuários acessam seus objetos usando URLs assinadas ou assinadas cookies. Em seguida, você desenvolver seu aplicativo para criar e distribuir URLs assinadas para usuários autenticados ou para enviar Set-Cookie cabeçalhos que definem cookies assinados nos visualizadores para os usuários autenticados. (Para dar a alguns usuários acesso de longo prazo para um número limitado de objetos, você também pode criar URLs assinadas manualmente.) Quando você criar URLs assinadas ou cookies assinados para controlar o acesso a seus objetos, você pode especificar as seguintes restrições: • Uma data final e hora, depois que o URL não é mais válido. • (Opcional) A data e a hora em que o URL torna-se válido. • (Opcional) O endereço IP ou a faixa de endereços dos computadores que podem ser usadas para acessar o seu conteúdo. Uma parte de um URL assinada ou um cookie é misturado e assinado usando a chave privada de um par de chaves públicas/privadas. Quando alguém usa um URL assinada ou assinadas para acessar um objeto, cookie do CloudFront assinados e não assinados compara as partes de URL ou cookie. Se eles não correspondem, ele não servir o objeto. Restringir o acesso aos objetos no Amazon S3 Buckets Opcionalmente, você pode proteger o conteúdo em seu bucket do Amazon S3 para que os usuários possam acessá-la por meio do CloudFront, mas não pode acessá-lo diretamente usando o Amazon S3 URLs. Isso evita que qualquer pessoa de ignorando e usando o URL do Amazon S3 do CloudFront para obter conteúdo que você deseja restringir o acesso. Esta etapa não é necessária para usar URLs assinadas, mas recomendamos que ele. Para exigir que os usuários acessam seu conteúdo por meio de URLs do CloudFront, você pode executar as seguintes tarefas: • Crie um usuário do CloudFront especial chamado de identidade de acesso de origem. • Dê a permissão de identidade de acesso de origem para ler os objetos em seu bucket. • Remover permissão para outra pessoa usar o Amazon S3 URLs para ler os objetos. O uso de um HTTP Server para conteúdo privado Você pode usar URLs assinadas ou cookies assinados para qualquer distribuição do CloudFront, independentemente de a origem é um bucket do Amazon S3 ou um servidor HTTP. No entanto, para CloudFront para obter seus objetos a partir de um servidor HTTP, os objetos devem permanecer acessível publicamente. Quando os objetos são acessíveis publicamente, qualquer pessoa que tem o URL para um objeto no seu servidor HTTP podem acessar o objeto sem efetuar login ou pagar por API Version 2016-01-13 168 Amazon CloudFront Guia do desenvolvedor O uso de um HTTP Server para conteúdo privado seu conteúdo. Se você usar URLs assinadas ou assinadas cookies e sua origem é um servidor HTTP, não fornecem os URLs para os objetos em seu servidor HTTP para os seus clientes ou para outros usuários fora da organização. API Version 2016-01-13 169 Amazon CloudFront Guia do desenvolvedor Lista de Tarefas: Distribuição de Conteúdo privado Lista de Tarefas: Distribuição de Conteúdo privado Para configurar do CloudFront para servir conteúdo privado, execute as seguintes tarefas: 1. (Opcional, mas recomendado) Exija que seus usuários para acessar o conteúdo apenas por meio do CloudFront. O método que você usa depende se você estiver usando o Amazon S3 ou origens personalizadas: • Amazon S3 – Consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). 2. 3. • origempersonalizado – Consulte Usando Cabeçalhos Personalizados para restringir o acesso ao seu conteúdo em uma origem personalizada (p. 115). Especifique as contas da AWS que você deseja usar para criar URLs assinadas ou assinadas cookies. Para obter mais informações, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). Escreva o seu aplicativo para responder a solicitações de usuários autorizados com URLs assinadas ou com Set-Cookie cabeçalhos que definem cookies assinados. Para obter mais informações, consulte Escolhendo entre URLs assinadas e cookies assinados (p. 184). API Version 2016-01-13 170 Amazon CloudFront Guia do desenvolvedor Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 Tópicos • Criando uma Identidade de acesso de origem do CloudFront e adicionando-lo para sua distribuição (p. 172) • Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 (p. 174) • Usando uma Identidade de acesso de origem no Amazon S3 regiões que Support Somente Signature versão 4 Authentication (p. 176) Normalmente, se você estiver usando um bucket do Amazon S3 como a origem de uma distribuição do CloudFront, você concede permissão para ler todos os objetos no seu bucket. Isso permite que qualquer pessoa para acessar seus objetos por meio do CloudFront ou usando o URL do Amazon S3. Amazon S3 do CloudFront não expõem URLs, mas seus usuários pode ter esses URLs, se o seu aplicativo atende a todos os objetos diretamente do Amazon S3 ou se qualquer pessoa oferece os links diretos para objetos específicos no Amazon S3. Note Você também pode restringir o acesso ao conteúdo em uma origem personalizada, usando os cabeçalhos personalizados. Para obter mais informações, consulte Usando Cabeçalhos Personalizados para restringir o acesso ao seu conteúdo em uma origem personalizada (p. 115). Se você quiser usar URLs assinadas do CloudFront ou assinadas cookies para oferecer acesso a objetos em seu bucket do Amazon S3, você provavelmente também queira impedir que os usuários acessem seus objetos do Amazon S3 usando o Amazon S3 URLs. Se os usuários acessam seus objetos diretamente no Amazon S3, eles contornar os controles fornecidos por URLs assinadas ou cookies assinados do CloudFront, por exemplo, o controle sobre a data e a hora em que o usuário não poderá mais acessar seu conteúdo e controle sobre os endereços IP que podem ser usadas para acessar o conteúdo. Além disso, se os usuários acessam objetos tanto por meio do CloudFront e diretamente usando o Amazon S3 URLs, logs de acesso do CloudFront são menos útil, pois eles está incompleta. Note Para criar identidades de acesso de origem, você deve usar o console do CloudFront ou versão de API do CloudFront 2009-09-09 ou posterior. Para garantir que seus usuários acessam seus objetos usando apenas URLs do CloudFront, independentemente de os URLs são assinadas, execute as seguintes tarefas: 1. Crie uma identidade de acesso de origem, que é um usuário do CloudFront especiais e associe a identidade de acesso de origem com sua distribuição. (Para distribuições da web, você associa a identidade de acesso de origem com origens, para que você possa proteger todos os dados ou apenas alguns de seus Amazon S3 conteúdo.) Você também pode criar uma identidade de acesso de origem e adicioná-lo à sua distribuição quando você cria a distribuição. Para obter mais informações, consulte Criando uma Identidade de acesso de origem do CloudFront e adicionando-lo para sua distribuição (p. 172). API Version 2016-01-13 171 Amazon CloudFront Guia do desenvolvedor Criando uma Identidade de acesso de origem do CloudFront e adicionando-lo para sua distribuição 2. Alterar as permissões em seu bucket do Amazon S3 ou nos objetos no seu bucket para que somente a identidade de acesso de origem tem permissão de leitura (ou ler e fazer o download de permissão). Quando os usuários acessam seus objetos por meio do Amazon S3 do CloudFront, o CloudFront obtém a identidade de acesso de origem objetos em nome dos seus usuários. Se seus usuários solicitar objetos diretamente usando o Amazon S3 URLs, não terão acesso. A identidade de acesso de origem tem permissão para acessar objetos em seu bucket do Amazon S3, mas os usuários não. Para obter mais informações, consulte Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 (p. 174). Criando uma Identidade de acesso de origem do CloudFront e adicionando-lo para sua distribuição Uma conta da AWS pode ter até 100 identidades de acesso de origem do CloudFront. No entanto, você pode adicionar uma identidade de acesso de origem para o número de distribuições que você deseja, para que uma identidade de acesso de origem é normalmente suficiente. Se você não criar uma identidade de acesso de origem e adicioná-lo à sua distribuição quando você criou a distribuição, você pode criar e adicionar um agora usando o console ou a API do CloudFront do CloudFront: • Se você estiver usando o console do CloudFront – Você pode criar uma identidade de acesso de origem e adicioná-lo à sua distribuição ao mesmo tempo. Para obter mais informações, consulte Criando uma Identidade de acesso de origem e Adicionando-lo para sua distribuição usando o console do CloudFront (p. 172). • Se você estiver usando a API do CloudFront – Você cria uma identidade de acesso de origem e, em seguida, adicione-lo para a sua distribuição. Execute o procedimento em cada um dos seguintes tópicos: • Criando uma Identidade de acesso de origem usando a API do CloudFront (p. 173) • Adicionando uma Identidade de acesso de origem para sua distribuição usando a API do CloudFront (p. 174) Criando uma Identidade de acesso de origem e Adicionando-lo para sua distribuição usando o console do CloudFront Se você não criar uma identidade de acesso de origem quando você criou sua distribuição, execute o procedimento a seguir. Para criar uma identidade de acesso de origem do CloudFront usando o console do CloudFront 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. Clique no ID da distribuição que você deseja adicionar uma identidade de acesso de origem. 3. Alterar para o modo de edição: • Distribuições deweb – Clique na Origins guia, selecione a origem que você deseja editar e clique em Edit. Você só pode criar uma identidade de acesso de origem para origens para as quais Origin Type é S3 Origin. • As distribuiçõesRTMP – Clique Edit. 4. Para Restrict Bucket Access, clique em Yes. 5. Se você já tem uma identidade de acesso de origem que você deseja usar, clique em Use an Existing Identity. Em seguida, selecione a identidade na Your Identities lista. API Version 2016-01-13 172 Amazon CloudFront Guia do desenvolvedor Criando uma Identidade de acesso de origem do CloudFront e adicionando-lo para sua distribuição Note Se você já tem uma identidade de acesso de origem, recomendamos que você reutilizá-la para simplificar a manutenção. Se você deseja criar uma identidade, clique em Create a New Identity. Em seguida, digite uma descrição para a identidade no Comment campo. 6. Se você deseja que a origem do CloudFront oferecem automaticamente a permissão de identidade de acesso para ler objetos no bucket do Amazon S3 especificado no Origin Domain Name, clique em Yes, Update Bucket Policy. Important Se você clicar Yes, Update Bucket Policy, atualizações do CloudFront para conceder permissões de bucket especificado a permissão de identidade de acesso de origem para ler objetos em seu bucket. No entanto, ele não remove permissões existentes. Se os usuários atualmente têm permissão para acessar os objetos em seu bucket usando o Amazon S3 URLs, eles ainda terá essa permissão após as atualizações do CloudFront seu bucket permissões. Para visualizar ou remover as permissões de buckets existentes, use um método fornecido pelo Amazon S3. Para obter mais informações, consulte Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 (p. 174). Se você deseja atualizar manualmente as permissões em seu bucket do Amazon S3, clique em No, I Will Update Permissions. 7. Clique em Yes, Edit. 8. Se você está adicionando uma identidade de acesso de origem para uma distribuição de web e você tem mais de uma origem, repita Etapa 3 a Etapa 7 conforme aplicável. Criando uma Identidade de acesso de origem usando a API do CloudFront Se você já tem uma identidade de acesso de origem e quiser reutilizá-la, em vez de criar outro, vá para Adicionando uma Identidade de acesso de origem para sua distribuição usando a API do CloudFront (p. 174). Para criar uma identidade de acesso de origem do CloudFront usando a API do CloudFront, use a ação de POST Origin Access Identity API. A resposta inclui um Id e um S3CanonicalUserId para a nova identidade de acesso de origem. Anote esses valores porque você vai usá-las posteriormente no processo: • elementoId – Você usa o valor do Id elemento para associar uma ID de acesso de origem com sua distribuição. • elementoS3CanonicalUserId – Você usa o valor do S3CanonicalUserId elemento quando você conceder acesso do CloudFront ao seu bucket do Amazon S3 ou objetos. Para obter mais informações sobre a POST Origin Access Identity API ação, vá para POST na Amazon CloudFront API Reference Identidade de acesso de origem. Para obter uma lista de outras ações que você pode executar em identidades de acesso de origem, vá para Actions na Identidades de origem de acesso, também no Amazon CloudFront API Reference. API Version 2016-01-13 173 Amazon CloudFront Guia do desenvolvedor Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 Adicionando uma Identidade de acesso de origem para sua distribuição usando a API do CloudFront Você pode usar a API do CloudFront do CloudFront para adicionar uma identidade de acesso de origem para uma distribuição existente ou criar uma nova distribuição que inclui uma identidade de acesso de origem. Em qualquer um dos casos, incluem um OriginAccessIdentity elemento. Este elemento contém o valor do Id elemento que a ação POST Origin Access Identity API retornado quando você criou a identidade de acesso de origem. Para distribuições da web, adicione o OriginAccessIdentity elemento para uma ou mais origens. Para distribuições RTMP, adicione o OriginAccessIdentity elemento para a distribuição. Consulte o tópico no Amazon CloudFront API Reference aplicáveis: • Crie uma nova distribuição de web – POST Distribution • Atualizar uma distribuição de web existente – distribuição PUT Config • Crie uma nova distribuição de distribuição RTMP –POST Streaming • Atualizar uma distribuição RTMP – PUT Streaming Distribution Config Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 Ao criar ou atualizar uma distribuição, você pode adicionar uma identidade de acesso de origem e atualizar automaticamente a política de bucket para oferecer a identidade de acesso de origem permissão para acessar seu bucket. Como alternativa, você pode optar por alterar manualmente a política de bucket ou alterar as ACLs, que controlam permissões em objetos individuais em seu bucket. Qualquer que seja o método que você usar, você ainda deve revisar a política de bucket para o bucket e analisar as permissões em seus objetos para garantir que: • CloudFront pode acessar objetos no bucket em nome de usuários que estão solicitando seus objetos por meio do CloudFront. • Os usuários não podem usar o Amazon S3 URLs para acessar seus objetos. Caution Se você configurar o CloudFront para aceitar e encaminhar o Amazon S3 todos os métodos HTTP que ele suporta, criar uma identidade de acesso de origem do CloudFront para restringir o acesso ao conteúdo do Amazon S3, e conceder acesso de origem identidade as permissões aplicáveis. Por exemplo, se você configurar do CloudFront para aceitar e encaminhar esses métodos, pois você deseja usar o PUT método, você deve configurar políticas de bucket do Amazon S3 ou ACLs para lidar com DELETE as solicitações de forma apropriada para que os usuários não podem excluir os recursos que você não desejar. Observe o seguinte: • Você pode achar mais fácil para atualizar o Amazon S3 políticas de bucket de ACLs, pois você pode adicionar objetos para o bucket sem atualizar permissões. No entanto, as ACLs oferecem a você um controle mais refinado porque você terá a concessão de permissões em cada objeto. • Por padrão, o bucket do Amazon S3 e todos os seus objetos são privados – somente a conta da AWS que criou o bucket tem permissão para ler ou gravar os objetos. API Version 2016-01-13 174 Amazon CloudFront Guia do desenvolvedor Como conceder o acesso de origem de leitura Identity Permissão para objetos no seu bucket do Amazon S3 • Se você está adicionando uma identidade de acesso de origem para uma distribuição existente, modifique a política de bucket ou qualquer objeto ACLs conforme apropriado para garantir que os objetos não estão publicamente disponíveis. • Conceder permissões adicionais para uma ou mais contas de administrador segura, para que você possa continuar a atualizar o conteúdo do bucket do Amazon S3. Important Pode haver uma breve atraso entre quando você salvar as alterações para o Amazon S3 permissões e quando as alterações entrarão em vigor. Até que as alterações entrarão em vigor, você pode obter permissão-negado erros ao tentar acessar objetos em seu bucket. Atualizando Políticas de bucket do Amazon S3 Você pode atualizar a política de bucket do Amazon S3 usando o Console de gerenciamento da AWS ou a API do Amazon S3: • Conceder a identidade de acesso de origem do CloudFront as permissões aplicáveis no bucket. Para especificar uma identidade de acesso de origem, use o valor Amazon S3 Canonical User ID na Origin Access Identity página no console do CloudFront. Se você estiver usando a API do CloudFront, use o valor do S3CanonicalUserId elemento que foi retornado quando você criou a identidade de acesso de origem. • Negar o acesso a qualquer pessoa que você não deseja acessar usando o Amazon S3 URLs. Para obter mais informações, vá para Usando Políticas de buckets e políticas do usuário no Guia do desenvolvedor do Amazon Simple Storage Service. Para um exemplo, consulte "Como conceder permissão para um Amazon CloudFront Origin Identificar" no tópico Bucket Policy Exemplos, também no Guia do desenvolvedor do Amazon Simple Storage Service. Atualizando ACLs do Amazon S3 Usando o Console de gerenciamento da AWS ou a API do Amazon S3, altere o Amazon S3 ACL: • Conceder a identidade de acesso de origem do CloudFront aplicáveis permissões em cada objeto que a distribuição do CloudFront atende. Para especificar uma identidade de acesso de origem, use o valor Amazon S3 Canonical User ID na Origin Access Identity página no console do CloudFront. Se você estiver usando a API do CloudFront, use o valor do S3CanonicalUserId elemento que foi retornado quando você criou a identidade de acesso de origem. • Negar o acesso a qualquer pessoa que você não deseja acessar usando o Amazon S3 URLs. Se outra conta da AWS faz o upload de objetos para o seu bucket, que conta é o proprietário dos objetos. Por padrão, a conta que possui objetos em um bucket é a única conta que pode conceder permissões para esses objetos. No entanto, a conta da AWS que possui os objetos pode fazer um proprietário, também, que permite alterar as permissões nos objetos. Para obter mais informações, consulte Gerenciamento de acesso com ACLs no Guia do desenvolvedor do Amazon Simple Storage Service. Você também pode alterar as ACLs usando código e um dos AWS SDKs. Para obter um exemplo, consulte o código de amostra para download Crie um URL Signature Using C # e o.NET Framework (p. 226). API Version 2016-01-13 175 Amazon CloudFront Guia do desenvolvedor Usando uma Identidade de acesso de origem no Amazon S3 regiões que Support Somente Signature versão 4 Authentication Usando uma Identidade de acesso de origem no Amazon S3 regiões que Support Somente Signature versão 4 Authentication O Amazon S3 mais novas regiões exigem que você use a assinatura versão 4 para solicitações autenticadas. (Para as versões de assinatura disponíveis em cada região do Amazon S3, consulte Amazon Simple Storage Service (S3) no tópico Regiões e pontos finais na Amazon Web Services General Reference.) No entanto, ao criar uma identidade de acesso de origem e adicioná-lo para uma distribuição do CloudFront, o CloudFront normalmente usa assinatura versão 2 para autenticação quando as solicitações de objetos em seu bucket do Amazon S3. Se você estiver usando uma identidade de acesso de origem e se o seu bucket está em uma das regiões que requer assinatura versão 4 para autenticação, observe o seguinte: • DELETE, GET, HEAD, OPTIONSe PATCH solicitações são suportados sem qualificações. • Se você deseja enviar PUT solicitações para CloudFront para fazer o upload de objetos para o bucket do Amazon S3, você deve adicionar um x-amz-content-sha256 cabeçalho para a solicitação e o valor do cabeçalho SHA256 deve conter um hash do corpo da solicitação. Para obter mais informações, consulte a documentação sobre o x-amz-content-sha256 cabeçalho na página Cabeçalhos de Solicitação comuns na Amazon Simple Storage Service API Reference. • POST solicitações não são compatíveis. API Version 2016-01-13 176 Amazon CloudFront Guia do desenvolvedor Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) Tópicos • A criação de pares de chaves do CloudFront para o seu Trusted Signatários (p. 178) • Reformatação do CloudFront Private Key (.NET e Java apenas) (p. 180) • Adicionando Trusted Signatários para sua distribuição (p. 180) • Verificando se são Trusted Signatários Active (Opcional) (p. 182) • Girar pares de chaves do CloudFront (p. 183) Para criar URLs assinadas ou assinadas cookies, você precisa pelo menos uma conta da AWS que tem um par de chaves do CloudFront ativas. Essa conta é conhecido como um assinante confiável. O assinante confiável tem duas finalidades: • Assim que você adicionar o ID da conta da AWS para o seu assinante confiável para sua distribuição, ele começa para exigir que os usuários usam URLs assinadas ou cookies assinados para acessar seus objetos. • Quando você criar URLs assinadas ou cookies assinados, você usa a chave privada do par de chaves do assinante confiável para assinar uma parte do URL ou o cookie. Quando alguém solicita um objeto restrito, ele compara a parte do URL assinado ou cookie com a parte não assinado para verificar se o URL ou cookie não foi falsificado. também verifica se o URL do CloudFront ou cookie é válido, o que significa que, por exemplo, que a data e hora de expiração não foi aprovado. Quando você especifica assinantes confiáveis, você também indiretamente especificar os objetos que exigem URLs assinadas ou assinadas cookies: • Distribuições deweb – Você adicionar assinantes confiáveis para comportamentos de cache. Se a sua distribuição tem apenas um comportamento de cache, os usuários devem usar URLs assinadas ou cookies assinados para acessar qualquer objeto associados com a distribuição. Se você criar vários comportamentos de cache e adicionar assinantes confiáveis para alguns comportamentos de cache e não para outras pessoas, você pode exigir que os usuários usam URLs assinadas ou cookies assinados para acessar alguns objetos e outras não. • As distribuiçõesRTMP (URLs assinadas apenas) – Você adicionar assinantes confiáveis para uma distribuição. Após adicionar assinantes confiáveis para uma distribuição RTMP, os usuários devem usar URLs assinadas para acessar qualquer objeto associados com a distribuição. Note Para especificar assinantes confiáveis para uma distribuição do CloudFront, você deve usar o console ou versão de API do CloudFront 2009-09-09 ou posterior. Para especificar as contas que têm permissão para criar URLs assinadas ou assinadas cookies e para adicionar as contas para sua distribuição do CloudFront, execute as seguintes tarefas: 1. Decida quais contas da AWS que você deseja usar como assinantes confiáveis. A maioria dos clientes do CloudFront usam a conta que eles usado para criar a distribuição. 2. Para cada uma das contas que você selecionou na Etapa 1, crie um par de chaves do CloudFront. Para obter mais informações, consulte A criação de pares de chaves do CloudFront para o seu Trusted Signatários (p. 178). API Version 2016-01-13 177 Amazon CloudFront Guia do desenvolvedor A criação de pares de chaves do CloudFront para o seu Trusted Signatários 3. Se você estiver usando para.NET ou Java para criar URLs assinadas ou cookies assinados, reformatar a chave privada do CloudFront. Para obter mais informações, consulte Reformatação do CloudFront Private Key (.NET e Java apenas) (p. 180). 4. Em a distribuição para a qual você está criando URLs assinadas ou cookies assinados, especifique a conta da AWS IDs de seus assinantes confiáveis. Para obter mais informações, consulte Adicionando Trusted Signatários para sua distribuição (p. 180). 5. (Opcional) Verificar se o CloudFront reconhece que seus assinantes confiáveis têm pares de chaves do CloudFront ativas. Para obter mais informações, consulte Verificando se são Trusted Signatários Active (Opcional) (p. 182). A criação de pares de chaves do CloudFront para o seu Trusted Signatários Cada uma das contas da AWS que você usa para criar URLs assinadas do CloudFront ou assinadas cookies – seus assinantes confiáveis – devem ter seu próprio par de chaves do CloudFront, e o par de chaves devem ser ativas. Observe que você não pode substituir um par de chaves do Amazon EC2 do CloudFront para um par de chaves. Quando você cria um URL assinado ou assinado do CloudFront cookie, você incluem o ID do par de chaves para o par de chaves do assinante confiável no URL. O Amazon EC2 não faz IDs de par de chaves disponíveis. Para ajudar a proteger seus aplicativos, recomendamos que você altere pares de chaves do CloudFront a cada 90 dias ou mais frequentemente. Para obter mais informações, consulte Girar pares de chaves do CloudFront (p. 183). Você pode criar um par de chaves das seguintes formas: • Crie um par de chaves no Console de gerenciamento da AWS e fazer o download da chave privada. Consulte o procedimento Para criar pares de chaves do CloudFront no Console de gerenciamento da AWS (p. 178). • Criar um par de chaves RSA usando um aplicativo, como OpenSSL e carregar a chave pública para o Console de gerenciamento da AWS. Consulte o procedimento Para criar um par de chaves RSA e carregar a chave pública no Console de gerenciamento da AWS (p. 179). Para criar pares de chaves do CloudFront no Console de gerenciamento da AWS 1. Cadastre-se no Console de gerenciamento da AWS usando as credenciais-raiz de uma conta da AWS. Important Os usuários do IAM não pode criar pares de chaves do CloudFront. Você deve fazer login usando as credenciais raiz para criar pares de chaves. 2. No menu, clique em nome da conta Security Credentials. 3. Expanda CloudFront Key Pairs. 4. Confirme se você não têm mais de um par de chaves ativas. Você não pode criar um par de chaves se você já tem dois pares de chaves ativas. 5. Clique em Create New Key Pair. 6. Na caixa de Create Key Pair diálogo, clique em Download Private Key File. 7. Na caixa de Opening <filename> diálogo, aceite o valor padrão Save Filee clique em OK para fazer o download e salvar a chave privada do CloudFront para o seu par de chaves. API Version 2016-01-13 178 Amazon CloudFront Guia do desenvolvedor A criação de pares de chaves do CloudFront para o seu Trusted Signatários Important Salve a chave privada para o seu par de chaves do CloudFront em um local seguro e definir permissões no arquivo de administrador desejada, para que somente os usuários podem ler. Se alguém obtém sua chave privada, eles podem gerar URLs assinadas válido e assinado cookies e baixar seu conteúdo. Você não pode obter a chave privada novamente, portanto, se você perder ou excluí-lo, você deve criar um novo par de chaves do CloudFront. 8. Anote o ID do par de chaves para o seu par de chaves. (No Console de gerenciamento da AWS, isso é chamado de ID de chave de acesso) Você vai usá-lo quando você criar URLs assinadas ou assinadas cookies. Para criar um par de chaves RSA e carregar a chave pública no Console de gerenciamento da AWS 1. Use OpenSSL ou outra ferramenta para criar um par de chaves. Por exemplo, se você estiver usando OpenSSL, você pode usar o comando a seguir para gerar um par de chaves com um tamanho de 4096 bits e salvá-los no arquivo private_key.pem: $ openssl genrsa -out private_key.pem 4096 O arquivo resultante contém o público e a chave privada. Para extrair a chave pública do arquivo, execute o seguinte comando: $ openssl rsa -pubout -in private_key.pem -out public_key.pem A chave pública é o arquivo que você carrega posteriormente neste procedimento Observe os seguintes requisitos para a chave: • O par de chaves deve ser um par de chaves RSA SSH-2. • O par de chaves deve estar em formato PEM codificado em base64. • O suporte para comprimentos de chaves são 1024, 2048 e 4096 bits. 2. Cadastre-se no Console de gerenciamento da AWS usando as credenciais-raiz de uma conta da AWS. Important Os usuários do IAM não pode criar pares de chaves do CloudFront. Você deve fazer login usando as credenciais raiz para criar pares de chaves. 3. No menu, clique em nome da conta Security Credentials. 4. Expanda CloudFront Key Pairs. 5. Confirme se você não têm mais de um par de chaves ativas. Você não pode fazer o upload de seu próprio par de chaves se você já tem dois pares de chaves ativas. 6. Clique em Upload Your Own Key Pair. 7. Na caixa de Upload Your Own Key Pair diálogo, clique em Choose File e escolha o arquivo de chave pública que você criou na etapa 1. 8. Clique em Upload. A caixa de Upload Key Pair diálogo limpa e o novo par de chaves aparece na parte superior da lista de pares de chaves do CloudFront. 9. Anote o ID do par de chaves para o seu par de chaves. (No Console de gerenciamento da AWS, isso é chamado de ID de chave de acesso) Você vai usá-lo quando você criar URLs assinadas ou assinadas cookies. API Version 2016-01-13 179 Amazon CloudFront Guia do desenvolvedor Reformatação do CloudFront Private Key (.NET e Java apenas) Reformatação do CloudFront Private Key (.NET e Java apenas) Se você estiver usando o.NET ou Java para criar URLs assinadas ou cookies assinados, você não pode usar a chave privada do par de chaves no formato.pem padrão para criar a assinatura: • .NET framework – Converter a chave privada para o formato XML que o.NET framework usa. Várias ferramentas estão disponíveis. • Java – Converta a chave privada para DER. Para fazer isso, você pode usar o OpenSSL: $ openssl pkcs8 -topk8 -nocrypt -in origin.pem -inform PEM -out new.der outform DER Para garantir que o codificador funciona corretamente, adicione o jar para a criptografia Java Bouncy Castle APIs para seu projeto e, em seguida, adicionar o Bouncy provedor de Castle. Adicionando Trusted Signatários para sua distribuição Trusted assinantes são as contas da AWS que podem criar URLs assinadas e cookies assinados para uma distribuição. Por padrão, nenhuma conta, nem mesmo a conta que criou a distribuição, tem permissão para criar URLs assinadas ou assinadas cookies. Para especificar as contas da AWS que você deseja usar como assinantes confiáveis, adicione as contas para sua distribuição: • Distribuições deweb – Trusted assinantes são associados a comportamentos de cache. Isso permite que você exigem URLs assinadas ou cookies assinados para alguns objetos e não para outras pessoas na mesma distribuição. Trusted assinantes só podem criar URLs assinadas ou cookies para objetos que são associados a comportamentos de cache correspondentes. Por exemplo, se você tiver um assinante confiável para um comportamento de cache e um assinante confiável diferente para outro comportamento de cache, nem assinante confiável pode criar URLs assinadas ou cookies para objetos que são associadas a outro comportamento de cache. • As distribuiçõesRTMP (URLs assinadas apenas) – Trusted assinantes são associados com a distribuição. Após adicionar assinantes confiáveis para uma distribuição RTMP, os usuários devem usar URLs assinadas ou cookies assinados para acessar qualquer um dos objetos associados com a distribuição. Caution Definir padrões de caminho e sua seqüência cuidadosamente para que você não seja conceder aos usuários o acesso ao conteúdo não intencionais ou impedir que eles acessem o conteúdo que você deseja estar disponível para todos. Por exemplo, suponha que uma solicitação coincide com o caminho padrão para dois comportamentos de cache. O primeiro comportamento de cache não requer URLs assinadas ou assinadas cookies e o segundo comportamento de cache. Os usuários poderão acessar os objetos sem usar URLs assinadas ou cookies assinados, pois ele processa o comportamento de cache que está associada com a primeira correspondência. Para obter mais informações sobre padrões de caminhos, consulte Padrão Path (p. 66). Caution Se você está atualizando uma distribuição que você já está usando para distribuir conteúdo, adicionar assinantes confiáveis somente quando você está pronto para iniciar a geração API Version 2016-01-13 180 Amazon CloudFront Guia do desenvolvedor Adicionando Trusted Signatários para sua distribuição de URLs assinadas ou assinadas cookies para seus objetos ou do CloudFront rejeitará as solicitações: • Distribuições deweb – Após adicionar assinantes confiáveis a um comportamento de cache para uma distribuição de web, os usuários devem usar URLs assinadas ou cookies assinados para acessar os objetos que estão associados com o comportamento de cache. • As distribuiçõesRTMP (URLs assinadas apenas) – Após adicionar assinantes confiáveis para uma distribuição RTMP, os usuários devem usar URLs assinadas para acessar qualquer um dos objetos associados com a distribuição. O número máximo de assinantes confiáveis depende do tipo de distribuição: • Distribuições deweb – Um máximo de cinco para cada comportamento de cache • As distribuiçõesRTMP – um máximo de cinco para a distribuição Você pode adicionar assinantes confiáveis para a sua distribuição do CloudFront usando o console ou a API do CloudFront. Consulte o tópico aplicáveis: • Adicionando Trusted Signatários para sua distribuição usando o console do CloudFront (p. 181) • Adicionando Trusted Signatários para sua distribuição usando a API do CloudFront (p. 182) Adicionando Trusted Signatários para sua distribuição usando o console do CloudFront Para adicionar assinantes confiáveis para sua distribuição usando o console do CloudFront 1. Se você deseja usar apenas a conta da AWS que criou a distribuição como um assinante confiável, pule para a Etapa 2. Se você quiser usar outras contas da AWS, obtenha o ID da conta da AWS para cada conta: a. Cadastre-se no Console de gerenciamento da AWS em https://console.aws.amazon.com/ console/home usando uma conta que você deseja usar como um assinante confiável. b. No canto superior direito do console, clique no nome associados com a conta e clique em My Account. c. Em Account Settings, anote o ID de conta. d. Sair do Console de gerenciamento da AWS. e. Repita as etapas de a até d para outras contas que você deseja usar como assinantes confiáveis. 2. Abra o Amazon CloudFront Console em https://console.aws.amazon.com/cloudfront/e fazer login usando a conta usada para criar a distribuição que você deseja adicionar assinantes confiáveis. 3. Clique no ID de distribuição 4. Alterar para o modo de edição: • Distribuições deweb – Clique na Behaviors guia, clique no comportamento que você deseja editar e clique em Edit. • As distribuiçõesRTMP – Clique Edit. 5. Para Restrict Viewer Access (Use Signed URLs or Signed Cookies), clique em Yes. 6. Para Trusted Signers, marque as caixas de verificação aplicáveis: • Self – Marque essa caixa de seleção se você deseja usar a conta atual (a conta que você tiver usado para criar a distribuição). API Version 2016-01-13 181 Amazon CloudFront Guia do desenvolvedor Verificando se são Trusted Signatários Active (Opcional) • Specify Accounts – Marque essa caixa de seleção se você deseja usar outras contas da AWS. 7. Se você marcou a caixa de Specify Accounts seleção, insira os IDs da conta da AWS em AWS Account Number campo. Esses são os IDs de conta que você obteve na primeira etapa deste procedimento. Insira um ID de conta por linha. 8. 9. Clique em Yes, Edit. Se você está adicionando assinantes confiáveis para uma distribuição de web e você tem mais de um comportamento de cache, repita as etapas de 4 a 8, conforme aplicável. Adicionando Trusted Signatários para sua distribuição usando a API do CloudFront Você pode usar a API do CloudFront para adicionar a conta da AWS IDs para assinantes confiáveis para uma distribuição existente ou criar uma nova distribuição que inclui assinantes confiáveis. Em ambos os casos, especifique os valores aplicáveis no TrustedSigners elemento. Para distribuições da web, adicione o TrustedSigners elemento para um ou mais comportamentos de cache. Para distribuições RTMP, adicione o TrustedSigners elemento para a distribuição. Consulte o tópico no Amazon CloudFront API Reference aplicáveis: • Crie uma nova distribuição de web – POST Distribution • Atualizar uma distribuição de web existente – distribuição PUT Config • Crie uma nova distribuição de distribuição RTMP –POST Streaming • Atualizar uma distribuição RTMP – PUT Streaming Distribution Config Verificando se são Trusted Signatários Active (Opcional) Após adicionar assinantes confiáveis para sua distribuição, você pode verificar se os assinantes estão ativas. Para um assinante confiável para estar ativa, as seguintes condições devem ser atendidas: • A conta da AWS devem ter pelo menos um par de chaves ativas. Se você for girar pares de chaves, a conta será temporariamente tem dois pares de chaves ativas, o par de chaves e o novo. • do CloudFront ativo deve estar ciente do par de chaves. Depois de criar um par de chaves, não pode ser um curto período de tempo antes do CloudFront está ciente de que o par de chaves. Note Para exibir uma lista de assinantes confiáveis para uma distribuição, você deve usar a API do CloudFront. Uma lista de ativos assinantes confiáveis não está disponível no console do CloudFront. Verificando se o Trusted Signatários que estão usando a API do CloudFront Active Para determinar quais assinantes confiáveis tiver pares de chaves (ativas assinantes confiáveis), você obtém a distribuição e analisar os valores no ActiveTrustedSigners elemento. Esse elemento lista a ID da conta da AWS de cada conta que a distribuição identifica como um assinante confiável. Se o assinante confiável tem um ou mais ativos pares de chaves do CloudFront, o ActiveTrustedSigners elemento também lista os IDs de par de chaves. Para obter mais informações, consulte o tópico na Amazon CloudFront API Reference aplicáveis: API Version 2016-01-13 182 Amazon CloudFront Guia do desenvolvedor Girar pares de chaves do CloudFront • Distribuição GET – distribuiçõesweb • Distribuiçãode distribuições RTMP –GET Streaming Girar pares de chaves do CloudFront A AWS recomenda que você gire (alterar) os ativos pares de chaves do CloudFront a cada 90 dias. Para girar pares de chaves do CloudFront que você está usando para criar URLs assinadas ou cookies assinados sem invalidar URLs ou cookies que ainda não tenha expirado, execute as seguintes tarefas: 1. Criar um novo par de chaves para cada uma das contas que você está usando para criar URLs assinadas. Para obter mais informações, consulte A criação de pares de chaves do CloudFront para o seu Trusted Signatários (p. 178). 2. Verificar se ele está ciente dos novos pares de chaves. Para obter mais informações, consulte Verificando se são Trusted Signatários Active (Opcional) (p. 182). Atualize seu aplicativo para criar assinaturas usando as chaves privadas dos novos pares de chaves. 3. 4. Confirme se URLs ou cookies que você assinar usando as novas chaves privadas estão trabalhando. 5. Aguarde até a data de expiração passou em URLs ou cookies que foram assinados usando a antiga pares de chaves do CloudFront. Alterar a antiga pares de chaves do CloudFront para Inactive: 6. 7. 8. a. Cadastre-se no Console de gerenciamento da AWS usando as credenciais-raiz de uma conta da AWS para o qual você deseja fazer pares de chaves inativo. b. c. d. No menu, clique em nome da conta Security Credentials. Expanda CloudFront Key Pairs. Para os pares de chaves aplicáveis, clique em Make Inactive. e. Repita as etapas de a até d para cada uma das contas da AWS para o qual você deseja fazer pares de chaves inativo. Reconfirmar que URLs ou cookies que você assinar usando as novas chaves privadas estão trabalhando. Excluir a antiga pares de chaves do CloudFront: a. 9. Acesse a sua página de credenciais de segurança. b. Expanda CloudFront Key Pairs. c. Para os pares de chaves aplicáveis, clique em Delete. Excluir a antiga chaves privadas no local onde você armazenou. API Version 2016-01-13 183 Amazon CloudFront Guia do desenvolvedor Escolhendo entre URLs assinadas e cookies assinados Escolhendo entre URLs assinadas e cookies assinados URLs assinadas do CloudFront e assinou cookies fornecem a mesma funcionalidade básica: eles permitem controlar quem pode acessar o seu conteúdo. Se você deseja servir conteúdo privado por meio do CloudFront e você decidir se deseja usar URLs assinadas ou cookies assinados, considere o seguinte. Use URLs assinadas nos seguintes casos: • Você deseja usar uma distribuição RTMP. cookies assinados não são suportadas para as distribuições RTMP. • Você deseja restringir o acesso a arquivos individuais, por exemplo, uma instalação download para seu aplicativo. • Seus usuários estão usando um cliente (por exemplo, um cliente de HTTP personalizados) que não oferece suporte a cookies. Use cookies assinados nos seguintes casos: • Você deseja fornecer acesso a vários arquivos restritas, por exemplo, todos os arquivos para um vídeo no formato HLS ou todos os arquivos na área de assinantes de um site. • Você não deseja alterar seus URLs atuais. Se você não estiver usando URLs assinadas e se os URLs contêm qualquer um dos seguintes parâmetros de sequência de caracteres de consulta, você não pode usar URLs assinadas ou assinadas cookies: • Expira • Política • Assinatura • ID do par de chaves CloudFront pressupõe que URLs que contêm qualquer um desses parâmetros de sequência de caracteres de consulta são URLs assinadas e, portanto, não ver assinadas cookies. Usando ambos os URLs assinadas e cookies assinados Se você usar ambos os URLs assinadas e assinou cookies para controlar o acesso à mesma objetos e um visualizador usa um URL assinada para solicitar um objeto, o CloudFront determina se retorna o objeto para o visualizador com base apenas no URL assinada. API Version 2016-01-13 184 Amazon CloudFront Guia do desenvolvedor Usando URLs assinadas Usando URLs assinadas Tópicos • Escolhendo entre Canned e políticas personalizadas para URLs assinadas (p. 185) • Como URLs assinadas Trabalhe (p. 186) • Escolha Quanto tempo são assinados URLs válidas (p. 186) • Quando a expiração do CloudFront Marque a data e hora em um URL assinado? (p. 187) • Código de exemplo e ferramentas de terceiros (p. 187) • A criação de um URL assinado Canned Usando uma Política (p. 188) • A criação de um URL assinado usando uma Política personalizada (p. 195) Um URL assinada inclui informações adicionais, por exemplo, uma data e hora de expiração, que oferece a você mais controle sobre o acesso a seu conteúdo. Essas informações adicionais aparece em uma declaração de política, que é baseada em uma política ou uma política personalizada. As diferenças entre padrão e políticas personalizadas são explicados em duas seções. Note Você pode criar alguns URLs assinadas usando um pacote de políticas e criar alguns URLs assinadas usando políticas personalizadas para a mesma distribuição. Escolhendo entre Canned e políticas personalizadas para URLs assinadas Quando você cria um URL assinada, você grava uma declaração de política no formato JSON que especifica as restrições no signed URL, por exemplo, quanto tempo o URL é válido. Você pode usar uma política ou uma política personalizada. Veja como padrão e políticas personalizadas comparar: Descrição Política Canned Política personalizada Você pode reutilizar a declaração de política para vários objetos. Para reutilizar a declaração de política, você deve usar caracteres curinga no Resource objeto. Para obter mais informações, consulte Valores que Você Especifique no Policy Statement para uma URL assinada que usam uma Política personalizada (p. 199).) Não Sim Você pode especificar a data e a hora em que os usuários podem começar a acessar seu conteúdo. Não Sim (opcional) Você pode especificar a data e a hora em que os usuários não podem mais acessar seu conteúdo. Sim Sim Você pode especificar o endereço IP ou um intervalo Não de endereços IP dos usuários que podem acessar seu conteúdo. Sim (opcional) O URL assinada inclui uma versão codificado em base64 da política, o que resulta em um URL mais longos. Sim API Version 2016-01-13 185 Não Amazon CloudFront Guia do desenvolvedor Como URLs assinadas Trabalhe Para obter informações sobre a criação de URLs assinadas usando uma política, consulte A criação de um URL assinado Canned Usando uma Política (p. 188). Para obter informações sobre a criação de URLs assinadas usando uma política personalizada, consulte A criação de um URL assinado usando uma Política personalizada (p. 195). Como URLs assinadas Trabalhe Aqui está uma visão geral de como configurar o CloudFront e o Amazon S3 para URLs assinadas e como ele responde quando um usuário usa um URL assinada para solicitar um objeto. 1. Em sua distribuição do CloudFront, especifique um ou mais assinantes confiáveis, que são as contas da AWS que você deseja ter permissão para criar URLs assinadas. Para obter mais informações, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). 2. Você desenvolver o seu aplicativo para determinar se um usuário deve ter acesso a seu conteúdo e para criar URLs assinadas para os objetos ou partes de seu aplicativo que você deseja restringir o acesso. Para obter mais informações, consulte o tópico aplicáveis: • A criação de um URL assinado Canned Usando uma Política (p. 188) • A criação de um URL assinado usando uma Política personalizada (p. 195) 3. Um usuário solicita um objeto para o qual você deseja exigir URLs assinadas. 4. O aplicativo verifica se o usuário está autorizado a acessar o objeto: que você assinou, eles já pagas para o acesso ao conteúdo, ou que já alcançou algum outro requisito para acessar. 5. O aplicativo cria e retorna um URL assinada para o usuário. 6. O URL assinada permite que o usuário para fazer o download ou transmitir o conteúdo. Esta etapa é automática; o usuário geralmente não precisa fazer nada a mais para acessar o conteúdo. Por exemplo, se um usuário está acessando seu conteúdo em um navegador da web, o aplicativo retorna o URL assinada para o navegador. O navegador imediatamente usa o URL assinada para acessar o objeto no cache de presença do CloudFront sem qualquer intervenção do usuário. 7. CloudFront usa a chave pública para validar a assinatura e confirmar que o URL não foi falsificado. Se a assinatura é inválido, a solicitação é rejeitada. Se a assinatura é válido, o CloudFront verifica a declaração de política na URL (ou cria um, se você estiver usando uma política) para confirmar que a solicitação ainda é válido. Por exemplo, se você especificou uma data e hora iniciais e finais para o URL, ele confirma que o usuário está tentando acessar seu conteúdo durante o período de tempo que você deseja permitir o acesso. Se a solicitação cumpre os requisitos na declaração de política, ele executa as operações padrão: determina se o objeto já está em cache no ponto de presença, encaminhará a solicitação para a origem, se necessário, e retorna o objeto para o usuário. Escolha Quanto tempo são assinados URLs válidas Você pode distribuir conteúdo privado usando uma URL assinada que é válida apenas por um período curto – possivelmente para apenas alguns minutos. Assinatura de URLs que são válidas por um curto período são bons para distribuição de conteúdo em tempo real a um usuário para uma finalidade limitada, como a distribuição de aluguéis de filmes ou downloads de música para os clientes sob demanda. Se os URLs assinadas serão válidos para apenas um curto período, você provavelmente deseja criá-los automaticamente usando um aplicativo que você desenvolver. Quando o usuário inicia para fazer o download de um objeto ou começa para reproduzir um arquivo de mídia, o CloudFront compara a expiração do tempo no URL com a hora atual para determinar se o URL ainda está válido. API Version 2016-01-13 186 Amazon CloudFront Guia do desenvolvedor Quando a expiração do CloudFront Marque a data e hora em um URL assinado? Você também pode distribuir conteúdo privado usando uma URL assinada que é válido por mais tempo, possivelmente para anos. Assinatura de URLs que são válidas por um período mais longo são úteis para distribuir conteúdo privado para usuários conhecidos, como a distribuição de um plano de negócios para os investidores ou distribuir materiais de treinamento para funcionários. Você pode desenvolver um aplicativo de longo prazo para gerar esses URLs assinadas para você, ou você pode usar uma das ferramentas de GUI de terceiros listadas no Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361). Quando a expiração do CloudFront Marque a data e hora em um URL assinado? Quando o CloudFront verifica a data de expiração e tempo em um URL assinada para determinar se o URL ainda são válidas depende se o URL é para uma distribuição de web ou uma distribuição RTMP: • – distribuições web do CloudFront verifica a data de expiração e tempo em um URL assinada no momento da solicitação de HTTP. Se um cliente começa para fazer o download de um grande objeto imediatamente antes da expiração do tempo, o download deve concluir, mesmo se o tempo de expiração passa durante o download. Se a conexão TCP cai e o cliente tentar reiniciar o download após a expiração o passar do tempo, o download falhará. Se um cliente usa Range GETs para obter um objeto em partes menores, qualquer solicitação GET que ocorre após a expiração do tempo transfere falhará. Para obter mais informações sobre GETs por intervalo, consulte Como processos de solicitações parciais do CloudFront para um objeto (Range GETs) (p. 134). • As distribuiçõesRTMP – CloudFront verifica a expiração do tempo em um URL assinada no início de um evento de reprodução. Se um cliente começa para reproduzir um arquivo de mídia antes da expiração o passar do tempo, ele permite que todo o arquivo de mídia para reprodução. No entanto, dependendo do reprodutor de mídia, como pausar e reiniciar pode acionar outro reproduzir evento. Ignorando para outra posição no arquivo de mídia acionar outro reproduzir evento. Se o evento de reprodução subsequentes ocorre após a expiração do CloudFront o passar do tempo, não servir o arquivo de mídia. Código de exemplo e ferramentas de terceiros Para código de exemplo que cria o hash e assinadas parte de URLs assinadas, consulte os seguintes tópicos: • Crie um URL Signature Usando Perl (p. 222) • Crie um URL Signature Usando PHP (p. 224) • Crie um URL Signature Using C # e o.NET Framework (p. 226) • Crie um URL Signature Usando Java (p. 232) Outros códigos de amostra para a criação de URLs assinadas está disponível na Amazon página Código de exemplo e bibliotecas do CloudFront. Para obter informações sobre ferramentas de terceiros que oferecem suporte a conteúdo privado, incluindo a criação de URLs assinadas, consulte Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361). API Version 2016-01-13 187 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado Canned Usando uma Política A criação de um URL assinado Canned Usando uma Política Para criar um URL assinada usando uma política, execute o procedimento a seguir. Para criar um URL assinada usando uma política 1. Se você estiver usando o.NET ou Java para criar URLs assinadas, e se você não tiver reformatado a chave privada para o seu par de chaves no formato.pem padrão para um formato compatível com o.NET ou com Java, faça isso agora. Para obter mais informações, consulte Reformatação do CloudFront Private Key (.NET e Java apenas) (p. 180). 2. Concatenar seguintes valores na ordem especificada, e remover o espaço em branco (incluindo guias caracteres) entre as partes. Você pode ter para incluir caracteres de escape na string no código do aplicativo. Todos os valores têm um tipo de String. Cada parte é codificado apenas pelo número ( ) para dois exemplos seguintes. base para o objeto O URL de base é o URL do CloudFront que você pode usar para acessar o objeto, se você não estivesse usando URLs assinadas, incluindo os seus próprios parâmetros de sequência de caracteres de consulta, se houver. Para obter mais informações sobre o formato de URLs para distribuições da web, consulte Formato de URLs dos objetos do CloudFront (p. 99). Os exemplos a seguir mostram os valores que você especifica para distribuições da web. • O seguinte URL do CloudFront é de um objeto em uma distribuição de web (usando o nome de domínio do CloudFront). Observe que image.jpg está em um images diretório. O caminho para o objeto no URL deve corresponder o caminho para o objeto no servidor HTTP ou no bucket do Amazon S3. http://d111111abcdef8.cloudfront.net/images/image.jpg • O seguinte URL do CloudFront inclui uma string de consulta: http://d111111abcdef8.cloudfront.net/images/image.jpg?size=large • Os seguintes URLs do CloudFront são para objetos em uma distribuição de web. Tanto usar um nome de domínio alternativo; a segunda inclui uma string de consulta: http://www.example.com/images/image.jpg http://www.example.com/images/image.jpg?color=red • A seguir é para um URL do CloudFront objetos em uma distribuição de web que usa um outro nome de domínio e o protocolo HTTPS: https://www.example.com/images/image.jpg Para distribuições RTMP, os seguintes exemplos são para objetos em dois diferentes formatos de vídeo, MP4 e FLV: • – mp4:sydney-vacation.mp4MP4 • – sydney-vacationFLV • – sydney-vacation.flvFLV Note Para.flv arquivos, se você incluir a extensão do nome do .flv arquivo depende do jogador. Para atender a arquivos de áudio MP3 ou H.264/MPEG-4 arquivos de vídeo, você pode precisar prefixar o nome do arquivo com mp3: ou mp4:. Alguns jogadores de mídia podem ser configurados para adicionar o prefixo automaticamente. O media API Version 2016-01-13 188 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado Canned Usando uma Política player também pode exigir que você especifique o nome de arquivo, sem a extensão de arquivo (por exemplo, sydney-férias, em vez de sydney-vacation.mp4). ? A ? indica que parâmetros de sequência de caracteres de consulta siga o URL base. Inclua o ? mesmo se você não tem quaisquer parâmetros de sequência de caracteres de consulta de seu próprio. Os parâmetros de sequência de caracteres de consulta, se qualquer& Esse valor é opcional. Se você deseja adicionar seus próprios parâmetros de sequência de caracteres de consulta, por exemplo: color=red&size=medium Em seguida, adicione os parâmetros após o ? (consulte ) e antes do Expires parâmetro. Em determinadas circunstâncias raras, pode ser necessário colocar seus parâmetros de sequência de caracteres de consulta depois Key-Pair-Id. Important Seus parâmetros não podem ser nomeados Expires, Signatureou Key-Pair-Id. Se você adicionar seus próprios parâmetros, anexe um e depois de cada uma, incluindo a última. Expira =data e hora em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC) Especifique a data e hora de expiração no formato de hora Unix e o Tempo Universal Coordenado (UTC). Por exemplo, 1 de janeiro de 2013, 10h UTC 1357034400 em Unix converte para formato de tempo. Para obter mais informações sobre UTC, consulte RFC 3339, data e hora na Internet: data/hora, http://tools.ietf.org/html/rfc3339. Especifique a data e hora, em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC), que você deseja que o URL para interromper o que permite o acesso ao objeto. Por exemplo, 1 de janeiro de 2013, 10h UTC 1357034400 em Unix converte para formato de tempo. & Signature =misturado e versão assinada da declaraçãode política Um misturado, assinado e codificado em base64 JSON versão da declaração de política. Para obter mais informações, consulte A criação de um Signature para um URL assinado Canned Que Usa uma Política (p. 190). & Key-Pair-Id = ID do par de chaves do CloudFrontativas para o par de chaves que você está usando para gerar a assinatura O ID do CloudFront ativas para um par de chaves, por exemplo, APKA9ONS7QCOWEXAMPLE. O ID de par de chaves do CloudFront do CloudFront que informa a chave pública para usar para validar o URL assinada. CloudFront compara as informações na assinatura com as informações na declaração de política para verificar se o URL não foi alterado. O par de chaves que você incluir no ID de URLs assinadas do CloudFront deve ser o ID de um par de chaves ativas para um de seus assinantes confiáveis: • Distribuições deweb – O par de chaves deve ser associado a uma conta da AWS, que é um dos assinantes confiáveis para o comportamento de cache aplicáveis. • As distribuiçõesRTMP – O par de chaves deve ser associado a uma conta da AWS, que é um dos assinantes confiáveis para a distribuição. API Version 2016-01-13 189 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado Canned Usando uma Política Para obter mais informações, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). Se você fizer um par de chaves inativos e, ao mesmo tempo, rotação de pares de chaves do CloudFront, e se você estiver gerando URLs assinadas de forma programática, você deve atualizar o aplicativo para usar um novo par de chaves ativas para um de seus assinantes confiáveis. Se você estiver gerando URLs assinadas manualmente, você deve criar novos URLs assinadas. Para obter mais informações sobre como girar pares de chaves, consulte Girar pares de chaves do CloudFront (p. 183). Exemplo signed URL para uma distribuição de web: http://d111111abcdef8.cloudfront.net/image.jpg ? color = red e size = médio e Expira = 1357034400 & Signature = nitfHRCrtziwO2HwPfWw ~ yYDhUF5EwRunQA-j19DzZr vDh6hQ73lDx ~ -ar3UocvvRQVw6EkC ~ 5jcQb0UEmatEXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6 APKA9ONS7QCOWEXAMPLEID = & Key-Pair Exemplo signed URL para uma distribuição RTMP: vídeos/mediafile.flv ? color = red e size = médio e Expira = 1357034400 & Signature = nitfHRCrtziwO2HwPfWw ~ yYDhUF5EwRunQA-j19DzZr vDh6hQ73lDx ~ -ar3UocvvRQVw6EkC ~ 5jcQb0UEmatEXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6 APKA9ONS7QCOWEXAMPLEID = & Key-Pair A criação de um Signature para um URL assinado Canned Que Usa uma Política Para criar a assinatura para um URL assinada que usa uma política, execute os seguintes procedimentos: 1. Crie uma declaração de política. Consulte A criação de uma declaração de política para um URL assinado Canned Que Usa uma Política (p. 190). 2. Acesse a declaração de política para criar uma assinatura. Consulte A criação de um Signature para um URL assinado Canned Que Usa uma Política (p. 192). A criação de uma declaração de política para um URL assinado Canned Que Usa uma Política Quando você cria um URL assinada usando uma política, o Signature parâmetro é uma versão assinada e com hash de uma declaração de política. Para URLs assinadas que usam uma política, você não incluem a declaração de política no URL, como para URLs assinadas que usam uma política personalizada. Para criar a declaração de política, execute o procedimento a seguir. Para criar a declaração de política para um URL assinada que usa uma política 1. Construa a declaração de política usando o seguinte formato JSON e usando a codificação de caracteres UTF-8. Incluir todas as pontuações e outros valores literais exatamente como especificado. Para obter informações sobre as Resource e DateLessThan parâmetros, consulte Valores que Você Especifique no Policy Statement para um URL assinado Canned Que Usa uma Política (p. 191). API Version 2016-01-13 190 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado Canned Usando uma Política { "Statement":[ { "Resource":"base URL or stream name", "Condition":{ "DateLessThan":{ "AWS:EpochTime":ending date and time in Unix time format and UTC } } } ] } 2. Remova todas as guias de espaço em branco (incluindo caracteres) na declaração de política. Você pode ter para incluir caracteres de escape na string no código do aplicativo. Valores que Você Especifique no Policy Statement para um URL assinado Canned Que Usa uma Política Quando você criar uma declaração de política para uma política, você especifica os seguintes valores. Recurso O valor que você especificar depende se você estiver criando o URL assinada para uma distribuição de web ou uma distribuição RTMP. Note Você pode especificar apenas um valor para Resource. Distribuições de web O URL de base, incluindo suas sequências de caracteres de consulta, se houver, mas excluindo o CloudFront Expires, Signaturee Key-Pair-Id os parâmetros, por exemplo: http://d111111abcdef8.cloudfront.net/images/horizon.jpg? size=large&license=yes Observe o seguinte: • Protocol – O valor deve começar com http://, https://ou http*://. • Os parâmetros de sequência – Se você não têm parâmetros de sequência de caracteres de consulta, omita o ponto de interrogação. • Alternar nomes de domínio – Se você especificar um nome de domínio alternativo (CNAME) no URL, você deve especificar o nome de domínio alternativo ao referenciar o objeto em seu aplicativo ou página da Web. Não especifique o URL do Amazon S3 para o objeto. As distribuições RTMP Inclua apenas o nome de stream. Por exemplo, se o URL completo para um fluxo de vídeo é: rtmp://s5c39gqb8ow64r.cloudfront.net/videos/cfx/st/mp3_name.mp3 Em seguida, use o seguinte valor para Resource: videos/mp3_name Não incluir um prefixo, como mp3: ou mp4:. Além disso, dependendo do jogador que você está usando, pode ser necessário omitir a extensão de arquivo do valor Resource. Por exemplo, você pode precisar usar sydney-vacation em vez de sydney-vacation.flv. API Version 2016-01-13 191 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado Canned Usando uma Política DateLessThan A data e hora de expiração para o URL em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC). Por exemplo, 1 de janeiro de 2013, 10h UTC 1357034400 em Unix converte para formato de tempo. Esse valor deve corresponder ao valor do parâmetro de sequência de caracteres de Expires consulta no URL assinada. Não inclua o valor entre aspas. Para obter mais informações, consulte Quando a expiração do CloudFront Marque a data e hora em um URL assinado? (p. 187). Exemplo Policy Statement para um URL assinado Canned Que Usa uma Política Quando você usa o exemplo a seguir declaração de política em um URL assinada, um usuário pode acessar o objeto http://d111111abcdef8.cloudfront.net/horizon.jpg até 1º de janeiro de 2013, 10h UTC: { "Statement":[ { "Resource":"http://d111111abcdef8.cloudfront.net/horizon.jpg? size=large&license=yes", "Condition":{ "DateLessThan":{ "AWS:EpochTime":1357034400 } } } ] } A criação de um Signature para um URL assinado Canned Que Usa uma Política Para criar o valor para o Signature parâmetro em um URL assinada, hash e assinar a declaração de política que você criou A criação de uma declaração de política para um URL assinado Canned Que Usa uma Política (p. 190). Há duas versões do procedimento. Execute o procedimento aplicável: • Opção 1: Para criar uma assinatura para uma distribuição de web ou para uma distribuição RTMP (sem o Adobe Flash Player) usando uma política (p. 192) • Opção 2: Para criar uma assinatura para uma distribuição RTMP usando uma política (Adobe Flash Player) (p. 193) Para obter mais informações e exemplos de como hash, assinar e codificar a declaração de política, consulte: • O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 (p. 221) • Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) Opção 1: Para criar uma assinatura para uma distribuição de web ou para uma distribuição RTMP (sem o Adobe Flash Player) usando uma política 1. Use a função de hash SHA-1 e RSA de hash e assinar a declaração de política que você criou no procedimento Para criar a declaração de política para um URL assinada que usa uma política (p. 190). Use a versão da declaração de política que não inclui mais espaço em branco. API Version 2016-01-13 192 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado Canned Usando uma Política Para a chave privada que é necessária pela função de hash, use a chave privada associado ao assinante confiável ativo aplicáveis. Note O método que você usa para assinar a declaração de política de hash e depende da sua linguagem de programação e plataforma. Para o código de exemplo, consulte Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222). 2. Remover espaço em branco (incluindo guias e caracteres) na sequência de hash e assinadas. 3. codificação Base64 a string usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. 4. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. 5. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) = _ (sublinhado) / ~ (til) Anexar o valor resultante para o seu URL assinada depois e Signature =e retornar para Para criar um URL assinada usando uma política (p. 188) finalizar concatenação as partes de seu URL assinada. Opção 2: Para criar uma assinatura para uma distribuição RTMP usando uma política (Adobe Flash Player) 1. Use a função de hash SHA-1 e RSA de hash e assinar a declaração de política que você criou no Para criar a declaração de política para um URL assinada que usa uma política (p. 190) procedimento. Use a versão da declaração de política que não inclui mais espaço em branco. Para a chave privada que é necessária pela função de hash, use a chave privada associado ao assinante confiável ativo aplicáveis. Note O método que você usa para assinar a declaração de política de hash e depende da sua linguagem de programação e plataforma. Para o código de exemplo, consulte Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222). 2. Remover espaço em branco (incluindo guias e caracteres) na sequência de hash e assinadas. Continue para a Etapa 3 se você estiver usando o Adobe Flash Player e o nome de stream é transmitido a partir de uma página da web. Se você estiver usando o Adobe Flash Player e se o nome de stream não é transmitido a partir de uma página da web, ignore o restante deste procedimento. Por exemplo, se você escreveu seu próprio jogador que extrai nomes de stream de dentro do Adobe Flash.swf arquivo, ignore o restante deste procedimento. 3. codificação Base64 a string usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. 4. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. API Version 2016-01-13 193 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado Canned Usando uma Política 5. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) = _ (sublinhado) / ~ (til) Algumas versões do Adobe Flash Player exigem que você URL-codificar os caracteres?, = e &. Para obter informações sobre se a versão do Adobe Flash Player precisa dessa substituição de caracteres, consulte o site da Adobe. Se a sua versão do Flash não requer os caracteres de codificação de URL, pule para a Etapa 6. Se a sua versão do Flash requer o URL de codificação de esses caracteres, substituí-los como indicado na tabela a seguir. (Você já substituído = na etapa anterior.) 6. Substitua esses caracteres inválidos Com esse URL de codificação ? %3F & %26 Anexar o valor resultante para o seu URL assinada depois e Signature =e retornar para Para criar um URL assinada usando uma política (p. 188) finalizar concatenação as partes de seu URL assinada. API Version 2016-01-13 194 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada A criação de um URL assinado usando uma Política personalizada Tópicos • A criação de uma declaração de política para um URL assinado que usam uma Política personalizada (p. 197) • Exemplo de declarações de política para um URL assinado que usam uma Política personalizada (p. 200) • A criação de um Signature para um URL assinado que usam uma Política personalizada (p. 202) Para criar um URL assinada usando uma política personalizada, execute o procedimento a seguir. Para criar um URL assinada usando uma política personalizada 1. Se você estiver usando o.NET ou Java para criar URLs assinadas, e se você não tiver reformatado a chave privada para o seu par de chaves no formato.pem padrão para um formato compatível com o.NET ou com Java, faça isso agora. Para obter mais informações, consulte Reformatação do CloudFront Private Key (.NET e Java apenas) (p. 180). 2. Concatenar seguintes valores na ordem especificada, e remover o espaço em branco (incluindo guias caracteres) entre as partes. Você pode ter para incluir caracteres de escape na string no código do aplicativo. Todos os valores têm um tipo de String. Cada parte é codificado apenas pelo número ( ) para dois exemplos seguintes. base para o objeto O URL de base é o URL do CloudFront que você pode usar para acessar o objeto, se você não estivesse usando URLs assinadas, incluindo os seus próprios parâmetros de sequência de caracteres de consulta, se houver. Para obter mais informações sobre o formato de URLs para distribuições da web, consulte Formato de URLs dos objetos do CloudFront (p. 99). Os exemplos a seguir mostram os valores que você especifica para distribuições da web. • O seguinte URL do CloudFront é de um objeto em uma distribuição de web (usando o nome de domínio do CloudFront). Observe que image.jpg está em um images diretório. O caminho para o objeto no URL deve corresponder o caminho para o objeto no servidor HTTP ou no bucket do Amazon S3. http://d111111abcdef8.cloudfront.net/images/image.jpg • O seguinte URL do CloudFront inclui uma string de consulta: http://d111111abcdef8.cloudfront.net/images/image.jpg?size=large • Os seguintes URLs do CloudFront são para objetos em uma distribuição de web. Tanto usar um nome de domínio alternativo; a segunda inclui uma string de consulta: http://www.example.com/images/image.jpg http://www.example.com/images/image.jpg?color=red • A seguir é para um URL do CloudFront objetos em uma distribuição de web que usa um outro nome de domínio e o protocolo HTTPS: https://www.example.com/images/image.jpg Para distribuições RTMP, os seguintes exemplos são para objetos em dois diferentes formatos de vídeo, MP4 e FLV: • – mp4:sydney-vacation.mp4 MP4 API Version 2016-01-13 195 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada • – sydney-vacationFLV • – sydney-vacation.flvFLV Note Para.flv arquivos, se você incluir a extensão do nome do .flv arquivo depende do jogador. Para atender a arquivos de áudio MP3 ou H.264/MPEG-4 arquivos de vídeo, você pode precisar prefixar o nome do arquivo com mp3: ou mp4:. Alguns jogadores de mídia podem ser configurados para adicionar o prefixo automaticamente. O media player também pode exigir que você especifique o nome de arquivo, sem a extensão de arquivo (por exemplo, sydney-férias, em vez de sydney-vacation.mp4). ? A ? indica que parâmetros de sequência de caracteres de consulta siga o URL base. Inclua o ? mesmo se você não tem quaisquer parâmetros de sequência de caracteres de consulta de seu próprio. Os parâmetros de sequência de caracteres de consulta, se qualquer& Esse valor é opcional. Se você deseja adicionar seus próprios parâmetros de sequência de caracteres de consulta, por exemplo: color=red&size=medium adicioná-los após o ? (consulte ) e antes do Policy parâmetro. Em determinadas circunstâncias raras, pode ser necessário colocar seus parâmetros de sequência de caracteres de consulta depois Key-Pair-Id. Important Seus parâmetros não podem ser nomeados Policy, Signatureou Key-Pair-Id. Se você adicionar seus próprios parâmetros, anexe um e depois de cada uma, incluindo a última. Policy =base64 versão de declaraçãode política codificado Sua declaração de política no formato JSON, com espaço em branco removido e, em seguida, codificada com base64. Para obter mais informações, consulte A criação de uma declaração de política para um URL assinado que usam uma Política personalizada (p. 197). A declaração de política controla o acesso que um URL assinada concede a um usuário: o URL do objeto (para distribuições) ou nome do stream (para distribuições RTMP), uma data e hora de expiração, um opcional de data e hora que o URL opcional se tornar válido e um endereço IP ou um intervalo de endereços IP que têm permissão para acessar o objeto. & Signature =misturado e versão assinada da declaraçãode política Um misturado, assinado e codificado em base64 JSON versão da declaração de política. Para obter mais informações, consulte A criação de um Signature para um URL assinado que usam uma Política personalizada (p. 202). & Key-Pair-Id = ID do par de chaves do CloudFrontativas para o par de chaves que você está usando para assinar a declaraçãode política O ID do CloudFront ativas para um par de chaves, por exemplo, APKA9ONS7QCOWEXAMPLE. O ID de par de chaves do CloudFront do CloudFront que informa a chave pública para usar para validar o URL assinada. CloudFront compara as informações na assinatura com as informações na declaração de política para verificar se o API Version 2016-01-13 URL não foi alterado. 196 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada O par de chaves que você incluir no ID de URLs assinadas do CloudFront deve ser o ID de um par de chaves ativas para um de seus assinantes confiáveis: • Distribuições deweb – O par de chaves deve ser associado a uma conta da AWS, que é um dos assinantes confiáveis para o comportamento de cache aplicáveis. • As distribuiçõesRTMP – O par de chaves deve ser associado a uma conta da AWS, que é um dos assinantes confiáveis para a distribuição. Para obter mais informações, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). Se você fizer um par de chaves inativos e, ao mesmo tempo, rotação de pares de chaves do CloudFront, e se você estiver gerando URLs assinadas de forma programática, você deve atualizar o aplicativo para usar um novo par de chaves ativas para um de seus assinantes confiáveis. Se você estiver gerando URLs assinadas manualmente, você deve criar novos URLs assinadas. Para obter mais informações sobre como girar pares de chaves, consulte Girar pares de chaves do CloudFront (p. 183). Exemplo signed URL para uma distribuição de web: http://d111111abcdef8.cloudfront.net/image.jpg ? color = red e size = médio e Policy = eyANCiAgICEXAMPLEW1lbnQiOiBbeyANCiAgICAgICJSZXNvdXJjZSI6Imh0dHA 6Ly9kemJlc3FtN3VuMW0wLmNsb3VkZnJvbnQubmV0L2RlbW8ucGhwIiwgDQogICAgICAiQ 29uZGl0aW9uIjp7IA0KICAgICAgICAgIklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiI yMDcuMTcxLjE4MC4xMDEvMzIifSwNCiAgICAgICAgICJEYXRlR3JlYXRlclRoYW4iOnsiQ VdTOkVwb2NoVGltZSI6MTI5Njg2MDE3Nn0sDQogICAgICAgICAiRGF0ZUxlc3NUaGFuIjp 7IkFXUzpFcG9jaFRpbWUiOjEyOTY4NjAyMjZ9DQogICAgICB9IA0KICAgfV0gDQp9DQo & Signature = nitfHRCrtziwO2HwPfWw ~ yYDhUF5EwRunQA-j19DzZrvDh6hQ73lDx ~ -ar3UocvvRQVw6EkC ~ GdpGQyyOSKQim-TxAnW7d8F5Kkai9HVx0FIu-5jcQb0UEmat EXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6 APKA9ONS7QCOWEXAMPLEID = & Key-Pair Exemplo signed URL para uma distribuição RTMP: vídeos/mediafile.flv ? color = red e size = médio e Policy = eyANCiAgICEXAMPLEW1lbnQiOiBbeyANCiAgICAgICJSZXNvdXJjZSI6Imh0dHA 6Ly9kemJlc3FtN3VuMW0wLmNsb3VkZnJvbnQubmV0L2RlbW8ucGhwIiwgDQogICAgICAiQ 29uZGl0aW9uIjp7IA0KICAgICAgICAgIklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiI yMDcuMTcxLjE4MC4xMDEvMzIifSwNCiAgICAgICAgICJEYXRlR3JlYXRlclRoYW4iOnsiQ VdTOkVwb2NoVGltZSI6MTI5Njg2MDE3Nn0sDQogICAgICAgICAiRGF0ZUxlc3NUaGFuIjp 7IkFXUzpFcG9jaFRpbWUiOjEyOTY4NjAyMjZ9DQogICAgICB9IA0KICAgfV0gDQp9DQo & Signature = nitfHRCrtziwO2HwPfWw ~ yYDhUF5EwRunQA-j19DzZrvDh6hQ73lDx ~ -ar3UocvvRQVw6EkC ~ GdpGQyyOSKQim-TxAnW7d8F5Kkai9HVx0FIu-5jcQb0UEmat EXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6 APKA9ONS7QCOWEXAMPLEID = & Key-Pair A criação de uma declaração de política para um URL assinado que usam uma Política personalizada Para criar uma declaração de política para uma política personalizada, execute o procedimento a seguir. Para várias declarações de política de exemplo que controlam o acesso a objetos em uma variedade de formas, consulte Exemplo de declarações de política para um URL assinado que usam uma Política personalizada (p. 200). API Version 2016-01-13 197 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada Para criar a declaração de política para um URL assinada que usa uma política personalizada 1. Construa a declaração de política usando o seguinte formato JSON. Para obter mais informações, consulte Valores que Você Especifique no Policy Statement para uma URL assinada que usam uma Política personalizada (p. 199). { "Statement": [ { "Resource":"URL or stream name of the object", "Condition":{ "DateLessThan":{"AWS:EpochTime":required ending date and time in Unix time format and UTC}, "DateGreaterThan":{"AWS:EpochTime":optional beginning date and time in Unix time format and UTC}, "IpAddress":{"AWS:SourceIp":"optional IP address"} } } ] } Observe o seguinte: • Use codificação de caracteres UTF-8. • Incluir todos os sinais e nomes de parâmetro exatamente conforme especificado. Abreviações para nomes de parâmetros não são aceitos. • A ordem dos parâmetros na Condition seção não importa. • Para obter informações sobre os valores para ResourceDateLessThan, DateGreaterThane IpAddress, consulte Valores que Você Especifique no Policy Statement para uma URL assinada que usam uma Política personalizada (p. 199). 2. Remova todas as guias de espaço em branco (incluindo caracteres) na declaração de política. Você pode ter para incluir caracteres de escape na string no código do aplicativo. 3. codificação Base64 a declaração de política usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. 4. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) = _ (sublinhado) / ~ (til) 5. Anexar o valor resultante para o seu URL assinada depois Policy=. 6. Crie uma assinatura para o URL assinada por hash, assinatura de codificação de base64 e a declaração de política. Para obter mais informações, consulte A criação de um Signature para um URL assinado que usam uma Política personalizada (p. 202). API Version 2016-01-13 198 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada Valores que Você Especifique no Policy Statement para uma URL assinada que usam uma Política personalizada Quando você criar uma declaração de política para uma política personalizada, você especifica os seguintes valores. Recurso O valor que você especifica depende se você estiver criando URLs assinadas para web ou distribuições RTMP. Note Você pode especificar apenas um valor para Resource. Distribuições de web (opcional, mas recomendado) O URL de base, incluindo suas sequências de caracteres de consulta, se houver, mas excluindo o CloudFront Policy, Signaturee Key-Pair-Id os parâmetros, por exemplo: http://d111111abcdef8.cloudfront.net/images/horizon.jpg? size=large&license=yes Caution Se você omitir o parâmetro de recursos para uma distribuição de web, os usuários podem acessar todos os objetos associados com qualquer distribuição associado ao par de chaves que você usa para criar o URL assinada. Observe o seguinte: • Protocol – O valor deve começar com http://, https://ou *. • Os parâmetros de sequência – Se você não têm parâmetros de sequência de caracteres de consulta, omita o ponto de interrogação. • caracterescuringa – Você pode usar o caractere curinga que corresponde a zero ou mais caracteres (*) ou o caractere curinga que corresponde a exatamente um caractere (?) em qualquer lugar na string. Por exemplo, o valor: http*://d111111abcdef8.cloudfront.net/*game_download.zip* incluiria (por exemplo) todos os seguintes objetos: • http://d111111abcdef8.cloudfront.net/example_game_download.zip? license=yes • https://d111111abcdef8.cloudfront.net/example_game_download.zip? license=yes • http://d111111abcdef8.cloudfront.net/test_game_download.zip? license=temp • https://d111111abcdef8.cloudfront.net/test_game_download.zip? license=temp • Alternar nomes de domínio – Se você especificar um nome de domínio alternativo (CNAME) no URL, você deve especificar o nome de domínio alternativo ao referenciar o objeto em seu aplicativo ou página da Web. Não especifique o URL do Amazon S3 para o objeto. As distribuições RTMP Inclua apenas o nome de stream. Por exemplo, se o URL completo para um fluxo de vídeo é: rtmp://s5c39gqb8ow64r.cloudfront.net/videos/cfx/st/mp3_name.mp3 Em seguida, use o seguinte valor para Resource: API Version 2016-01-13 199 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada videos/mp3_name Não incluir um prefixo, como mp3: ou mp4:. Além disso, dependendo do jogador que você está usando, pode ser necessário omitir a extensão de arquivo do valor Resource. Por exemplo, você pode precisar usar sydney-vacation em vez de sydney-vacation.flv. DateLessThan A data e hora de expiração para o URL em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC). Não inclua o valor entre aspas. Para obter mais informações sobre UTC, consulte RFC 3339, data e hora na Internet: data/hora, http://tools.ietf.org/html/rfc3339. Por exemplo, 1 de janeiro de 2013, 10h UTC 1357034400 em Unix converte para formato de tempo. Este é o único parâmetro obrigatório na Condition seção. CloudFront requer esse valor para impedir que os usuários tenham acesso permanente ao seu conteúdo privado. Para obter mais informações, consulte Quando a expiração do CloudFront Marque a data e hora em um URL assinado? (p. 187) DateGreaterThan (Opcional) Um opcional começar a data e a hora para o URL em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC). Os usuários não podem acessar o objeto antes da data e hora especificadas. Não inclua o valor entre aspas. endereço IP (Opcional) O endereço IP do cliente que fez a solicitação GET. Observe o seguinte: • Para permitir que qualquer endereço IP para acessar o objeto, omita o IpAddress parâmetro. • Você pode especificar um endereço IP ou um intervalo de endereços IP. Por exemplo, você não pode definir a política para permitir o acesso se o endereço IP do cliente é de duas faixas separadas. • Para permitir o acesso a partir de um único endereço IP, você especifica: endereço"IP/32"IPv4 • Você deve especificar intervalos de endereços IP no formato padrão IPv4 CIDR (por exemplo, 10.52.176.0/24). Para obter mais informações, consulte RFC 4632, roteamento sem classe entre domínios (CIDR): O endereço da Internet Atribuição e Agregação Plano, http:// tools.ietf.org/html/rfc4632. Exemplo de declarações de política para um URL assinado que usam uma Política personalizada O exemplo a seguir mostram como declarações de política para controlar o acesso a um objeto específico, todos os objetos em um diretório, ou todos os objetos associados a um par de chaves. Os exemplos também mostram como controlar o acesso a partir de um único endereço IP ou um intervalo de endereços IP, e como evitar que os usuários usem um URL assinado após a data e hora especificadas. Se você copiar e colar qualquer um desses exemplos, remover qualquer espaço em branco (incluindo guias e caracteres), substituir os valores aplicáveis com seus próprios valores e incluem um caractere de nova linha depois da chave de fechamento (}). Para obter mais informações, consulte Valores que Você Especifique no Policy Statement para uma URL assinada que usam uma Política personalizada (p. 199). Tópicos • Exemplo Policy Statement: Acessando um objeto a partir de um intervalo de endereços IP (p. 201) API Version 2016-01-13 200 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada • Exemplo Policy Statement: Acessando todos os objetos em um diretório a partir de um intervalo de endereços IP (p. 201) • Exemplo Policy Statement: Acessando todos os objetos associado com um par de chaves de um endereço IP ID (p. 201) Exemplo Policy Statement: Acessando um objeto a partir de um intervalo de endereços IP O exemplo a seguir política personalizada em um URL assinada especifica que um usuário pode acessar o objeto http://d111111abcdef8.cloudfront.net/game_download.zip de endereços IP no intervalo 192.0.2.0/24 até 1º de janeiro de 2013, 10h UTC: { "Statement": [ { "Resource":"http://d111111abcdef8.cloudfront.net/game_download.zip", "Condition":{ "IpAddress":{"AWS:SourceIp":"192.0.2.0/24"}, "DateLessThan":{"AWS:EpochTime":1357034400} } } ] } Exemplo Policy Statement: Acessando todos os objetos em um diretório a partir de um intervalo de endereços IP O exemplo a seguir política personalizada permite criar URLs assinadas para qualquer objeto no training diretório, conforme indicado pela* caractere curinga no Resource parâmetro. Os usuários podem acessar o objeto a partir de um endereço IP no intervalo 192.0.2.0/24 até 1º de janeiro de 2013, 10h UTC: { "Statement": [ { "Resource":"http://d111111abcdef8.cloudfront.net/training/*", "Condition":{ "IpAddress":{"AWS:SourceIp":"192.0.2.0/24"}, "DateLessThan":{"AWS:EpochTime":1357034400} } } ] } Cada URL assinada em que você usa essa política inclui um URL de base que identifica um objeto específico, por exemplo: http://d111111abcdef8.cloudfront.net/training/orientation.pdf Exemplo Policy Statement: Acessando todos os objetos associado com um par de chaves de um endereço IP ID O seguinte exemplo de política personalizada permite criar URLs assinadas para qualquer objeto associado a qualquer distribuição, conforme indicado pela* caractere curinga no Resource parâmetro. O usuário deve usar o endereço IP 192.0.2.10/32. (O valor 192.0.2.10/32 na notação CIDR API Version 2016-01-13 201 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada refere-se a um único endereço IP) 192.0.2.10. Os objetos estão disponíveis apenas a partir de 1 de janeiro de 2013, 10h UTC até 2 de janeiro de 2013, 10h UTC: { "Statement": [ { "Resource":"http://*", "Condition":{ "IpAddress":{"AWS:SourceIp":"192.0.2.10/32"}, "DateGreaterThan":{"AWS:EpochTime":1357034400}, "DateLessThan":{"AWS:EpochTime":1357120800} } } ] } Cada URL assinada em que você usa essa política inclui um URL de base que identifica um objeto específico em uma determinada distribuição do CloudFront, por exemplo: http://d111111abcdef8.cloudfront.net/training/orientation.pdf O URL assinada também inclui um par de chaves ID, que deve ser associado a um assinante confiável na distribuição (d111111abcdef8.cloudfront.net) que você especifica no URL base. A criação de um Signature para um URL assinado que usam uma Política personalizada A assinatura para um URL assinada que usa uma política personalizada é misturado, assinado e codificado em base64 versão da declaração de política. Para criar uma assinatura para uma política personalizada, execute o procedimento aplicável. A versão que você escolher depende do tipo de distribuição ou da web (RTMP) e, para distribuições RTMP, o reprodutor de mídia que você está usando (Adobe Flash Player ou outro reprodutor de mídia): • Opção 1: Para criar uma assinatura para uma distribuição de web ou para uma distribuição RTMP (sem o Adobe Flash Player) usando uma política personalizada (p. 202) • Opção 2: Para criar uma assinatura para uma distribuição RTMP usando uma política personalizada (Adobe Flash Player) (p. 203) Para obter mais informações e exemplos de como hash, assinar e codificar a declaração de política, consulte: • O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 (p. 221) • Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) Opção 1: Para criar uma assinatura para uma distribuição de web ou para uma distribuição RTMP (sem o Adobe Flash Player) usando uma política personalizada 1. Use a função de hash SHA-1 e RSA para hash JSON e assinar a declaração de política que você criou no procedimento Para criar a declaração de política para um URL assinada que usa uma política personalizada (p. 198). Use a versão da declaração de política que não inclui mais espaço em branco, mas que ainda não tiver sido codificado em base64. Para a chave privada que é necessária pela função de hash, use a chave privada associado ao assinante confiável ativo aplicáveis. API Version 2016-01-13 202 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada Note O método que você usa para assinar a declaração de política de hash e depende da sua linguagem de programação e plataforma. Para o código de exemplo, consulte Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222). 2. Remover espaço em branco (incluindo guias e caracteres) na sequência de hash e assinadas. 3. codificação Base64 a string usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. 4. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. 5. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) = _ (sublinhado) / ~ (til) Anexar o valor resultante para o seu URL assinada depois e Signature =e retornar para Para criar um URL assinada usando uma política personalizada (p. 195) finalizar concatenação as partes de seu URL assinada. Opção 2: Para criar uma assinatura para uma distribuição RTMP usando uma política personalizada (Adobe Flash Player) 1. Use a função de hash SHA-1 e RSA para hash JSON e assinar a declaração de política que você criou no Para criar a declaração de política para um URL assinada que usa uma política personalizada (p. 198) procedimento. Use a versão da declaração de política que não inclui mais espaço em branco, mas que ainda não tiver sido codificado em base64. Para a chave privada que é necessária pela função de hash, use a chave privada associado ao assinante confiável ativo aplicáveis. Note O método que você usa para assinar a declaração de política de hash e depende da sua linguagem de programação e plataforma. Para o código de exemplo, consulte Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222). 2. Remover espaço em branco (incluindo guias e caracteres) na sequência de hash e assinadas. Continue para a Etapa 3 se o nome de stream é transmitido a partir de uma página da web. Se o nome de stream não é transmitido a partir de uma página da web, ignore o restante deste procedimento. Por exemplo, se você escreveu seu próprio jogador que extrai nomes de stream de dentro do Adobe Flash.swf arquivo, ignore o restante deste procedimento. 3. codificação Base64 a string usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. 4. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) API Version 2016-01-13 203 Amazon CloudFront Guia do desenvolvedor A criação de um URL assinado usando uma Política personalizada 5. Substitua esses caracteres inválidos Com esses caracteres válidos = _ (sublinhado) / ~ (til) Algumas versões do Adobe Flash Player exigem que você URL-codificar os caracteres?, = e &. Para obter informações sobre se a versão do Adobe Flash Player precisa dessa substituição de caracteres, consulte o site da Adobe. Se a sua versão do Adobe Flash Player não requer que você URL-codificar os caracteres?, = e &, pule para a Etapa 6. Se a sua versão do Adobe Flash Player requer o URL de codificação de esses caracteres, substituí-los como indicado na tabela a seguir. (Você já substituído = na etapa anterior.) 6. Substitua esses caracteres inválidos Com esse URL de codificação ? %3F & %26 Anexar o valor resultante para o seu URL assinada depois e Signature =e retornar para Para criar um URL assinada usando uma política personalizada (p. 195) finalizar concatenação as partes de seu URL assinada. API Version 2016-01-13 204 Amazon CloudFront Guia do desenvolvedor Usando cookies assinados Usando cookies assinados cookies assinados do CloudFront permitem controlar quem pode acessar o seu conteúdo quando você não deseja alterar seus URLs atuais ou quando você deseja fornecer acesso a vários arquivos restritas, por exemplo, todos os arquivos na área de assinantes de um site. Este tópico explica as considerações ao usar cookies assinados e descreve como definir cookies assinados usando padrão e políticas personalizadas. Tópicos • Escolhendo entre Canned e políticas personalizadas para cookies assinados (p. 205) • Como cookies assinados Trabalhe (p. 206) • Evitando Uso de cookies assinados (p. 206) • Quando O CloudFront Marque a expiração em uma data e hora de cookies assinados? (p. 207) • Código de exemplo e ferramentas de terceiros (p. 207) • Definindo cookies assinados Usando um Canned Policy (p. 207) • Definindo cookies assinados Usando uma Política personalizada (p. 212) Escolhendo entre Canned e políticas personalizadas para cookies assinados Quando você cria um cookie, você grava uma declaração de política no formato JSON que especifica as restrições no cookie assinado, por exemplo, quanto tempo o cookie é válido. Você pode usar as políticas padrão ou políticas personalizadas. A tabela a seguir compara as políticas personalizadas e gravados: Descrição Política Canned Política personalizada Você pode reutilizar a declaração de política para vários objetos. Para reutilizar a declaração de política, você deve usar caracteres curinga no Resource objeto. Para obter mais informações, consulte Os valores que Você Especifique no Policy Statement para uma Política personalizada para cookies assinados (p. 216).) Não Sim Você pode especificar a data e a hora em que os usuários podem começar a acessar seu conteúdo Não Sim (opcional) Você pode especificar a data e a hora em que os usuários não podem mais acessar seu conteúdo Sim Sim Você pode especificar o endereço IP ou um intervalo Não de endereços IP dos usuários que podem acessar seu conteúdo Sim (opcional) Para obter informações sobre a criação de cookies assinados usando uma política, consulte Definindo cookies assinados Usando um Canned Policy (p. 207). Para obter informações sobre a criação de cookies assinados usando uma política personalizada, consulte Definindo cookies assinados Usando uma Política personalizada (p. 212). API Version 2016-01-13 205 Amazon CloudFront Guia do desenvolvedor Como cookies assinados Trabalhe Como cookies assinados Trabalhe Aqui está uma visão geral de como configurar do CloudFront para cookies assinados e como ele responde quando um usuário envia uma solicitação que contém um cookie. 1. Em sua distribuição do CloudFront, você especifica um ou mais assinantes confiáveis, que são as contas da AWS que você deseja ter permissão para criar URLs assinadas e assinadas cookies. Para obter mais informações, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). 2. Você desenvolver o seu aplicativo para determinar se um usuário deve ter acesso a seu conteúdo e, se esse for o caso, para enviar três Set-Cookie cabeçalhos para o visualizador. (Cada Set-Cookie cabeçalho pode conter apenas um par de nome-valor, e um cookie assinado do CloudFront requer três pares de nome-valor.) Você deve enviar os Set-Cookie cabeçalhos para o visualizador antes que o visualizador solicita o conteúdo privado. Se você definir um período de expiração curto no cookie, você também pode enviar mais três Set-Cookie cabeçalhos em resposta a solicitações subseqüentes, de forma que o usuário continua a ter acesso. Normalmente, a distribuição do CloudFront terá pelo menos dois comportamentos de cache, uma que não exige autenticação e uma que faz. A página de erro seguro para a parte do site inclui um redirecionador ou um link para uma página de login. Se você configurar sua distribuição para armazenar em cache os objetos com base em cookies, ele não armazenar em cache objetos separados com base nos atributos assinadas cookies. 3. Um usuário fizer login em seu site e paga para conteúdo ou cumpre algum outro requisito para acessar. 4. O aplicativo retorna os Set-Cookie cabeçalhos na resposta, e o visualizador armazena os pares de nome-valor. 5. O usuário solicita um objeto. O navegador do usuário ou outro visualizador obtém os pares de nome-valor da etapa 4 e adiciona à solicitação em um Cookie cabeçalho. Este é o cookie assinado. 6. CloudFront usa a chave pública para validar a assinatura no cookie assinado e para confirmar que o cookie não foi falsificado. Se a assinatura é inválido, a solicitação é rejeitada. Se a assinatura no cookie é válido, o CloudFront verifica a declaração de política no cookie (ou cria um, se você estiver usando uma política) para confirmar que a solicitação ainda é válido. Por exemplo, se você especificou uma data e hora iniciais e finais para o cookie, o CloudFront confirma que o usuário está tentando acessar seu conteúdo durante o período de tempo que você deseja permitir o acesso. Se a solicitação cumpre os requisitos na declaração de política, o CloudFront oferece o conteúdo como para conteúdo que não é restrito: determina se o objeto já está em cache no ponto de presença, encaminhará a solicitação para a origem, se necessário, e retorna o objeto para o usuário. Evitando Uso de cookies assinados Se você especificar o Domain parâmetro em um Set-Cookie cabeçalho, especifique o valor mais precisa possível limitar a necessidade de acesso por alguém com o mesmo nome de domínio root. Por exemplo, apex.example.com é preferível exemplo.com, especialmente quando você não tem o controle sobre exemplo.com. Isso ajuda a evitar que alguém nadir.example.com acessando seu conteúdo. Para evitar que esse tipo de ataque, faça o seguinte: API Version 2016-01-13 206 Amazon CloudFront Guia do desenvolvedor Quando O CloudFront Marque a expiração em uma data e hora de cookies assinados? • Excluir os atributos Expires e Max-Age cookies, de modo que o Set-Cookie cabeçalho cria um cookie de sessão. Sessão cookies são automaticamente excluídos quando o usuário fechar o navegador, o que reduz a possibilidade de alguém como o acesso não autorizado ao seu conteúdo. • Inclua o Secure atributo, para que o cookie são criptografados quando um visualizador inclui-lo em uma solicitação. • Quando possível, use uma política personalizada e incluem o endereço IP do visualizador. • No CloudFront-Expires atributo, especifique o menor tempo de expiração razoável com base em quanto tempo você deseja que os usuários têm acesso a seu conteúdo. Quando O CloudFront Marque a expiração em uma data e hora de cookies assinados? Para determinar se um cookie ainda é válido, o CloudFront verifica a data e hora de expiração no cookie no momento da solicitação de HTTP. Se um cliente começa para fazer o download de um grande objeto imediatamente antes da expiração do tempo, o download deve concluir, mesmo se o tempo de expiração passa durante o download. Se a conexão TCP cai e o cliente tentar reiniciar o download após a expiração o passar do tempo, o download falhará. Se um cliente usa Range GETs para obter um objeto em partes menores, qualquer solicitação GET que ocorre após a expiração do tempo transfere falhará. Para obter mais informações sobre GETs por intervalo, consulte Como processos de solicitações parciais do CloudFront para um objeto (Range GETs) (p. 134). Código de exemplo e ferramentas de terceiros O código de exemplo para conteúdo privado mostra apenas como criar a assinatura para URLs assinadas. No entanto, o processo de criação de uma assinatura para um cookie é muito semelhante, de modo que a maior parte do código de exemplo ainda está relevante. Para obter mais informações, consulte os seguintes tópicos: • Crie um URL Signature Usando Perl (p. 222) • Crie um URL Signature Usando PHP (p. 224) • Crie um URL Signature Using C # e o.NET Framework (p. 226) • Crie um URL Signature Usando Java (p. 232) Outros códigos de amostra para a criação de URLs assinadas está disponível na Amazon página Código de exemplo e bibliotecas do CloudFront. Para obter informações sobre ferramentas de terceiros que oferecem suporte a conteúdo privado, incluindo a criação de URLs assinadas, consulte Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361). Definindo cookies assinados Usando um Canned Policy Tópicos • A criação de uma assinatura para um cookie assinado Canned Que Usa uma Política (p. 210) Para definir um cookie usando uma política, execute o procedimento a seguir. API Version 2016-01-13 207 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando um Canned Policy Para definir um cookie usando uma política 1. Se você estiver usando o.NET ou Java para criar URLs assinadas, e se você não tiver reformatado a chave privada para o seu par de chaves no formato.pem padrão para um formato compatível com o.NET ou com Java, faça isso agora. Para obter mais informações, consulte Reformatação do CloudFront Private Key (.NET e Java apenas) (p. 180). 2. Program o aplicativo para enviar três Set-Cookie cabeçalhos para os visualizadores aprovadas. Você precisa de três Set-Cookie cabeçalhos porque cada Set-Cookie cabeçalho pode conter apenas um par de nome-valor, e um cookie assinado do CloudFront requer três pares de nomevalor. Os pares de nome e valor são: CloudFront-Expires, CloudFront-Signature, e CloudFront-Key-Pair-Id. Os valores devem estar presentes no visualizador antes de um usuário faz a primeira solicitação de um objeto que você deseja controlar o acesso. Note Em geral, recomendamos que você excluir Expires e Max-Age atributos. Excluindo os atributos faz com que o navegador para excluir o cookie quando o usuário fechar o navegador, o que reduz a possibilidade de alguém como o acesso não autorizado ao seu conteúdo. Para obter mais informações, consulte Evitando Uso de cookies assinados (p. 206). Os nomes dos atributos de cookie de minúsculas. As quebras de linha são incluídos apenas para tornar os atributos mais legíveis. Set-Cookie: Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly; CloudFront-Expires=date and time in Unix time format (in seconds) and Coordinated Universal Time (UTC) Set-Cookie: Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly; CloudFront-Signature=hashed and signed version of the policy statement Set-Cookie: Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly; CloudFront-Key-Pair-Id=active CloudFront key pair Id for the key pair that you are using to generate the signature (Opcional) Domínio O nome de domínio para o objeto solicitado. Se você não especificar um Domain atributo, o valor padrão é o nome do domínio no URL, e ele se aplica apenas para o nome de domínio, não subdomínios. Se você especificar um Domain atributo, ele também se aplica a subdomínios. Um ponto no nome de domínio (por exemplo, Domain=.example.com) é opcional. Além disso, se você especificar um Domain atributo, o nome de domínio na URL e o valor do Domain atributo devem corresponder. API Version 2016-01-13 208 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando um Canned Policy Você pode especificar o nome de domínio que atribuídas a sua distribuição do CloudFront, por exemplo, d111111abcdef8.cloudfront.net, mas você não pode especificar*. cloudfront.net para o nome de domínio. Se você quiser usar um nome de domínio alternativos, como exemplo.com em URLs, você deve adicionar o nome alternativo de domínio para sua distribuição, independentemente de você especificar o Domain atributo. Para obter mais informações, consulte Alternar nomes de domínio (CNAMEs) (p. 73) o tópico Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). (Opcional) Path O caminho para o objeto solicitado. Se você não especificar um Path atributo, o valor padrão é o caminho no URL. Seguro Exige que o visualizador criptografar cookies antes de enviar uma solicitação. Recomendamos que você envie o Set-Cookie cabeçalho através de uma conexão HTTPS para garantir que os atributos de cookie são protegidos contra man-in-the-middle". HttpOnly Exige que o usuário envie o cookie apenas em solicitações HTTP ou HTTPS. CloudFront-Expira Especifique a data e hora de expiração no formato de hora Unix e o Tempo Universal Coordenado (UTC). Por exemplo, 16 de março de 2015 10h UTC 1426500000 em Unix converte para formato de tempo. Para obter mais informações sobre UTC, consulte RFC 3339, data e hora na Internet: data/hora, http://tools.ietf.org/html/rfc3339. Assinatura do CloudFront Um misturado, assinado e codificado em base64 versão de uma declaração de política JSON. Para obter mais informações, consulte A criação de uma assinatura para um cookie assinado Canned Que Usa uma Política (p. 210). CloudFront-Key ID Par O ID do CloudFront ativas para um par de chaves, por exemplo, APKA9ONS7QCOWEXAMPLE. O ID de par de chaves do CloudFront do CloudFront que informa a chave pública para usar para validar o cookie. CloudFront compara as informações na assinatura com as informações na declaração de política para verificar se o URL não foi alterado. O par de chaves que você incluir no ID de cookies assinados do CloudFront deve ser associado a uma conta da AWS, que é um dos assinantes confiáveis para o comportamento de cache aplicáveis. Para obter mais informações, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). Se você fizer um par de chaves inativos e, ao mesmo tempo, rotação de pares de chaves do CloudFront, você deve atualizar o aplicativo para usar um novo par de chaves ativas para um de seus assinantes confiáveis. Para obter mais informações sobre como girar pares de chaves, consulte Girar pares de chaves do CloudFront (p. 183). Exemplo de Set-Cookie cabeçalhos assinadas por um cookie quando você está usando o nome de domínio que está associada a sua distribuição no URLs para seus objetos: Set-Cookie: Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly; CloudFront-Expires=1426500000 Set-Cookie: Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly; CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_ Set-Cookie: Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly; CloudFront-Key-Pair-Id=APKA9ONS7QCOWEXAMPLE API Version 2016-01-13 209 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando um Canned Policy Exemplo de Set-Cookie cabeçalhos assinadas por um cookie quando você estiver usando o nome de domínio alternativo example.org no URLs para seus objetos: Set-Cookie: Domain=example.org; Path=/images/*; Secure; HttpOnly; CloudFrontExpires=1426500000 Set-Cookie: Domain=example.org; Path=/images/*; Secure; HttpOnly; CloudFrontSignature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_ Set-Cookie: Domain=example.org; Path=/images/*; Secure; HttpOnly; CloudFrontKey-Pair-Id=APKA9ONS7QCOWEXAMPLE Se você quiser usar um nome de domínio alternativos, como exemplo.com em URLs, você deve adicionar o nome alternativo de domínio para sua distribuição, independentemente de você especificar o Domain atributo. Para obter mais informações, consulte Alternar nomes de domínio (CNAMEs) (p. 73) o tópico Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). A criação de uma assinatura para um cookie assinado Canned Que Usa uma Política Para criar a assinatura para um cookie que usa uma política, você pode executar as seguintes tarefas: 1. Crie uma declaração de política. Consulte A criação de uma declaração de política para um cookie assinado Canned Que Usa uma Política (p. 210). 2. Acesse a declaração de política para criar uma assinatura. Consulte Assinando o Policy Statement para Criar uma Assinatura de cookies assinados para uma política que usam um Canned (p. 212). A criação de uma declaração de política para um cookie assinado Canned Que Usa uma Política Quando você definir um cookie que usa uma política, o CloudFront-Signature atributo é um hash e versão assinada de uma declaração de política. Para cookies assinados que usam uma política, você não incluem a declaração de política no Set-Cookie cabeçalho, como para cookies assinados que usam uma política personalizada. Para criar a declaração de política, execute o procedimento a seguir. Para criar uma declaração de política para um cookie que usa uma política 1. Construa a declaração de política usando o seguinte formato JSON e usando a codificação de caracteres UTF-8. Incluir todas as pontuações e outros valores literais exatamente como especificado. Para obter informações sobre as Resource e DateLessThan parâmetros, consulte Os valores que Você Especifique no Policy Statement para um Canned Policy para cookies assinados (p. 211). { "Statement":[ { "Resource":"base URL or stream name", "Condition":{ "DateLessThan":{ "AWS:EpochTime":ending date and time in Unix time format and UTC } } } API Version 2016-01-13 210 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando um Canned Policy ] } 2. Remova todas as guias de espaço em branco (incluindo caracteres) na declaração de política. Você pode ter para incluir caracteres de escape na string no código do aplicativo. Os valores que Você Especifique no Policy Statement para um Canned Policy para cookies assinados Quando você criar uma declaração de política para uma política, você especifica os seguintes valores: Recurso O URL de base, incluindo suas sequências de caracteres de consulta, se houver, por exemplo: http://d111111abcdef8.cloudfront.net/images/horizon.jpg? size=large&license=yes Você pode especificar apenas um valor para Resource. Observe o seguinte: • Protocol – O valor deve começar com http://, https:// ou http*://. • Os parâmetros de sequência – Se você não têm parâmetros de sequência de caracteres de consulta, omita o ponto de interrogação. • Alternar nomes de domínio – Se você especificar um nome de domínio alternativo (CNAME) no URL, você deve especificar o nome de domínio alternativo ao referenciar o objeto em seu aplicativo ou página da Web. Não especifique o URL do Amazon S3 para o objeto. DateLessThan A data e hora de expiração para o URL em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC). Não inclua o valor entre aspas. Por exemplo, 16 de março de 2015 10h UTC 1426500000 em Unix converte para formato de tempo. Esse valor deve corresponder ao valor do CloudFront-Expires atributo no Set-Cookie cabeçalho. Não inclua o valor entre aspas. Para obter mais informações, consulte Quando O CloudFront Marque a expiração em uma data e hora de cookies assinados? (p. 207). Exemplo Policy Statement para uma Canned Policy Quando você usa o exemplo a seguir declaração de política em um cookie, um usuário pode acessar o objeto http://d111111abcdef8.cloudfront.net/horizon.jpg até 16 de março de 2015 10h UTC: { "Statement":[ { "Resource":"http://d111111abcdef8.cloudfront.net/horizon.jpg? size=large&license=yes", "Condition":{ "DateLessThan":{ "AWS:EpochTime":1426500000 } } } API Version 2016-01-13 211 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada ] } Assinando o Policy Statement para Criar uma Assinatura de cookies assinados para uma política que usam um Canned Para criar o valor para o CloudFront-Signature atributo em um Set-Cookie cabeçalho, hash e assinar a declaração de política que você criou Para criar uma declaração de política para um cookie que usa uma política (p. 210). Para obter mais informações e exemplos de como hash, assinar e codificar a declaração de política, consulte os seguintes tópicos: • O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 (p. 221) • Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) Para criar uma assinatura para um cookie usando uma política 1. Use a função de hash SHA-1 e RSA de hash e assinar a declaração de política que você criou no procedimento Para criar uma declaração de política para um cookie que usa uma política (p. 210). Use a versão da declaração de política que não inclui mais espaço em branco. Para a chave privada que é necessária pela função de hash, use a chave privada associado ao assinante confiável ativo aplicáveis. Note O método que você usa para assinar a declaração de política de hash e depende da sua linguagem de programação e plataforma. Para o código de exemplo, consulte Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222). 2. Remover espaço em branco (incluindo guias e caracteres) na sequência de hash e assinadas. 3. codificação Base64 a string usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. 4. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. 5. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) = _ (sublinhado) / ~ (til) Inclua o valor resultante no Set-Cookie cabeçalho para o par CloudFront-Signature nomevalor. Em seguida, retorne para Para definir um cookie usando uma política (p. 208) adicionar o Set-Cookie cabeçalho CloudFront-Key-Pair-Id. Definindo cookies assinados Usando uma Política personalizada Tópicos API Version 2016-01-13 212 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada • A criação de uma declaração de política para um cookie assinado que usam uma Política personalizada (p. 215) • Exemplo de cookies assinados para declarações de política que usam uma Política personalizada (p. 217) • A criação de uma assinatura para um cookie assinado que usam uma Política personalizada (p. 219) Para definir um cookie que usa uma política personalizada, execute o procedimento a seguir. Para definir um cookie assinado usando uma política personalizada 1. Se você estiver usando o.NET ou Java para criar URLs assinadas, e se você não tiver reformatado a chave privada para o seu par de chaves no formato.pem padrão para um formato compatível com o.NET ou com Java, faça isso agora. Para obter mais informações, consulte Reformatação do CloudFront Private Key (.NET e Java apenas) (p. 180). 2. Program o aplicativo para enviar três Set-Cookie cabeçalhos para os visualizadores aprovadas. Você precisa de três Set-Cookie cabeçalhos porque cada Set-Cookie cabeçalho pode conter apenas um par de nome-valor, e um cookie assinado do CloudFront requer três pares de nomevalor. Os pares de nome e valor são: CloudFront-Policy, CloudFront-Signature, e CloudFront-Key-Pair-Id. Os valores devem estar presentes no visualizador antes de um usuário faz a primeira solicitação de um objeto que você deseja controlar o acesso. Note Em geral, recomendamos que você excluir Expires e Max-Age atributos. Isso faz com que o navegador para excluir o cookie quando o usuário fechar o navegador, o que reduz a possibilidade de alguém como o acesso não autorizado ao seu conteúdo. Para obter mais informações, consulte Evitando Uso de cookies assinados (p. 206). Os nomes dos atributos de cookie de minúsculas. As quebras de linha são incluídos apenas para tornar os atributos mais legíveis. Set-Cookie: Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly; CloudFront-Policy=base64 encoded version of the policy statement Set-Cookie: Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly; CloudFront-Signature=hashed and signed version of the policy statement Set-Cookie: Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly; CloudFront-Key-Pair-Id=active CloudFront key pair Id for the key pair that you are using to generate the signature API Version 2016-01-13 213 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada (Opcional) Domínio O nome de domínio para o objeto solicitado. Se você não especificar um Domain atributo, o valor padrão é o nome do domínio no URL, e ele se aplica apenas para o nome de domínio, não subdomínios. Se você especificar um Domain atributo, ele também se aplica a subdomínios. Um ponto no nome de domínio (por exemplo, Domain=.example.com) é opcional. Além disso, se você especificar um Domain atributo, o nome de domínio na URL e o valor do Domain atributo devem corresponder. Você pode especificar o nome de domínio que atribuídas a sua distribuição do CloudFront, por exemplo, d111111abcdef8.cloudfront.net, mas você não pode especificar*. cloudfront.net para o nome de domínio. Se você quiser usar um nome de domínio alternativos, como exemplo.com em URLs, você deve adicionar o nome alternativo de domínio para sua distribuição, independentemente de você especificar o Domain atributo. Para obter mais informações, consulte Alternar nomes de domínio (CNAMEs) (p. 73) o tópico Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). (Opcional) Path O caminho para o objeto solicitado. Se você não especificar um Path atributo, o valor padrão é o caminho no URL. Seguro Exige que o visualizador criptografar cookies antes de enviar uma solicitação. Recomendamos que você envie o Set-Cookie cabeçalho através de uma conexão HTTPS para garantir que os atributos de cookie são protegidos contra man-in-the-middle". HttpOnly Exige que o usuário envie o cookie apenas em solicitações HTTP ou HTTPS. CloudFront-Policy Sua declaração de política no formato JSON, com espaço em branco removido e, em seguida, codificada com base64. Para obter mais informações, consulte Criação de um Policy Statement para uma Política personalizada. A declaração de política controla o acesso que um cookie concede a um usuário: os objetos que o usuário pode acessar, uma data e hora de expiração, um opcional de data e hora que o URL opcional se tornar válido e um endereço IP ou um intervalo de endereços IP que têm permissão para acessar o objeto. Assinatura do CloudFront Um misturado, assinado e codificado em base64 JSON versão da declaração de política. Para obter mais informações, consulte A criação de uma assinatura para um cookie assinado que usam uma Política personalizada (p. 219). CloudFront-Key ID Par O ID do CloudFront ativas para um par de chaves, por exemplo, APKA9ONS7QCOWEXAMPLE. O ID de par de chaves do CloudFront do CloudFront que informa a chave pública para usar para validar o cookie. CloudFront compara as informações na assinatura com as informações na declaração de política para verificar se o URL não foi alterado. O par de chaves que você incluir no ID de cookies assinados do CloudFront deve ser associado a uma conta da AWS, que é um dos assinantes confiáveis para o comportamento de cache aplicáveis. Para obter mais informações, consulte Especificando as contas da AWS que Podem Criar URLs assinadas e cookies assinados (Trusted Signatários) (p. 177). Se você fizer um par de chaves inativos e, ao mesmo tempo, rotação de pares de chaves do CloudFront, você deve atualizar o aplicativo para usar um novo par de chaves ativas para API Version 2016-01-13 214 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada um de seus assinantes confiáveis. Para obter mais informações sobre como girar pares de chaves, consulte Girar pares de chaves do CloudFront (p. 183). Exemplo de Set-Cookie cabeçalhos assinadas por um cookie quando você está usando o nome de domínio que está associada a sua distribuição no URLs para seus objetos: Set-Cookie: Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly; CloudFrontPolicy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L Set-Cookie: Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly; CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_ Set-Cookie: Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly; CloudFront-Key-Pair-Id=APKA9ONS7QCOWEXAMPLE Exemplo de Set-Cookie cabeçalhos assinadas por um cookie quando você estiver usando o nome de domínio alternativo example.org no URLs para seus objetos: Set-Cookie: Domain=example.org; Path=/; Secure; HttpOnly; CloudFrontPolicy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L Set-Cookie: Domain=example.org; Path=/; Secure; HttpOnly; CloudFrontSignature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_ Set-Cookie: Domain=example.org; Path=/; Secure; HttpOnly; CloudFront-KeyPair-Id=APKA9ONS7QCOWEXAMPLE Se você quiser usar um nome de domínio alternativos, como exemplo.com em URLs, você deve adicionar o nome alternativo de domínio para sua distribuição, independentemente de você especificar o Domain atributo. Para obter mais informações, consulte Alternar nomes de domínio (CNAMEs) (p. 73) o tópico Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). A criação de uma declaração de política para um cookie assinado que usam uma Política personalizada Para criar uma declaração de política para uma política personalizada, execute o procedimento a seguir. Para várias declarações de política de exemplo que controlam o acesso a objetos em uma variedade de formas, consulte Exemplo de cookies assinados para declarações de política que usam uma Política personalizada (p. 217). Para criar a declaração de política para um cookie que usa uma política personalizada 1. Construa a declaração de política usando o seguinte formato JSON. { "Statement": [ { "Resource":"URL of the object", "Condition":{ "DateLessThan":{"AWS:EpochTime":required ending date and time in Unix time format and UTC}, "DateGreaterThan":{"AWS:EpochTime":optional beginning date and time in Unix time format and UTC}, "IpAddress":{"AWS:SourceIp":"optional IP address"} } } ] API Version 2016-01-13 215 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada } Observe o seguinte: • Use codificação de caracteres UTF-8. • Incluir todos os sinais e nomes de parâmetro exatamente conforme especificado. Abreviações para nomes de parâmetros não são aceitos. • A ordem dos parâmetros na Condition seção não importa. • Para obter informações sobre os valores para ResourceDateLessThan, DateGreaterThane IpAddress, consulte Os valores que Você Especifique no Policy Statement para uma Política personalizada para cookies assinados (p. 216). 2. Remova todas as guias de espaço em branco (incluindo caracteres) na declaração de política. Você pode ter para incluir caracteres de escape na string no código do aplicativo. 3. codificação Base64 a declaração de política usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. 4. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) = _ (sublinhado) / ~ (til) 5. Inclua o valor resultante em seu Set-Cookie cabeçalho depois CloudFront-Policy=. 6. Crie uma assinatura para o Set-Cookie cabeçalho para CloudFront-Signature por hash, assinatura de codificação de base64 e a declaração de política. Para obter mais informações, consulte A criação de uma assinatura para um cookie assinado que usam uma Política personalizada (p. 219). Os valores que Você Especifique no Policy Statement para uma Política personalizada para cookies assinados Quando você criar uma declaração de política para uma política personalizada, você especifica os seguintes valores. Recurso O URL de base, incluindo suas sequências de caracteres de consulta, se houver: http://d111111abcdef8.cloudfront.net/images/horizon.jpg? size=large&license=yes Caution Se você pular o Resource parâmetro, os usuários podem acessar todos os objetos associados com qualquer distribuição associado ao par de chaves que você usa para criar o URL assinada. Você pode especificar apenas um valor para Resource. Observe o seguinte: API Version 2016-01-13 216 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada • Protocol – O valor deve começar com http://, https://ou http*://. • Os parâmetros de sequência – Se você não têm parâmetros de sequência de caracteres de consulta, omita o ponto de interrogação. • Curingas – Você pode usar o caractere curinga que corresponde a zero ou mais caracteres (*) ou o caractere curinga que corresponde a exatamente um caractere (?) em qualquer lugar na string. Por exemplo, o valor: http*://d111111abcdef8.cloudfront.net/*game_download.zip* incluiria (por exemplo) todos os seguintes objetos: • http://d111111abcdef8.cloudfront.net/example_game_download.zip? license=yes • https://d111111abcdef8.cloudfront.net/example_game_download.zip? license=yes • http://d111111abcdef8.cloudfront.net/test_game_download.zip? license=temp • https://d111111abcdef8.cloudfront.net/test_game_download.zip? license=temp • Alternar nomes de domínio – Se você especificar um nome de domínio alternativo (CNAME) no URL, você deve especificar o nome de domínio alternativo ao referenciar o objeto em seu aplicativo ou página da Web. Não especifique o URL do Amazon S3 para o objeto. DateLessThan A data e hora de expiração para o URL em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC). Não inclua o valor entre aspas. Por exemplo, 16 de março de 2015 10h UTC 1426500000 em Unix converte para formato de tempo. Para obter mais informações, consulte Quando O CloudFront Marque a expiração em uma data e hora de cookies assinados? (p. 207). DateGreaterThan (Opcional) Um opcional começar a data e a hora para o URL em Unix formato de tempo (em segundos) e o Tempo Universal Coordenado (UTC). Os usuários não podem acessar o objeto antes da data e hora especificadas. Não inclua o valor entre aspas. endereço IP (Opcional) O endereço IP do cliente que fez a solicitação GET. Observe o seguinte: • Para permitir que qualquer endereço IP para acessar o objeto, omita o IpAddress parâmetro. • Você pode especificar um endereço IP ou um intervalo de endereços IP. Por exemplo, você não pode definir a política para permitir o acesso se o endereço IP do cliente é de duas faixas separadas. • Para permitir o acesso a partir de um único endereço IP, você especifica: endereço"IP/32"IPv4 • Você deve especificar intervalos de endereços IP no formato padrão IPv4 CIDR (por exemplo, 10.52.176.0/24). Para obter mais informações, consulte RFC 4632, roteamento sem classe entre domínios (CIDR): O endereço da Internet Atribuição e Agregação Plano, http:// tools.ietf.org/html/rfc4632. Exemplo de cookies assinados para declarações de política que usam uma Política personalizada O exemplo a seguir mostram como declarações de política para controlar o acesso a um objeto específico, todos os objetos em um diretório, ou todos os objetos associados a um par de chaves. API Version 2016-01-13 217 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada Os exemplos também mostram como controlar o acesso a partir de um único endereço IP ou um intervalo de endereços IP, e como evitar que os usuários usem um cookie assinado após a data e hora especificadas. Se você copiar e colar qualquer um desses exemplos, remover qualquer espaço em branco (incluindo guias e caracteres), substituir os valores aplicáveis com seus próprios valores e incluem um caractere de nova linha depois da chave de fechamento (}). Para obter mais informações, consulte Os valores que Você Especifique no Policy Statement para uma Política personalizada para cookies assinados (p. 216). Tópicos • Exemplo Policy Statement: Acessando um objeto a partir de um intervalo de endereços IP (p. 218) • Exemplo Policy Statement: Acessando todos os objetos em um diretório a partir de um intervalo de endereços IP (p. 218) • Exemplo Policy Statement: Acessando todos os objetos associado com um par de chaves de um endereço IP ID (p. 219) Exemplo Policy Statement: Acessando um objeto a partir de um intervalo de endereços IP O exemplo a seguir política personalizada em um cookie especifica que um usuário pode acessar o objeto http://d111111abcdef8.cloudfront.net/game_download.zip de endereços IP no intervalo 192.0.2.0/24 até 1º de janeiro de 2013, 10h UTC: { "Statement": [ { "Resource":"http://d111111abcdef8.cloudfront.net/game_download.zip", "Condition":{ "IpAddress":{"AWS:SourceIp":"192.0.2.0/24"}, "DateLessThan":{"AWS:EpochTime":1357034400} } } ] } Exemplo Policy Statement: Acessando todos os objetos em um diretório a partir de um intervalo de endereços IP O exemplo a seguir política personalizada permite que você crie cookies assinados para qualquer objeto no training diretório, conforme indicado pela* caractere curinga no Resource parâmetro. Os usuários podem acessar o objeto a partir de um endereço IP no intervalo 192.0.2.0/24 até 1º de janeiro de 2013, 10h UTC: { "Statement": [ { "Resource":"http://d111111abcdef8.cloudfront.net/training/*", "Condition":{ "IpAddress":{"AWS:SourceIp":"192.0.2.0/24"}, "DateLessThan":{"AWS:EpochTime":1357034400} } } API Version 2016-01-13 218 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada ] } Cada cookie assinado em que você usa essa política inclui um URL de base que identifica um objeto específico, por exemplo: http://d111111abcdef8.cloudfront.net/training/orientation.pdf Exemplo Policy Statement: Acessando todos os objetos associado com um par de chaves de um endereço IP ID O seguinte exemplo de política personalizada permite que você defina cookies assinados para qualquer objeto associado a qualquer distribuição, conforme indicado pela* caractere curinga no Resource parâmetro. O usuário deve usar o endereço IP 192.0.2.10/32. (O valor 192.0.2.10/32 na notação CIDR refere-se a um único endereço IP) 192.0.2.10. Os objetos estão disponíveis apenas a partir de 1 de janeiro de 2013, 10h UTC até 2 de janeiro de 2013, 10h UTC: { "Statement": [ { "Resource":"http://*", "Condition":{ "IpAddress":{"AWS:SourceIp":"192.0.2.10/32"}, "DateGreaterThan":{"AWS:EpochTime":1357034400}, "DateLessThan":{"AWS:EpochTime":1357120800} } } ] } Cada cookie assinado em que você usa essa política inclui um URL de base que identifica um objeto específico em uma determinada distribuição do CloudFront, por exemplo: http://d111111abcdef8.cloudfront.net/training/orientation.pdf O cookie assinado também inclui um par de chaves ID, que deve ser associado a um assinante confiável na distribuição (d111111abcdef8.cloudfront.net) que você especifica no URL base. A criação de uma assinatura para um cookie assinado que usam uma Política personalizada A assinatura para um cookie que usa uma política personalizada é misturado, assinado e codificado em base64 versão da declaração de política. Para obter mais informações e exemplos de como hash, assinar e codificar a declaração de política, consulte: • O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 (p. 221) • Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) Para criar uma assinatura para um cookie usando uma política personalizada 1. Use a função de hash SHA-1 e RSA para hash JSON e assinar a declaração de política que você criou no procedimento Para criar a declaração de política para um URL assinada que usa uma API Version 2016-01-13 219 Amazon CloudFront Guia do desenvolvedor Definindo cookies assinados Usando uma Política personalizada política personalizada (p. 198). Use a versão da declaração de política que não inclui mais espaço em branco, mas que ainda não tiver sido codificado em base64. Para a chave privada que é necessária pela função de hash, use a chave privada associado ao assinante confiável ativo aplicáveis. Note O método que você usa para assinar a declaração de política de hash e depende da sua linguagem de programação e plataforma. Para o código de exemplo, consulte Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222). 2. Remover espaço em branco (incluindo guias e caracteres) na sequência de hash e assinadas. 3. codificação Base64 a string usando codificação de base64 MIME. Para obter mais informações, consulte a Seção 6,8, codificação Base64 de transferência de conteúdo em RFC 2045, MIME (Multipurpose Internet Mail Extensions) Parte 1: Formato de Corpos de mensagens da Internet. Substitua caracteres inválidos em uma string de consulta URL com caracteres que são válidas. A tabela a seguir lista inválidos e caracteres válidos. 4. 5. Substitua esses caracteres inválidos Com esses caracteres válidos + – (hífen) = _ (sublinhado) / ~ (til) Inclua o valor resultante no Set-Cookie cabeçalho para o par CloudFront-Signature= nome-valor e retornar para Para definir um cookie assinado usando uma política personalizada (p. 213) adicionar o Set-Cookie cabeçalho CloudFront-Key-Pair-Id. API Version 2016-01-13 220 Amazon CloudFront Guia do desenvolvedor O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 O uso de um comando do Linux e OpenSSL para criptografia e codificação Base64 Você pode usar o seguinte comando de linha de comando do Linux e OpenSSL para hash e assinar a declaração de política, base64-codificar a assinatura e substituir caracteres que não são válidas em parâmetros de sequência de caracteres de consulta com caracteres de URLs que são válidas. Para obter mais informações sobre o OpenSSL, vá para http://www.openssl.org. cat policy | tr -d "\n" | openssl base64 | openssl sha1 -sign private-key.pem | tr -- '+=/' '-_~' onde: cat lê o policy arquivo. tr -d "\n" remove um caractere de nova linha que foi adicionada ao cat. OpenSSL hashes o arquivo usando SHA-1 e assina-o usando o RSA e o arquivo de chave privada private-key.pem. OpenSSL base64 e assinados com hash codifica a declaração de política. tr substitui caracteres que não são válidas em parâmetros de sequência de caracteres de consulta com caracteres de URLs que são válidas. Para exemplos de código que demonstram como criar uma assinatura em várias linguagens de programação, consulte Entre os exemplos de código para criar uma assinatura para um URL assinado (p. 222). API Version 2016-01-13 221 Amazon CloudFront Guia do desenvolvedor Entre os exemplos de código para criar uma assinatura para um URL assinado Entre os exemplos de código para criar uma assinatura para um URL assinado Esta seção inclui exemplos de aplicativos para download que demonstram como criar assinaturas para URLs assinadas. Entre os exemplos estão disponíveis em Perl, PHP, C # e Java. Você pode usar qualquer um dos exemplos para criar URLs assinadas. O script Perl é executado no Linux/Mac plataformas. O PHP exemplo trabalhará em qualquer servidor que executa PHP. O C # exemplo usa o.NET Framework. Para obter um exemplo de como usar cookies com Ruby on Rails, consulte Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) no tópico Recursos Amazon CloudFront (p. 359). Você pode encontrar código de exemplo para URLs assinadas e para cookies assinados em uma variedade de linguagens de programação. Execute uma pesquisa na Internet no sample app idioma cloudfront signed URLs ou no sample app idioma cloudfront signed cookies. Tópicos • Crie um URL Signature Usando Perl (p. 222) • Crie um URL Signature Usando PHP (p. 224) • Crie um URL Signature Using C # e o.NET Framework (p. 226) • Crie um URL Signature Usando Java (p. 232) Crie um URL Signature Usando Perl O script Perl cria a assinatura para conteúdo privado de argumentos de linha de comando que especificam o URL do CloudFront, o caminho para a chave privada do assinante, o ID de chave e uma data de expiração para o URL. A ferramenta também pode decodificar URLs assinadas. Para obter a ferramenta cfsign.pl URLs assinadas, acesse o Amazon CloudFront Helper Tool. Note A criação de um URL assinatura é apenas uma parte do processo de entrega de conteúdo privado usando um URL assinada. Para obter mais informações sobre o processo inteiro, consulte Usando URLs assinadas (p. 185). O exemplo a seguir mostra como você pode usar cfsign.pl para criar uma assinatura de distribuição RTMP. $ cfsign.pl --action encode --stream example/video.mp4 --private-key /path/to/my-private-key.pem --key-pair-id PK12345EXAMPLE --expires 1265838202 Esta ferramenta gera a declaração de política a partir da linha de comando. A assinatura gerado é um hash SHA1 da declaração de política. Veja a seguir um exemplo codificado em base64 nome de stream. mp4:example/video.mp4%3FPolicy %3DewogICJTdGF0ZW1lbnQiOlt7CiAgICAgICJSZXNvdXJjZSI 6ImRyciIsCiAgICAgICJDb25kaXRpb24iOnsKICAgICAgICAiSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2V API Version 2016-01-13 222 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Usando Perl JcCI6IjAuMC4wLjAvMCJ9LAogICAgICAgICJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MjE 0NTkxNjgwMH0KICAgICAgfQogICAgEXAMPLE_%26Signature%3DewtHqEXK~68tsZteOFnZKGwTf2a JlbKhXkK5SSiVqcG9pieCRV3xTEPtc29OzeXlsDvRycOM2WK0cXzcyYZhpl9tv2796ihHiCTAwIHQ8yP 17Af4nWtOLIZHoH6wkR3tU1cQHs8R1d-g-SlZGjNBXr~J2MbaJzm8i6EXAMPLE_%26Key-Pair-Id %3 DPK12345EXAMPLE Esta assinatura autentica a solicitação para transmitir conteúdo privado, exemplo/video.mp4. Se você estiver usando o Adobe Flash Player e o nome de stream é transmitido a partir de uma página da web usando o JavaScript, você deve codificar a assinatura base64 e substituir caracteres inválidos em uma solicitação de URL parâmetro (+, =, /) com caracteres que são válidos (-, _ e ~, respectivamente). Se o nome de stream não é transmitido a partir de uma página da web, você não precisa codificar a assinatura base64. Por exemplo, você não base64 codificar a assinatura se você escrever seu próprio jogador e o stream nomes são acessados de dentro do Adobe Flash.swf arquivo. O exemplo a seguir usa jwplayer com CloudFront. <script type='text/javascript'> var so1 = new SWFObject ('http://d84l721fxaaqy9.cloudfront.net/player/player.swf', 'mpl', '640', '360', '9'); so1.addParam('allowfullscreen','true'); so1.addParam('allowscriptaccess','always'); so1.addParam('wmode','opaque'); so1.addVariable('streamer','rtmp://s33r3xe4ayhhis.cloudfront.net/cfx/st'); so1.addVariable("file","mp4:example/video.mp4%3FPolicy %3DewogICJTdGF0ZW1lbnQi Olt7CiAgICAgICJSZXNvdXJjZSI6ImRyciIsCiAgICAgICJDb25kaXRpb24iOnsKICAgICAgICA iSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2VJcCI6IjAuMC4wLjAvMCJ9LAogICAgICAgICJEYXRlTG Vzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MjE0NTkxNjgwMH0KICAgICAgfQogICAgEXAMPLE_% 26Signature%3DewtHqEXK~68tsZteOFnZKGwTf2aJlbKhXkK5SSiVqcG9pieCRV3xTEPtc29O zeXlsDvRycOM2WK0cXzcyYZhpl9tv2796ihHiCTAwIHQ8yP17Af4nWtOLIZHoH6wkR3tU1cQHs8 R1d-g-SlZGjNBXr~J2MbaJzm8i6EXAMPLE_%26Key-Pair-Id%3DPK12345EXAMPLE so1.write('flv'); </script> Quando você recuperar um stream para reproduzir a partir de um arquivo, o Adobe Flash.swf não URL-codificar nome do stream, por exemplo: mp4:example/video.mp4? Policy=ewogICJTdGF0ZW1lbnQiOlt7CiAgICAgICJSZXNvdXJjZSI6ImR yciIsCiAgICAgICJDb25kaXRpb24iOnsKICAgICAgICAiSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2VJcCI 6IjAuMC4wLjAvMCJ9LAogICAgICAgICJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MjE0NTk xNjgwMH0KICAgICAgfQogICAgEXAMPLE_&Signature=ewtHqEXK~68tsZteOFnZKGwTf2aJlbKhXkK 5SSiVqcG9pieCRV3xTEPtc29OzeXlsDvRycOM2WK0cXzcyYZhpl9tv2796ihHiCTAwIHQ8yP17Af4nWt OLIZHoH6wkR3tU1cQHs8R1d-g-SlZGjNBXr~J2MbaJzm8i6EXAMPLE_&Key-Pair-Id=PK12345 EXAMPLE Consulte os comentários no Perl código-fonte para obter mais informações sobre opções de linha de comando e os recursos desta ferramenta. API Version 2016-01-13 223 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Usando PHP Consulte também • Crie um URL Signature Usando PHP (p. 224) • Crie um URL Signature Using C # e o.NET Framework (p. 226) • Crie um URL Signature Usando Java (p. 232) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) Crie um URL Signature Usando PHP Qualquer servidor da web que executa o PHP pode usar o código de demonstração do PHP para criar declarações de política do CloudFront privados e assinaturas para as distribuições RTMP. O exemplo cria uma página da web em funcionamento com signed URL links que desempenham um stream de vídeo usando streaming do CloudFront. Para obter o código de exemplo, faça o download do Signature para streaming de vídeo em PHP. Você também pode criar URLs assinadas usando a UrlSigner classe no AWS SDK para PHP. Para obter mais informações, consulte Class UrlSigner no AWS SDK para PHP API Reference. Note A criação de um URL assinatura é apenas uma parte do processo de entrega de conteúdo privado usando um URL assinada. Para obter mais informações sobre o processo inteiro, consulte Usando URLs assinadas (p. 185). No exemplo a seguir, o segmento de rsa_sha1_sign hashes e assinará a função de declaração de política. Os argumentos necessários são uma declaração de política, um parâmetro para conter a assinatura, e a chave privada para sua conta da AWS ou para uma conta da AWS que você especificar. Em seguida, a url_safe_base64_encode função cria um URL segura para a versão da assinatura. API Version 2016-01-13 224 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Usando PHP Example Hash RSA SHA1 em PHP function rsa_sha1_sign($policy, $private_key_filename) { $signature = ""; // load the private key $fp = fopen($private_key_filename, "r"); $priv_key = fread($fp, 8192); fclose($fp); $pkeyid = openssl_get_privatekey($priv_key); // compute signature openssl_sign($policy, $signature, $pkeyid); // free the key from memory openssl_free_key($pkeyid); return $signature; } function url_safe_base64_encode($value) { $encoded = base64_encode($value); // replace unsafe characters +, = and / with // the safe characters -, _ and ~ return str_replace( array('+', '=', '/'), array('-', '_', '~'), $encoded); } O código a seguir cria uma declaração de política necessária para criar a assinatura. Para obter mais informações sobre as políticas padrão, consulte A criação de um URL assinado Canned Usando uma Política (p. 188). Example Assinando Canned Função em PHP function get_canned_policy_stream_name($video_path, $private_key_filename, $key_pair_id, $expires) { // this policy is well known by CloudFront, but you still need to sign it, // since it contains your parameters $canned_policy = '{"Statement":[{"Resource":"' . $video_path . '","Condition":{"DateLessThan":{"AWS:EpochTime":'. $expires . '}}}]}'; // sign the canned policy $signature = rsa_sha1_sign($canned_policy, $private_key_filename); // make the signature safe to be included in a url $encoded_signature = url_safe_base64_encode($signature); // combine the above into a stream name $stream_name = create_stream_name($video_path, null, $encoded_signature, $key_pair_id, $expires); // url-encode the query string characters to work around a flash player bug return encode_query_params($stream_name); } API Version 2016-01-13 225 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Using C # e o.NET Framework O código a seguir cria uma declaração de política personalizados necessários para criar a assinatura. Para obter mais informações sobre políticas personalizadas, consulte A criação de um URL assinado usando uma Política personalizada (p. 195). Example Assinatura personalizado Função em PHP function get_custom_policy_stream_name($video_path, $private_key_filename, $key_pair_id, $policy) { // sign the policy $signature = rsa_sha1_sign($policy, $private_key_filename); // make the signature safe to be included in a url $encoded_signature = url_safe_base64_encode($signature); // combine the above into a stream name $stream_name = create_stream_name($video_path, $encoded_policy, $encoded_signature, $key_pair_id, null); // url-encode the query string characters to work around a flash player bug return encode_query_params($stream_name); } Para obter mais informações sobre a implementação de OpenSSL SHA-1, consulte O Open Source Toolkit para SSL/TLS. Consulte também • Crie um URL Signature Usando Perl (p. 222) • Crie um URL Signature Using C # e o.NET Framework (p. 226) • Crie um URL Signature Usando Java (p. 232) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) Crie um URL Signature Using C # e o.NET Framework O C # exemplos nesta seção implementar um aplicativo de exemplo que demonstra como criar distribuições privadas para as assinaturas do CloudFront gravados e personalizados usando declarações de política. Os exemplos inclui as funções de utilitários com base na AWS.NET SDK que pode ser útil em aplicativos.NET. Você também pode criar URLs assinadas e assinou cookies usando o AWS SDK para.NET. No AWS SDK para .NET API Reference, consulte os seguintes tópicos: • URLsassinadas – AmazonCloudFrontUrlSigner Amazon.CloudFront > • cookiesassinados – AmazonCloudFrontCookieSigner Amazon.CloudFront > Note A criação de um URL assinatura é apenas uma parte do processo de entrega de conteúdo privado usando um URL assinada. Para obter mais informações sobre o processo inteiro, consulte Usando URLs assinadas (p. 185). Para fazer o download do código, acesse Código de assinatura em C #. API Version 2016-01-13 226 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Using C # e o.NET Framework Para usar as chaves RSA fornecida por conta da AWS/Security no.NET Framework, você deve converter o padrão da AWS.pem. arquivos para o formato XML que o.NET framework usa. Após a conversão, o arquivo de chave privada RSA está no seguinte formato: Example RSA Private Key no XML.NET Framework Format <RSAKeyValue> <Modulus> wO5IvYCP5UcoCKDo1dcspoMehWBZcyfs9QEzGi6Oe5y+ewGr1oW+vB2GPB ANBiVPcUHTFWhwaIBd3oglmF0lGQljP/jOfmXHUK2kUUnLnJp+oOBL2NiuFtqcW6h/ L5lIpD8Yq+NRHg Ty4zDsyr2880MvXv88yEFURCkqEXAMPLE= </Modulus> <Exponent>AQAB</Exponent> <P> 5bmKDaTz npENGVqz4Cea8XPH+sxt +2VaAwYnsarVUoSBeVt8WLloVuZGG9IZYmH5KteXEu7fZveYd9UEXAMPLE== </P> <Q> 1v9l/WN1a1N3rOK4VGoCokx7kR2SyTMSbZgF9IWJNOugR/WZw7HTnjipO3c9dy1Ms9pUKwUF4 6d7049EXAMPLE== </Q> <DP> RgrSKuLWXMyBH+/l1Dx/I4tXuAJIrlPyo+VmiOc7b5NzHptkSHEPfR9s1 OK0VqjknclqCJ3Ig86OMEtEXAMPLE== </DP> <DQ> pjPjvSFw+RoaTu0pgCA/jwW/FGyfN6iim1RFbkT4 z49DZb2IM885f3vf35eLTaEYRYUHQgZtChNEV0TEXAMPLE== </DQ> <InverseQ> nkvOJTg5QtGNgWb9i cVtzrL/1pFEOHbJXwEJdU99N+7sMK+1066DL/HSBUCD63qD4USpnf0myc24in0EXAMPLE==</ InverseQ> <D> Bc7mp7XYHynuPZxChjWNJZIq+A73gm0ASDv6At7F8Vi9r0xUlQe/ v0AQS3ycN8QlyR4XMbzMLYk 3yjxFDXo4ZKQtOGzLGteCU2srANiLv26/ imXA8FVidZftTAtLviWQZBVPTeYIA69ATUYPEq0a5u5wjGy UOij9OWyuEXAMPLE= </D> </RSAKeyValue> O seguinte código C # cria um URL assinada que usa uma política, executando as seguintes etapas: • Cria uma declaração de política. • Hashes a declaração de política usando SHA1 e assina o resultado usando RSA e a chave privada para sua conta da AWS ou para uma conta da AWS que você especificar. • Base64 e assinados com hash codifica a declaração de política e substitui caracteres especiais para facilitar a string seguro como um parâmetro de solicitação de URL. • Concatena os valores aplicáveis. Para concluir a implementação, consulte o exemplo em Código de assinatura em C #. API Version 2016-01-13 227 public static string CreateCannedPrivateURL(string urlString, string durationUnits, string durationNumber, string pathToPolicyStmnt, string pathToPrivateKey, string privateKeyId) Amazon CloudFront Guia do desenvolvedor { Crie um URL Signature Using C # e o.NET Framework // args[] 0-thisMethod, 1-resourceUrl, 2-seconds-minutes-hours-days // to expiration, 3-numberOfPreviousUnits, 4-pathToPolicyStmnt, // 5-pathToPrivateKey, 6-PrivateKeyId Example Assinatura de política Canned método em C # TimeSpan timeSpanInterval = GetDuration(durationUnits, durationNumber); // Create the policy statement. string strPolicy = CreatePolicyStatement(pathToPolicyStmnt, urlString, DateTime.Now, DateTime.Now.Add(timeSpanInterval), "0.0.0.0/0"); if ("Error!" == strPolicy) return "Invalid time frame." + "Start time cannot be greater than end time."; // Copy the expiration time defined by policy statement. string strExpiration = CopyExpirationTimeFromPolicy(strPolicy); // Read the policy into a byte buffer. byte[] bufferPolicy = Encoding.ASCII.GetBytes(strPolicy); // Initialize the SHA1CryptoServiceProvider object and hash the policy data. using (SHA1CryptoServiceProvider cryptoSHA1 = new SHA1CryptoServiceProvider()) { bufferPolicy = cryptoSHA1.ComputeHash(bufferPolicy); // Initialize the RSACryptoServiceProvider object. RSACryptoServiceProvider providerRSA = new RSACryptoServiceProvider(); XmlDocument xmlPrivateKey = new XmlDocument(); // Load PrivateKey.xml, which you created by converting your // .pem file to the XML format that the .NET framework uses. // Several tools are available. xmlPrivateKey.Load(pathToPrivateKey); // Format the RSACryptoServiceProvider providerRSA and // create the signature. providerRSA.FromXmlString(xmlPrivateKey.InnerXml); RSAPKCS1SignatureFormatter rsaFormatter = new RSAPKCS1SignatureFormatter(providerRSA); rsaFormatter.SetHashAlgorithm("SHA1"); byte[] signedPolicyHash = rsaFormatter.CreateSignature(bufferPolicy); // Convert the signed policy to URL-safe base64 encoding and // replace unsafe characters + = / with the safe characters - _ ~ string strSignedPolicy = ToUrlSafeBase64String(signedPolicyHash); // Concatenate the URL, the timestamp, the signature, // and the key pair ID to form the signed URL. return urlString + "?Expires=" + strExpiration + "&Signature=" + strSignedPolicy + "&Key-Pair-Id=" + privateKeyId; } } API Version 2016-01-13 228 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Using C # e o.NET Framework O seguinte código C # cria um URL assinada que usa uma política personalizada, executando as seguintes etapas: • Cria uma declaração de política. • codifica a declaração de política Base64 e substitui caracteres especiais para facilitar a string seguro como um parâmetro de solicitação de URL. • Hashes a declaração de política usando SHA1, e criptografa o resultado usando RSA e a chave privada para sua conta da AWS ou para uma conta da AWS que você especificar. • Base64 com hash codifica a declaração de política e substituição de caracteres especiais para facilitar a string seguro como um parâmetro de solicitação de URL. • Concatena os valores aplicáveis. Para concluir a implementação, consulte o exemplo em Código de assinatura em C #. API Version 2016-01-13 229 startIntervalFromNow, string ipaddress, string pathToPolicyStmnt, string pathToPrivateKey, string PrivateKeyId) Amazon CloudFront Guia do desenvolvedor // args[] 0-thisMethod, 1-resourceUrl, 2-seconds-minutes-hours-days Crie um URL Signature Using C # e o.NET Framework // to expiration, 3-numberOfPreviousUnits, 4-starttimeFromNow, // 5-ip_address, 6-pathToPolicyStmt, 7-pathToPrivateKey, 8-privateKeyId { Example Método de assinatura de política personalizados em C # TimeSpan timeSpanInterval = GetDuration(durationUnits, durationNumber); TimeSpan timeSpanToStart = GetDurationByUnits(durationUnits, startIntervalFromNow); if (null == timeSpanToStart) return "Invalid duration units." + "Valid options: seconds, minutes, hours, or days"; string strPolicy = CreatePolicyStatement( pathToPolicyStmnt, urlString, DateTime.Now.Add(timeSpanToStart), DateTime.Now.Add(timeSpanInterval), ipaddress); // Read the policy into a byte buffer. byte[] bufferPolicy = Encoding.ASCII.GetBytes(strPolicy); // Convert the policy statement to URL-safe base64 encoding and // replace unsafe characters + = / with the safe characters - _ ~ string urlSafePolicy = ToUrlSafeBase64String(bufferPolicy); // Initialize the SHA1CryptoServiceProvider object and hash the policy data. byte[] bufferPolicyHash; using (SHA1CryptoServiceProvider cryptoSHA1 = new SHA1CryptoServiceProvider()) { bufferPolicyHash = cryptoSHA1.ComputeHash(bufferPolicy); // Initialize the RSACryptoServiceProvider object. RSACryptoServiceProvider providerRSA = new RSACryptoServiceProvider(); XmlDocument xmlPrivateKey = new XmlDocument(); // Load PrivateKey.xml, which you created by converting your // .pem file to the XML format that the .NET framework uses. // Several tools are available. xmlPrivateKey.Load("PrivateKey.xml"); // Format the RSACryptoServiceProvider providerRSA // and create the signature. providerRSA.FromXmlString(xmlPrivateKey.InnerXml); RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(providerRSA); RSAFormatter.SetHashAlgorithm("SHA1"); byte[] signedHash = RSAFormatter.CreateSignature(bufferPolicyHash); // Convert the signed policy to URL-safe base64 encoding and // replace unsafe characters + = / with the safe characters - _ ~ string strSignedPolicy = ToUrlSafeBase64String(signedHash); return urlString + "?Policy=" + urlSafePolicy + "&Signature=" + strSignedPolicy + "&Key-Pair-Id=" + PrivateKeyId; } } API Version 2016-01-13 230 strPolicy = strPolicy.Replace("IP_ADDRESS", ipAddress); strPolicy = strPolicy.Replace("EXPIRES", endTimestamp.ToString()); return strPolicy; } } Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Using C # e o.NET Framework public static TimeSpan GetDuration(string units, string numUnits) { Example Utility Métodos de geração de assinatura TimeSpan timeSpanInterval = new TimeSpan(); switch (units) { case "seconds": timeSpanInterval = new TimeSpan(0, 0, 0, int.Parse(numUnits)); break; case "minutes": timeSpanInterval = new TimeSpan(0, 0, int.Parse(numUnits), 0); break; case "hours": timeSpanInterval = new TimeSpan(0, int.Parse(numUnits), 0 ,0); break; case "days": timeSpanInterval = new TimeSpan(int.Parse(numUnits),0 ,0 ,0); break; default: Console.WriteLine("Invalid time units;" + "use seconds, minutes, hours, or days"); break; } return timeSpanInterval; } private static TimeSpan GetDurationByUnits(string durationUnits, string startIntervalFromNow) { switch (durationUnits) { case "seconds": return new TimeSpan(0, 0, int.Parse(startIntervalFromNow)); case "minutes": return new TimeSpan(0, int.Parse(startIntervalFromNow), 0); case "hours": return new TimeSpan(int.Parse(startIntervalFromNow), 0, 0); case "days": return new TimeSpan(int.Parse(startIntervalFromNow), 0, 0, 0); default: return new TimeSpan(0, 0, 0, 0); } } public static string CopyExpirationTimeFromPolicy(string policyStatement) { int startExpiration = policyStatement.IndexOf("EpochTime"); string strExpirationRough = policyStatement.Substring(startExpiration + "EpochTime".Length); char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; List<char> listDigits = new List<char>(digits); StringBuilder buildExpiration = new StringBuilder(20); foreach (char c in strExpirationRough) { if (listDigits.Contains(c)) buildExpiration.Append(c); } return buildExpiration.ToString(); } API Version 2016-01-13 231 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Usando Java Consulte também • Crie um URL Signature Usando Perl (p. 222) • Crie um URL Signature Usando PHP (p. 224) • Crie um URL Signature Usando Java (p. 232) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) Crie um URL Signature Usando Java O kit de ferramentas Java de código aberto do CloudFront para o Amazon S3 e fornece um código de exemplo e informações sobre o desenvolvimento do CloudFront em Java. Para obter informações sobre as distribuições privados, vá para Private Distribuições no Guia de programador: Exemplos de código. Você também pode criar URLs assinadas usando a CloudFrontUrlSigner classe no AWS SDK para Java. Para obter mais informações, consulte Class UrlSigner no AWS SDK for Java API Reference. Note A criação de um URL assinatura é apenas uma parte do processo de entrega de conteúdo privado usando um URL assinada. Para obter mais informações sobre o processo inteiro, consulte Usando URLs assinadas (p. 185). Os seguintes métodos Java de código aberto são do kit de ferramentas para o Amazon S3 e do CloudFront. Você deve converter a chave privada do PEM para as implementações de formato DER para Java para usá-lo. API Version 2016-01-13 232 Amazon CloudFront Guia do desenvolvedor // Signed URLs for a Crie private distribution um URL Signature Usando Java // Note that Java only supports SSL certificates in DER format, // so you will need to convert your PEM-formatted file to DER format. // To doPolítica this, de you cane métodos use openssl: Example Java de criptografia de assinatura // openssl pkcs8 -topk8 -nocrypt -in origin.pem -inform PEM -out new.der // -outform DER // So the encoder works correctly, you should also add the bouncy castle jar // to your project and then add the provider. Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); String distributionDomain = "a1b2c3d4e5f6g7.cloudfront.net"; String privateKeyFilePath = "/path/to/rsa-private-key.der"; String s3ObjectKey = "s3/object/key.txt"; String policyResourcePath = "http://" + distributionDomain + "/" + s3ObjectKey; // Convert your DER file into a byte array. byte[] derPrivateKey = ServiceUtils.readInputStreamToBytes(new FileInputStream(privateKeyFilePath)); // Generate a "canned" signed URL to allow access to a // specific distribution and object String signedUrlCanned = CloudFrontService.signUrlCanned( "http://" + distributionDomain + "/" + s3ObjectKey, // Resource URL or Path keyPairId, // Certificate identifier, // an active trusted signer for the distribution derPrivateKey, // DER Private key data ServiceUtils.parseIso8601Date("2011-11-14T22:20:00.000Z") // DateLessThan ); System.out.println(signedUrlCanned); // Build a policy document to define custom restrictions for a signed URL. String policy = CloudFrontService.buildPolicyForSignedUrl( // Resource path (optional, can include '*' and '?' wildcards) policyResourcePath, // DateLessThan ServiceUtils.parseIso8601Date("2011-11-14T22:20:00.000Z"), // CIDR IP address restriction (optional, 0.0.0.0/0 means everyone) "0.0.0.0/0", // DateGreaterThan (optional) ServiceUtils.parseIso8601Date("2011-10-16T06:31:56.000Z") ); // Generate a signed URL using a custom policy document. String signedUrl = CloudFrontService.signUrl( // Resource URL or Path "http://" + distributionDomain + "/" + s3ObjectKey, // Certificate identifier, an active trusted signer for the distribution keyPairId, // DER Private key data derPrivateKey, // Access control policy policy ); System.out.println(signedUrl); API Version 2016-01-13 233 Amazon CloudFront Guia do desenvolvedor Crie um URL Signature Usando Java Consulte também • Crie um URL Signature Usando Perl (p. 222) • Crie um URL Signature Usando PHP (p. 224) • Crie um URL Signature Using C # e o.NET Framework (p. 226) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) API Version 2016-01-13 234 Amazon CloudFront Guia do desenvolvedor Usando uma conexão HTTPS para acessar seus objetos Tópicos • Como funciona com conexões HTTPS do CloudFront (p. 236) • Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront (p. 237) • Protocolos com suporte e Cifras (p. 240) • Usando Alternate Domain Names e HTTPS (p. 241) • Encargos para conexões HTTPS (p. 250) Para distribuições da web, você pode usar solicitações HTTPS para garantir que seus objetos são criptografados quando o CloudFront oferece para os visualizadores e, opcionalmente, quando ele obtém os objetos em sua origem: • Para exigir HTTPS entre CloudFront e visualizadores: Configure o Viewer Protocol Policy para alguns ou todos os comportamentos de cache do CloudFront para redirecionar as solicitações HTTP para HTTPS solicitações ou para exigir que os usuários usam apenas o protocolo HTTPS para acessar os objetos no cache do CloudFront. Você também pode configurar um ou mais comportamentos de cache na mesma distribuição para permitir que tanto HTTP como HTTPS, para que você possa exigir HTTPS para alguns objetos, mas não para outros. • Para exigir HTTPS entre CloudFront e sua origem (opcional): Configure o Origin Protocol Policy para uma ou mais origens do CloudFront buscas do CloudFront para exigir que os objetos de sua origem usando HTTPS ou para exigir que ele usa o protocolo utilizado pelo usuário para solicitá-los. Por exemplo, se você escolher Match Viewer para o Origin Protocol Policy e o usuário usa HTTPS para solicitar um objeto ao CloudFront, o CloudFront também usa HTTPS para encaminhar a solicitação à sua origem. Quando sua origem é um bucket do Amazon S3, Match Viewer é a configuração padrão e não pode ser alterada. Important Se o seu bucket do Amazon S3 é configurado como um site endpoint, você não pode configurar o CloudFront para usar o HTTPS para se comunicar com sua origem, pois o Amazon S3 não tem suporte para conexões HTTPS nessa configuração. API Version 2016-01-13 235 Amazon CloudFront Guia do desenvolvedor Como funciona com conexões HTTPS do CloudFront Para obter informações sobre as versões SSL/TLS e as cifras que ele pode usar para encaminhar solicitações para origens personalizadas, consulte Criptografia (p. 151) no tópico Como CloudFront Processos e Encaminha Solicitações para seu servidor de origem personalizado (p. 149). Se você estiver usando um servidor HTTP como sua origem, e se quiser HTTPS tanto entre os usuários e o CloudFront e entre CloudFront e sua origem, você deve instalar um certificado SSL/TLS no servidor HTTP, assinado por uma autoridade de certificação confiável, por exemplo, Comodo, DigiCert ou Symantec. Se sua origem é um load balancer do Elastic Load Balancing, você pode usar um certificado SSL/TLS da Amazon Trust Services autoridade certificadora (por meio do AWS Certificate Manager). Caution Se o servidor de origem retorna um certificado expirado, um certificado inválido ou um certificado autoassinado, ou se o servidor de origem retorna o certificado cadeia na ordem errada, ele elimina a conexão, retorna código de erro HTTP 502 e define o X-Cache cabeçalho Error from cloudfront. Como funciona com conexões HTTPS do CloudFront O exemplo a seguir de como ele funciona com conexões HTTPS assume o seguinte: • Sua distribuição do CloudFront tem um comportamento de cache (o padrão) e um comportamento de cache de origem. • Você configurou sua distribuição para usar HTTPS entre os usuários e o CloudFront e entre CloudFront e sua origem. • Sua origem tem um certificado SSL/TLS que foi assinado por uma autoridade de certificação confiável. O processo funciona, basicamente, da mesma forma que se o servidor de origem é um bucket do Amazon S3 ou um servidor HTTP. Processo do CloudFront para Distribuição de objetos usando HTTPS 1. Um visualizador envia uma solicitação de HTTPS do CloudFront. Existe alguma negociação SSL aqui entre o visualizador e do CloudFront. No final, o visualizador envia a solicitação em um formato criptografado. 2. Se o objeto está no cache de presença do CloudFront, o CloudFront criptografa o objeto e o retorna para o visualizador e o visualizador decriptografa. 3. Se o objeto não estiver no cache do CloudFront, o CloudFront executa a negociação SSL com sua origem e, quando a negociação é concluída, encaminhará a solicitação para sua origem em um formato criptografado. 4. Sua origem decriptografa a solicitação, criptografa o objeto solicitado e retorna o objeto do CloudFront. 5. descriptografará o objeto do CloudFront, a recriptografa, e encaminha o objeto para o visualizador. CloudFront também economiza o objeto no cache de presença para que o objeto está disponível na próxima vez que é solicitado. 6. O visualizador descriptografará o objeto. API Version 2016-01-13 236 Amazon CloudFront Guia do desenvolvedor Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront Você pode configurar o CloudFront para exigir HTTPS para comunicação entre os usuários e o CloudFront e, opcionalmente, entre CloudFront e sua origem. Note Para garantir que os objetos são criptografados da origem para caches de presença do CloudFront e de caches de presença para visualizadores, use apenas HTTPS. Se você nunca configurar do CloudFront para obter objetos em sua origem usando HTTP, ele adiciona os objetos para o cache de presença e continua a servir para os visualizadores até que os objetos expirar, ou até que você os remova ou substituí-los. Para obter mais informações sobre como remover ou substituir objetos em uma distribuição, consulte Como adicionar, remover ou substituir objetos em uma distribuição (p. 116). Para obter uma lista de cifras suportados, consulte Criptografia (p. 151). Se você quiser usar nomes de domínio alternativo (por exemplo, example.com) em vez do nome de domínio que atribui para a sua distribuição do CloudFront, consulte também Usando Alternate Domain Names e HTTPS (p. 241). O procedimento que você usa para exigir HTTPS para comunicação entre visualizadores, CloudFront e sua origem depende se você estiver usando uma origem personalizada ou o Amazon S3. Consulte o procedimento aplicável: • Para exigir HTTPS para comunicação entre visualizadores, e sua origem personalizada do CloudFront (p. 237) • Para exigir HTTPS para comunicação entre visualizadores, origem do CloudFront, e o Amazon S3 (p. 239) Para exigir HTTPS para comunicação entre visualizadores, e sua origem personalizada do CloudFront 1. Obtenha um certificado SSL/TLS a partir de uma autoridade de certificação confiável, como Comodo, DigiCert ou Symantec e instalá-lo em sua origem servidor da web. Se sua origem é uma O Elastic Load Balancing load balancer, você também pode usar o AWS Certificate Manager para provisionar um certificado. Para usar o HTTPS do CloudFront ao se comunicar com sua origem, um dos nomes de domínio no certificado deve corresponder um ou ambos os seguintes valores: • O valor que você especificou para Origin Domain Name a origem aplicáveis em sua distribuição. • Se você tiver configurado do CloudFront para encaminhar o Host cabeçalho para sua origem, o valor do Host cabeçalho. Para obter mais informações sobre o encaminhamento de cabeçalhos para sua origem, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). O certificado SSL/TLS em sua origem inclui um nome de domínio no Common Name campo e possivelmente vários mais no Subject Alternative Names campo. (certificado do CloudFront oferece suporte a caracteres curinga em nomes de domínio.) Se seu certificado não contém todos os nomes de domínio que corresponder Origin Domain Name ou o nome de domínio no Host cabeçalho, ele retorna um código de status HTTP 502 (Gateway Inválido) para o visualizador. API Version 2016-01-13 237 Amazon CloudFront Guia do desenvolvedor Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront Important Quando ele usa HTTPS para se comunicar com sua origem, o CloudFront verifica se o certificado foi emitido por uma autoridade de certificação confiável. CloudFront é compatível com as mesmas autoridades de certificação como Mozilla; para obter a lista atual, consulte Mozilla Incluída Certificado da CA List. Você não pode usar um certificado autoassinado. Para obter mais informações sobre como obter e instalar um certificado SSL/TLS, consulte a documentação do software do servidor HTTP e a documentação da autoridade de certificação. Para obter mais informações sobre o AWS Certificate Manager, consulte o AWS Certificate Manager User Guide. 2. Para exigir HTTPS para comunicação entre os usuários e a distribuição do CloudFront, configurar o visualizador para redirecionar as solicitações HTTP para HTTPS ou para exigir que os usuários usam HTTPS quando se comunicar com o CloudFront. Para fazer isso no console do CloudFront, criar ou atualizar um ou mais comportamentos de cache em sua distribuição para ter uma das seguintes configurações para Viewer Protocol Policy: • Redirect to HTTPS: Se um visualizador envia uma solicitação de HTTP, em vez de uma solicitação de HTTPS, ele retorna um código de status HTTP de 301 (Movido permanentemente) junto com o novo URL HTTPS. O visualizador e a ressubmete a solicitação ao URL do CloudFront usando o HTTPS. Important CloudFront não redirecionar DELETE, OPTIONS, PATCH, POSTou PUT solicitações de HTTP para HTTPS. Se você configurar um comportamento de cache para redirecionar para HTTPS, ele responde a HTTP DELETE, OPTIONS, PATCH, POSTou PUT solicitações para esse comportamento de cache com um código de status HTTP 403 (Proibido). Quando um visualizador faz uma solicitação HTTP que é redirecionado para uma solicitação de HTTPS, as cobranças do CloudFront para solicitações. Para a solicitação HTTP, a cobrança é apenas para a solicitação e para os cabeçalhos que ele retorna para o visualizador. Para o HTTPS solicitação, a cobrança é para a solicitação, e para os cabeçalhos e o objeto retornado pela sua origem. • HTTPS Only: Se um visualizador envia uma solicitação de HTTP, em vez de uma solicitação de HTTPS, ele retorna um código de status HTTP 403 (Proibido) e não retorna o objeto. Para obter informações sobre como usar o console do CloudFront para atualizar uma distribuição de web, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Para obter mais informações sobre o uso da API do CloudFront para atualizar uma distribuição de web, consulte PUT Amazon CloudFront API Reference Config na distribuição. Se você estiver usando a API, consulte o ViewerProtocolPolicy elemento. 3. Escolha os protocolos que você deseja que o CloudFront para usar quando se comunicar com sua origem: • CloudFront Console: Para Origin SSL Protocols, escolher os protocolos aplicáveis. • CloudFront API: Para SslProtocol, especifique SSLv3, TLSv1, TLSv1.1e/ou TLSv1.2. O protocolo SSLv3 é menos segura, portanto, recomendamos que você escolha SSLv3 somente se sua origem não suporta TLSv1 ou posterior. API Version 2016-01-13 238 Amazon CloudFront Guia do desenvolvedor Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront 4. Para configurar o CloudFront para usar o HTTPS ao se comunicar com sua origem, criar ou atualizar uma ou mais origens na sua distribuição para ter as seguintes configurações: • CloudFront Console: Para Origin Protocol Policy, especifique HTTPS Only ou Match Viewer. • CloudFront API: Para OriginProtocolPolicy, especifique https-only ou match-viewer. 5. Confirme se o seguinte: • O caminho padrão em cada comportamento de cache se aplica apenas para as solicitações para as quais você deseja que os visualizadores para usar HTTPS. • Os comportamentos de cache são listados na ordem desejada. Para obter mais informações, consulte Padrão Path (p. 66). • Os comportamentos de cache são solicitações de roteamento para as origens para as quais você tiver configurado uma Origin Protocol Policy de HTTPS Only ou Match Viewer, se aplicável. • Se você estiver usando uma origem personalizada e configuradas para usar o HTTPS do CloudFront ao se comunicar com a origem, a origem deve ter um certificado válido assinado por uma autoridade de certificação confiável. 6. Teste a configuração antes de usá-lo em um ambiente de produção. Para exigir HTTPS para comunicação entre visualizadores, origem do CloudFront, e o Amazon S3 1. Para exigir HTTPS para comunicação entre os usuários e a distribuição do CloudFront, configurar o visualizador para redirecionar as solicitações HTTP para HTTPS ou para exigir que os usuários usam HTTPS quando se comunicar com o CloudFront. Para fazer isso no console do CloudFront, criar ou atualizar um ou mais comportamentos de cache em sua distribuição para ter uma das seguintes configurações para Viewer Protocol Policy: • Redirect to HTTPS: Se um visualizador envia uma solicitação de HTTP, em vez de uma solicitação de HTTPS, ele retorna um código de status HTTP de 301 (Movido permanentemente) junto com o novo URL HTTPS. O visualizador e a ressubmete a solicitação ao URL do CloudFront usando o HTTPS. Note Quando um visualizador faz uma solicitação HTTP que é redirecionado para uma solicitação de HTTPS, as cobranças do CloudFront para solicitações. Para a solicitação HTTP, a cobrança é apenas para a solicitação e para os cabeçalhos que ele retorna para o visualizador. Para o HTTPS solicitação, a cobrança é para a solicitação, e para os cabeçalhos e o objeto retornados pelo Amazon S3. • HTTPS Only: Se um visualizador faz uma solicitação HTTP, em vez de uma solicitação de HTTPS, ele retorna um código de status HTTP 403 (Proibido) e não retorna o objeto. Note A configuração que controla o protocolo que ele usa para se comunicar com a origem, Origin Protocol Policy, tem uma configuração padrão Match Viewer para buckets do Amazon S3. Esse valor não pode ser alterada. Quando você configurar o CloudFront para exigir HTTPS entre o visualizador e do CloudFront, o CloudFront usa automaticamente o HTTPS para se comunicar com o Amazon S3. CloudFront não redirecionar DELETE, OPTIONS, PATCH, POSTou PUT solicitações de HTTP para HTTPS. Se você configurar um de cache para redirecionar para HTTPS, ele APIcomportamento Version 2016-01-13 239 Amazon CloudFront Guia do desenvolvedor Protocolos com suporte e Cifras responde a DELETE, OPTIONS, PATCH, POSTou PUT solicitações para esse comportamento de cache com um código de status HTTP 403 (Proibido). Para obter informações sobre como usar o console do CloudFront para atualizar uma distribuição de web, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Para obter mais informações sobre o uso da API do CloudFront para atualizar uma distribuição de web, consulte PUT Amazon CloudFront API Reference Config na distribuição. Se você estiver usando a API, consulte o ViewerProtocolPolicy elemento. 2. Confirme se o seguinte: • O caminho padrão em cada comportamento de cache se aplica apenas para as solicitações para as quais você deseja que os visualizadores para usar HTTPS. • Os comportamentos de cache são listados na ordem desejada. Para obter mais informações, consulte Padrão Path (p. 66). • Os comportamentos de cache são solicitações de roteamento para corrigir buckets do Amazon S3. 3. Teste a configuração antes de usá-lo em um ambiente de produção. Protocolos com suporte e Cifras Você pode se certificar de que os usuários usam HTTPS para enviar solicitações para e do CloudFront do CloudFront para encaminhar solicitações para sua origem personalizada usando o protocolo usada pelo visualizador. Para obter mais informações, consulte os seguintes parâmetros de distribuição: • Política de protocolo de visualizadores (p. 68) • Política de protocolo de origem (Amazon EC2 e outras origens personalizadas somente) (p. 64) Você também pode escolher se deseja que os visualizadores para enviar solicitações HTTPS para CloudFront usando TLSv1.0 ou posterior, ou que você deseja permitir que os usuários usam o protocolo SSLv3 menos segura. Para obter mais informações, consulte a configuração de distribuição Versão do protocolo SSL Mínima (p. 75). Important visualizador do CloudFront oferece suporte apenas SSLv3 e solicitações usando TLSv1.0, 1.1 e 1.2. Além disso, você pode escolher os protocolos que você deseja que o uso do CloudFront ao estabelecer uma conexão HTTPS com sua origem. Para obter mais informações, consulte a configuração de distribuição Protocolos de origem SSL (Amazon EC2 e outras origens personalizadas somente) (p. 64). Os visualizadores podem usar as seguintes cifras para criptografar a comunicação com o CloudFront. Com a exceção de RC4-MD5, todas as cifras são suportados se você selecionou SSLv3 ou TLSv1.0 como o valor para Versão do protocolo SSL Mínima (p. 75). CloudFront escolhe uma cifra na seguinte ordem entre as cifras que o visualizador suporta: • ECDHE-RSA-AES128-GCM-SHA256 • ECDHE-RSA-AES128-SHA256 • ECDHE-RSA-AES128-SHA • ECDHE-RSA-AES256-GCM-SHA384 • ECDHE-RSA-AES256-SHA384 API Version 2016-01-13 240 Amazon CloudFront Guia do desenvolvedor Usando Alternate Domain Names e HTTPS • ECDHE-RSA-AES256-SHA • AES128-GCM-SHA256 • AES256-GCM-SHA384 • AES128-SHA256 • AES256-SHA • AES128-SHA • DES-CBC3-SHA • RC4-MD5 (suportado somente quando o valor de Versão do protocolo SSL Mínima (p. 75) é SSLv3) Um visualizador deve ser compatível com, pelo menos, um desses cifras para estabelecer uma conexão SSL com o CloudFront. Se você estiver usando um certificado SSL/TLS que você obteve do AWS Certificate Manager, um visualizador deve ser compatível com um dos* -RSA-* cifras. Usando Alternate Domain Names e HTTPS Tópicos • Escolha Como Serve Solicitações HTTPS do CloudFront (p. 241) • Requisitos e Limites de Uso do CloudFront SSL/TLS com Certificados (p. 243) • Para usar nomes de domínio alternativos com HTTPS (p. 245) • Determinando o tamanho da chave pública em um certificado SSL/TLS (p. 247) • Girar Certificados SSL/TLS (p. 247) • Revertendo a partir de um certificado SSL/TLS personalizado para o certificado do CloudFront padrão (p. 248) • A mudança de um certificado SSL/TLS personalizado com IP dedicado para SNI Endereços (p. 249) Por padrão, o conteúdo pode ser fornecido aos espectadores via HTTPS com o uso do nome de domínio da sua distribuição do CloudFront nas URLs, como no exemplo https:// d111111abcdef8.cloudfront.net/image.jpg. Para obter mais informações, consulte Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront (p. 237). Se você deseja que seus visualizadores para usar HTTPS e você deseja usar seu próprio nome de domínio no URLs para seus objetos (por exemplo, https://www.example.com/image.jpg), você precisa executar várias etapas adicionais, como explicado neste tópico. Important Quando você adiciona um certificado para sua distribuição, o CloudFront propaga imediatamente o certificado para todos os seus pontos de presença. À medida que novos pontos de presença se tornar disponível, ele irá propagar o certificado para esses locais. Você não pode restringir os pontos de presença do CloudFront para o qual propaga as certificados. Escolha Como Serve Solicitações HTTPS do CloudFront Se você deseja que seus usuários para usar HTTPS e usar nomes de domínio alternativo para seus objetos, você precisa escolher como o CloudFront oferece solicitações HTTPS. Quando você configurar nomes de domínio alternativos para uso do CloudFront, o CloudFront pode servir API Version 2016-01-13 241 Amazon CloudFront Guia do desenvolvedor Escolha Como Serve Solicitações HTTPS do CloudFront solicitações HTTPS usando um endereço IP dedicado em cada ponto de presença ou usando Server Name Indication (SNI). Distribuição de solicitações HTTPS usando endereços IP dedicado (funciona para todos os clientes) Se você configurar o CloudFront para atender a solicitações HTTPS usando endereços IP dedicados, ele associa o seu nome de domínio alternativo com um endereço IP dedicado em cada ponto de presença do CloudFront. Quando um visualizador envia uma solicitação HTTPS para o seu conteúdo, o DNS encaminha a solicitação ao endereço IP para sua distribuição no ponto de presença aplicáveis. CloudFront usa o endereço IP para identificar sua distribuição e para determinar qual certificado SSL/ TLS para retornar para o visualizador. O visualizador do CloudFront e executar negociação SSL usando seu certificado SSL/TLS, e ele retorna o conteúdo solicitado para o visualizador. Este método funciona para cada solicitação de HTTPS, independentemente de o navegador ou outro visualizador que o usuário está usando. Important Se você configurar o CloudFront para atender a solicitações HTTPS usando endereços IP dedicados, você será cobrado um adicional de cobrança mensal. A cobrança começa quando você associar seu certificado SSL/TLS com uma distribuição e habilitar a distribuição. Para obter mais informações sobre a definição de preço, consulte Definição de preço do Amazon CloudFront do CloudFront. Distribuição de solicitações HTTPS usando o SNI (Funciona para A maioria dos clientes) Se você configurar o CloudFront para atender a solicitações HTTPS usando Server Name Indication (SNI), o CloudFront associa seu nome de domínio alternativo com um endereço IP para cada ponto de presença, mas o endereço IP não é dedicada a sua distribuição. Quando um visualizador envia uma solicitação HTTPS para o seu conteúdo, o DNS encaminha a solicitação ao endereço IP para o ponto de presença aplicáveis. No entanto, porque o endereço IP não é dedicada a sua distribuição, ele não pode determinar, com base no endereço IP, que a solicitação é para o domínio. negociação SSL ocorre muito no início do processo de estabelecer uma conexão HTTPS. Se ele não pode imediatamente determinar qual domínio a solicitação é para, ele cai a conexão. O uso de um endereço IP dedicado é uma forma de associar uma solicitação com um domínio. A outra é o SNI, que é uma extensão do protocolo TLS que é compatível com a maioria dos navegadores modernos. Os navegadores que suportam o SNI automaticamente obtém o nome de domínio do URL solicitado e adicioná-lo para um novo campo no cabeçalho de solicitação. Quando o CloudFront recebe uma solicitação de um navegador HTTPS que oferece suporte a SNI, encontrar o nome de domínio no cabeçalho de solicitação e responde a solicitação com o certificado SSL/TLS aplicáveis. O visualizador do CloudFront e executar negociação SSL e retorna o conteúdo solicitado do CloudFront para o visualizador. Para obter uma lista atual de navegadores que suportam SNI, consulte a entrada da Wikipedia Server Name Indication. Se você deseja usar o SNI, mas alguns de seus usuários navegadores não compatíveis com o SNI, você tem várias opções: • Configure CloudFront para atender as solicitações HTTPS, usando endereços IP dedicados em vez de SNI. • Use o certificado SSL/TLS do CloudFront, em vez de um certificado personalizado. Isso requer que você use o nome de domínio do CloudFront para a sua distribuição no URLs para seus objetos, por exemplo, https://d111111abcdef8.cloudfront.net/logo.png. API Version 2016-01-13 242 Amazon CloudFront Guia do desenvolvedor Requisitos e Limites de Uso do CloudFront SSL/TLS com Certificados Você também precisa alterar o certificado SSL/TLS do CloudFront é o uso de um certificado personalizada para o certificado do CloudFront padrão: • Se você não usou a sua distribuição para distribuir seu conteúdo, você pode apenas alterar a configuração. Para obter mais informações, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). • Se você tiver usado a distribuição para distribuir seu conteúdo, você precisa criar uma nova distribuição do CloudFront e alterar os URLs para seus objetos para reduzir ou eliminar a quantidade de tempo que o seu conteúdo está indisponível. Para obter mais informações, consulte Revertendo a partir de um certificado SSL/TLS personalizado para o certificado do CloudFront padrão (p. 248). • Se você pode controlar quais usuários usam o seu navegador, solicite que atualizar seu navegador para uma versão que oferece suporte a SNI. • Use HTTP, em vez de HTTPS. Requisitos e Limites de Uso do CloudFront SSL/TLS com Certificados Observe os seguintes requisitos para os certificados: Emissor do certificado O certificado deve ser emitido por uma autoridade certificadora (CA) como Comodo, DigiCert ou Symantec. Se sua origem é uma O Elastic Load Balancing load balancer, você também pode usar um certificado provisionado pela Amazon (por meio do AWS Certificate Manager). certificados auto-assinadas não são aceitos. Formato de certificado O certificado deve ser no formato PEM X.509. Este é o formato padrão se você estiver usando o AWS Certificate Manager. Certificados Intermediário Se você estiver usando uma CA que não seja Amazon (por meio do AWS Certificate Manager), no arquivo.pem, lista todos os certificados intermediários na cadeia de certificado, começando com um para a CA que assinou o certificado para o seu domínio. Normalmente, você vai encontrar um arquivo no site da CA que lista certificados raiz e intermediários encadeadas na ordem correta. Important Não incluir o certificado raiz, certificados intermediários que não estão no caminho de confiança da CA ou o seu certificado de chave pública. Aqui está um exemplo: -----BEGIN CERTIFICATE----Intermediate certificate 2 -----END CERTIFICATE---------BEGIN CERTIFICATE----Intermediate certificate 1 -----END CERTIFICATE----- Chave privada Se você estiver usando uma CA que não seja Amazon (por meio do AWS Certificate Manager), a chave privada deve coincidir com a chave pública que está no certificado. Ele também deve ser um RSA chave privada em formato PEM, onde o cabeçalho PEM é BEGIN RSA PRIVATE KEY e o rodapé é END RSA PRIVATE KEY. A chave privada não podem ser criptografadas com uma senha. API Version 2016-01-13 243 Amazon CloudFront Guia do desenvolvedor Requisitos e Limites de Uso do CloudFront SSL/TLS com Certificados Se você estiver usando o Amazon como a CA, a AWS Certificate Manager não libera a chave privada. A chave privada é armazenado no AWS Certificate Manager para uso dos serviços da AWS que são integrados com a AWS Certificate Manager. Permissões Você deve ter permissão para usar e fazer o upload do certificado SSL/TLS, incluindo a permissão de uma autoridade de certificação que emitiu o certificado para carregá-lo em uma rede de entrega de conteúdo. Se você estiver usando a AWS Certificate Manager, recomendamos que você use as permissões de IAM para restringir o acesso ao certificado. Para obter mais informações, consulte permissões e políticas no AWS Certificate Manager User Guide. Tamanho máximo da chave pública O tamanho máximo de a chave pública em um certificado SSL/TLS é 2048 bits. Para obter informações sobre as chaves públicas para a AWS Certificate Manager certificados, consulte Características de certificado ACM no AWS Certificate Manager User Guide. Para obter informações sobre como determinar o tamanho da chave pública, consulte Determinando o tamanho da chave pública em um certificado SSL/TLS (p. 247). Tipos Suportados de Certificados CloudFront é compatível com todos os tipos de certificados, incluindo domínios validados certificados, certificados de validação estendido (EV) e de alta garantia de certificados, certificados de wildcard (*.example.com), sujeitas nome alternativo (SAN)example.com e certificados ( example.net), e assim por diante. Data de expiração de certificação e renovação Se você estiver usando uma CA que não seja Amazon (por meio do AWS Certificate Manager), você é responsável por datas de expiração e certificado de monitoramento para a renovação de certificados SSL/TLS que você fazer o upload e uso com CloudFront. Gerente de certificado da AWS certificados renovações automaticamente. Para obter mais informações, consulte Renovação gerenciados no AWS Certificate Manager User Guide. Nomes de domínio no certificado e na distribuição do CloudFront Quando você estiver usando uma origem personalizada, o certificado SSL/TLS em sua origem inclui um nome de domínio no campo Nome comum e possivelmente várias alternativas de assunto mais no campo Nomes. (certificado do CloudFront oferece suporte a caracteres curinga em nomes de domínio.) Um dos nomes de domínio no certificado deve corresponder ao nome de domínio que você especificar para origem Domain Name. Se os nomes de domínio não correspondem, ele retorna um código de status HTTP 502 (Gateway Inválido) para o visualizador. Além disso, observe os seguintes limites para o uso de certificados com SSL/TLS do CloudFront: Número máximo de distribuição do CloudFront Certificados por Você pode associar um máximo de um certificado SSL/TLS com cada distribuição do CloudFront. Número máximo de Armazenamento de Certificados Certificados no IAM Se você obteve o SSL/TLS certificados de um CA que não seja Amazon (por meio do AWS Certificate Manager), você precisa carregá-los no armazenamento de certificados IAM como explicado mais adiante neste tópico. Você pode fazer o upload de um máximo de 10 IAM certificados no armazenamento de certificados para cada conta da AWS. Para solicitar um limite maior, consulte IAM Solicitação de aumento de limite. Número máximo de Certificados por conta da AWS Se você deseja servir solicitações HTTPS usando endereços IP dedicados, observe o seguinte: • Por padrão, a AWS oferece a você permissão para usar dois certificados com sua conta da AWS, um para uso diário e um para quando você precisa para girar certificados para várias distribuições. • Se você já está usando esse recurso, mas você precisa aumentar o número de certificados SSL/TLS personalizados que você pode usar com sua conta da AWS, consulte o Centro de suporte e criar um caso. Indique como muitos certificados você precisa de permissão para usar API Version 2016-01-13 244 Amazon CloudFront Guia do desenvolvedor Para usar nomes de domínio alternativos com HTTPS e descrever as circunstâncias em sua solicitação. Iremos atualizar sua conta o mais rápido possível. Usando o mesmo certificado para Distribuições do CloudFront que foram criados com diferentes contas da AWS Se você estiver usando uma CA que não seja Amazon (por meio do AWS Certificate Manager) e se você deseja usar o mesmo certificado com várias distribuições do CloudFront que foram criados usando diferentes contas da AWS, você deve fazer o upload do certificado para o certificado IAM armazenar uma vez para cada conta da AWS. Se você estiver usando o Amazon (por meio do AWS Certificate Manager) como seu CA, você não pode configurar o CloudFront para usar os certificados que foram criados por outra conta da AWS. Usando o mesmo certificado para CloudFront e para outros serviços da AWS Se você estiver usando uma CA que não seja da AWS Certificate Manager e se você deseja usar o mesmo certificado para CloudFront e para outros serviços da AWS, você deve fazer o upload do certificado duas vezes: uma vez para CloudFront e uma vez para a outros serviços. Para obter informações sobre como fazer o upload do certificado para CloudFront, consulte o procedimento a seguir. Se você estiver usando o Amazon (por meio do AWS Certificate Manager) como seu CA, os certificados são armazenados na AWS Certificate Manager. Usando o mesmo certificado para Vários Distribuições do CloudFront Se você está usando a AWS Certificate Manager ou outro CA, você pode usar o mesmo certificado para qualquer ou todas as distribuições do CloudFront que você está usando para atender a solicitações HTTPS. Você pode usar o mesmo certificado para atender às solicitações usando endereços IP dedicados e para atender às solicitações usando o SNI. (Você pode associar apenas um certificado a cada distribuição.) Cada distribuição deve incluir um ou mais nomes de domínio alternativos que também aparecem no campo Nome comum ou o campo Assunto Nomes alternativos no certificado. Se você está servindo solicitações HTTPS usando endereços IP dedicados e você criou todas as suas distribuições usando a mesma conta da AWS, isso pode reduzir significativamente o custo porque você é cobrado para cada certificado, não para cada distribuição. Por exemplo, suponha que você crie três distribuições usando a mesma conta da AWS, e você usa o mesmo certificado para todas as três distribuições. Você será cobrado apenas uma taxa para usar endereços IP dedicados. No entanto, se você está servindo solicitações HTTPS usando endereços IP dedicados e usando o mesmo certificado para criar distribuições do CloudFront em diferentes contas da AWS, cada conta será cobrada a taxa para usar endereços IP dedicados. Por exemplo, se você criar três distribuições usando três diferentes contas da AWS e usar o mesmo certificado para todas as três distribuições, cada conta será cobrada a taxa completa para usar endereços IP dedicados. Para usar nomes de domínio alternativos com HTTPS 1. Obtenha um certificado SSL/TLS, se você ainda não tiver uma. Para obter mais informações, consulte a documentação aplicável: • Para ter a AWS Certificate Manager provisionar um certificado, consulte o AWS Certificate Manager User Guide. Em seguida, vá para a etapa 4. Note Você só pode usar o AWS Certificate Manager para provisionar um certificado se a origem para a sua distribuição do CloudFront O Elastic Load Balancing é um balanceador de carga. API Version 2016-01-13 245 Amazon CloudFront Guia do desenvolvedor Para usar nomes de domínio alternativos com HTTPS • Para obter um certificado de uma autoridade de certificação, consulte os seguintes tópicos na Criação, Carregando e Deletando Certificados de servidor tópico em Guia do usuário do IAM: • Pré-requisitos • Crie uma Chaveprivada • Crie uma solicitaçãode assinatura de certificado • Envie o CSR a uma autoridadede certificação Em seguida, vá para a etapa 2. 2. Certificados que você obtém de uma autoridade de certificação diferente da Amazon (por meio do AWS Certificate Manager) – Se você deseja servir solicitações HTTPS usando Server Name Indication (SNI), vá para a etapa 3. Se você deseja servir solicitações HTTPS usando endereços IP dedicados, e se você precisa permanentemente associar dois ou mais certificados com suas distribuições, solicitar um aumento no número de certificados que você pode usar: 3. a. Vá para o Support Center e criar um caso. b. Indique como muitos certificados você precisa de permissão para usar e descrever as circunstâncias em sua solicitação. Iremos atualizar sua conta o mais rápido possível. Certificados que você obtém de uma autoridade de certificação diferente da Amazon (por meio do AWS Certificate Manager) – Use o seguinte comando da CLI da AWS para carregar seu certificado SSL/TLS IAM para o armazenamento de certificados: aws iam upload-server-certificate --server-certificatename CertificateName --certificate-body file://public_key_certificate_file --private-key file://privatekey.pem --certificate-chain file://certificate_chain_file --path /cloudfront/path/ Observe o seguinte: • Contada AWS – É necessário fazer o upload do certificado para o certificado IAM armazenar usando a mesma conta da AWS que você usou para criar sua distribuição do CloudFront. • -caminho – Ao carregar os parâmetros do certificado para IAM, o valor do -path parâmetro (certificado caminho) deve começar com /cloudfront/, por exemplo, /cloudfront/ production/ ou /cloudfront/test/. O caminho também deve terminar com uma /. • Usando o console do CloudFront – Se você planeja usar o console do CloudFront para criar ou atualizar sua distribuição, o valor que você especifica para o --server-certificate-name parâmetro no AWS CLI, por exemplo, myServerCertificate, é o valor que será exibido na SSL Certificate lista no console do CloudFront. • Usando a API do CloudFront – Se você planeja usar a API do CloudFront para criar ou atualizar sua distribuição, anote a string alfanumérica que o AWS CLI retorna, por exemplo, AS1A2M3P4L5E67SIIXR3J. Este é o valor que você especifica no IAMCertificateId elemento. Você não precisa a IAM ARN, que também é retornado pela CLI. Para obter mais informações sobre o AWS CLI pela primeira vez, consulte as Guia do usuário do AWS Command Line Interface e a AWS Command Line Interface Reference. 4. Atualize sua distribuição para incluir seus nomes de domínio alternativo, especifique qual certificado SSL/TLS que deseja usar e especifique se quer que ele usar endereços IP dedicados ou SNI para atender a solicitações HTTPS. Você também precisa adicionar ou atualizar registros DNS. Para obter mais informações e um procedimento, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). API Version 2016-01-13 246 Amazon CloudFront Guia do desenvolvedor Determinando o tamanho da chave pública em um certificado SSL/TLS Caution Depois de associar seu certificado SSL/TLS com sua distribuição do CloudFront, não exclua o certificado do certificado IAM armazenar até que você remova o certificado de todas as distribuições e até que o status das distribuições foram alterados Deployed. Determinando o tamanho da chave pública em um certificado SSL/TLS Quando você estiver usando nomes de domínio alternativo do CloudFront e HTTPS, o tamanho da chave pública em um certificado SSL/TLS não pode exceder 2048 bits. (Isso não é o número de caracteres na chave pública.) Você pode determinar o tamanho da chave pública OpenSSL, executando o seguinte comando: openssl x509 -in path and filename of SSL/TLS certificate -text -noout onde: • -in especifica o caminho e nome de arquivo do seu certificado SSL/TLS. • -text causa OpenSSL para exibir o comprimento da chave pública em bits. • -noout impede OpenSSL exiba a chave pública. Exemplo de saída: Public-Key: (2048 bit) Girar Certificados SSL/TLS Se você estiver usando a AWS Certificate Manager, você não precisa girar certificados. Gerente de certificação da AWS será renovada automaticamente certificados. Se você estiver usando outra autoridade de certificação, ocasionalmente, você precisará substituir um certificado SSL/TLS com outro, como, por exemplo, a data de expiração é se aproximando. O processo depende se você tem seu certificado SSL/TLS associado a uma ou mais distribuições do CloudFront na mesma conta da AWS: • certificadoSSL/TLS associado a uma distribuição: Você pode apenas atualizar sua distribuição e substituir o certificado antigo pelo novo. Para obter mais informações, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). • certificadoSSL/TLS associados a dois ou mais distribuições na mesma conta da AWS: Por padrão, você pode associar apenas dois certificados de SSL/TLS com as distribuições do CloudFront em uma conta da AWS. Normalmente, você usará o segundo certificado somente quando você tem mais de uma distribuição e o que você precisa para girar certificados. Um certificado é associado a distribuições que você não tiver atualizado ainda, e o outro certificado é associado a distribuições que você tiver atualizado. Execute o procedimento a seguir. Important Embora você girar certificados, você pode envolver um adicional, cobrança rateada para usar o segundo certificado. Recomendamos que você atualizar suas distribuições imediatamente para minimizar o custo adicional. API Version 2016-01-13 247 Amazon CloudFront Guia do desenvolvedor Revertendo a partir de um certificado SSL/TLS personalizado para o certificado do CloudFront padrão Os visualizadores podem continuar a acessar seu conteúdo e, ao mesmo tempo, você girar certificados, bem como após a conclusão do processo. Para girar SSL/TLS certificados para duas ou mais distribuições do CloudFront 1. Se você configurou o CloudFront para usar endereços IP dedicados para atender a solicitações HTTPS e você já tiver associado o número máximo de certificados SSL/TLS permitidas pela AWS para a sua conta, solicitar permissão para associar um certificado adicional. Vá para o Support Center e criar um caso. Indique como muitos certificados você precisa de permissão para usar e explicar que você está girando certificados. Iremos atualizar sua conta o mais rápido possível. 2. Carregue o novo certificado para o armazenamento de certificados do IAM. Para obter mais informações, consulte a etapa 3 do procedimento Para usar nomes de domínio alternativos com HTTPS (p. 245). Observe que você deve especificar valores diferentes para o --server-certificate-name e --path os parâmetros que os valores que são associados a certificados existentes. 3. Atualize suas distribuições de cada vez para usar o novo certificado. Se você enviou uma solicitação para a AWS na etapa 1, aguarde até que você recebe uma notificação de que sua conta da AWS foi atualizado. Para obter mais informações, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). 4. (Opcional) Depois de atualizar todas as suas distribuições do CloudFront, você pode excluir o certificado antigo do IAM armazenamento de certificados. Caution Não exclua um certificado SSL/TLS a partir do armazenamento de certificados IAM até removê-lo de todas as distribuições e até que o status das distribuições que você tiver atualizado foi alterado para Deployed. Revertendo a partir de um certificado SSL/TLS personalizado para o certificado do CloudFront padrão Se você configurou o CloudFront para usar um certificado SSL/TLS personalizado e você deseja alterar a configuração do CloudFront para usar o certificado SSL/TLS, o processo depende se você já usou sua distribuição para distribuir seu conteúdo: • Se você não usou a sua distribuição para distribuir seu conteúdo, você pode apenas alterar a configuração. Para obter mais informações, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). • Se você tiver usado a distribuição para distribuir seu conteúdo, você precisa criar uma nova distribuição do CloudFront e alterar os URLs para seus objetos para reduzir ou eliminar a quantidade de tempo que o seu conteúdo está indisponível. Execute o procedimento a seguir. Para reverter para o certificado do CloudFront padrão 1. Crie uma nova distribuição do CloudFront com a configuração desejada. Para SSL Certificate, escolha Default CloudFront Certificate (*.cloudfront.net). Para obter mais informações, consulte Lista de tarefas para criar uma distribuição na Web (p. 54). API Version 2016-01-13 248 Amazon CloudFront Guia do desenvolvedor A mudança de um certificado SSL/TLS personalizado com IP dedicado para SNI Endereços 2. Para objetos que você está distribuindo com o CloudFront, atualize os URLs em seu aplicativo para usar o nome de domínio que ele atribuído à nova distribuição. Por exemplo, alterar https://www.example.com/images/logo.png para https:// d111111abcdef8.cloudfront.net/images/logo.png. 3. Ou excluir a distribuição associada a um certificado SSL/TLS personalizado, ou atualizar a distribuição para alterar o valor de SSL Certificate Default CloudFront Certificate (*.cloudfront.net). Para obter mais informações, consulte Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). Important Até que você concluir esta etapa, uma conta Amazon Web Services continua a ser cobrado usando um certificado SSL/TLS personalizado. 4. (Opcional) Use o AWS CLI para excluir o (s) seu (s) certificado SSL/TLS personalizado a partir do armazenamento de certificados do IAM. Este é o mesmo aplicativo que você usou para adicionar o certificado SSL/TLS personalizado para o certificado do IAM armazenam: a. Execute o comando da CLI da AWS list-signing-certificates para obter o ID do certificado do certificado que você deseja excluir. Para obter mais informações, consulte listassinar-certificados no AWS Command Line Interface Reference. b. Execute o comando da CLI da AWS delete-signing-certificatepara excluir o certificado. Para obter mais informações, consulte excluir-assinar-certificado na AWS Command Line Interface Reference. A mudança de um certificado SSL/TLS personalizado com IP dedicado para SNI Endereços Se você configurou o CloudFront para usar um certificado SSL/TLS personalizado com endereços IP dedicados, você pode passar a usar um certificado SSL/TLS personalizado com SNI. O procedimento a seguir mostra como fazer isso. Important Esta atualização para sua configuração do CloudFront não tem efeito sobre os visualizadores que oferecem suporte a SNI; eles podem acessar seu conteúdo antes e após a alteração, bem como ao mesmo tempo em que a alteração está propagando para os pontos de presença do CloudFront. Visualizadores que não suportam SNI não podem acessar seu conteúdo após a alteração. Para obter mais informações, consulte Escolha Como Serve Solicitações HTTPS do CloudFront (p. 241). Para alternar a partir de um certificado SSL/TLS personalizado com endereços IP dedicados para SNI 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No painel superior do console do CloudFront, selecione a distribuição que você deseja visualizar ou atualizar. 3. Escolha Distribution Settings. 4. Na General guia, escolha Edit. 5. Altere a configuração de Custom SSL Client Support para Only Clients that Support Server Name Indication (SNI). 6. Escolha Yes, Edit. API Version 2016-01-13 249 Amazon CloudFront Guia do desenvolvedor Encargos para conexões HTTPS Encargos para conexões HTTPS Você sempre terá uma sobretaxa para solicitações HTTPS. Para obter mais informações, consulte o Amazon CloudFront Pricing. API Version 2016-01-13 250 Amazon CloudFront Guia do desenvolvedor Authentication Autenticação e controle de acesso para CloudFront Para executar qualquer operação em recursos do CloudFront, como a criação de uma distribuição de web ou um invalidação AWS Identity and Access Management (IAM) requer que você autentique que você é um usuário da AWS aprovadas. Se você estiver usando o console do CloudFront, você autenticar sua identidade da AWS ao fornecer seu nome de usuário e uma senha. Se você estiver acessando o CloudFront de forma programática, seu aplicativo autentica sua identidade para você usando chaves de acesso ou ao assinar solicitações. Após autenticar sua identidade, seu acesso aos controles IAM AWS verificando se você tem permissões para executar operações e acessar os recursos. Se você é um administrador da conta, você pode usar IAM para controlar o acesso de outros usuários para os recursos que estão associados à sua conta. Este capítulo explica como usar AWS Identity and Access Management (IAM) e do CloudFront para ajudar a proteger seus recursos. Tópicos • Authentication (p. 251) • Controle de acesso (p. 253) Authentication You can access AWS as any of the following types of identities: • AWS account root user – When you sign up for AWS, you provide an email address and password that is associated with your AWS account. These are your root credentials and they provide complete access to all of your AWS resources. Important For security reasons, we recommend that you use the root credentials only to create an administrator user, which is an IAM user with full permissions to your AWS account. API Version 2016-01-13 251 Amazon CloudFront Guia do desenvolvedor Authentication Then, you can use this administrator user to create other IAM users and roles with limited permissions. For more information, see IAM Best Practices and Creating an Admin User and Group in the Guia do usuário do IAM. • IAM user – An IAM user is simply an identity within your AWS account that has specific custom permissions (for example, permissions to create a web distribution in CloudFront). You can use an IAM user name and password to sign in to secure AWS webpages like the Console de gerenciamento da AWS, AWS Discussion Forums, or the AWS Support Center. In addition to a user name and password, you can also generate access keys for each user. You can use these keys when you access AWS services programmatically, either through one of the several SDKs or by using the AWS Command Line Interface (CLI). The SDK and CLI tools use the access keys to cryptographically sign your request. If you don’t use the AWS tools, you must sign the request yourself. CloudFront supports Signature Version 4, a protocol for authenticating inbound API requests. For more information about authenticating requests, see Signature Version 4 Signing Process in the AWS General Reference. • IAM role – An IAM role is another IAM identity you can create in your account that has specific permissions. It is similar to an IAM user, but it is not associated with a specific person. An IAM role enables you to obtain temporary access keys that can be used to access AWS services and resources. IAM roles with temporary credentials are useful in the following situations: • Federated user access – Instead of creating an IAM user, you can use preexisting user identities from AWS Directory Service, your enterprise user directory, or a web identity provider. These are known as federated users. AWS assigns a role to a federated user when access is requested through an identity provider. For more information about federated users, see Federated Users and Roles in the Guia do usuário do IAM. • Cross-account access – You can use an IAM role in your account to grant another AWS account permissions to access your account’s resources. For an example, see Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the Guia do usuário do IAM. • AWS service access – You can use an IAM role in your account to grant an AWS service permissions to access your account’s resources. For example, you can create a role that allows Amazon Redshift to access an Amazon S3 bucket on your behalf and then load data stored in the bucket into an Amazon Redshift cluster. For more information, see Creating a Role to Delegate Permissions to an AWS Service in the Guia do usuário do IAM. • Applications running on Amazon EC2 – Instead of storing access keys within the EC2 instance for use by applications running on the instance and making AWS API requests, you can use an IAM role to manage temporary credentials for these applications. To assign an AWS role to an EC2 instance and make it available to all of its applications, you can create an instance profile that is attached to the instance. An instance profile contains the role and enables programs running on the EC2 instance to get temporary credentials. For more information, see Using Roles for Applications on Amazon EC2 in the Guia do usuário do IAM. API Version 2016-01-13 252 Amazon CloudFront Guia do desenvolvedor Controle de acesso Controle de acesso Para criar, atualizar, excluir ou listar os recursos do CloudFront, você precisa de permissões para executar a operação, e você precisa de permissões para acessar os recursos correspondentes. Além disso, para realizar a operação de forma programática, você precisa de chaves de acesso válido. As seções a seguir descrevem como gerenciar permissões para CloudFront: • Visão Geral do Gerenciamento de Recursos do CloudFront Access Permissions to Your (p. 253) • Usando Identity-Based Policies (IAM) para políticas do CloudFront (p. 256) • Permissões de API do CloudFront: Ações, Recursos e Condições de Referência (p. 261) Visão Geral do Gerenciamento de Recursos do CloudFront Access Permissions to Your Cada recurso da AWS é pertencentes a uma conta da AWS e permissões para criar ou acessar um recurso são controladas por permissões políticas. Note Um administrador da conta (ou usuário administrador) é um usuário que tem privilégios de administrador. Para obter mais informações sobre os administradores, consulte IAM Best Practices no Guia do usuário do IAM. Quando você conceder permissões, você decidir quem recebe as permissões, os recursos que elas obtêm permissões para, e as ações que eles têm permissão de executar. Tópicos • Recursos do CloudFront ARNs para (p. 253) • Compreensão de propriedade de recursos (p. 253) • Gerenciamento de Acesso a Recursos (p. 254) • Especificando Elementos: Política de Recursos, Ações, Efeitos e Principais (p. 255) • Especificando Condições em uma Política (p. 256) Recursos do CloudFront ARNs para Todos os recursos do CloudFront — web e distribuições RTMP, invalidações e identidades de acesso de origem — usar o mesmo formato para o Amazon Resource Names (ARNs): arn:aws:cloudfront::optional-account-id:* API do CloudFront oferece ações para trabalhar com cada um desses tipos de recursos. Para obter mais informações, consulte o Amazon CloudFront API Reference. Para obter uma lista de ações e o ARN que você especificar para conceder ou negar permissão para usar cada ação, consulte Permissões de API do CloudFront: Ações, Recursos e Condições de Referência (p. 261). Compreensão de propriedade de recursos Uma conta da AWS proprietária dos recursos que são criados na conta, independentemente do que criou os recursos. Especificamente, o proprietário de recurso é a conta da AWS da entidade principal API Version 2016-01-13 253 Amazon CloudFront Guia do desenvolvedor Gerenciamento de Acesso a Recursos (ou seja, a conta root, um usuário do IAM ou uma função do IAM) que autentica a solicitação de criação de recursos. Os exemplos a seguir ilustram como isso funciona: • Se você usar as credenciais da conta-raiz da sua conta da AWS para criar uma distribuição de web, sua conta da AWS é o proprietário da distribuição. • Se você criar um IAM usuário em sua conta da AWS e conceder permissões para criar uma distribuição de web para esse usuário, o usuário pode criar uma distribuição de web. A conta da AWS que criou o usuário possui a distribuição. • Se você criar uma função do IAM em sua conta da AWS com permissões para criar uma distribuição de web, qualquer pessoa que pode assumir a função pode criar uma distribuição de web. Sua conta da AWS à qual pertence a função, possui a distribuição. Gerenciamento de Acesso a Recursos A política de permissões especifica quem tem acesso a quais. Esta seção explica as opções para a criação de políticas para as permissões do CloudFront. Para obter informações gerais sobre a sintaxe de política IAM e as descrições, consulte o AWS IAM Policy Reference no Guia do usuário do IAM. Políticas anexado a uma identidade do IAM são chamadas de políticas com base em identidade (políticas do IAM) e políticas anexado a um recurso são conhecidos como políticas baseadas em recursos. identidade do CloudFront só é compatível com as políticas baseadas em (políticas do IAM). Tópicos • Identity-Based Policies Políticas (IAM) (p. 254) • Políticas baseado em recursos (p. 255) Identity-Based Policies Políticas (IAM) Você pode anexar políticas para IAM identidades. Por exemplo, você pode fazer o seguinte: • Anexe uma política de permissões a um usuário ou grupo em sua conta – Um administrador de contas pode usar uma política de permissões que está associada a um determinado usuário para conceder permissões para esse usuário para criar uma distribuição de web. • Anexe uma política de permissões a uma função (conceder permissões entre contas) – Você pode conceder permissões para executar ações do CloudFront para um usuário que foi criada em outra conta da AWS. Para fazer isso, você anexar uma política para um IAM permissões de função e, em seguida, você permite que o usuário em outra conta para assumir a função. O exemplo a seguir explica como isso funciona para duas contas da AWS, conta A e conta B: 1. Um administrador cria uma conta IAM função e anexa as permissões para a função de uma política que concede permissões para criar ou acessar recursos pertencentes a conta A. 2. Uma conta de administrador anexa uma política de confiança para a função. A política de confiança identifica conta B como o principal que podem assumir a função. 3. Conta B administrador pode delegar permissões para assumir a função para usuários ou grupos em conta B. Isso permite que os usuários na conta B para criar ou acessar recursos na conta A. Para obter mais informações sobre como delegar permissões para usuários em outra conta da AWS, consulte Access Management no Guia do usuário do IAM. O exemplo a seguir política permite que um usuário execute a CreateDistribution ação para criar programaticamente uma distribuição de web para sua conta da AWS: { API Version 2016-01-13 254 Amazon CloudFront Guia do desenvolvedor Especificando Elementos: Política de Recursos, Ações, Efeitos e Principais "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudfront:CreateDistribution" ], "Resource":"*" } ] } Para obter informações sobre as permissões necessárias para executar operações usando o console do CloudFront, consulte As permissões são necessárias para usar o Console do CloudFront (p. 257). Para obter mais informações sobre como anexar políticas para identidades para CloudFront, consulte Usando Identity-Based Policies (IAM) para políticas do CloudFront (p. 256). Para obter mais informações sobre usuários, grupos, funções e permissões, consulte identidades (usuários, grupos e funções) no Guia do usuário do IAM. Políticas baseado em recursos Outros serviços, como o Amazon S3, suporte anexando permissões políticas para recursos. Por exemplo, você pode anexar uma política para um bucket do S3 para gerenciar permissões de acesso para esse bucket. CloudFront não tem suporte para anexar políticas para recursos. Especificando Elementos: Política de Recursos, Ações, Efeitos e Principais CloudFront inclui ações de API (consulte Amazon CloudFront API Reference) que você pode usar em cada recurso do CloudFront (consulte Recursos do CloudFront ARNs para (p. 253)). Você pode conceder um usuário ou um usuário federado permissão para executar qualquer ou todas essas ações. A seguir estão os elementos de política básicas: • Você pode usar umrecurso – Amazon Resource Name (ARN) para identificar o recurso que a política se aplica. Para obter mais informações, consulte Recursos do CloudFront ARNs para (p. 253). • Ação ação – Você usa palavras-chave para identificar as operações de recursos que você deseja permitir ou negar. Por exemplo, dependendo do especificado Effect, a cloudfront:CreateDistribution permissão permite ou nega as permissões de usuário para executar a CreateDistribution ação do CloudFront. • Effect – Você especifica o efeito, permitir ou negar, quando um usuário tentar executar a ação no recurso especificado. Se você não conceder explicitamente o acesso a uma ação, o acesso é negado implicitamente. Você também pode negar explicitamente o acesso a um recurso, o que você pode fazer para ter certeza de que um usuário não pode acessá-la, mesmo que uma política diferente concede acesso. • Em identidade– -chefe (políticas com base em políticas do IAM), o usuário que a política está anexado a é a implícita principal. Para as políticas baseadas em recursos, você especifica o usuário, conta, serviço ou outra entidade que você deseja receber permissões (se aplica a políticas com base em recursos apenas). CloudFront não é compatível com as políticas baseadas em recursos. Para obter mais informações sobre a política IAM sintaxe e descrições, consulte o AWS IAM Policy Reference no Guia do usuário do IAM. API Version 2016-01-13 255 Amazon CloudFront Guia do desenvolvedor Especificando Condições em uma Política Para obter uma lista de tabelas que mostra todas as operações de API do CloudFront e os recursos que eles se aplicam ao, consulte Permissões de API do CloudFront: Ações, Recursos e Condições de Referência (p. 261). Especificando Condições em uma Política Quando você conceder permissões, você pode usar a linguagem de política IAM para especificar quando uma política deve entrar em vigor. Por exemplo, você pode querer uma política para ser aplicada somente após uma data específica. Para obter mais informações sobre como especificar condições em uma política de linguagem, consulte Condição no Guia do usuário do IAM. Para expressar as condições, você usa chaves de condição pré-definidas. Não há condição chaves específicas do CloudFront. No entanto, há chaves de condição no âmbito da AWS que você pode usar, conforme apropriado. Para obter uma lista completa de chaves no âmbito da AWS, consulte Disponível Teclas para condições no Guia do usuário do IAM. Usando Identity-Based Policies (IAM) para políticas do CloudFront Este tópico oferece exemplos de políticas com base em identidade que demonstram como uma conta de administrador pode anexar permissões para IAM políticas de identidades (ou seja, usuários, grupos e funções) e, portanto, conceder permissões para executar operações em recursos do CloudFront. Important Recomendamos que você primeiro analisar os tópicos de introdução que explicam os conceitos básicos e opções para gerenciar o acesso aos recursos do CloudFront. Para obter mais informações, consulte Visão Geral do Gerenciamento de Recursos do CloudFront Access Permissions to Your (p. 253). Tópicos • As permissões são necessárias para usar o Console do CloudFront (p. 257) • Políticas predefinidas da AWS (gerenciados) do CloudFront para (p. 258) • Exemplos de política gerenciada pelo cliente (p. 259) A tabela a seguir mostra uma política de permissões. O Sidou ID de instrução, é opcional: { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllCloudFrontPermissions", "Effect": "Allow", "Action": ["cloudfront:*"], "Resource": "*" } ] } A política conceder permissões para executar todas as operações do CloudFront, que é suficiente para acessar o CloudFront de forma programática. Se você estiver usando o console para o acesso do CloudFront, consulte As permissões são necessárias para usar o Console do CloudFront (p. 257). API Version 2016-01-13 256 Amazon CloudFront Guia do desenvolvedor As permissões são necessárias para usar o Console do CloudFront Para obter uma lista de ações e o ARN que você especificar para conceder ou negar permissão para usar cada ação, consulte Permissões de API do CloudFront: Ações, Recursos e Condições de Referência (p. 261). As permissões são necessárias para usar o Console do CloudFront Para conceder acesso total ao console do CloudFront, você concede as permissões na política de permissões a seguir: { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:*", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:PutBucketPolicy" ], "Resource":"arn:aws:s3:::*" } ] } Veja por que as permissões são necessárias: acm:ListCertificates Quando você está criando e atualização de distribuições da web usando o console do CloudFront e você deseja configurar do CloudFront para exigir HTTPS entre o visualizador e do CloudFront e do CloudFront ou entre a origem, permite visualizar uma lista de ACM certificados (ACM). Esta permissão não é necessário se você não estiver usando o console do CloudFront. cloudfront:* Permite que você executar todas as ações do CloudFront. cloudwatch:DescribeAlarms e cloudwatch:PutMetricAlarm Permitir que você criar e visualizar o CloudWatch alarmes no console do CloudFront. Consulte também sns:ListSubscriptionsByTopic e sns:ListTopics. Essas permissões não são necessárias se você não estiver usando o console do CloudFront. API Version 2016-01-13 257 Amazon CloudFront Guia do desenvolvedor Políticas predefinidas da AWS (gerenciados) do CloudFront para cloudwatch:GetMetricStatistics Permite que as métricas de renderização do CloudFront do CloudWatch no console do CloudFront. Esta permissão não é necessário se você não estiver usando o console do CloudFront. elasticloadbalancing:DescribeLoadBalancers Quando você criar e atualizar as distribuições de web, permite visualizar uma lista de O Elastic Load Balancing balanceadores de carga na lista de origens disponíveis. Esta permissão não é necessário se você não estiver usando o console do CloudFront. iam:ListServerCertificates Quando você está criando e atualização de distribuições da web usando o console do CloudFront e você deseja configurar do CloudFront para exigir HTTPS entre o visualizador e do CloudFront e do CloudFront ou entre a origem, permite visualizar uma lista de certificados no armazenamento de certificados do IAM. Esta permissão não é necessário se você não estiver usando o console do CloudFront. s3:ListAllMyBuckets Quando você está criando e atualização de web e distribuições RTMP, permite que você execute as seguintes operações: • Visualizar uma lista de buckets do S3 na lista de origens disponíveis • Visualizar uma lista de buckets do S3 que você pode economizar logs de acesso em Esta permissão não é necessário se você não estiver usando o console do CloudFront. S3:PutBucketPolicy Quando você criar ou atualizar distribuições que restringem o acesso a buckets do S3, permite que um usuário atualizar a política de bucket para conceder acesso à identidade de acesso de origem do CloudFront. Para obter mais informações, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). Esta permissão não é necessário se você não estiver usando o console do CloudFront. sns:ListSubscriptionsByTopic e sns:ListTopics Quando você cria o CloudWatch alarmes no console do CloudFront, permite que você escolha um tópico de SNS para notificações. Essas permissões não são necessárias se você não estiver usando o console do CloudFront. waf:GetWebACL e waf:ListWebACLs Permite exibir uma lista de AWS WAF ACLs no console do CloudFront na web. Essas permissões não são necessárias se você não estiver usando o console do CloudFront. Políticas predefinidas da AWS (gerenciados) do CloudFront para A AWS lida com muitos casos de uso comuns, fornecendo independente IAM políticas que são criados e administrados pela AWS. Essas políticas gerenciadas pela AWS conceder permissões necessárias para casos de uso comuns, para que você possa evitar a necessidade de investigar o que permissões são necessárias. Para obter mais informações, consulte AWS Managed Policies no Guia do usuário do IAM. Para CloudFront, IAM fornece dois políticas gerenciadas: • CloudFrontFullAccess – Concede acesso completo a recursos do CloudFront. • CloudFrontReadOnlyAccess – Concede acesso somente leitura aos recursos do CloudFront. API Version 2016-01-13 258 Amazon CloudFront Guia do desenvolvedor Exemplos de política gerenciada pelo cliente Note Você pode revisar essas permissões políticas IAM fazendo login no console e a pesquisa de políticas específicas. Você também pode criar suas próprias políticas de IAM personalizados para permitir que as permissões para as operações de API do CloudFront. Você pode anexar essas políticas personalizadas para o IAM usuários ou grupos que exigem essas permissões. Exemplos de política gerenciada pelo cliente Você pode criar suas próprias políticas de IAM personalizadas do CloudFront para permitir permissões para ações de API. Você pode anexar essas políticas personalizadas para o IAM usuários ou grupos que exigem as permissões especificadas. Essas políticas funcionam quando você estiver usando a API do CloudFront, os AWS SDKs ou o AWS CLI. Os exemplos a seguir mostram permissões para alguns casos de uso comuns. Para a política que concede acesso total a um usuário do CloudFront, consulte As permissões são necessárias para usar o Console do CloudFront (p. 257). Exemplos • Exemplo 1: Permitir acesso de leitura para Todos os Distribuições de web (p. 259) • Exemplo 2: Permitir Criação, atualização e exclusão de Distribuições Web (p. 260) • Exemplo 3: Permitir Criação e Listagem de Invalidações (p. 260) Exemplo 1: Permitir acesso de leitura para Todos os Distribuições de web As seguintes permissões a política conceder as permissões de usuário para ver todas as distribuições no console do CloudFront na web: { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListCloudFrontOriginAccessIdentities", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", ], "Resource":"arn:aws:s3:::*" } API Version 2016-01-13 259 Amazon CloudFront Guia do desenvolvedor Exemplos de política gerenciada pelo cliente ] } Exemplo 2: Permitir Criação, atualização e exclusão de Distribuições Web As seguintes permissões de políticas permite que os usuários para criar, atualizar e excluir as distribuições de web usando o console do CloudFront: { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:CreateDistribution", "cloudfront:DeleteDistribution", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:UpdateDistribution", "cloudfront:ListCloudFrontOriginAccessIdentities", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:PutBucketPolicy" ], "Resource":"arn:aws:s3:::*" } ] } A cloudfront:ListCloudFrontOriginAccessIdentities permissão permite que os usuários automaticamente conceder a uma identidade de acesso de origem existente a permissão para acessar objetos no bucket do Amazon S3. Se você também deseja que os usuários poderão criar identidades de acesso de origem, você também precisa permitir que a cloudfront:CreateCloudFrontOriginAccessIdentity permissão. Exemplo 3: Permitir Criação e Listagem de Invalidações As seguintes permissões de políticas permite que os usuários para criar e listar invalidações. Ele inclui acesso de leitura a distribuições do CloudFront porque você criar e visualizar invalidações por primeiro que exibe as configurações para uma distribuição: { API Version 2016-01-13 260 Amazon CloudFront Guia do desenvolvedor Referência de API do CloudFront Permissões "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListCloudFrontOriginAccessIdentities", "cloudfront:CreateInvalidation", "cloudfront:GetInvalidation", "cloudfront:ListInvalidations", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", ], "Resource":"arn:aws:s3:::*" } ] } Permissões de API do CloudFront: Ações, Recursos e Condições de Referência Quando você estiver configurando Controle de acesso (p. 253) e escrever uma política de permissões que você pode anexar a uma identidade (IAM políticas com base em identidade), você pode usar as lista como referência. A lista de listas de API do CloudFront incluem cada operação, as ações correspondentes para os quais você pode conceder permissões para executar a ação e o recurso da AWS para os quais você pode conceder as permissões. Você especifica as ações no Action campo de política, e você especificar o valor do recurso no Resource campo de política. Você pode usar a AWS para toda a sua condição de chaves em políticas do CloudFront para definir condições. Para obter uma lista completa de chaves geral da AWS, consulte as chaves disponíveis no Guia do usuário do IAM. Tópicos • Permissões necessárias para as ações de distribuição na Web (p. 262) • Permissões necessárias para Ações no Distribuições RTMP (p. 262) • Permissões necessárias para Ações em Invalidações (p. 263) • Permissões necessárias para Actions na Identidades de origem de acesso (p. 263) API Version 2016-01-13 261 Amazon CloudFront Guia do desenvolvedor Permissões necessárias para as ações de distribuição na Web Permissões necessárias para as ações de distribuição na Web Distribuição dePOST (CreateDistribution) Permissõesnecessárias (API Action): cloudfront:CreateDistribution Recursos: * DistribuiçãoGET (GetDistribution) Permissõesnecessárias (API Action): cloudfront:GetDistribution Recursos: * Distribuição deGET Config (GetDistributionConfig) Permissõesnecessárias (API Action): cloudfront:GetDistributionConfig Recursos: * Lista de DistribuiçãoGET (ListDistributions) Permissõesnecessárias (API Action): cloudfront:ListDistributions Recursos: * Distribuição dePUT Config (UpdateDistribution) Permissõesnecessárias (API Action): cloudfront:UpdateDistribution Recursos: * Distribuição deDELETE (DeleteDistribution) Permissõesnecessárias (API Action): cloudfront:DeleteDistribution Recursos: * Permissões necessárias para Ações no Distribuições RTMP POST Streaming Distribution (CreateStreamingDistribution) Permissõesnecessárias (API Action): cloudfront:CreateStreamingDistribution Recursos: * GET Streaming Distribution (GetStreamingDistribution) Permissõesnecessárias (API Action): cloudfront:GetStreamingDistribution Recursos: * StreamingGET GetStreamingDistributionConfig Config (distribuição) Permissõesnecessárias (API Action): cloudfront:GetStreamingDistributionConfig Recursos: * Lista de distribuição (ListStreamingDistributions StreamingGET) Permissõesnecessárias (API Action): cloudfront:ListStreamingDistributions Recursos: * StreamingPUT UpdateStreamingDistribution Config (distribuição) Permissõesnecessárias (API Action): cloudfront:UpdateStreamingDistribution Recursos: * DELETE Streaming Distribution (DeleteStreamingDistribution) Permissõesnecessárias (API Action): cloudfront:DeleteDistribution API Version 2016-01-13 262 Amazon CloudFront Guia do desenvolvedor Permissões necessárias para Ações em Invalidações Recursos: * Permissões necessárias para Ações em Invalidações Invalidação (CreateInvalidationPOST) Permissõesnecessárias (API Action): cloudfront:CreateInvalidation Recursos: * InvalidaçãoGET (GetInvalidation) Permissõesnecessárias (API Action): cloudfront:GetInvalidation Recursos: * Lista de anulaçãoGET (ListInvalidations) Permissõesnecessárias (API Action): cloudfront:ListInvalidations Recursos: * Permissões necessárias para Actions na Identidades de origem de acesso Identidade de acesso de origem (CreateCloudFrontOriginAccessIdentityPOST) Permissõesnecessárias (API Action): cloudfront:CreateCloudFrontOriginAccessIdentity Recursos: * GET Identidade de acesso de origem (GetCloudFrontOriginAccessIdentity) Permissõesnecessárias (API Action): cloudfront:GetCloudFrontOriginAccessIdentity Recursos: * GET Identidade de acesso de origem Config (GetCloudFrontOriginAccessIdentityConfig) Permissõesnecessárias (API Action): cloudfront:GetCloudFrontOriginAccessIdentityConfig Recursos: * Identidade de acesso de origemGET List (ListCloudFrontOriginAccessIdentities) Permissõesnecessárias (API Action): cloudfront:ListDistributions Recursos: * Identidade de acesso de origemPUT Config (UpdateCloudFrontOriginAccessIdentity) Permissõesnecessárias (API Action): cloudfront:UpdateCloudFrontOriginAccessIdentity Recursos: * DELETE Identidade de acesso de origem (DeleteCloudFrontOriginAccessIdentity) Permissõesnecessárias (API Action): cloudfront:DeleteCloudFrontOriginAccessIdentity Recursos: * API Version 2016-01-13 263 Amazon CloudFront Guia do desenvolvedor Como funciona o registro em log Logs de acesso Você pode configurar o CloudFront para criar arquivos de log que contêm informações detalhadas sobre cada solicitação do usuário que ele recebe. Esses logs de acesso estão disponíveis para web e distribuições RTMP. Se você habilitar o log, você também pode especificar o bucket do Amazon S3 que você deseja salvar arquivos do CloudFront. Tópicos • Como funciona o registro em log (p. 264) • Escolhendo um bucket do Amazon S3 para seus logs de acesso (p. 265) • Permissões do Amazon S3 necessária para acessar seus arquivos de log (p. 265) • Formato do Nome do Arquivo (p. 266) • Tempo de entrega de arquivo de log (p. 266) • A análise de logs de acesso (p. 266) • Editando suas Configurações do registro (p. 267) • A exclusão de arquivos de log a partir de um bucket do Amazon S3 (p. 267) • Formato do arquivo de registro (p. 267) • As cobranças para logs de acesso (p. 277) Como funciona o registro em log O diagrama a seguir mostra como os logs do CloudFront informações sobre as solicitações de seus objetos. Como Solicitações de Informações sobre Logs do CloudFront para seus objetos Neste diagrama, você tem dois sites, A e B, e duas distribuições do CloudFront correspondente. Os usuários solicitar seus objetos usando URLs que são associados a suas distribuições. CloudFront encaminha cada solicitação para o ponto de presença. API Version 2016-01-13 264 Amazon CloudFront Guia do desenvolvedor Escolhendo um bucket do Amazon S3 para seus logs de acesso CloudFront grava dados sobre cada solicitação para um arquivo de log específico para a distribuição. Neste exemplo, informações sobre as solicitações relacionadas à distribuição Um entra em um arquivo de log apenas para uma distribuição e informações sobre as solicitações relacionadas à distribuição B entra em um arquivo de log apenas para distribuição B. periodicamente salva o arquivo de log do CloudFront para uma distribuição no bucket do Amazon S3 que você especificou ao habilitar o registro em log. Em seguida, o CloudFront começa salvando informações sobre solicitações subseqüentes em um novo arquivo de log para a distribuição. Cada entrada em um arquivo de log fornece detalhes sobre uma única solicitação. Para obter mais informações sobre o formato de arquivo de log, consulte Formato do arquivo de registro (p. 267). Escolhendo um bucket do Amazon S3 para seus logs de acesso Quando você ativar o registro em log para uma distribuição, você especifica o bucket do Amazon S3 que você deseja para armazenar arquivos de log do CloudFront. Se você estiver usando o Amazon S3 como sua origem, recomendamos que você não usar o mesmo bucket para os arquivos de log, usando um bucket separado simplifica a manutenção. Você pode armazenar os arquivos de log para várias distribuições no mesmo bucket. Quando você ativar o registro, você pode especificar um prefixo opcional para os nomes de arquivos, para que você possa manter o controle dos quais arquivos de log são associados a quais distribuições. Se nenhum usuário acessar seu conteúdo em uma determinada hora, você não receberá quaisquer arquivos de log para essa hora. Permissões do Amazon S3 necessária para acessar seus arquivos de log Sua conta da AWS deve ter FULL_CONTROL permissão para o bucket do Amazon S3 que você especificar para os arquivos de log. Se você for o proprietário do balde, sua conta tem essa permissão por padrão. Se você não tiver, o proprietário do balde deve atualizar a lista de controle de acesso (ACL) para o bucket para conceder sua conta da AWS FULL_CONTROL permissão. Quando você ativar o registro, ele atualiza automaticamente a ACL para o bucket para oferecer a conta awsdatafeeds FULL_CONTROL permissão. Essa conta grava os arquivos de log para o bucket. Note Se você atualizar a ACL para o bucket para remover permissões para a conta, as atualizações do CloudFront awsdatafeeds ACL novamente na próxima vez que a conta awsdatafeeds precisa escrever um arquivo de log para o seu bucket de logs. Além da ACL no bucket, há uma ACL em cada arquivo de log. O proprietário do balde tem FULL_CONTROL permissão em cada arquivo de log, o proprietário de distribuição (se diferente do proprietário do balde) não tem permissão e awsdatafeeds conta tem permissões de leitura e gravação. Se você desativar o registro, ele não exclui as ACLs para o bucket ou os arquivos de log. Se desejar, você pode fazer isso por conta própria. API Version 2016-01-13 265 Amazon CloudFront Guia do desenvolvedor Formato do Nome do Arquivo Formato do Nome do Arquivo O nome de cada arquivo de log que economiza do CloudFront em seu bucket do Amazon S3 usa o seguinte formato de nome de arquivo: bucket-name.s3.amazonaws.com/optional-prefix/distributionID.YYYY-MM-DD-HH.unique-ID.gz A data e a hora estão no Tempo Universal Coordenado (UTC). Por exemplo, se o nome do bucket é mylogs, o prefixo é myprefix/, e sua distribuição ID é EMLARXS9EXAMPLE, seus nomes de arquivos semelhantes a: mylogs.s3.amazonaws.com/myprefix/EMLARXS9EXAMPLE.2014-11-14-20.RT4KCN4SGK9.gz Quando você ativar o registro em log para uma distribuição, você pode especificar um prefixo opcional para os nomes de arquivos, para que você possa manter o controle dos quais arquivos de log são associados a quais distribuições. Se você incluir um valor para o prefixo de arquivos de log e o prefixo não inclua uma /, ele adiciona automaticamente. Se o valor não incluem um /, ele não adicionar outro. O.gz no final do nome do arquivo indica que o arquivo de log do CloudFront tem compactados usando gzip. Tempo de entrega de arquivo de log CloudFront oferece logs de acesso para uma distribuição várias vezes em uma hora. Em geral, um arquivo de log contém informações sobre as solicitações do CloudFront recebidas durante um determinado período de tempo. Geralmente, o CloudFront oferece o arquivo de log para esse período de tempo para o seu bucket do Amazon S3 dentro de uma hora dos eventos que aparecem no registro. Observe, no entanto, que algumas ou todas as entradas do arquivo de log para um período de tempo, às vezes, pode ser atraso por até 24 horas. Quando entradas de log são atrasadas, o CloudFront salva-los em um arquivo de log para os quais o nome do arquivo inclui a data e a hora do período em que as solicitações não ocorreu, a data e a hora em que o arquivo foi entregue. Ao criar um arquivo de log, o CloudFront consolida informações para sua distribuição a partir de todos os pontos de presença que recebeu solicitações de seus objetos durante o período de tempo que o arquivo de log abrange. CloudFront pode economizar mais de um arquivo para um período de tempo, de acordo com a quantidade de solicitações do CloudFront recebe para os objetos associados a uma distribuição. Início do CloudFront para entregar, de forma confiável, logs de acesso sobre quatro horas depois de habilitar o registro em log. Você pode obter alguns logs de acesso antes do tempo. Note Se nenhum usuário solicitar seus objetos durante o período de tempo, você não receberá quaisquer arquivos de log para esse período. A análise de logs de acesso Como você pode receber vários logs de acesso de uma hora, recomendamos que você combina todos os arquivos de log que você recebe para um determinado período em um único arquivo. Em seguida, você pode analisar os dados para esse período de forma mais rápida e precisa. API Version 2016-01-13 266 Amazon CloudFront Guia do desenvolvedor Editando suas Configurações do registro Important Recomendamos que você use os logs para compreender a natureza das solicitações de seu conteúdo, não como uma contabilidade completa de todas as solicitações. CloudFront oferece logs de acesso na base do melhor esforço. A entrada de log para uma determinada solicitação pode ser entregue longo após a solicitação foi realmente processados e, em casos raros, uma entrada de log pode não ser entregue. Quando uma entrada de log é omitido a partir de logs de acesso, o número de entradas no logs de acesso não corresponder o uso que aparece no uso da AWS e relatórios de faturamento. Para obter mais informações sobre os logs de acesso do CloudFront, incluindo recomendações para as ferramentas que você pode usar para analisar os logs de acesso, consulte Uso do Registro do CloudFront (p. 360). Editando suas Configurações do registro Você pode ativar ou desativar o registro, alterar o bucket do Amazon S3 onde os logs são armazenados e alterar o prefixo para arquivos de log usando o console ou a API do CloudFront do CloudFront. Suas alterações nas configurações de log sejam aplicadas dentro de 12 horas. Para obter mais informações, consulte os seguintes tópicos: • Atualizando um web ou uma distribuição RTMP usando o console do CloudFront: Listagem, Exibindo e Atualizando Distribuições do CloudFront (p. 43). • Atualizando uma distribuição de web usando a API do CloudFront: PUT Amazon CloudFront API Reference Config na distribuição. • Atualizando uma distribuição RTMP usando a API do CloudFront: PUT Amazon CloudFront API Reference Config na distribuição de streaming. Para usar a API do CloudFront para alterar as configurações de log de acesso para as distribuições de web, você deve usar o 2009-04-02 ou versão mais recente da API. Para usar a API do CloudFront para alterar as configurações de log de acesso para as distribuições RTMP, você deve usar o 2010-05-01 ou versão mais recente da API. A exclusão de arquivos de log a partir de um bucket do Amazon S3 CloudFront não excluir automaticamente arquivos de log em seu bucket do Amazon S3. Para obter informações sobre a exclusão de arquivos de log a partir de um bucket do Amazon S3, consulte os seguintes tópicos: • Usando o console do Amazon S3: A exclusão de um objeto no Amazon Simple Storage Service Console User Guide. • Usando a API REST: DELETE Object no Amazon Simple Storage Service API Reference. • Usando a API SOAP: DeleteObject no Amazon Simple Storage Service API Reference. Formato do arquivo de registro Tópicos API Version 2016-01-13 267 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro • Formato do arquivo de registro de distribuição da Web (p. 269) • Formato do arquivo de registro de distribuição RTMP (p. 275) Cada entrada em um arquivo de log fornece detalhes sobre uma única solicitação do usuário. Os arquivos de log para web e para as distribuições RTMP não são idênticos, mas eles compartilham as seguintes características: • Use o formato de arquivo de log estendido do W3C. (Para obter mais informações, acesse http:// www.w3.org/TR/WD-logfile.html.) • Conter guia valores separados por vírgulas. • Conter registros que não são necessariamente em ordem cronológica. • Conter duas linhas de cabeçalho: uma com a versão de formatos de arquivo e outra que relaciona os campos W3C incluídos em cada registro. • URL Substitutos equivalentes codificado para espaços e caracteres especiais em valores de campo. Esses caracteres não-padrão consistem em todos os códigos ASCII abaixo de 32 e superior 127, mais os caracteres na tabela a seguir. O URL padrão é codificação RFC 1738. Para obter mais informações, acesse http://www.ietf.org/rfc/rfc1738.txt. URL de valor Codificados Character %3C < %3E > %22 " %23 # %25 % %7B { %7D } %7C | %5C \ %5E ^ %7E ~ %5B [ %5D ] %60 ` %27 ' %20 espaço API Version 2016-01-13 268 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição da Web Formato do arquivo de registro de distribuição da Web O arquivo de log para uma distribuição de web inclui os seguintes campos na ordem listada. Número de campo Nome do campo Descrição 1 data A data em que o evento ocorreu no formato yyyy-mm-dd, por exemplo, 2015-06-30. A data e a hora estão no Tempo Universal Coordenado (UTC). 2 tempo O horário em que o servidor do CloudFront terminar de responder à solicitação (em UTC), por exemplo, 01:42:39. 3 x-edge-location O ponto de presença que ocupou a solicitação. Cada ponto de presença é identificado por um código de três letras arbitrariamente atribuído e um número, por exemplo, DFW3. O código de três letras normalmente corresponde com o International Air Transport Association aeroporto código para um aeroporto perto do ponto de presença. (Essas abreviações podem alterar no futuro.) Para obter uma lista de pontos de presença, consulte a página de detalhes Amazon CloudFront http://aws.amazon.com/cloudfront. 4 sc-bytes O número total de bytes enviados para o visualizador do CloudFront em resposta à solicitação, incluindo cabeçalhos, por exemplo, 1045619. 5 c-ip O endereço IP do visualizador que fez a solicitação, por exemplo, 192.0.2.183. Se o visualizador usado um proxy HTTP ou um load balancer para enviar a solicitação, o valor de c-ip é o endereço IP do proxy ou balanceador de carga. Consulte também X-Forwarded-For no campo 20. 6 cs-método O método de acesso HTTP: DELETE, GET, HEAD, OPTIONS, PATCH, POST, ou PUT. 7 cs (Host) O nome de domínio de distribuição do CloudFront, por exemplo, d111111abcdef8.cloudfront.net. 8 cs-uri-raiz A parte do URI que identifica o caminho e o nome do objeto, por exemplo, /images/daily-ad.jpg. 9 sc-status Um dos seguintes valores: • Um código de status HTTP (por exemplo, 200). Para obter uma lista de códigos de status do HTTP, consulte RFC 2616, Hypertext Transfer Protocol – HTTP 1.1, 10, Código de Status da seção Definições. Para obter mais informações, consulte Como CloudFront Processos e Caches Códigos de status de HTTP 4xx e 5xx da sua origem (p. 162). • 000, o que indica que o visualizador fechada a conexão (por exemplo, fechado) antes da guia do navegador do CloudFront pode responder a uma solicitação. 10 cs (referência) O nome do domínio que originou a solicitação. indicadores comuns incluem mecanismos de pesquisa, outros sites que se vinculem diretamente aos seus objetos e seu próprio site. API Version 2016-01-13 269 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição da Web Número de campo Nome do campo Descrição 11 cs (User-Agent) O valor do User-Agent cabeçalho na solicitação. O UserAgent cabeçalho identifica a fonte da solicitação, como o tipo de dispositivo e navegador que enviou a solicitação e, se a solicitação veio de um mecanismo de pesquisa, que mecanismo de pesquisa. Para obter mais informações, consulte Cabeçalho do Agente do usuário (p. 158). 12 cs-uri-consulta A parte de sequência de caracteres de consulta do URI, se houver. Quando um URI não contém uma string de consulta, o valor de csuri-query é um hífen (-). Para obter mais informações, consulte A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105). 13 cs (Cookie) O cabeçalho do cookie na solicitação, incluindo pares de nomevalor e os atributos associados. Se você habilitar o registro de logs do CloudFront cookie, os cookies em todas as solicitações, independentemente de quais cookies você optar por encaminhar para a origem: none, todas ou uma lista branca de nomes de cookies. Quando uma solicitação não incluir um cabeçalho do cookie, o valor de cs(Cookie) é um hífen (-). Para obter mais informações sobre cookies, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). API Version 2016-01-13 270 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição da Web Número de campo Nome do campo Descrição 14 x-tipo de resultado de presença Como a resposta classificados do CloudFront após o último byte à esquerda do ponto de presença. Em alguns casos, o tipo de resultado pode alterar entre o tempo em que ele está pronto para enviar a resposta e o tempo de resposta ao enviar o término do CloudFront. Por exemplo, no streaming do CloudFront HTTP, suponha que encontra um segmento no cache de presença. O valor de x-edge-response-result-type, o tipo de resultado imediatamente antes do CloudFront começa para responder à solicitação, é Hit. No entanto, se o usuário fechar o visualizador antes do CloudFront fornece todo o segmento, o resultado final tipo – o valor de x-edge-result-type-alterações Error. Os valores possíveis incluem: • Hit – CloudFront atendidas o objeto para o visualizador do cache de presença. Para obter informações sobre uma situação em que classifica como o tipo de resultado do CloudFront Hit , embora a resposta da origem contém um Cache-Control: no-cache cabeçalho, consulte As solicitações simultâneas para o mesmo objeto (Traffic Spikes) (p. 158). • RefreshHit – CloudFront encontrado o objeto no cache de presença, mas ele tinha expirado, portanto, entrou em contato com a origem do CloudFront para determinar se o cache tem a versão mais recente do objeto e, se não, para obter a versão mais recente. • Miss – A solicitação não pôde ser atendidas por um objeto no cache de presença do CloudFront encaminhado, para que a solicitação para o servidor de origem e retornou o resultado para o visualizador. • LimitExceeded – A solicitação foi recusada porque um limite do CloudFront foi excedido. • CapacityExceeded – CloudFront retornou um código de status HTTP 503 (Serviço Indisponível), porque o servidor de presença do CloudFront foi temporariamente indisponível para responder a solicitações. • Error – Normalmente, isso significa que a solicitação resultou em um erro do cliente (sc-status é 4xx) ou um erro de servidor (sc-status é 5xx). Se sc-status é 403 e você tiver configurado do CloudFront para restringir a distribuição geográfica do seu conteúdo, a solicitação pode ter vêm com base em um local restrito. Para obter mais informações sobre a restrição geográfica, consulte Restringindo a distribuição geográfica do seu conteúdo (p. 81). Se o valor de x-edge-result-type é Error e o valor de não x-edge-response-result-type é Error, o cliente desconectado antes de encerrar o download. 15 x-edge-requestid Uma string criptografada e identifica unicamente uma solicitação. API Version 2016-01-13 271 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição da Web Número de campo Nome do campo Descrição 16 x-cabeçalho de host O valor que o visualizador incluído no Host cabeçalho para essa solicitação. Este é o nome de domínio na solicitação: • Se você estiver usando o nome de domínio do CloudFront em seu objeto URLs, como http:// d111111abcdef8.cloudfront.net/logo.png, o x-hostheader campo contém esse nome de domínio. • Se você estiver usando alternativas nomes de domínio no seu objeto http://example.com/logo.png URLs, como alternativa, o x-host-header campo contém o nome de domínio, como example.com. Para usar nomes de domínio alternativo, você deve adicioná-los para sua distribuição. Para obter mais informações, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Se você estiver usando nomes de domínio alternativo, consulte cs(Host) no campo 7 para o nome de domínio que está associado à sua distribuição. 17 cs-protocolo O protocolo especificado na solicitação, http ou https. 18 cs-bytes O número de bytes de dados que o visualizador incluído na solicitação (cliente para servidor bytes), incluindo cabeçalhos. 19 tempo gasto O número de segundos (para o milésimo de um segundo, por exemplo, 0.002) entre o tempo em que um servidor de presença do CloudFront recebe uma solicitação de visualizador gravações do CloudFront e o tempo em que o último byte da resposta à fila de saída do servidor de presença como demonstrado no servidor. Da perspectiva do visualizador, o tempo total para obter o objeto completo será mais do que esse valor devido à latência de rede e buffer TCP. 20 x-encaminhadopara Se o visualizador usado um proxy HTTP ou um load balancer para enviar a solicitação, o valor de c-ip no campo 5 é o endereço IP do proxy ou balanceador de carga. Neste caso, x-forwarded-for é o endereço IP do visualizador que originou a solicitação. Se o visualizador não usar um proxy HTTP ou um balanceador de carga, o valor de x-forwarded-for é um hífen (-). 21 multiprotocolo ssl Quando cs-protocol no campo 17 é https, o protocolo SSL que o cliente e do CloudFront negociados para transmitir a solicitação e resposta. Quando cs-protocol for http, o valor ssl-protocol é um hífen (-). Os valores possíveis incluem o seguinte: • SSLv3 • TLSv1 • TLSv1.1 • TLSv1.2 API Version 2016-01-13 272 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição da Web Número de campo Nome do campo Descrição 22 cifras ssl Quando cs-protocol no campo cifras SSL 17 é https, o que o cliente e do CloudFront negociados para a criptografia da solicitação e da resposta. Quando cs-protocol for http, o valor ssl-cipher é um hífen (-). Os valores possíveis incluem o seguinte: • ECDHE-RSA-AES128-GCM-SHA256 • ECDHE-RSA-AES128-SHA256 • ECDHE-RSA-AES128-SHA • ECDHE-RSA-AES256-GCM-SHA384 • ECDHE-RSA-AES256-SHA384 • ECDHE-RSA-AES256-SHA • AES128-GCM-SHA256 • AES256-GCM-SHA384 • AES128-SHA256 • AES256-SHA • AES128-SHA • DES-CBC3-SHA • RC4-MD5 API Version 2016-01-13 273 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição da Web Número de campo Nome do campo Descrição 23 x-edge tipo de resultado de resposta Como CloudFront classificado a resposta apenas antes de retornar a resposta para o visualizador. Consulte também x-edgeresult-type no campo 14. Os valores possíveis incluem: • Hit – CloudFront atendidas o objeto para o visualizador do cache de presença. • RefreshHit – CloudFront encontrado o objeto no cache de presença, mas ele tinha expirado, portanto, entrou em contato com a origem do CloudFront para verificar se o cache tem a versão mais recente do objeto. • Miss – A solicitação não pôde ser atendidas por um objeto no cache de presença do CloudFront encaminhado, para que a solicitação para o servidor de origem e retornou o resultado para o visualizador. • LimitExceeded – A solicitação foi recusada porque um limite do CloudFront foi excedido. • CapacityExceeded – 503 do CloudFront retornou um erro porque o ponto de presença não tem capacidade suficiente no momento da solicitação para servir o objeto. • Error – Normalmente, isso significa que a solicitação resultou em um erro do cliente (sc-status é 4xx) ou um erro de servidor (sc-status é 5xx). Se sc-status é 403 e você tiver configurado do CloudFront para restringir a distribuição geográfica do seu conteúdo, a solicitação pode ter vêm com base em um local restrito. Para obter mais informações sobre a restrição geográfica, consulte Restringindo a distribuição geográfica do seu conteúdo (p. 81). Se o valor de x-edge-result-type é Error e o valor de não x-edge-response-result-type é Error, o cliente desconectado antes de encerrar o download. Note Os pontos de interrogação (?) em URLs e sequências de caracteres de consulta não são incluídas no registro. Veja a seguir um exemplo de arquivo de log para uma distribuição de web: #Version: 1.0 #Fields: date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uristem sc-status cs(Referer) cs(User-Agent) cs-uri-query cs(Cookie) x-edgeresult-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken x-forwarded-for ssl-protocol ssl-cipher x-edge-response-result-type 2014-05-23 01:13:11 FRA2 182 192.0.2.10 GET d111111abcdef8.cloudfront.net / view/my/file.html 200 www.displaymyfiles.com Mozilla/4.0%20(compatible; %20MSIE%205.0b1;%20Mac_PowerPC) - zip=98101 RefreshHit MRVMF7KydIvxMWfJIglgwHQwZsbG2IhRJ07sn9AkKUFSHS9EXAMPLE== d111111abcdef8.cloudfront.net http - 0.001 - - - RefreshHit API Version 2016-01-13 274 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição RTMP 2014-05-23 01:13:12 LAX1 2390282 192.0.2.202 GET d111111abcdef8.cloudfront.net /soundtrack/happy.mp3 304 www.unknownsingers.com Mozilla/4.0%20(compatible;%20MSIE%207.0; %20Windows%20NT%205.1) a=b&c=d zip=50158 Hit xGN7KWpVEmB9Dp7ctcVFQC4EnrcOcEKS3QyAez--06dV7TEXAMPLE== d111111abcdef8.cloudfront.net http - 0.002 - - Hit Formato do arquivo de registro de distribuição RTMP Cada registro em um log de acesso RTMP representa um evento de reprodução, por exemplo, se conectar, reproduzir, interromper, parar, desconecte e assim por diante. Como resultado, o CloudFront gera vários registros de log cada vez que um visualizador observa um vídeo. Para relacionar registros de log que se originam do mesmo stream ID, use o x-sid campo. Note Alguns campos têm valores para todos os eventos e algumas têm valores somente para Play, Parar, Pausar, Unpause e Seek eventos. Em geral, quando o arquivo de log contém um hífen (-) para um campo, o campo não é relevante para o evento correspondente. A tabela a seguir descreve os campos que estão presentes em cada registro no arquivo de log de distribuição RTMP, independentemente do tipo de evento. Os campos aparecem no registro na ordem listada. Número de campo Nome do campo Descrição 1 data A data em que o evento ocorreu no formato aaaa-mm-dd, por exemplo, 2014-05-23. A data e a hora estão no Tempo Universal Coordenado (UTC). 2 tempo O tempo quando o servidor recebeu a solicitação (em UTC), por exemplo, 01:42:39. 3 x-edgelocation A reprodução do ponto de presença em que o evento ocorreu. Cada ponto de presença é identificado por um código de três letras arbitrariamente atribuído e um número, por exemplo, DFW3. O código de três letras normalmente corresponde com o International Air Transport Association aeroporto código para um aeroporto perto do ponto de presença. (Essas abreviações podem alterar no futuro.) Para obter uma lista de pontos de presença, consulte a página de detalhes Amazon CloudFront http://aws.amazon.com/ cloudfront. 4 c-ip IP do cliente, por exemplo, 192.0.2.183. 5 x-evento O tipo de evento. Este é um Connect, Desconectar, Reproduzir, Parar, Pausar, Unpause ou Seek evento. 6 sc-bytes A execução do número total de bytes enviados do servidor para o cliente, até o tempo do evento. 7 x-cf-status Um código indicando o status do evento. Atualmente, "OK" é o único valor para este campo. Nova funcionalidade no futuro pode exigir novos códigos de status. API Version 2016-01-13 275 Amazon CloudFront Guia do desenvolvedor Formato do arquivo de registro de distribuição RTMP Número de campo Nome do campo Descrição 8 x-cf-client-id Um identificador de sequência opaco que pode ser usado para diferenciar os clientes. Esse valor é exclusivo para cada conexão. 9 cs-uri-raiz A raiz parte do URI, incluindo o aplicativo e a instância do aplicativo. Isso é às vezes chamada FMS string de conexão. Por exemplo, rtmp://shqshne4jdp4b6.cloudfront.net/cfx/st. 10 cs-uriconsulta A parte de sequência de caracteres de consulta do URI que é incluído na string de conexão. 11 creferenciador O URI do indicador. 12 página X-url O URL da página na qual o SWF está vinculado. 13 c-user-agente O valor do User-Agent cabeçalho na solicitação. O UserAgent cabeçalho identifica o tipo de dispositivo que submeteu a solicitação. Para obter mais informações, consulte Cabeçalho do Agente do usuário (p. 158). Os seguintes campos geralmente têm valores somente para Play, Parar, Pausar, Unpause e Seek eventos. Para outros eventos, eles contêm um único hífen (-). Esses campos são exibidos no registro após os campos na tabela anterior e na ordem listada. Campo Descrição x-sname O nome de stream. x-snameconsulta O stream de sequência de caracteres de consulta, se houver. x-file-ext O tipo de streaming, por exemplo, FLV. x-sid O stream ID. Este é um identificador exclusivo para a conexão inteiro. Note Os pontos de interrogação (?) em URLs e sequências de caracteres de consulta não são incluídas no registro. Veja a seguir um exemplo de um arquivo de log para uma distribuição RTMP: #Version: 1.0 #Fields: date time x-edge-location c-ip x-event sc-bytes x-cf-status x-cfclient-id cs-uri-stem cs-uri-query c-referrer x-page-url c-user-agent xsname x-sname-query x-file-ext x-sid 2010-03-12 23:51:20 SEA4 192.0.2.147 connect 2014 OK bfd8a98bee0840d9b871b7f6ade9908f rtmp://shqshne4jdp4b6.cloudfront.net/ cfx/st key=value http://player.longtailvideo.com/player.swf http:// www.longtailvideo.com/support/jw-player-setup-wizard?example=204 LNX %2010,0,32,18 API Version 2016-01-13 276 Amazon CloudFront Guia do desenvolvedor As cobranças para logs de acesso 2010-03-12 23:51:21 SEA4 192.0.2.222 play 3914 OK bfd8a98bee0840d9b871b7f6ade9908f rtmp://shqshne4jdp4b6.cloudfront.net/ cfx/st key=value http://player.longtailvideo.com/player.swf http:// www.longtailvideo.com/support/jw-player-setup-wizard?example=204 LNX %2010,0,32,18 myvideo p=2&q=4 flv 1 2010-03-12 23:53:44 SEA4 192.0.2.4 stop 323914 OK bfd8a98bee0840d9b871b7f6ade9908f rtmp://shqshne4jdp4b6.cloudfront.net/ cfx/st key=value http://player.longtailvideo.com/player.swf http:// www.longtailvideo.com/support/jw-player-setup-wizard?example=204 LNX %2010,0,32,18 dir/other/myvideo p=2&q=4 flv 1 2010-03-12 23:53:44 SEA4 192.0.2.103 play 8783724 OK bfd8a98bee0840d9b871b7f6ade9908f rtmp://shqshne4jdp4b6.cloudfront.net/ cfx/st key=value http://player.longtailvideo.com/player.swf http:// www.longtailvideo.com/support/jw-player-setup-wizard?example=204 LNX %2010,0,32,18 dir/favs/myothervideo p=42&q=14 mp4 2 2010-03-12 23:56:21 SEA4 192.0.2.199 stop 429822014 OK bfd8a98bee0840d9b871b7f6ade9908f rtmp://shqshne4jdp4b6.cloudfront.net/ cfx/st key=value http://player.longtailvideo.com/player.swf http:// www.longtailvideo.com/support/jw-player-setup-wizard?example=204 LNX %2010,0,32,18 dir/favs/myothervideo p=42&q=14 mp4 2 2010-03-12 23:59:44 SEA4 192.0.2.14 disconnect 429824092 OK bfd8a98bee0840d9b871b7f6ade9908f rtmp://shqshne4jdp4b6.cloudfront.net/ cfx/st key=value http://player.longtailvideo.com/player.swf http:// www.longtailvideo.com/support/jw-player-setup-wizard?example=204 LNX %2010,0,32,18 - As cobranças para logs de acesso Acesse o registro em log é um recurso opcional do CloudFront. Não há custo adicional para habilitar o log de acesso. No entanto, você acumula cobranças usuais do Amazon S3 para armazenar e acessar os arquivos no Amazon S3 (você pode excluí-los a qualquer momento). Para obter mais informações sobre cobranças do CloudFront, consulte Relatórios do CloudFront (p. 11). API Version 2016-01-13 277 Amazon CloudFront Guia do desenvolvedor Monitoramento de atividades usando o CloudWatch do CloudFront Amazon CloudWatch Amazon CloudFront se integra com métricas para que você possa monitorar o seu site ou aplicativo. No momento, fornece seis métricas gratuitos do CloudFront, e essas métricas não entram nos limites do CloudWatch. Ao exibir as métricas, você pode especificar um intervalo de tempo de menos de um minuto para períodos de tempo nos últimos dois semanas. Você pode visualizar as seguintes métricas do CloudFront no console do CloudWatch: • As solicitações – Número de solicitações para todos os métodos HTTP e para as solicitações HTTP e HTTPS • Número de bytesBytesDownloaded – baixado por visualizadores para GET, HEADe OPTIONS solicitações • BytesUploaded – Número de bytes enviados para sua origem com o uso POST e PUT solicitações do CloudFront • TotalErrorRate – Porcentagem de todas as solicitações para a qual o código de status HTTP é 4xx ou 5xx • 4xxErrorRate – Porcentagem de todas as solicitações para a qual o código de status HTTP é 4xx • 5xxErrorRate – Porcentagem de todas as solicitações para a qual o código de status HTTP é 5xx Note CloudFront é um serviço global e métricas estão disponíveis apenas quando você escolher a Leste dos EUA (Norte da Virgínia) região no console da AWS. Se você escolher outra região, não há métricas do CloudFront serão exibidos no console do CloudWatch. Para visualizar métricas para uma distribuição no console do CloudWatch 1. Faça login no Console de gerenciamento da AWS e abra o console da CloudFront em https:// console.aws.amazon.com/cloudfront/. 2. No painel de navegação, clique em Monitoring and Alarms. 3. No CloudFront Metrics and Alarms From CloudWatch painel, especifique os seguintes valores: API Version 2016-01-13 278 Amazon CloudFront Guia do desenvolvedor De e Para Selecione o intervalo de data e hora para a qual você deseja exibir o CloudWatch métricas. Granularidade Especifique o intervalo de pontos de dados, por exemplo, uma por minuto ou um por hora. Observe que o período de tempo que você escolher afeta a disponível granularidade. Por exemplo, se você escolher para visualizar dados para duas semanas, a melhor granularidade é uma hora, e se você optar por visualizar os dados por 24 horas, a melhor granularidade é um minuto. Distribuição de Web Selecione a distribuição que você deseja exibir métricas. 4. Clique Update Graph para atualizar o gráfico com base nas configurações que você especificou. Para receber uma notificação Amazon Simple Notification Service (O Amazon SNS) com base em uma métrica do CloudFront 1. Na CloudFront Metrics and Alarms From CloudWatch página, expanda a lista de alarmes para confirmar que o alerta que você deseja criar ainda não existir. 2. Clique em Create Alarm. 3. Na caixa de Create Alarm diálogo, especifique os seguintes valores: métrica Escolha a métrica para a qual você deseja criar o alerta. Distribuição Escolha a distribuição do CloudFront para a qual você deseja criar o alerta. Name of alarm Insira um nome para o alerta. Enviar notificação Escolha o tópico do Amazon SNS que você deseja enviar uma notificação se o status dessa métrica dispara um alarme. valorWhenever de operador de métrica Especifique quando o CloudWatch devem acionar um alerta e enviar uma notificação à lista de e-mail especificado. Por exemplo, para receber uma notificação quando o 5xx taxa de erros exceder 1%, você pode especificar o seguinte: Whenever Average of 5xxErrorRate > 1 Observe o seguinte sobre especificando valores de valor: • Insira apenas números inteiros sem pontuação. Por exemplo, para especificar um mil, insira 1000. • Para 4xx, 5xx e o total de taxas de erro, o valor que você especifica é uma porcentagem. • Para solicitações, bytes baixados e bytes enviados, o valor especificado é em unidades, por exemplo, 1000000000 bytes. For at least x período de consecutive periods of tempo Especifique quantos períodos consecutivos da duração específica a métrica deve atender aos critérios antes do CloudWatch envia uma notificação. Quando você escolher um valor, você precisa encontrar um equilíbrio apropriado entre um valor que produz frequentes notificações de problemas e atrasos na fleeting notificações para problemas reais. 4. Se você criou um novo tópico, O Amazon SNS quando você clica Create, O Amazon SNS envia um e-mail com informações sobre o novo tópico. Siga as instruções no e-mail. API Version 2016-01-13 279 Amazon CloudFront Guia do desenvolvedor Baixando dados no formato CSV Baixando dados no formato CSV Você pode fazer o download do relatório Métricas do CloudWatch no formato CSV. Esta seção explica como fazer o download do relatório e descreve os valores no relatório. Para fazer o download do relatório no formato CSV Métricas do CloudWatch 1. Ao exibir as métricas do CloudWatch, clique em CSV. 2. Na caixa de diálogoAbrir nome de arquivo, escolha se deseja abrir ou salvar o arquivo. Informações sobre o relatório O primeiro algumas linhas do relatório incluem as seguintes informações: Versão A versão secundária do CloudFront. Relatório O nome do relatório. DistributionID O ID da distribuição que você executou o relatório. StartDateUTC O início do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). EndDateUTC O final do intervalo de datas para o qual você executou o relatório, no Tempo Universal Coordenado (UTC). GeneratedTimeUTC A data e a hora em que você executou o relatório, no Tempo Universal Coordenado (UTC). Granularidade O período de tempo para cada linha no relatório, por exemplo, ONE_MINUTE. Os dados no Relatório de Métricas do CloudWatch O relatório inclui os seguintes valores: DistributionID O ID da distribuição que você executou o relatório. FriendlyName Um nome de domínio alternativo (CNAME) para a distribuição, se houver. Se uma distribuição não tem nomes de domínio alternativo, a lista inclui um nome de domínio de origem para a distribuição. TimeBucket A hora ou o dia em que os dados se aplica, no Tempo Universal Coordenado (UTC). Solicitações O número total de solicitações para todos os códigos de status do HTTP (por exemplo, 200 ou 404) e todos os métodos (por exemplo, GET, HEAD ou POST) durante o período de tempo. BytesDownloaded O número de bytes que os visualizadores baixados para a distribuição durante o período de tempo. BytesUploaded O número de bytes que os visualizadores carregados para sua origem para a distribuição durante o período de tempo. API Version 2016-01-13 280 Amazon CloudFront Guia do desenvolvedor Os dados no Relatório de Métricas do CloudWatch TotalErrorRatePct As solicitações de que o código de status HTTP 4xx e 5xx era um erro para a distribuição durante o período de tempo. 4xxErrorRatePct As solicitações de que o código de status HTTP 4xx foi um erro para a distribuição durante o período de tempo. 5xxErrorRatePct As solicitações de que o código de status HTTP 5xx era um erro para a distribuição durante o período de tempo. API Version 2016-01-13 281 Amazon CloudFront Guia do desenvolvedor Informações em arquivos de log do CloudFront do CloudTrail Usando AWS CloudTrail para Capturar solicitações enviadas para a API do CloudFront O CloudTrail é integrado ao do CloudFront, um serviço da AWS que captura informações sobre cada solicitação que é enviado para a API do CloudFront em sua conta da AWS, incluindo seu IAM usuários. O CloudTrail periodicamente economiza os arquivos de log de essas solicitações para um bucket do Amazon S3 que você especificar. O CloudTrail captura informações sobre todas as solicitações, se elas foram feitas usando o console do CloudFront, a API do CloudFront, os AWS SDKs, o CloudFront CLI ou outro serviço, por exemplo, o AWS CloudFormation. Você pode usar as informações nos arquivos de log do CloudTrail para determinar as solicitações que foram feitas para o CloudFront, o endereço IP de origem do que cada solicitação foi feita, quem fez a solicitação, quando ele foi feita, e assim por diante. Para saber mais sobre do CloudTrail, incluindo como configurar e ativá-lo, consulte o AWS CloudTrail User Guide. Note é um serviço global do CloudFront. Para visualizar as solicitações do CloudFront nos logs do CloudTrail, você deve atualizar uma trilha existente para incluir serviços globais. Para obter mais informações, consulte Atualizando um Serviço Global Trail e Sobre Eventos no AWS CloudTrail User Guide. Tópicos • Informações em arquivos de log do CloudFront do CloudTrail (p. 282) • Compreensão de Entradas de arquivos de log do CloudFront (p. 283) Informações em arquivos de log do CloudFront do CloudTrail Quando você habilitar do CloudTrail, O CloudTrail captura cada solicitação feita para cada serviço da AWS que O CloudTrail oferece suporte. (Para obter uma lista de serviços compatíveis, consulte Serviços compatíveis na AWS CloudTrail User Guide.) Os arquivos de log não são organizados ou classificados por serviço; cada arquivo de log pode conter registros de mais de um serviço. O CloudTrail determina quando criar um novo arquivo de log. API Version 2016-01-13 282 Amazon CloudFront Guia do desenvolvedor Compreensão de Entradas de arquivos de log do CloudFront Note O CloudTrail oferece suporte a todas as ações de API do CloudFront. Cada arquivo de log entrada contém informações sobre quem fez a solicitação. O usuário identidade informações no arquivo de log ajuda você a determinar se a solicitação foi feita usando root ou as credenciais de usuário do IAM, usando credenciais de segurança temporárias de uma função ou um usuário federado ou por outro serviço da AWS. Para obter mais informações, consulte Elemento no userIdentity AWS CloudTrail User Guide. Você pode armazenar os arquivos de log pelo tempo que quiser. Você também pode definir regras de ciclo de vida do Amazon S3 para arquivar ou excluir arquivos de log automaticamente. Por padrão, os arquivos de log são criptografados usando o Amazon S3 criptografia no lado do servidor (SSE). Você pode optar por ter as notificações do CloudTrail publicar O Amazon SNS quando arquivos de log novos são entregues se você deseja executar ação rápida no recebimento do arquivo de log. Para obter mais informações, consulte Configuração de Notificações no AWS CloudTrail User Guide O Amazon SNS. Você também pode agregar arquivos de log de várias regiões da AWS e várias contas da AWS em um único bucket. O Amazon SNS Para obter mais informações, consulte O CloudTrail Aggregating Log Files to a Single AWS CloudTrail User Guide no bucket do Amazon S3. Compreensão de Entradas de arquivos de log do CloudFront Cada arquivo de log do CloudTrail formatados pelo JSON pode conter uma ou mais entradas de log. Uma entrada de log representa uma única solicitação de qualquer origem e inclui informações sobre a ação solicitada, incluindo quaisquer parâmetros, a data e hora da ação, e assim por diante. As entradas de log não são garantidos para estar em uma ordem específica; eles não são um solicitada rastreamento de pilha de chamadas de API. O eventName elemento identifica a ação que ocorreu e a API versão que foi usado para executar a ação. Por exemplo, o seguinte eventName valor indica que uma distribuição de web foi atualizado e a API 2014-01-31 versão foi usado para executar a ação: UpdateDistribution2014_01_31 O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra cinco ações: • Atualizando uma distribuição de web configuração. O valor eventName é UpdateDistribution. • Listagem distribuições da web que estão associados com a conta atual. O valor eventName é ListDistributions. • Obtendo a configuração para uma distribuição de web específicas. O valor eventName é GetDistribution. • A criação de uma solicitação de lotes de anulação. O valor eventName é CreateInvalidation. • Listagem de acesso de origem identidades que são associados à conta atual. O valor eventName é ListCloudFrontOriginAccessIdentities. { "Records": [{ "eventVersion": "1.01", "userIdentity": { API Version 2016-01-13 283 Amazon CloudFront Guia do desenvolvedor Compreensão de Entradas de arquivos de log do CloudFront "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:00:32Z", "eventName": "UpdateDistribution2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": { "id": "EDFDVBD6EXAMPLE", "ifMatch": "E9LHASXEXAMPLE", "distributionConfig": { "restrictions": { "geoRestriction": { "quantity": 0, "restrictionType": "none" } }, "customErrorResponses": { "quantity": 0 }, "defaultRootObject": "index.html", "aliases": { "quantity": 1, "items": ["example.com"] }, "logging": { "bucket": "", "enabled": false, "prefix": "", "includeCookies": false }, "viewerCertificate": { "iAMCertificateId": "A1B2C3D4E5F6G7EXAMPLE", "sSLSupportMethod": "sni-only" }, "callerReference": "2014-05-06 64832", "defaultCacheBehavior": { "targetOriginId": "Images", "allowedMethods": { "items": ["GET", "HEAD"], "quantity": 2 }, "forwardedValues": { "cookies": { "forward": "none" }, "queryString": false }, "minTTL": 300, "trustedSigners": { "enabled": false, "quantity": 0 }, "viewerProtocolPolicy": "redirect-to-https", API Version 2016-01-13 284 Amazon CloudFront Guia do desenvolvedor Compreensão de Entradas de arquivos de log do CloudFront "smoothStreaming": false }, "origins": { "items": [{ "customOriginConfig": { "hTTPSPort": 443, "originProtocolPolicy": "http-only", "hTTPPort": 80 }, "domainName": "myawsbucket.s3-website-useast-1.amazonaws.com", "id": "Web page origin" }, { "customOriginConfig": { "hTTPSPort": 443, "originProtocolPolicy": "http-only", "hTTPPort": 80 }, "domainName": "myotherawsbucket.s3-website-uswest-2.amazonaws.com", "id": "Images" }], "quantity": 2 }, "enabled": true, "cacheBehaviors": { "allowedMethods": { "items": ["GET", "HEAD"], "quantity": 2 }, "trustedSigners": { "enabled": false, "quantity": 0 }, "targetOriginId": "Web page origin", "smoothStreaming": false, "viewerProtocolPolicy": "redirect-to-https", "minTTL": 300, "forwardedValues": { "cookies": { "forward": "none" }, "queryString": false }, "pathPattern": "*.html" }], "quantity": 1 }, "priceClass": "PriceClass_All", "comment": "Added an origin and a cache behavior" } }, "responseElements": { "eTag": "E2QWRUHEXAMPLE", "distribution": { "domainName": "d111111abcdef8.cloudfront.net", "status": "InProgress", API Version 2016-01-13 285 Amazon CloudFront Guia do desenvolvedor Compreensão de Entradas de arquivos de log do CloudFront "distributionConfig": { distributionConfig response omitted }, "id": "EDFDVBD6EXAMPLE", "lastModifiedTime": "May 6, 2014 6:00:32 PM", "activeTrustedSigners": { "quantity": 0, "enabled": false }, "inProgressInvalidationBatches": 0 } }, "requestID": "4e6b66f9-d548-11e3-a8a9-73e33example", "eventID": "5ab02562-0fc5-43d0-b7b6-90293example" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:01:35Z", "eventName": "ListDistributions2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": null, "responseElements": null, "requestID": "52de9f97-d548-11e3-8fb9-4dad0example", "eventID": "eb91f423-6dd3-4bb0-a148-3cdfbexample" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:01:59Z", "eventName": "GetDistribution2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": { "id": "EDFDVBD6EXAMPLE" }, "responseElements": null, "requestID": "497b3622-d548-11e3-8fb9-4dad0example", "eventID": "c32289c7-005a-46f7-9801-cba41example" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", API Version 2016-01-13 286 Amazon CloudFront Guia do desenvolvedor Compreensão de Entradas de arquivos de log do CloudFront "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:02:27Z", "eventName": "CreateInvalidation2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": { "invalidationBatch": { "callerReference": "2014-05-06 64947", "paths": { "quantity": 3, "items": ["/images/new.jpg", "/images/logo.jpg", "/images/banner.jpg"] } }, "distributionId": "EDFDVBD6EXAMPLE" }, "responseElements": { "invalidation": { "createTime": "May 6, 2014 6:02:27 PM", "invalidationBatch": { "callerReference": "2014-05-06 64947", "paths": { "quantity": 3, "items": ["/images/banner.jpg", "/images/logo.jpg", "/images/new.jpg"] } }, "status": "InProgress", "id": "ISRZ85EXAMPLE" }, "location": "https://cloudfront.amazonaws.com/2014-01-31/ distribution/EDFDVBD6EXAMPLE/invalidation/ISRZ85EXAMPLE" }, "requestID": "4e200613-d548-11e3-a8a9-73e33example", "eventID": "191ebb93-66b7-4517-a741-92b0eexample" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:03:08Z", "eventName": "ListCloudFrontOriginAccessIdentities2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": null, "responseElements": null, API Version 2016-01-13 287 Amazon CloudFront Guia do desenvolvedor Compreensão de Entradas de arquivos de log do CloudFront "requestID": "42ca4299-d548-11e3-8fb9-4dad0example", "eventID": "7aeb434f-eb55-4e2a-82d8-417d5example" }] } API Version 2016-01-13 288 Amazon CloudFront Guia do desenvolvedor Não consigo visualizar os arquivos na minha distribuição de web. Solução de problemas Tópicos • Não consigo visualizar os arquivos na minha distribuição de web. (p. 289) • Não consigo visualizar os arquivos na minha distribuição RTMP. (p. 291) • Mensagem de erro: Certificado: <certificado-id > está sendo usado por ele. (p. 291) Não consigo visualizar os arquivos na minha distribuição de web. Se você não pode visualizar arquivos em sua distribuição de web do CloudFront, os tópicos a seguir descrevem algumas soluções comuns. Você se cadastrar para CloudFront e o Amazon S3? Para usar o Amazon CloudFront com uma origem do Amazon S3, você deve se cadastrar para CloudFront e Amazon S3, separadamente. Para obter mais informações sobre a inscrição para o CloudFront e o Amazon S3, consulte Conceitos básicos do CloudFront (p. 35). Há seu bucket do Amazon S3 e as permissões de objeto definido corretamente? Se você estiver usando o Amazon S3 do CloudFront com uma origem, as versões originais de seu conteúdo são armazenados em um bucket do Amazon S3. A maneira mais fácil de usar do CloudFront com o Amazon S3 é tornar todos os seus objetos publicamente legíveis no Amazon S3. Para fazer isso, você deve habilitar de forma explícita os privilégios de leitura públicos para cada objeto que você enviar para o Amazon S3. Se o conteúdo não possa ser lida de publicamente, você precisa criar uma identidade de acesso de origem do CloudFront para que ele pode acessar. Para obter mais informações sobre as identidades de acesso de origem do CloudFront, consulte Usando uma Identidade de acesso de origem para restringir o acesso ao seu conteúdo do Amazon S3 (p. 171). API Version 2016-01-13 289 Amazon CloudFront Guia do desenvolvedor O seu nome de domínio alternativo (CNAME) configurado corretamente? propriedades de objeto e as propriedades dos buckets são independentes. Você deve conceder explicitamente privilégios para cada objeto no Amazon S3. Os objetos não herdam as propriedades dos buckets e propriedades dos objetos deve ser definido independentemente do bucket. O seu nome de domínio alternativo (CNAME) configurado corretamente? Se você já tem um registro CNAME para o seu nome de domínio, atualizar o registro ou substituí-la por uma nova que aponta para o nome do domínio de sua distribuição. Além disso, certifique-se de que o registro CNAME aponta para o nome do domínio de sua distribuição, não o bucket do Amazon S3. Você pode confirmar que o registro CNAME em seu sistema DNS aponte para o nome do domínio de sua distribuição. Para fazer isso, use uma ferramenta de DNS, como dig. (Para obter informações sobre dig, consulte http://www.kloth.net/services/dig.php.) A tabela a seguir mostra um exemplo de solicitação dig em um nome de domínio chamado images.example.come a parte relevante do resultado. Em ANSWER SECTION, consulte a linha que contém CNAME. O registro CNAME para o seu nome de domínio é configurado corretamente se o valor no lado direito do CNAME é o seu nome de domínio de distribuição do CloudFront. Se o seu servidor de origem bucket do Amazon S3 ou algum outro nome de domínio e, em seguida, o registro CNAME é configurado incorretamente. [prompt]> dig images.example.com ; <<> DiG 9.3.3rc2 <<> images.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;images.example.com. IN A ;; ANSWER SECTION: images.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net. ... ... Para obter mais informações sobre CNAMEs, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Você está fazendo referência a URL correta para a sua distribuição do CloudFront? Verifique se o URL que você está fazendo referência a distribuição do CloudFront usa o seu nome de domínio (ou o CNAME), não em seu bucket do Amazon S3 ou origem personalizada. Você precisa de ajuda para solucionar problemas com uma origem personalizada? Se você precisar da AWS para ajudá-lo a solucionar uma origem personalizada, nós provavelmente precisa inspecionar o X-Amz-Cf-Id cabeçalho entradas de suas solicitações. Se você ainda não tiver essas entradas de log, você pode querer considerar-lo para o futuro. Para obter mais API Version 2016-01-13 290 Amazon CloudFront Guia do desenvolvedor Não consigo visualizar os arquivos na minha distribuição RTMP. informações, consulte Requisitos e recomendações para o uso do Amazon EC2 e outras origens personalizadas (p. 80). Não consigo visualizar os arquivos na minha distribuição RTMP. Se você não pode visualizar os arquivos em uma distribuição RTMP, são o URL e a reprodução cliente configurado corretamente? As distribuições RTMP exige que você use um protocolo RTMP, em vez de HTTP, e você deve fazer algumas alterações de configuração para a reprodução secundária do cliente. Para obter informações sobre a criação de distribuições RTMP, consulte Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88). Mensagem de erro: Certificado: <certificado-id > está sendo usado por ele. Problema: Você está tentando excluir um certificado SSL do certificado IAM armazenar, e você está recebendo a mensagem "Certificado: <certificado-id > está sendo usada pelo CloudFront." Solução: Cada distribuição de web do CloudFront deve ser associado com o certificado do CloudFront padrão ou com um certificado SSL personalizado. Antes de excluir um certificado SSL, você deverá girar certificados SSL (substituir o certificado SSL personalizado com outro certificado SSL) ou reverter do usando um certificado SSL personalizado para usar o certificado do CloudFront padrão. Execute o procedimento na seção aplicável: • Girar Certificados SSL/TLS (p. 247) • Revertendo a partir de um certificado SSL/TLS personalizado para o certificado do CloudFront padrão (p. 248) API Version 2016-01-13 291 Amazon CloudFront Guia do desenvolvedor Teste de carga do CloudFront métodos tradicionais de testes de carga não funcionam bem com CloudFront porque ele usa o DNS para balancear cargas nos pontos de presença geograficamente dispersa e em cada ponto de presença. Quando um cliente solicita conteúdo a partir do CloudFront, o cliente recebe uma resposta do DNS que inclui um conjunto de endereços IP. Se você testar enviando solicitações para apenas um dos endereços IP que o DNS retorna, você está testando apenas um pequeno subconjunto de recursos em um ponto de presença do CloudFront, que não representam com precisão real de padrões de tráfego. Dependendo do volume de dados solicitados, teste dessa forma pode sobrecarregar e diminuir o desempenho de que pequeno subconjunto de servidores do CloudFront. foi desenvolvido para ser escalonado do CloudFront para visualizadores que têm diferentes endereços IP do cliente e os resolvedores de DNS diferentes em várias regiões geográficas. Para executar testes de carga que avalia com precisão o desempenho do CloudFront, recomendamos que você executar uma das seguintes opções: • Enviar solicitações de clientes de várias regiões geográficas. • Configure seu teste para que cada cliente faz uma solicitação de DNS independentes; cada cliente receberá um conjunto diferente de endereços IP do DNS. • Para cada cliente que está fazendo solicitações, distribuir suas solicitações do cliente em todo o conjunto de endereços IP que são retornados pelo DNS, que garante que a carga é distribuída entre vários servidores em um ponto de presença do CloudFront. API Version 2016-01-13 292 Amazon CloudFront Guia do desenvolvedor Streaming ao vivo Tutoriais do CloudFront Os tutoriais a seguir explicam como usar o CloudFront para streaming ao vivo, para geoblocking e para o streaming RTMP. Streaming ao vivo • Streaming ao vivo usando HTTP do CloudFront e o Adobe Media Server 5.0 (p. 293) • Live Smooth Streaming usando o Amazon CloudFront e IIS Media Services 4.1 (p. 310) • HTTP Live Streaming usando o Wowza Streaming Engine 4.2 (p. 319) • Streaming ao vivo usando HTTP e qualquer origem do CloudFront HTTP (p. 329) Streaming on-demand • Streaming de mídia on demand com Unified Streaming (p. 330) Streaming RTMP • O uso de streaming de vídeo on-demand do CloudFront e Adobe Flash Player (p. 344) • O uso de streaming de vídeo on-demand e do CloudFront Flowplayer para Adobe Flash (p. 348) • O uso de streaming de vídeo on-demand e do CloudFront JW Player (p. 353) Streaming ao vivo usando HTTP do CloudFront e o Adobe Media Server 5.0 Tópicos • Visão geral (p. 294) • Etapas para Configure Live Streaming (p. 295) • A criação de uma conta de uma conta Amazon Web Services (p. 295) API Version 2016-01-13 293 Amazon CloudFront Guia do desenvolvedor Visão geral • A criação de um par de chaves do Amazon EC2 (p. 296) • A inscrição para o Adobe Media Server (p. 296) • A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 297) • Verificando se o Adobe Media Server está sendo executado (p. 299) • Configurando o Adobe Flash Media Live Encoder para publicar um Live Stream (p. 299) • A incorporação Strobe reprodução de mídia em tempo real para um Amazon CloudFront HTTP Stream em uma aplicação Web (p. 301) • A exclusão de um AWS CloudFormation Stack e um volume do Amazon EBS para Streaming ao vivo (p. 303) • Perguntas frequentes (p. 303) • Documentação adicional (p. 308) Com uma conta Amazon Web Services streaming ao vivo, você pode usar o Adobe Media Server versão 5.0 para transmitir apresentações ao vivo, webinars e outros eventos. Este tutorial orienta você durante o processo de configuração de streaming ao vivo com o Adobe Media Server 5.0. Visão geral Adobe Media Server 5.0 oferece suporte a dois formatos de streaming HTTP: • HTTP Live Streaming (HLS), compatível com dispositivos iOS • HTTP Dynamic Streaming (HDS), compatível com aplicativos Flash (incluindo Strobe Media Playback) Note Uma versão anterior deste tutorial explicou como configurar HDS streaming usando o Flash Media Playback player, mas o Adobe interrompida com suporte para esse jogador. Atualizamos o tutorial para usar Strobe Media Playback, um reprodutor de mídia de código aberto que é semelhante em funcionalidade para Flash Media Playback. Veja como o Adobe Media Server e do CloudFront trabalham juntos para transmitir um evento em tempo real: 1. Você pode usar o AWS CloudFormation para provisionar uma instância do Amazon EC2 executando o Adobe Media Server 5.0 e para criar uma distribuição do CloudFront, como descrito neste tutorial. 2. Você capturar seu evento usando uma câmera de vídeo digital, por exemplo, a câmera de vídeo. 3. Você pode usar um codificador no site do evento, por exemplo, Adobe Flash Media Live Encoder, para compactar o feed de vídeo brutos e enviá-lo para o Adobe Media Server. (Flash Media Live Encoder é um download gratuito e está disponível para Windows e Mac OS.) 4. Adobe Media Server divide o stream de vídeo em uma série de arquivos menores. Esse servidor é a origem para a sua distribuição do CloudFront. 5. Quando os usuários procurar o URL do CloudFront que você deu para visualizar o evento, ele encaminha suas solicitações de HTTP para o ponto de presença mais próximo (por latência). 6. O ponto de presença solicita o stream de vídeo do Adobe Media Server. 7. Adobe Media Server retorna o stream de vídeo em pequenos arquivos para o ponto de presença do CloudFront. 8. O ponto de presença do CloudFront serve o stream de vídeo para o visualizador que fez a solicitação e armazena em cache os arquivos pequenos para acelerar a resposta a solicitações subseqüentes para o streaming ao vivo. API Version 2016-01-13 294 Amazon CloudFront Guia do desenvolvedor Etapas para Configure Live Streaming Este tutorial resume como fazer a integração do CloudFront com o Adobe Media Server em execução em uma instância do Amazon EC2. Para obter mais informações sobre o Adobe Media Server e sobre o AWS serviços que você usa para streaming ao vivo, consulte o seguinte: • Para obter mais informações sobre o Adobe Media Server opções não cobertos neste tutorial, consulte Documentação adicional (p. 308). • Para obter mais informações sobre os recursos disponíveis do Adobe Media Server, consulte o Adobe Media Server 5 na Amazon Web Services. • Para analisar os novos recursos do Adobe Media Server 5.0, consulte O que há de novo no Adobe Media Server 5.0.1 no site da Adobe. • Para obter mais informações sobre como gerenciar e proteger sua instância do Amazon EC2, consulte a documentação do Amazon EC2. • Para obter mais informações sobre o AWS CloudFormation, consulte a documentação do AWS CloudFormation. • Para obter mais ajuda, consulte Perguntas frequentes (p. 303). Etapas para Configure Live Streaming Para configurar streaming ao vivo com uma conta Amazon Web Services (AWS), analisar os requisitos de sistema para o Adobe Flash Player. Em seguida, execute os procedimentos nas seções a seguir: 1. A criação de uma conta de uma conta Amazon Web Services (p. 295) 2. A criação de um par de chaves do Amazon EC2 (p. 296) 3. A inscrição para o Adobe Media Server (p. 296) 4. A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 297) 5. Verificando se o Adobe Media Server está sendo executado (p. 299) 6. Configurando o Adobe Flash Media Live Encoder para publicar um Live Stream (p. 299) 7. A incorporação Strobe reprodução de mídia em tempo real para um Amazon CloudFront HTTP Stream em uma aplicação Web (p. 301) 8. A exclusão de um AWS CloudFormation Stack e um volume do Amazon EBS para Streaming ao vivo (p. 303) A criação de uma conta de uma conta Amazon Web Services Se você já tem uma conta, vá para AWS A criação de um par de chaves do Amazon EC2 (p. 296). Se você ainda não tem uma conta AWS, use o procedimento a seguir para criar uma. Note Quando você cria uma conta, AWS cadastra automaticamente a conta para todos os serviços. Você será cobrado apenas pelos serviços que usar. Para criar uma conta AWS 1. Vá para http://aws.amazon.come clique em Create an AWS Account. 2. Siga as instruções na tela. Parte do procedimento de cadastro envolve uma chamada de telefone e a digitação de um PIN usando o teclado do telefone. API Version 2016-01-13 295 Amazon CloudFront Guia do desenvolvedor A criação de um par de chaves do Amazon EC2 Próximo: A criação de um par de chaves do Amazon EC2 (p. 296) A criação de um par de chaves do Amazon EC2 Se você já tem um par de chaves do Amazon EC2 na região do Amazon EC2 no qual você deseja configurar streaming ao vivo, vá para A inscrição para o Adobe Media Server (p. 296). Se você não tem um par de chaves na região, execute o procedimento a seguir. O par de chaves é uma credencial de segurança semelhante a uma senha. Você especifica um par de chaves quando você cria uma pilha de AWS CloudFormation para streaming ao vivo, mais tarde nesse processo. Depois de streaming ao vivo é configurado, o par de chaves que você usa para conectar-se com segurança a sua instância do Amazon EC2. Para criar um par de chaves do Amazon EC2 1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon EC2 em https:// console.aws.amazon.com/ec2/. 2. Na Region lista, clique na região em que você deseja criar o par de chaves. Você deve criar o par de chaves na mesma região em que você criará o AWS CloudFormation para streaming ao vivo da pilha mais adiante neste processo. Recomendamos que você cria o par de chaves e a pilha para streaming ao vivo na região mais próximo aos usuários que serão fazer o streaming. 3. No painel de navegação, clique em Key Pairs. 4. No Key Pairs painel, clique em Create Key Pair. 5. Na caixa de diálogo Criar par de chaves, insira um nome para o par de chaves e anote o nome. Você vai inserir esse valor ao criar uma pilha de streaming em tempo real, o AWS CloudFormation posteriormente no processo de configuração de streaming ao vivo. 6. Clique em Create. 7. Na caixa de diálogo Abrir <key_pair_name >.pem, salve o arquivo.pem em um lugar seguro no seu computador. Important Essa é a única oportunidade que você terá para fazer o download e salvar sua chave privada. 8. Clique Close para fechar a caixa de diálogo Criar par de chaves. Próximo: A inscrição para o Adobe Media Server (p. 296) A inscrição para o Adobe Media Server Execute o procedimento a seguir para assinar o Adobe Media Server para uma conta Amazon Web Services por meio AWS Marketplace. Important Você pode assinar uma conta para o Adobe Media Server AWS somente uma vez. Se sua conta AWS Adobe Media Server já tem uma assinatura, use esta assinatura para configurar streaming ao vivo. Adobe Media Server tem uma taxa de assinatura mensal de US $5,00, que inclui um número ilimitado de instâncias do Adobe Media Server. Além da taxa mensal de assinatura, você paga uma taxa API Version 2016-01-13 296 Amazon CloudFront Guia do desenvolvedor A criação de uma pilha de streaming ao vivo para o AWS CloudFormation por hora de uso e uma taxa de transferência de dados. Você pode visualizar uma lista de preços detalhados como parte do procedimento a seguir. Note Em uma versão anterior deste tutorial, você se inscreveu para o Adobe Media Server usando o Amazon DevPay em vez de AWS Marketplace. Se você está atualmente executando o Adobe Media Server e você se inscreveu usando o Amazon DevPay, consulte o Adobe Media Server na Amazon Web Services página e cancelar sua assinatura de Amazon DevPay para o Adobe Media Server. Caso contrário, você continuará a ser cobrado de 5 USD por mês para a assinatura antigo por meio do Amazon DevPay, e você será cobrado um adicional de 5 USD por mês para a nova assinatura por meio AWS Marketplace. Para solicitar o Adobe Media Server 5 para uma conta Amazon Web Services 1. Vá para o Adobe Media Server 5 Extended AWS Marketplace página no site. 2. Analisar informações sobre o produto e clique em Continue. 3. Na Launch on EC2: Adobe Media Server 5 Extended página, clique na Manual Launch with EC2 Console, APIs or CLI guia. 4. Na Pricing Details seção, selecione a região em que para criar uma instância do Amazon EC2 para streaming ao vivo. Revise as informações de preço correspondente. Important Não use os botões desta página para iniciar o Adobe Media Server. No próximo procedimento, você cria uma pilha de AWS CloudFormation que inicia uma instância do Amazon EC2 e instala o Adobe Media Server. 5. Clique Accept Terms para se cadastrar para uma assinatura mensal. Próximo: A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 297) A criação de uma pilha de streaming ao vivo para o AWS CloudFormation O procedimento a seguir usa um modelo de AWS CloudFormation para criar uma pilha que inicia o AWS os recursos exigidos pelo streaming ao vivo, incluindo uma instância do Amazon EC2 e uma distribuição do CloudFront. Important Você será cobrado por hora cobranças de uma instância do Amazon EC2 começando quando você cria a pilha de AWS CloudFormation que implementa a instância do Amazon EC2. As cobranças continuam a provisionar até que você exclua o AWS CloudFormation stack, independentemente de você usar a instância do Amazon EC2 para fazer streaming de vídeo ao vivo. Para obter mais informações, consulte o Adobe Media Server 5 Extended AWS Marketplace página no site. Quando seu evento ao vivo, exclua a pilha que você criou para streaming ao vivo. Isso exclui o AWS recursos que foram criados para o seu evento de streaming em tempo real e parar o AWS cobranças pelos recursos. Para obter mais informações, consulte A exclusão de um AWS CloudFormation Stack e um volume do Amazon EBS para Streaming ao vivo (p. 303). Para obter mais informações sobre o AWS CloudFormation, consulte a documentação do AWS CloudFormation. API Version 2016-01-13 297 Amazon CloudFront Guia do desenvolvedor A criação de uma pilha de streaming ao vivo para o AWS CloudFormation Para criar uma pilha para streaming ao vivo, o AWS CloudFormation 1. Para iniciar o assistente Create Stack, clique em uma das seguintes regiões: Amazon EC2 • Crie uma pilha no Leste dos EUA (Norte da Virgínia) • Crie uma pilha em Oeste dos EUA (Oregon) • Crie uma pilha em Oeste dos EUA (Norte da Califórnia) • Crie uma pilha no UE (Irlanda) • Crie uma pilha em Ásia-Pacífico (Cingapura) • Crie uma pilha no Ásia-Pacífico (Tóquio) • Crie uma pilha em Ásia-Pacífico (Sydney) • Crie uma pilha em América do Sul (São Paulo) O assistente é iniciado e o URL aplicáveis aparece automaticamente no Provide an S3 URL to template campo. Note Se você deseja que os usuários visualizem seu streaming ao vivo usando um reprodutor baseados em Flash que é hospedado em seu próprio domínio, consulte Como faço para atualizar crossdomain.xml para um stream baseados em Flash hospedados no meu próprio domínio? (p. 305). 2. Se você não estiver conectado no Console de gerenciamento da AWS, quando solicitado. 3. (Opcional) Altere o Stack Name. O nome da pilha não deve conter espaços e deve ser exclusivo na AWS conta. Não altere a Template opção ou o endereço Provide an S3 URL to template. 4. Clique em Next Step. 5. Na Specify Parameters página, para AMSAdminPassword, insira uma senha (mínimo 8 caracteres) para o AMS Administration Console. 6. Para AMSAdminUserName, insira um nome de usuário. Você usará esse valor e a senha que você informou na etapa anterior para fazer login no AMS Administration Console após a sua instância do Amazon EC2 Adobe Media Server é criado. 7. Para InstanceType, insira um tipo de instância, que determina a definição de preço para o Adobe Media Server instância. Para obter mais informações sobre os tipos de instância do Amazon EC2, consulte Tipos de instância disponíveis no Guia do usuário do Amazon EC2 para instâncias do Linux. Para obter informações sobre a definição de preço, consulte o Adobe Media Server 5 Extended AWS Marketplace página no site. 8. Para KeyPair, insira o nome de um par de chaves do Amazon EC2 na mesma região que você escolheu na Etapa 1. O par de chaves deve ser associado à conta que você está atualmente conectado. Se você criou um par de chaves quando você executou a procedimento A criação de um par de chaves do Amazon EC2 (p. 296), insira o nome do par de chaves. 9. Para StreamName, insira um nome curto (sem espaços) para o streaming ao vivo. 10. Clique em Next Step. 11. (Opcional) Na Add Tags página, adicione uma ou mais tags. 12. (Opcional) Para configurar notificação SNS, para especificar por quanto tempo você está disposto a esperar a pilha para ser criado, para escolher se deseja reverter alterações se a criação da pilha falhar, e inserir uma política de pilha, clique em Advanced, e ajustar as configurações conforme desejado. 13. Clique em Next Step. API Version 2016-01-13 298 Amazon CloudFront Guia do desenvolvedor Verificando se o Adobe Media Server está sendo executado 14. Analisar as configurações para a pilha. Quando estiver satisfeito com as configurações, clique em Create, e o AWS CloudFormation cria a pilha. A criação de sua pilha pode levar alguns minutos. Para acompanhar o andamento da criação da pilha, selecione a pilha e clique na Events guia no quadro inferior. Se o AWS CloudFormation não pode criar a pilha, a guia Eventos lista mensagens de erro. Quando a sua pilha está pronta, no quadro superior para a pilha, o status muda para CREATE_COMPLETE. Quando a pilha é criada, clique na Outputs guia, que exibe as saídas de criação da pilha. Você usará esses valores quando você configurar o Adobe Flash Media Live Encoder posteriormente no processo. Próximo: Verificando se o Adobe Media Server está sendo executado (p. 299) Verificando se o Adobe Media Server está sendo executado Após o AWS CloudFormation cria a pilha, execute o procedimento a seguir para verificar o Adobe Media Server está em execução na instância do Amazon EC2 da Amazon que você provisionou usando o AWS CloudFormation. Para verificar se o Adobe Media Server está em execução 1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. No painel superior, selecione a pilha que você criou A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 297). 3. No painel inferior, clique na Outputs guia. 4. Clique no valor da AMSServer chave, que é o URL para a instância do Amazon EC2 que você provisionou quando você executou o procedimento em A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 297). 5. O Adobe Media Server é exibida e inicia o conteúdo de streaming, que mostra que o Adobe Media Server está em execução. Se o streaming não for iniciado, volte para Visão geral (p. 294), e verificar se os valores que você especificou nos primeiros quatro tarefas são corretas. Se os valores foram todos os corretas, mas o streaming ainda não foi iniciada, consulte Como faço para solucionar problemas com minha instância do Amazon EC2 se o streaming não começar? (p. 308). Próximo: Configurando o Adobe Flash Media Live Encoder para publicar um Live Stream (p. 299) Configurando o Adobe Flash Media Live Encoder para publicar um Live Stream Adobe Media Server em uma conta Amazon Web Services inclui um aplicativo chamado livepkgr que fluxos de pacotes publicadas para entrega usando HTTP Dynamic Streaming (HDS) e HTTP Live Streaming (HLS). O procedimento a seguir mostra como configurar o Adobe Flash Media Live Encoder (FMLE) para publicar seu streaming ao vivo no livepkgr aplicativo no Adobe Media Server 5.0. API Version 2016-01-13 299 Amazon CloudFront Guia do desenvolvedor Configurando o Adobe Flash Media Live Encoder para publicar um Live Stream Note A versão Windows do Flash Media Live Encoder não é compatível com o formato de áudio AAC. Para adicionar suporte para AAC, Adobe recomenda que você comprar o MainConcept codificador AAC. Para especificar configurações de streaming em tempo real em Flash Media Live Encoder 1. 2. Cadastre-se no computador que você vai usar para transmitir o streaming ao vivo. Abra um navegador da web e vá até o Adobe Flash Media Live Encoder página. 3. Faça o download e instale o Flash Media Live Encoder. Note Flash Media Live Encoder é gratuito, mas para baixá-lo, você precisa de uma conta da Adobe (também grátis). 4. Abra o Flash Media Live Encoder config.xml arquivo em um editor de texto. O local de instalação padrão depende do sistema operacional: • 32 bits Windows: C:\Program Files\Adobe\Flash Media Live Encoder 3.2. • Windows de64 bits: C:\Program Files (x86)\Adobe\Flash Media Live Encoder 3.2\Conf. • Macintosh: Applications:Adobe:Flash Media Live Encoder 3.2. 5. Em config.xml, defina o valor do <enable> elemento a seguir true: <flashmedialiveencoder_config> ... <mbrconfig> ... <streamsynchronization> ... <!-- "true" to enable this feature, "false" to disable. --> <enable>true</enable> 6. Salve o arquivo. 7. 8. 9. Execute o Flash Media Live Encoder. Na Encoding Options guia, para Preset, selecione High Bandwidth (800 Kbps) — H.264. Na Encoding Options guia, na caixa de Audio seleção, para Format, selecione AAC. 10. Na Video seção da Encoding Options guia, clique no ícone de chave inglesa à direita da Format lista para abrir a caixa de Advanced Encoder Settings diálogo. 11. Na caixa de Advanced Encoder Settings diálogo, para Keyframe Frequency, selecione 4 Seconds. Você também pode usar um múltiplo do valor do <FragmentDuration > elemento no applications/livepkgr/events/_definst_/liveevent/Event.xml arquivo. O valor padrão de <FragmentDuration > é 4.000 milissegundos (4 segundos). 12. Clique OK para salvar a configuração e voltar à página principal. A seleção para a Preset lista as alterações Custom. 13. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 14. Marque a caixa de seleção para a pilha que você criou para streaming ao vivo. API Version 2016-01-13 300 Amazon CloudFront Guia do desenvolvedor A incorporação Strobe reprodução de mídia em tempo real para um Amazon CloudFront HTTP Stream em uma aplicação Web 15. No painel inferior, clique na Outputs guia. 16. Copie o valor da AMSURL chave, por exemplo, rtmp://ec2-00-11-22-33.uswest-1.compute.amazonaws.com/livepkgr. 17. No Flash Media Live Encoder, no Stream para o Flash Media Server, na seção de FMS URL configuração, cole o valor da AMSURL chave que você copiou do console AWS CloudFormation. 18. No console do AWS CloudFormation, copie o valor da Stream chave, por exemplo, livestream? adbe-live-evento = liveevent. 19. No Flash Media Live Encoder, na Stream configuração, cole o valor da Stream chave que você copiou do console AWS CloudFormation. Note Se você prever a necessidade de parar e reiniciar o streaming ao vivo, insira o seguinte valor no Stream campo em vez: livestream?adbe-live-event=liveevent&adbe-record-mode=record Se você publicar um streaming ao vivo no modo de registro (adbe-recordmode=record) e, em seguida, interromper o stream e reiniciá-lo, o Adobe Media Server excluirá o stream anterior e começar um novo stream, em vez de anexação para a transmissão anterior quando você reiniciar. No entanto, se você não usar o modo de registro e você interromper o streaming ao vivo, você tem de reconfigurar streaming ao vivo para que você possa reiniciar o stream. 20. Desmarque Save to File. 21. Clique Connect para conectar-se à sua instância do Adobe Media Server. 22. Clique Start para iniciar a codificação e publicação do seu aplicativo livepkgr streaming ao vivo com o Adobe Media Server em sua instância. Próximo: A incorporação Strobe reprodução de mídia em tempo real para um Amazon CloudFront HTTP Stream em uma aplicação Web (p. 301) A incorporação Strobe reprodução de mídia em tempo real para um Amazon CloudFront HTTP Stream em uma aplicação Web Siga um dos seguintes procedimentos para obter o código de incorporação que você incluir na sua página da web para o streaming ao vivo: • Para incorporar Strobe Media Playback para o seu stream de HTTP (p. 301) • Para reproduzir o stream de HLS ao vivo em um dispositivo Apple usando CloudFront (p. 302) Para incorporar Strobe Media Playback para o seu stream de HTTP 1. 2. 3. Baixe a versão mais recente do Open Source Media Framework (OSMF Strobe), que contém a reprodução de mídia. estão disponíveis em OSMF http://sourceforge.net/projects/osmf.adobe/ files/. Descompacte o arquivo que você baixou na etapa 1. No local onde você descompactou o arquivo baixado, encontrar StrobeMediaPlayback.swf e copiá-lo para um local, como um bucket do Amazon S3, que é acessível para os usuários de streaming em tempo real. API Version 2016-01-13 301 4. Amazon CloudFront Guia do desenvolvedor A incorporação Strobe reprodução de mídia em tempo real para um Amazon CloudFront HTTP Stream em uma aplicação Web Confirmar se os usuários têm as permissões necessárias para acessar StrobeMediaPlayback.swf. 5. Alterar permissões no arquivo crossdomain.xml para permitir que os usuários visualizem o streaming ao vivo usando Strobe Media Playback. Para obter mais informações, consulte Como faço para atualizar crossdomain.xml para um stream baseados em Flash hospedados no meu próprio domínio? (p. 305) 6. No local onde você descompactou o arquivo baixado, encontrar setup.html e abra-o em um navegador da web. 7. Na Change Your Flash Vars página, na Embed Parameters seção, em Source campo, insira o URL completo para StrobeMediaPlayback.swf. Este é o arquivo que você copiou na etapa 3. Por exemplo: https://myawsbucket.s3.amazonaws.com/LiveStreaming/StrobeMediaPlayback.swf 8. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 9. Selecione a pilha para streaming ao vivo. 10. No painel inferior, clique na Outputs guia. 11. Copie o valor da LiveHDSManifest chave, como mostrado no exemplo a seguir: http://d123.cloudfront.net/hds-live/livepkgr/_definst_/liveevent/ livestream.f4m 12. Altere seu Flash Voltar na página Variáveis, na Flash Vars seção, no src campo, cole o valor que você copiou na etapa 11. 13. Na parte inferior da página Alterar Variáveis Flash, clique em Preview and Update. 14. Reproduza o vídeo para garantir que você está satisfeito com as configurações atuais e atualizar as configurações conforme necessário. 15. Se você alterar as configurações, clique em Preview and Update novamente. 16. Para incorporar Strobe Media Playback em uma página da web, copie o conteúdo da caixa de Preview Code texto e cole-o no código HTML para o seu site. Para reproduzir o stream de HLS ao vivo em um dispositivo Apple usando CloudFront 1. Alterar permissões no arquivo crossdomain.xml para permitir que os usuários visualizem o streaming ao vivo usando um dispositivo Apple. Para obter mais informações, consulte Como faço para atualizar crossdomain.xml para um stream baseados em Flash hospedados no meu próprio domínio? (p. 305) 2. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 3. Selecione a pilha para streaming ao vivo. 4. No painel inferior, clique na Outputs guia. 5. Copie o valor da LiveHLSManifest chave, como mostrado no exemplo a seguir: http://d123.cloudfront.net/hls-live/livepkgr/_definst_/liveevent/ livestream.m3u8. 6. Navegue até esse URL usando um dispositivo iOS para verificar se o streaming de HLS está trabalhando corretamente. Para obter informações sobre como usar o URL para servir vários dispositivos iOS, QuickTime e Safari, consulte HTTP Live Streaming Overview no iOS Developer Library. Para obter mais informações sobre a publicação e jogar streams ao vivo via HTTP, consulte URLs para publicação e jogar streams ao vivo via HTTP no Adobe Media Server 5.0.1 Guia do desenvolvedor. Próximo: A exclusão de um AWS CloudFormation Stack e um volume do Amazon EBS para Streaming ao vivo (p. 303) API Version 2016-01-13 302 Amazon CloudFront Guia do desenvolvedor A exclusão de um AWS CloudFormation Stack e um volume do Amazon EBS para Streaming ao vivo A exclusão de um AWS CloudFormation Stack e um volume do Amazon EBS para Streaming ao vivo Quando seu evento ao vivo, exclua a pilha que você criou para streaming ao vivo. Isso exclui a maioria das AWS recursos que foram criados para o seu evento de streaming em tempo real e interrompe a maioria das cobranças AWS pelos recursos. Além disso, exclua o volume do Amazon EBS que é criado pelo AWS CloudFormation, mas não é excluído quando você excluir a pilha. Isso evita que o restante do AWS cobranças pelos recursos. Para excluir um AWS CloudFormation pilha e um volume do Amazon EBS para streaming ao vivo 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. 3. Encontre o AWS CloudFormation stack que você criou para streaming ao vivo e anote o momento da criação. Isso ajudará você a identificar o volume do Amazon EBS que você vai excluir posteriormente neste procedimento. Selecione a pilha e clique em Delete Stack. 4. Clique Yes, Delete para confirmar. 5. Para acompanhar o andamento da exclusão da pilha, selecione a pilha e clique na Events guia no quadro inferior. 6. 7. 8. Navegue até o console Amazon EC2. No painel de navegação, clique em Volumes. Selecione o volume que o AWS CloudFormation pilha criado, clique em Actionse clique em Delete Volume. Se você tiver vários volumes do Amazon EBS, use a data e a hora em que você fez a nota de na etapa 2 para localizar o volume que o AWS CloudFormation stack criado. 9. Se você não planeja usar streaming ao vivo novamente em breve, você pode cancelar sua assinatura para o Adobe Media Server no AWS Marketplace. Para cancelar a assinatura, acesse sua página de assinaturas no AWS Marketplace, localize a linha para o Adobe Media Server, clique em Cancel Subscriptione siga as instruções na tela. Perguntas frequentes • Como posso usar o Secure Shell (SSH) para se conectar à minha instância do Amazon EC2 que está executando o Adobe Media Server 5.0? (p. 304) • Como faço para atualizar crossdomain.xml para um stream baseados em Flash hospedados no meu próprio domínio? (p. 305) • Qual é o preço para o streaming de HTTP ao vivo usando o Adobe Media Server 5.0 e do CloudFront? (p. 305) • Como posso criar um alias CNAME para minha instância do Amazon EC2 ou para minha distribuição do CloudFront? (p. 305) • Como posso conectar para o Adobe Media Server Administration Console? (p. 305) • Posso fazer streaming de meu evento ao vivo para dispositivos Flash Player e Apple – dispositivos compatíveis? (p. 307) • O Adobe Media Server 5.0 oferecem suporte a HTML5? (p. 307) • O Adobe Media Server tem o registro em log? (p. 307) • Como posso habilitar a autenticação no Adobe Media Server? (p. 307) • Quais são as configurações de controle de cache padrão na HDS e arquivos relacionados ao HLS? (p. 307) API Version 2016-01-13 303 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes • Qual é a diferença entre HLS e HDS? (p. 308) • Como faço para solucionar problemas com minha instância do Amazon EC2 se o streaming não começar? (p. 308) • Onde posso encontrar a documentação para streaming ao vivo usando o Adobe Flash Media Server 4.5? (p. 308) Como posso usar o Secure Shell (SSH) para se conectar à minha instância do Amazon EC2 que está executando o Adobe Media Server 5.0? Note Por padrão, a porta SSH para a instância do Amazon EC2 (porta 22) é desativado por motivos de segurança. O procedimento a seguir explica como ativar a porta SSH e como usar o SSH para se conectar à sua instância do Amazon EC2. Para habilitar o acesso a porta 22 na sua instância do Amazon EC2 que está executando o Adobe Media Server 5.0 1. Obtenha o nome do grupo de segurança do Amazon EC2 associada a sua instância do Amazon EC2: a. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. b. Na lista Região, selecione a região onde você criou sua instância do Amazon EC2. c. Clique na linha para seu AWS CloudFormation pilha. d. No painel inferior, clique na Resources guia. e. Na coluna da esquerda da Stack Resources tabela, localize a linha para a qual o valor é AMSOriginServerSecurityGroup. f. Para linha, anote o valor da Physical ID coluna. 2. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/. 3. No painel de navegação, clique em Security Groups. 4. Na página Grupos de segurança, selecione a linha na qual a Name coluna corresponde à ID física que você obteve na Etapa 1f. 5. No painel inferior, clique na Inbound guia. 6. Para Create a new rule, selecione SSH. 7. Clique em Add Rule. 8. Clique em Apply Rule Changes. Para usar o SSH para se conectar à sua instância do Amazon EC2 que está executando o Adobe Media Server 5.0 1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/. 2. No painel de navegação, clique em Instances. 3. Clique com o botão direito do mouse na instância correta e clique em Connect para ver instruções sobre como usar o SSH para se conectar à sua instância do Amazon EC2. API Version 2016-01-13 304 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes Como faço para atualizar crossdomain.xml para um stream baseados em Flash hospedados no meu próprio domínio? Você pode alterar permissões em crossdomain.xml antes ou depois de criar o AWS CloudFormation pilha: • Se você não tiver criado o AWS CloudFormation AWS CloudFormation, faça o download do modelo de pilha para streaming ao vivo usando o Amazon CloudFront e o Adobe Media Server 5.0 em https://s3.amazonaws.com/cloudfront-live/live-http-streaming-ams-5-0-1-using-cloudfront.txt. No modelo, edite a UserData seção, que contém as crossdomain.xml configurações e salvar o modelo atualizado em seu computador local. Em seguida, crie o AWS CloudFormation stack usando o modelo atualizado. • Se você já criou o AWS CloudFormation stack, faça login no Adobe Media Server em execução na sua instância do Amazon EC2 e alterar as permissões no arquivo de política entre domínios /mnt/ webroot/crossdomain.xml. Para obter mais informações sobre a edição do crossdomain.xml arquivo, consulte o Adobe Cross Domain Policy File Specification. Qual é o preço para o streaming de HTTP ao vivo usando o Adobe Media Server 5.0 e do CloudFront? Além do US $5,00 taxa mensal de assinatura para o Adobe Media Server no Amazon EC2, você paga apenas pelos recursos que consumir AWS: • Para obter informações sobre a definição de preço sobre o Adobe Media Server em execução no Amazon EC2, consulte o Adobe Media Server 5 em uma conta Amazon Web Services/preços. • Para obter informações sobre a definição de preço, consulte Definição de preço do Amazon CloudFront do CloudFront. Não há custo adicional para usar o AWS CloudFormation. Como posso criar um alias CNAME para minha instância do Amazon EC2 ou para minha distribuição do CloudFront? Sua instância do Amazon EC2 executando o Adobe Media Server 5.0 vem com um nome de DNS internos e externos. O Amazon EC2 não fornece acesso ao modificar essas configurações de DNS. Se você deseja mapear um nome de domínio existente para sua instância do Amazon EC2 executando o Adobe Media Server, use um provedor de serviço de DNS, como Amazon Route 53. Ao usar seu próprio nome de domínio, recomendamos que você mapear para a instância externa do nome DNS usando um CNAME, não usando um registro que aponta para o endereço IP da instância. Para mapear seu próprio nome de domínio para sua distribuição do CloudFront, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Como posso conectar para o Adobe Media Server Administration Console? Para se conectar ao Adobe Media Server Administration Console 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. API Version 2016-01-13 305 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes 2. Selecione a pilha para streaming ao vivo. 3. 4. 5. No painel inferior, clique na Outputs guia. Copie o valor da AMSAdminConsoleServerAddress chave. Clique no valor da AMSServerAdminConsole chave, por exemplo, http://ec2-00-11-22-33.uswest-1.compute.amazonaws.com/ams_adminConsole.htm. 6. Na página de login para o Adobe Media Server Administration Console, em Server Address, cole a AMSAdminConsoleServerAddress chave que você copiou na Etapa 4. 7. No Username e Password campos, insira os valores que você especificou A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 297). 8. Clique em Login. Para obter informações sobre como usar o Adobe Media Server 5.0 Administration Console, consulte a documentação do Adobe Media Server. Note A Adobe recomenda que você bloquear todo o acesso externo para a porta 1111, de modo que o acesso ao Console de administração é restrito apenas para os clientes que estão dentro de seu firewall. Como alternativa, você pode restringir o acesso ao servidor usando restrições baseados no domínio. Para obter mais informações, consulte Limitar o acesso para o Adobe Media Administration Server na documentação da Adobe. Para desativar ou restringir o acesso à porta 1111 no Adobe Media Server 1. Obtenha o nome do grupo de segurança do Amazon EC2 associada a sua instância do Amazon EC2: a. b. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. Para Region, clique no nome da região onde você criou sua instância do Amazon EC2. c. d. Selecione a linha para seu AWS CloudFormation pilha. No painel inferior, clique na Resources guia. e. Na Stack Resources tabela, em AMSOriginServerSecurityGroup linha, anote o valor da Physical ID coluna. 2. 3. 4. Exibir o console Amazon EC2. No painel de navegação, clique em Security Groups. No Security Groups painel, selecione o grupo de segurança que o AWS CloudFormation criou para a sua instância do Amazon EC2. O nome é o valor que você anotou na Etapa 1e. 5. 6. No painel inferior, clique na Inbound guia. Para desativar totalmente o acesso ao console de administração do Adobe Media Server: a. b. 7. Na TCP Port (Service) coluna, encontrar 1111. Na Action coluna de cada linha, clique em Delete. c. Clique em Apply Rule Changes. Para restringir o acesso a endereços IP selecionados: a. b. c. Na TCP Port (Service) coluna, localizar 1111e clique em Delete. Para Create a new rule, aceite o valor padrão, Custom TCP rule. Para Port range, insira 1111. d. Para Source, insira um endereço IP ou um intervalo, ou insira o nome de outro grupo de segurança. Para obter mais informações, clique em Help. Clique em Add Rule. e. API Version 2016-01-13 306 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes f. Para criar regras adicionais, repita as etapas b através e. g. Clique em Apply Rule Changes. Posso fazer streaming de meu evento ao vivo para dispositivos Flash Player e Apple – dispositivos compatíveis? Sim, o Adobe Media Server 5.0 permite o fornecimento de streams ao vivo para o Flash e em dispositivos iOS ao mesmo tempo. Você pode fazer streaming para o Safari usando um navegador ou um jogador HTML5 Objetivo C ("nativo"). Você também pode usar o Adobe AIR para iOS para desenvolver uma experiência de vídeo completo no iOS. O Adobe Media Server 5.0 oferecem suporte a HTML5? Sim. Adobe Media Server pode entregar conteúdo para HTML5 em dispositivos Apple iOS usando o formato de streaming HLS. Para outros navegadores que oferece suporte ao HTML5, você pode usar o Adobe Media Server para entregar progressivamente. O Adobe Media Server tem o registro em log? Sim. Os logs ASCII compatível com W3C, um monitor de uso em tempo real, e uma API completo para o servidor e fazer streaming de eventos ajudam a garantir que você tem todas as ferramentas de que você precisa para rastrear e gerar relatórios sobre o conteúdo do uso público. Para obter mais informações sobre o monitoramento e o gerenciamento de arquivos de log no Adobe Media Server 5.0, consulte Monitorando e gerenciando arquivos de log na documentação da Adobe. Como posso habilitar a autenticação no Adobe Media Server? Você pode restringir o acesso a portas RTMP 1935 (para TCP e UDP) no grupo de segurança criado pelo AWS CloudFormation para o Adobe Media Server instância do Amazon EC2. Basta criar novas regras para as portas TCP e UDP 1935 existente e, em seguida, excluir as regras de porta TCP e UDP 1935, que permitem o acesso a todos os endereços IP. Para obter uma rápida visão geral de como adicionar uma regra para um grupo de segurança, consulte Como posso conectar para o Adobe Media Server Administration Console? (p. 305). Para obter mais informações sobre o Amazon EC2 do Amazon EC2 grupos de segurança, consulte Security Groups no Guia do usuário do Amazon EC2 para instâncias do Linux. Quais são as configurações de controle de cache padrão na HDS e arquivos relacionados ao HLS? O padrão de cabeçalhos de controle do cache no HDS e arquivos relacionados ao HLS são definidas para os seguintes valores: Tipo de arquivo Cache-Control Configuração (segundos) .bootstrap 2 HDS Fragment 60 .f4m 2 .m3u8 2 .ts 60 API Version 2016-01-13 307 Amazon CloudFront Guia do desenvolvedor Documentação adicional Os servidores de cache de presença do CloudFront respeitam esses cabeçalhos de controle de cache. Você pode alterar as configurações padrão ao alterar os valores dos HttpStreamingF4MMaxAgeparâmetros HttpStreamingBootstrapMaxAgeHttpStreamingFragMaxAge , e no servidor. Para obter mais informações, consulte a referência do arquivo de configuração do HTTP streaming na documentação da Adobe. Qual é a diferença entre HLS e HDS? formato de arquivo HLS é um contêiner otimizado para dispositivos Apple. O contêiner é compatível com vídeo e áudio codificados H.264/AAC e é baseado no stream de transporte MPEG-2 (TS). Todos os vídeos entregues para iOS (incluindo AIR para IOS) devem usar este formato. formato de arquivo HDS é um contêiner otimizado para aplicativos que são executados no Flash Player. O contêiner também oferece suporte a vídeo e áudio codificados H.264/AAC e é baseado no MPEG-4 TS. A HDS não é suportada no AIR para iOS. Como faço para solucionar problemas com minha instância do Amazon EC2 se o streaming não começar? Se você executou o procedimento Para verificar se o Adobe Media Server está em execução (p. 299) e o streaming ainda não tiver iniciado, execute o procedimento a seguir para confirmar que a instância do Amazon EC2 está funcionando corretamente. Para solucionar sua instância do Amazon EC2 executando o Adobe Media Server 5.0 1. No console do AWS CloudFormation, no painel superior, selecione a pilha. 2. No painel inferior, clique na Resources guia. 3. Para a AMSOriginServer linha, anote o valor da Physical ID coluna. 4. Vá para o console Amazon EC2. 5. Na Region lista, selecione a região em que você criou o AWS CloudFormation pilha. 6. No painel de navegação, clique em Instances. 7. Na Instance coluna, encontrar o valor que você anotou na Etapa c. 8. Selecione a linha correspondente. 9. No painel inferior, revise as informações na Status Checks guia e executar as ações recomendadas. 10. Volte para o procedimento Para verificar se o Adobe Media Server está em execução (p. 299)e repita as etapas 2 a 5. Onde posso encontrar a documentação para streaming ao vivo usando o Adobe Flash Media Server 4.5? Para a documentação para streaming ao vivo usando o Adobe Flash Media Server 4.5, consulte "Streaming ao vivo usando o CloudFront e o Adobe Flash Media Server 4.5" no "Tutoriais do CloudFront" capítulo 2012-07-01 Guia do desenvolvedor do Amazon CloudFront para versão de API do CloudFront. Documentação adicional Documentação do Adobe • Usando o Adobe Media Server em uma conta Amazon Web Services API Version 2016-01-13 308 Amazon CloudFront Guia do desenvolvedor Documentação adicional • Adobe Cross Domain Policy File Specification • Flash Media Live Encoder • Perguntas frequentes sobreoFlash Media Live Encoder • Codificação devídeo e recomendações de transcodificação para HTTP Dynamic Streaming no Adobe Media Server Platform • Visão geraltécnica doAdobe Media Server Documentação de uma conta Amazon Web Services • documentaçãodoAmazon Elastic Compute Cloud • documentaçãohttp://aws.amazon.com/documentation/cloudformationAWS CloudFormation API Version 2016-01-13 309 Amazon CloudFront Guia do desenvolvedor Live Smooth Streaming usando o Amazon CloudFront e IIS Media Services 4.1 Live Smooth Streaming usando o Amazon CloudFront e IIS Media Services 4.1 Tópicos • Visão geral do Live Smooth Streaming com a Amazon Web Services (p. 310) • Criando uma conta da Amazon Web Services (p. 311) • A criação de um par de chaves do Amazon EC2 (p. 312) • A criação de um AWS CloudFormation Stack para Live Smooth Streaming (p. 312) • Verificando se sua instância Amazon EC2 do Windows Server está sendo executado (p. 314) • Como obter sua senha do Windows (p. 314) • Codificação Sua Live Stream (p. 315) • Exibindo Seu Live Smooth Stream (p. 315) • A exclusão de seu AWS CloudFormation Live Smooth Streaming Stack (p. 316) • Perguntas frequentes (p. 316) • Documentação adicional (p. 318) Visão geral do Live Smooth Streaming com a Amazon Web Services Microsoft Smooth Streaming é a tecnologia de fluxo adaptável de implementação, que é uma forma de entrega de conteúdo de mídia baseado na web que usa HTTP padrão. Uma extensão do IIS Smooth Streaming Media Services, que permite o streaming de eventos ao vivo para os clientes Smooth Streaming, como o Microsoft Silverlight. Quando você configurar o Smooth Streaming para usar o CloudFront, você se beneficia da escala de rede global do CloudFront HTTP e do roteamento baseado em latência de visualizadores para nós de presença na rede. Para saber mais sobre o CloudFront, consulte a página de produto do CloudFront. Smooth Streaming o conteúdo é entregue aos clientes como uma série de MPEG-4 fragmentos (MP4) que podem ser armazenadas em cache no ponto de presença do CloudFront servidores. Smooth Streaming – compatível para os clientes utilizam heurística especiais de rede atual e monitorar dinamicamente condições de PC local e alternar perfeitamente a qualidade do vídeo da apresentação Smooth Streaming que os clientes recebem. À medida que os clientes desempenham os fragmentos, condições de rede pode mudar (por exemplo, a largura de banda pode diminuir) ou processamento de vídeo pode ser afetada por outros aplicativos que estão em execução no cliente. Os clientes podem imediatamente solicitar que o próximo fragmento vêm de um stream que é codificado em uma taxa de bits diferentes, a fim de acomodar a alteração de condições. Isso permite que os clientes para reproduzir a mídia sem entrecortadas, buffer ou congelamento. Como resultado, os usuários experimentam reprodução da mais alta qualidade disponível sem interrupções no stream. Para codificar uma transmissão ao vivo para formato Smooth Streaming, você deve usar o Microsoft Expression Encoder 4 Pro. Para atender a codificado Smooth Stream, você pode usar um Amazon EC2 Imagem de máquina da Amazon (AMI) que está executando o Windows IIS Media Services. CloudFront armazena em cache o conteúdo de vídeo e áudio ao vivo, e os visualizadores se conectar aos servidores de presença do CloudFront para reproduzir o stream usando um cliente compatível com Smooth Streaming, como o Microsoft Silverlight. Este tutorial orienta você durante todo o processo de configuração. Note Microsoft Expression Encoder 4 Pro com Service Pack 2 não está incluído no Amazon EC2 Amazon Machine Image (AMI) que está executando o Windows IIS Media Services, e ele API Version 2016-01-13 310 Amazon CloudFront Guia do desenvolvedor Criando uma conta da Amazon Web Services não é um download gratuito. Para obter mais informações sobre recursos e definição de preço, acesse a página Expressão Encoder 4 Pro no Microsoft Store site. Você também pode usar uma ferramenta de codificação de terceiros para codificar o vídeo para Live Smooth Streaming. Para obter uma lista de parceiros que fornecem codificação de software da Microsoft, consulte a guia Parceiros na página Media Services IIS no site da Microsoft. Note Este tutorial fornece uma visão geral de como a integração do CloudFront com o Microsoft Live Smooth Streaming em execução em uma instância do Amazon EC2. Para obter mais informações sobre como gerenciar e proteger sua instância do Amazon EC2, consulte a documentação do Amazon EC2. Para obter mais informações sobre o Microsoft Live Smooth Streaming opções não cobertos neste tutorial, consulte Documentação da Microsoft (p. 318). Para configurar o Smooth Streaming ao vivo com o Amazon Web Services (AWS), analisar os requisitos de sistema para o IIS Smooth Streaming no Smooth Streaming Deployment Guide. Em seguida, execute os procedimentos nas seções a seguir: 1. Criando uma conta da Amazon Web Services (p. 311) 2. A criação de um par de chaves do Amazon EC2 (p. 312) 3. A criação de um AWS CloudFormation Stack para Live Smooth Streaming (p. 312) 4. Verificando se sua instância Amazon EC2 do Windows Server está sendo executado (p. 314) 5. Como obter sua senha do Windows (p. 314) 6. Codificação Sua Live Stream (p. 315) 7. Exibindo Seu Live Smooth Stream (p. 315) 8. A exclusão de seu AWS CloudFormation Live Smooth Streaming Stack (p. 316) Para perguntas frequentes, consulte Perguntas frequentes (p. 316). Para links para Microsoft e adicionais, consulte a documentação da AWS Documentação adicional (p. 318). Criando uma conta da Amazon Web Services Se você já tem uma conta da AWS, vá para A criação de um par de chaves do Amazon EC2 (p. 312). Se você ainda não tem uma conta da AWS, use o procedimento a seguir para criar uma. Note Quando você cria uma conta, a AWS cadastra automaticamente a conta para todos os serviços. Você será cobrado apenas pelos serviços que usar. Para criar uma conta da AWS 1. Vá para http://aws.amazon.come clique em Create an AWS Account. 2. Siga as instruções na tela. Parte do procedimento de cadastro envolve uma chamada de telefone e a digitação de um PIN usando o teclado do telefone. Próximo: A criação de um par de chaves do Amazon EC2 (p. 312) API Version 2016-01-13 311 Amazon CloudFront Guia do desenvolvedor A criação de um par de chaves do Amazon EC2 A criação de um par de chaves do Amazon EC2 Se você já tem um par de chaves do Amazon EC2 na região do Amazon EC2 no qual você deseja configurar Live Smooth Streaming, vá para A criação de um AWS CloudFormation Stack para Live Smooth Streaming (p. 312). Se você não tem um par de chaves na região, execute o procedimento a seguir. O par de chaves é uma credencial de segurança semelhante a uma senha. Você especifica um par de chaves quando você cria uma pilha de AWS CloudFormation para streaming ao vivo, mais tarde nesse processo. Depois de streaming ao vivo é configurado, você deve usar o par de chaves para recuperar a senha da sua instância Amazon EC2 do Windows Server. Para criar um par de chaves do Amazon EC2 1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon EC2 em https:// console.aws.amazon.com/ec2/. 2. Na lista Região, clique na região em que você deseja criar o par de chaves. Você deve criar o par de chaves na mesma região onde você criará o AWS CloudFormation para streaming ao vivo da pilha mais adiante neste processo. Recomendamos que você cria o par de chaves e a pilha para streaming ao vivo na região mais próximo do local de seu evento ao vivo. 3. No painel Navigation, clique em Key Pairs. 4. No painel, clique em Key Pairs Create Key Pair. 5. Na caixa de diálogo Criar par de chaves, insira um nome para o par de chaves e anote o nome. Você vai inserir esse valor ao criar uma pilha de streaming em tempo real, o AWS CloudFormation posteriormente no processo de configuração de streaming ao vivo. 6. Clique em Createe a abertura.pem. <key_pair_name > caixa de diálogo será exibida. 7. Salve o arquivo.pem em um lugar seguro no seu computador. 8. Clique Close para fechar a caixa de diálogo Criar par de chaves. Próximo: A criação de um AWS CloudFormation Stack para Live Smooth Streaming (p. 312) A criação de um AWS CloudFormation Stack para Live Smooth Streaming O procedimento a seguir usa um modelo de AWS CloudFormation para criar uma pilha que executa os recursos da AWS necessários para Live Smooth Streaming, incluindo uma instância do Amazon EC2. Important Você será cobrado por hora cobranças de uma instância do Amazon EC2 começando quando você cria a pilha de AWS CloudFormation que implementa a instância do Amazon EC2. As cobranças continuam a provisionar até que você exclua o AWS CloudFormation stack, independentemente de você usar a instância do Amazon EC2 para fazer streaming de vídeo ao vivo. Para obter mais informações, consulte Definição de preço na página de detalhes do Amazon Elastic Compute Cloud (Amazon EC2). Quando seu evento ao vivo, exclua a pilha que você criou para Live Smooth Streaming. Isso exclui os recursos da AWS que foram criados para o seu evento de streaming em tempo real e interrompe as cobranças da AWS para os recursos. Para obter mais informações, consulte A exclusão de seu AWS CloudFormation Live Smooth Streaming Stack (p. 316). API Version 2016-01-13 312 Amazon CloudFront Guia do desenvolvedor A criação de um AWS CloudFormation Stack para Live Smooth Streaming Para criar uma pilha para streaming ao vivo, o AWS CloudFormation 1. Na lista a seguir, clique na região do Amazon EC2 no qual você deseja criar a pilha. O Create Stack assistente começa, e um valor específicas da região é inserido automaticamente no Provide a Template URL campo. Leste dos EUA (Norte da Virgínia) Oeste dos EUA (Oregon) Oeste dos EUA (Norte da Califórnia) UE (Irlanda) Ásia-Pacífico (Cingapura) Ásia-Pacífico (Tóquio) América do Sul (São Paulo) 2. Se você não estiver conectado no Console de gerenciamento da AWS, quando solicitado. 3. Opcional: No Create Stack assistente, alterar o valor do Stack Name campo. O nome da pilha não deve conter espaços e deve ser exclusivo na sua conta da AWS. 4. Não altere a Stack Template Source opção ou o valor de Provide a Template URL. 5. Opcional: Para configurar notificação SNS, para especificar por quanto tempo você está disposto a esperar que a pilha a ser criado, e escolher se deseja reverter alterações se a criação da pilha falhar, marque a Show Advanced Options caixa de seleção e especificar os valores aplicáveis. 6. Clique em Continue. 7. Na página Specify Parameters, no KeyPair campo, insira o nome de um par de chaves do Amazon EC2 na região em que você deseja criar a pilha para streaming ao vivo. O par de chaves deve ser associado à conta que você está conectado no momento. Se você criou um par de chaves quando você executou a procedimento A criação de um par de chaves do Amazon EC2 (p. 312), insira o nome do par de chaves. 8. No InstanceType campo, insira um tipo de instância e clique em Continue. O valor padrão é m1.xlarge. O tipo de instância determina o preço para a sua instância do Amazon EC2 que está executando o Windows Server. Para obter mais informações sobre os tipos de instância do Amazon EC2 para Windows, incluindo informações sobre preços, acesse o Amazon EC2 executando Microsoft Windows Server e SQL Server. 9. Analisar as configurações para a pilha. Quando estiver satisfeito com as configurações, clique em Create Stack. Seu pilha pode levar alguns minutos para criar. Para acompanhar o andamento da criação da pilha, selecione a pilha e clique na Events guia no quadro inferior. Se o AWS CloudFormation não pode criar a pilha, a guia Eventos lista mensagens de erro. Quando a sua pilha está pronta, no quadro superior para a pilha, o status muda para CREATE_COMPLETE. Quando a pilha é criada, clique na Outputs guia, que exibe as saídas de criação da pilha. Você usará esses valores quando você configurar o Microsoft Expression Encoder posteriormente no processo. API Version 2016-01-13 313 Amazon CloudFront Guia do desenvolvedor Verificando se sua instância Amazon EC2 do Windows Server está sendo executado Próximo: Verificando se sua instância Amazon EC2 do Windows Server está sendo executado (p. 314) Verificando se sua instância Amazon EC2 do Windows Server está sendo executado Após o AWS CloudFormation cria a pilha, execute o procedimento a seguir para verificar se o Windows Media Services IIS servidor web está em execução na instância do Amazon EC2 que você provisionou usando o AWS CloudFormation. Para verificar se o Windows Server está em execução 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. No painel superior, selecione a pilha que você criou A criação de um AWS CloudFormation Stack para Live Smooth Streaming (p. 312). 3. No painel inferior, clique na Outputs guia. 4. Clique no valor da SmoothStreamingServer chave, por exemplo, http://ec2-00-11-22-33.uswest-1.compute.amazonaws.com. O Windows IIS Server banner for exibida, indicando que o Windows Server está em execução. Próximo: Como obter sua senha do Windows (p. 314) Como obter sua senha do Windows Para se conectar à sua instância do Amazon EC2 executando o Windows Server 2008 R2 e IIS Media Services, use o procedimento a seguir para recuperar a senha inicial para a conta do administrador do Windows Server. Você só precisa recuperar a senha uma vez para a sua instância do Amazon EC2. Ao concluir esse procedimento, você poderá trabalhar com a instância como você faria com qualquer Amazon EC2 Windows Server computador. Para obter mais informações sobre como se conectar a uma instância do Amazon EC2 executando o Windows, vá para Conceitos básicos das instâncias Windows do Amazon EC2. Important O Amazon EC2 pode demorar até 30 minutos para recuperar sua senha do Windows Server. Para obter a senha do Windows para a sua instância do Amazon EC2 1. Confirme se você pode acessar o arquivo de chave privada do Amazon EC2 (o arquivo.pem) que você criou A criação de um par de chaves do Amazon EC2 (p. 312). 2. Faça login no Console de gerenciamento da AWS e abra o console da Amazon EC2 em https:// console.aws.amazon.com/ec2/. 3. Na Region lista, clique na região em que você criou a instância do Amazon EC2 para Smooth Streaming ao vivo. 4. No Navigation painel, clique em Instances. 5. No painel My Instances, clique com o botão direito na instância para que o valor da Name coluna é LiveSmoothStreaminge clique em Get Windows Password. API Version 2016-01-13 314 Amazon CloudFront Guia do desenvolvedor Codificação Sua Live Stream 6. Na página Retrieve Default Windows Administrator Password, clique em Browse, e navegue até o local em seu computador onde você salvou o arquivo.pem. 7. Selecione o arquivo.pem e o conteúdo do arquivo aparecem na janela. 8. Clique em Decrypt Password. 9. Anote a senha. Você vai precisar dela para se conectar à instância do Amazon EC2. 10. Opcional, mas recomendado: Faça login no Windows Server instância que você acabou de executar e alterar a senha da conta padrão do Windows Server. O nome de usuário é o Administrador. Você também pode criar outra conta de usuário e adicioná-lo ao grupo de administradores. Outra conta de administrador é uma proteção no caso você esquecer a senha de administrador ou tem um problema com a conta do administrador. Note Para obter informações sobre como atualizar as configurações de grupo de segurança do Amazon EC2 para seu servidor Windows, para que você possa acessar o servidor usando a porta 3389, consulte Como posso ativar o acesso ao servidor Windows? (p. 317). Para obter informações sobre como fazer login em instância usando a conta do administrador, consulte Como posso conectar-se com segurança a minha instância do Amazon EC2 executando o Windows IIS Media Services? (p. 318). Próximo: Codificação Sua Live Stream (p. 315) Codificação Sua Live Stream Você agora está pronto para publicar o streaming ao vivo para o ponto de publicação Live Smooth Streaming em sua instância do Amazon EC2 executando o Windows Server e Windows IIS Media Services. Microsoft interrompeu a venda Expression Encoder 4 Pro. Para obter uma lista de parceiros Microsoft que oferecem ferramentas de codificação de terceiros que você pode usar para codificar o vídeo para Live Smooth Streaming, consulte a Partners seção sobre o IIS Media Services página no site da Microsoft. Próximo: Exibindo Seu Live Smooth Stream (p. 315) Exibindo Seu Live Smooth Stream Execute o procedimento a seguir para visualizar seu stream usando tranquilas ao vivo do CloudFront. Você também pode incorporar o código do jogador Microsoft Silverlight em sua própria página da web. 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Selecione a pilha para streaming ao vivo. 3. No painel inferior do console do AWS CloudFormation, clique na Outputs guia. 4. Clique no valor da LiveSmoothStreamingPlayer chave, por exemplo, http://d123.cloudfront.net/ LiveSmoothStreamingPlayer.html. 5. Para incorporar o Silverlight jogador código em sua página da web, na Outputs guia, copie o valor da SilverlightEmbedCode chave. Note A Microsoft recomenda que os visualizadores tem a versão mais recente do Microsoft Silverlight instalado para a melhor experiência de reprodução. API Version 2016-01-13 315 Amazon CloudFront Guia do desenvolvedor A exclusão de seu AWS CloudFormation Live Smooth Streaming Stack 6. Para visualizar seu streaming ao vivo em um dispositivo, como um iPad da Apple ou um iPhone, o AWS CloudFormation exibir o console de um dispositivo compatível com Apple e clique no valor da LiveHLSManifest chave. O manifesto URL é semelhante http://d123.cloudfront.net/ LiveSmoothStream.isml/manifest(format=m3u8-aapl).m3u8. Para obter informações sobre como usar o URL para servir vários dispositivos iOS, QuickTime e Safari, acesse HTTP Live Streaming Overview no iOS Developer Library. Próximo: A exclusão de seu AWS CloudFormation Live Smooth Streaming Stack (p. 316) A exclusão de seu AWS CloudFormation Live Smooth Streaming Stack Quando seu evento ao vivo, exclua a pilha que você criou para Live Smooth Streaming. Isso exclui os recursos da AWS que foram criados para seu evento ao vivo e interrompe as cobranças da AWS para esses recursos. Para excluir um AWS CloudFormation para streaming ao vivo da pilha 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Marque a caixa de seleção para a pilha e clique em Delete Stack. 3. Clique Yes, Delete para confirmar. 4. Para acompanhar o andamento da exclusão da pilha, marque a caixa de seleção para a pilha e clique na Events guia no quadro inferior. Perguntas frequentes • Qual é o preço do CloudFront para Smooth Streaming ao vivo usando? (p. 316) • Posso entregar meu vídeo de streaming ao vivo para os clientes e dispositivos Apple Smooth Streaming? (p. 317) • Como posso configurar um alias CNAME para minha instância do Amazon EC2 ou minha distribuição do CloudFront? (p. 317) • Como posso ativar o acesso ao servidor Windows? (p. 317) • Como posso conectar-se com segurança a minha instância do Amazon EC2 executando o Windows IIS Media Services? (p. 318) • Como posso restringir o acesso ao meu conteúdo de Smooth Streaming ao vivo de outro domínio? (p. 318) Qual é o preço do CloudFront para Smooth Streaming ao vivo usando? Para Smooth Stream eventos ao vivo, você paga apenas pelos recursos da AWS que consumir: • Para obter informações sobre a definição de preço de instâncias do Amazon EC2 executando o Windows Server, consulte Pricing a página Amazon EC2 executando Microsoft Windows Server & SQL Server. • Para obter informações sobre a definição de preço, consulte Definição de preço do Amazon CloudFront do CloudFront. API Version 2016-01-13 316 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes Não há custo adicional para usar o AWS CloudFormation. Posso entregar meu vídeo de streaming ao vivo para os clientes e dispositivos Apple Smooth Streaming? Sim. Você pode usar o Microsoft Expression Encoder 4 Pro para codificar o vídeo ao vivo para os clientes Smooth Streaming (por exemplo, Microsoft Silverlight) e dispositivos Apple (por exemplo, iPad e iPhone). Após o AWS CloudFormation pilha é iniciada, você vai encontrar o arquivo manifesto URLs tanto para Live Smooth Streaming (HLS) e para o Apple.isml (.m3u8) na Outputs guia do seu AWS CloudFormation modelo. Como posso configurar um alias CNAME para minha instância do Amazon EC2 ou minha distribuição do CloudFront? O Amazon EC2 é fornecido com uma instância do Windows Server internos e externos de nome DNS. O Amazon EC2 não fornece acesso ao modificar essas configurações de DNS. Se você deseja mapear um nome de domínio existente para sua instância do Amazon EC2 executando o Windows Server, use um provedor de serviço de DNS, como Amazon Route 53. Ao usar seu próprio nome de domínio, recomendamos que você mapear para a instância externa do nome DNS usando um CNAME, não usando um registro que aponta para o endereço IP da instância. Para mapear seu próprio nome de domínio para sua distribuição do CloudFront, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Como posso ativar o acesso ao servidor Windows? Para habilitar o acesso à porta 3389 no servidor Windows por meio de endereços IP selecionados Por padrão, o grupo de segurança do Amazon EC2 para a sua instância de servidor do Windows não tem a porta 3389 ativado; essa é a porta que você usa para administrar o servidor Windows. Se você deseja fazer login em sua instância de servidor do Windows, execute o procedimento a seguir para habilitar o acesso por meio de porta 3389. 1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon EC2 em https:// console.aws.amazon.com/ec2/. 2. Na Region lista, clique no Amazon EC2 região em que você usou o AWS CloudFormation para criar sua instância do Amazon EC2. 3. No Navigation painel, clique em Security Groups. 4. No Security Groups painel, clique na linha para a qual o valor da Name coluna começa com o nome do AWS CloudFormation que você criou na pilha A criação de um AWS CloudFormation Stack para Live Smooth Streaming (p. 312). 5. No painel inferior, clique na Inbound guia. 6. Para ativar o acesso ao servidor Windows e especifique o cliente endereços IP que podem acessar o servidor: a. Na Create a new rule lista, não altere o valor padrão, Custom TCP rule. b. No Port range campo, insira 3389. c. No Source campo, insira um endereço IP ou um intervalo, ou insira o nome de outro grupo de segurança. Para obter mais informações, clique em Help. d. Clique em Add Rule. e. Para criar regras adicionais, repita as etapas de a a d. f. Clique em Apply Rule Changes. API Version 2016-01-13 317 Amazon CloudFront Guia do desenvolvedor Documentação adicional Como posso conectar-se com segurança a minha instância do Amazon EC2 executando o Windows IIS Media Services? Para se conectar à sua instância de servidor do Windows, você deve recuperar a senha inicial para a conta de administrador e, em seguida, usá-la com a área de trabalho remota do Windows. Você também precisará do conteúdo do arquivo de chave privada que você criou, por exemplo, <keypairname.pem >.pem. Para obter mais informações, consulte Conceitos básicos das instâncias Windows do Amazon EC2. Como posso restringir o acesso ao meu conteúdo de Smooth Streaming ao vivo de outro domínio? O Microsoft Silverlight inclui suporte para conectividade entre domínios, o que permite que o Silverlight Player para acessar conteúdo de locais diferentes Smooth Streaming domínio onde o conteúdo foi gerada. A política de segurança no sistema Silverlight exige que uma política Silverlight arquivo chamado ClientAccessPolicy.xml fazer o download de um domínio de destino antes de uma conexão de rede é permitido para acessar um recurso de rede em que o domínio de destino. Uma política padrão arquivo já está incluído na raiz do site padrão no servidor Windows em execução no Amazon EC2. Para restringir o acesso entre domínios, fazer login em seu servidor Windows e atualizar o ClientAccessPolicy.xml arquivo. Documentação adicional Documentação da Microsoft • IIS Smooth Streaming Deployment Guide • IIS Media Services 4.1 Readme • IIS Smooth Streaming Management REST Services • Configurando Authentication no IIS 7 • BlogdoMicrosoft Expression Encoder • Gerenciamento de pontos de publicação ao vivo da Microsoft Expression Encoder 4 Pro SP2 • IISLive Smooth Streaming no Expression Encoder 4 Pro • Apple HTTP Live Streaming com o IIS Media Services Documentação do Amazon Web Services • O Amazon EC2 executando Microsoft Windows Server e SQL Server • Amazon Elastic Compute Cloud Microsoft Windows Guide • Amazon CloudFront • AWS CloudFormation API Version 2016-01-13 318 Amazon CloudFront Guia do desenvolvedor Streaming ao vivo com Wowza Streaming Engine 4.2 HTTP Live Streaming usando o Wowza Streaming Engine 4.2 Você pode usar o Wowza Streaming Engine 4.2 para criar sessões de streaming ao vivo usando a entrega global do CloudFront. Wowza Streaming Engine 4.2 é compatível com os seguintes protocolos de streaming com base em HTTP: • HTTP Live Streaming (HLS) • HTTP Dynamic Streaming (HDS) • Smooth Streaming • MPEG DASH Quando um usuário fizer um vídeo usando um dos protocolos acima, o vídeo é dividido em partes menores que são armazenados em cache na rede do CloudFront para melhorar o desempenho e a escalabilidade. Este tutorial explica como a integração do CloudFront com o Wowza Streaming Engine 4.2 em execução em uma instância do Amazon EC2. Para obter mais informações sobre como gerenciar e proteger sua instância do Amazon EC2, consulte a documentação do Amazon EC2. Para obter mais informações sobre o Wowza Streaming Engine opções não cobertos neste tutorial, consulte a documentação do Wowza. Tópicos • Criando uma conta da Amazon Web Services (p. 319) • A criação de um par de chaves do Amazon EC2 (p. 320) • Obter uma licença para o Wowza Streaming Engine 4.2 (p. 320) • A assinatura Wowza Streaming Engine 4.2 por meio do AWS Marketplace (p. 320) • A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 321) • Verificando se o Wowza Streaming Engine 4.2 está sendo executado (p. 323) • Configurando um Encoder para publicar um Live Stream (p. 323) • Reproduzindo a transmissão ao vivo em um aplicativo da web (p. 325) • A exclusão de um AWS CloudFormation Stack para Live Streaming (p. 326) • Perguntas frequentes (p. 326) • Documentação adicional (p. 328) Criando uma conta da Amazon Web Services Se você já tem uma conta da AWS, vá para A criação de um par de chaves do Amazon EC2 (p. 320). Se você ainda não tem uma conta da AWS, use o procedimento a seguir para criar uma. Para criar uma conta da AWS 1. Abra http://aws.amazon.com/ e, em seguida, selecione Create an AWS Account. 2. Siga as instruções online. Parte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um PIN usando o teclado do telefone. API Version 2016-01-13 319 Amazon CloudFront Guia do desenvolvedor A criação de um par de chaves do Amazon EC2 Próximo: A criação de um par de chaves do Amazon EC2 (p. 320) A criação de um par de chaves do Amazon EC2 Se você já tem um par de chaves do Amazon EC2 do Amazon EC2 para a região em que você deseja configurar streaming ao vivo, vá para Obter uma licença para o Wowza Streaming Engine 4.2 (p. 320). Se você não tem um par de chaves na região, siga as etapas abaixo. O par de chaves é uma credencial de segurança semelhante a uma senha e é específico para uma região da AWS. Você precisa especificar um par de chaves quando você cria uma pilha de AWS CloudFormation para streaming ao vivo, mais tarde nesse processo. Depois de streaming ao vivo é configurado, o par de chaves que você usa para conectar-se com segurança a sua instância do Amazon EC2. Para criar um par de chaves do Amazon EC2 1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon EC2 em https:// console.aws.amazon.com/ec2/. 2. Na região seletor, escolher a região em que você deseja criar o par de chaves. Você deve criar o par de chaves na mesma região onde você criará o AWS CloudFormation para streaming ao vivo da pilha mais adiante neste processo. Recomendamos que você cria o par de chaves e a pilha para streaming ao vivo na região mais próximo do local a partir do qual o streaming ao vivo serão publicadas. 3. No painel de navegação esquerdo, escolha Key Pairs. 4. No painel de pares de chaves, escolha Create Key Pair. 5. Na caixa de Create Key Pair diálogo, insira um nome para o par de chaves e anote o nome. Você precisará posteriormente o AWS CloudFormation ao criar uma pilha de streaming em tempo real. 6. Escolha Createe, quando solicitado, salve o arquivo .pem em um lugar seguro no seu computador. Observe que não será possível descarregar novamente este arquivo. 7. Escolha Close para fechar a caixa de Create Key Pair diálogo. Próximo: Obter uma licença para o Wowza Streaming Engine 4.2 (p. 320) Obter uma licença para o Wowza Streaming Engine 4.2 Você precisa de uma licença para o Wowza Streaming Engine 4.2 para configurar streaming ao vivo. Você tem duas opções: • Se você já tem uma licença, você pode usar essa licença para configurar streaming ao vivo. Vá para o próximo procedimento. • Para comprar uma licença usando seu AWS conta, vá para a página de Definição de preço no Wowza site e comprar o Wowza Streaming Engine licença que funciona melhor para você. Próximo: A assinatura Wowza Streaming Engine 4.2 por meio do AWS Marketplace (p. 320) A assinatura Wowza Streaming Engine 4.2 por meio do AWS Marketplace A próxima etapa é para assinar o Wowza Streaming Engine 4.2 em AWS Marketplace. API Version 2016-01-13 320 Amazon CloudFront Guia do desenvolvedor A criação de uma pilha de streaming ao vivo para o AWS CloudFormation Para solicitar o Wowza Streaming Engine para a Amazon Web Services 1. Vá para a página de uma conta Amazon Web Services e fazer login usando sua conta da Amazon.com ou criar uma nova conta. 2. Se você estiver usando sua própria licença, acesse https://aws.amazon.com/marketplace/pp/ B013FEULQA. Analisar os detalhes e escolha Continue. Se você comprar uma licença usando sua conta, acesse AWS https://aws.amazon.com/ marketplace/pp/B012BW3WB8. Analisar os detalhes e escolha Continue. 3. Escolha a Manual Launch guia. 4. Revise as informações de preço, e escolha Accept Terms. Important Não use os botões desta página para iniciar o Wowza. Próximo: A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 321) A criação de uma pilha de streaming ao vivo para o AWS CloudFormation O procedimento a seguir usa um modelo de AWS CloudFormation para criar uma pilha que executa os recursos da AWS necessários para streaming ao vivo, incluindo uma instância do Amazon EC2. Important Você será cobrado por hora começa a cobranças de uma instância do Amazon EC2 ao criar o AWS CloudFormation stack que implementa essa instância. As cobranças continuam a provisionar até que você exclua o AWS CloudFormation stack, independentemente de você usar a instância do Amazon EC2 para fazer streaming de vídeo ao vivo. Quando seu evento ao vivo, exclua a pilha que você criou para streaming ao vivo. Isso exclui os recursos da AWS que foram criados para o seu evento de streaming em tempo real e interrompe as cobranças da AWS para os recursos. Para obter mais informações, consulte A exclusão de um AWS CloudFormation Stack para Live Streaming (p. 326). Para criar uma pilha para streaming ao vivo, o AWS CloudFormation 1. Para iniciar o assistente que cria uma pilha de AWS CloudFormation aplicáveis, selecione o link: Se você tem seu próprio Wowza licença, escolha o Amazon EC2 região onde você deseja usar o AWS CloudFormation para executar uma instância do Amazon EC2: • Crie uma pilha no Leste dos EUA (Norte da Virgínia) • Crie uma pilha em Oeste dos EUA (Oregon) • Crie uma pilha em Oeste dos EUA (Norte da Califórnia) • Crie uma pilha no UE (Irlanda) • Crie uma pilha em UE (Frankfurt) • Crie uma pilha em Ásia-Pacífico (Cingapura) • Crie uma pilha em Ásia-Pacífico (Sydney) • Crie uma pilha no Ásia-Pacífico (Tóquio) • Crie uma pilha em América do Sul (São Paulo) API Version 2016-01-13 321 Amazon CloudFront Guia do desenvolvedor A criação de uma pilha de streaming ao vivo para o AWS CloudFormation Se você deseja cobrar um Wowza licença para a sua conta, escolha o Amazon EC2 AWS região onde você deseja usar o AWS CloudFormation para executar uma instância do Amazon EC2: • Crie uma pilha no Leste dos EUA (Norte da Virgínia) • Crie uma pilha em Oeste dos EUA (Oregon) • Crie uma pilha em Oeste dos EUA (Norte da Califórnia) • Crie uma pilha no UE (Irlanda) • Crie uma pilha em UE (Frankfurt) • Crie uma pilha em Ásia-Pacífico (Cingapura) • Crie uma pilha em Ásia-Pacífico (Sydney) • Crie uma pilha no Ásia-Pacífico (Tóquio) • Crie uma pilha em América do Sul (São Paulo) 2. Se você não estiver conectado no Console de gerenciamento da AWS, quando solicitado. O assistente é iniciado e o URL selecionado aparece automaticamente em Provide an S3 URL to template. 3. (Opcional) No Create a New Stack assistente, você pode alterar o nome da pilha para algo apropriado para o seu evento de streaming em tempo real. O nome da pilha não deve conter espaços e deve ser exclusivo na sua conta da AWS. Não altere a Template opção ou o endereço Provide an S3 URL to template. 4. Escolha Next Step. 5. Na página Specify Parameters, para ApplicationName, insira um nome curto (sem espaços) para o seu Wowza aplicativo, ou mantenha o padrão. 6. Para InstanceType, insira um tipo de instância, que determina a definição de preço para o Wowza instância. Para obter mais informações sobre os tipos de instância do Amazon EC2, consulte Tipos de instância disponíveis. Para obter informações sobre a definição de preço, consulte Definição de preço do Amazon EC2. 7. Para KeyPair, insira o nome de um par de chaves do Amazon EC2 para a região na qual você deseja criar a pilha de streaming ao vivo. O par de chaves deve ser associado à conta que você está conectado no momento. Se você criou um par de chaves quando você executou a procedimento A criação de um par de chaves do Amazon EC2 (p. 320), insira esse nome aqui. 8. Para StartupPackageURL, insira um URL que aponta para um pacote de inicialização para configurar o Wowza Streaming Engine para as suas necessidades, ou mantenha o padrão. 9. Para StreamName, insira um nome curto (sem espaços) para streaming ao vivo, ou mantenha o padrão. 10. Insira sua chave de licença no WowzaLicenseKey campo. Esta é a chave para uma licença que você já é proprietário ou uma chave que você obteve quando você executou o procedimento no Obter uma licença para o Wowza Streaming Engine 4.2 (p. 320) tópico. Se você adquiriu o AddOns, você pode incluir chaves de licença adicionais, separando os valores de chave com um caractere pipe (|). 11. Escolha Next Step. 12. (Opcional) Na página Opções, adicione os pares chave-valor para quaisquer tags que você pretende usar. Para obter mais informações sobre como usar tags, consulte Adicionando Tags para o AWS CloudFormation Stack. 13. (Opcional) Para configurar notificação SNS, para especificar por quanto tempo você está disposto a esperar a pilha para ser criado, para escolher se deseja reverter alterações se a criação da pilha falhar, e inserir uma política de pilha, escolha Advanced, e ajustar as configurações conforme desejado. 14. Escolha Next Step API Version 2016-01-13 322 Amazon CloudFront Guia do desenvolvedor Verificando se o Wowza Streaming Engine 4.2 está sendo executado 15. Analisar as configurações para a pilha e, em seguida, escolha Create. O AWS CloudFormation cria a pilha. A criação de sua criação da pilha pode levar vários minutos. Para acompanhar o andamento da criação da pilha, selecione a pilha e, em seguida, selecione a Events guia. Se o AWS CloudFormation não pode criar a pilha, a Events guia lista mensagens de erro. Quando a sua pilha está pronta, na lista de pilhas, o status para a pilha muda para CREATE_COMPLETE. Quando a pilha é criada, selecione a Outputs guia, que exibe as saídas de criação da pilha. Você usará esses valores quando você configurar o codificador posteriormente no processo. Próximo: Verificando se o Wowza Streaming Engine 4.2 está sendo executado (p. 323) Verificando se o Wowza Streaming Engine 4.2 está sendo executado Após o AWS CloudFormation cria a pilha, execute as seguintes etapas para verificar se o Wowza Streaming Engine 4.2 está em execução na instância do Amazon EC2 que é provisionado com o AWS CloudFormation. Para verificar se o Wowza Streaming Engine 4.2 está em execução 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Na região seletor, escolher a região em que você criou o AWS CloudFormation pilha. 3. Na lista de pilhas, selecione a pilha que você criou A criação de uma pilha de streaming ao vivo para o AWS CloudFormation (p. 321). 4. Escolha a Outputs guia. 5. Na Outputs guia, obter o valor da WowzaServerLoginInfo chave, o que você vai usar para credenciais de login na próxima etapa. 6. Escolha o URL na WowzaEngineManagerURL chave, por exemplo, http://ec2-xx-xx-xxxxxx.compute-1.amazonaws.com:8088/enginemanager. Quando você é solicitado para credenciais de login, use o valor da WowzaServerLoginInfo chave que você obteve na etapa 5. Important Este URL usa a porta 8088 para se conectar à instância do Amazon EC2 que está executando o Wowza Streaming Engine. Dependendo das suas configurações de firewall, você pode não ser capaz de se conectar à instância do Amazon EC2. Se você tiver problemas, entre em contato com o administrador de sua rede. Próximo: Configurando um Encoder para publicar um Live Stream (p. 323) Configurando um Encoder para publicar um Live Stream Você precisa codificar o streaming ao vivo capturadas pelo seu dispositivo antes de enviá-la para o Wowza Streaming Engine 4.2. Você pode codificar o streaming ao vivo usando o Wowza GoCoder aplicativo para iOS ou dispositivos baseados em codificadores que oferecem suporte à codificação de RTMP, como Telestream Wirecast. API Version 2016-01-13 323 Amazon CloudFront Guia do desenvolvedor Configurando um Encoder para publicar um Live Stream As etapas para a publicação de um stream do seu codificador para o Wowza Streaming Engine variam de acordo com sua escolha de codificador. Para obter mais informações sobre como configurar o codificador, acesse Específico Wowza Codificação Technologies no site ou revisar a documentação do codificador. Codificar Apple streams HLS usando os seguintes formatos: • Vídeo: • Apple iPhone, iPod e iPod Touch – Linha de nível de perfil H.264 3.0. Não use B-quadros quando o direcionamento iPhone e iPod dispositivos. • Apple iPad – Nível de perfil H.264 Main 3.1 • Áudio: AAC-LC até 48 kHz, áudio estéreo. Smooth Streams deve ter áudio e vídeo. A frequência de quadros-chave deve ser entre 1 e 4 segundos. Recomendamos uma frequência de quadros-chave de dois segundos. Wowza Gocoder Para configurar o Wowza GoCoder para publicar um fluxo ao vivo, execute as seguintes etapas. Note Wowza GoCoder está disponível para compra da Apple AppStore. 1. Vá para o Wowza tutorial Como usar a transmissão de vídeo Wowza GoCoder aplicativo para iOS com o Wowza Streaming Engine. 2. Siga o procedimento no Configure Wowza GoCoder App seção do tutorial. Especifique os seguintes Host valores: 3. 4. a. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/ cloudformation/. b. No console do AWS CloudFormation, selecione a Outputs guia. c. Copie o valor da WowzaEngineDomainName chave, por exemplo, ec2-xx-xx-xxxxxx.compute-1.amazonaws.com. d. Para Server, cole o valor que você acabou de copiar. e. Para Port, insira 1935. Especifique os seguintes Application valores: a. Para Application, insira o nome do aplicativo que você especificou quando criou a pilha, por exemplo, livecf. b. Na Outputs guia do console do AWS CloudFormation, copie o valor da PublishStreamName chave, por exemplo, myStream. c. Para StreamName, cole o valor que você acabou de copiar na etapa anterior. Alterar outros valores, conforme aplicável. codificador RTMP Os codificadores RTMP normalmente usam as seguintes configurações: Publicar URL Este é o valor da PublishRTMPURL chave, por exemplo, o AWS CloudFormation rtmp://ec2-xxxx-xxx-xxx.compute-1.amazonaws.com/livecf. API Version 2016-01-13 324 Amazon CloudFront Guia do desenvolvedor Reproduzindo a transmissão ao vivo em um aplicativo da web NomedoFluxo Este é o valor da PublishStreamName chave, por exemplo, o AWS CloudFormation myStream. Credenciaisdelogin Se você for solicitado a fornecer credenciais de login, use os valores da WowzaServerLoginInfo chave, por exemplo, o AWS CloudFormation username=wowza, password=i-1234a567. Próximo: Reproduzindo a transmissão ao vivo em um aplicativo da web (p. 325). Reproduzindo a transmissão ao vivo em um aplicativo da web Wowza Media Services fornece on-line exemplo jogador páginas da web que você pode usar para reproduzir o streaming ao vivo de seu Wowza Streaming Engine distribuição. Esses jogadores pode ajudá-lo a verificar se a sua pilha de streaming foi configurado corretamente. Você pode usar o mesmo streaming manifesto URLs para outros jogadores que oferecem suporte ao protocolo de streaming que você deseja usar. Execute o procedimento aplicável para obter o código de incorporação que você incluir na sua página da web para o streaming ao vivo. Note Aguarde pelo menos 30 segundos após executar o procedimento aplicável em Configurando um Encoder para publicar um Live Stream (p. 323) antes de seguir as etapas abaixo para reproduzir o stream. • Para reproduzir o stream HDS ao vivo no Adobe Flash Player por meio do CloudFront (p. 325) • Para reproduzir o stream de HLS ao vivo em um Apple ou outro dispositivo por meio do CloudFront (p. 325) • Para reproduzir o Live Smooth Stream por meio do CloudFront (p. 326) Para reproduzir o stream HDS ao vivo no Adobe Flash Player por meio do CloudFront 1. 2. 3. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. Selecione a pilha para o streaming de HTTP ao vivo. No console do AWS CloudFormation, selecione a Outputs guia. 4. Copie o valor da PlaybackHDSURL chave, por exemplo, http://d111111abcdef8.cloudfront.net/ livecf/myStream/manifest.f4m. 5. Vá para a página da web de exemplo Flash Player HTTP no Wowza site, cole o URL que você copiou na etapa anterior no Stream campo, e escolha Connect. Para reproduzir o stream de HLS ao vivo em um Apple ou outro dispositivo por meio do CloudFront 1. 2. 3. 4. 5. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. Selecione a pilha para streaming ao vivo. No console do AWS CloudFormation, selecione a Outputs guia. Copie o valor da PlaybackHLSURL chave, por exemplo, http://d111111abcdef8.cloudfront.net/ livecf/myStream/playlist.m3u8. Usando um dos seguintes aplicativos, acesse a página da web de exemplo iOS/Mac OS X no Wowza site, cole o URL que você copiou na etapa anterior no Stream campo e, em seguida, escolha Connect: API Version 2016-01-13 325 Amazon CloudFront Guia do desenvolvedor A exclusão de um AWS CloudFormation Stack para Live Streaming • Safari navegador da web em um computador que executa o Mac OS X Snow Leopard (versão 10.6) ou posterior • QuickTime Player 10.x ou posterior em um computador que executa o Mac OS X Snow Leopard (versão 10.6) ou posterior • Apple Safari navegador da web em um dispositivo iOS Para reproduzir o Live Smooth Stream por meio do CloudFront 1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Selecione a pilha para streaming ao vivo. 3. No console do AWS CloudFormation, selecione a Outputs guia. 4. Copie o valor da PlaybackSmoothURL chave, por exemplo, http://d111111abcdef8.cloudfront.net/ livecf/myStream/Manifest. 5. Vá para a página da web de exemplo Silverlight Player na Wowza site, cole o URL que você copiou na etapa anterior no Stream campo e, em seguida, escolha Connect. Próximo: A exclusão de um AWS CloudFormation Stack para Live Streaming (p. 326). A exclusão de um AWS CloudFormation Stack para Live Streaming Quando seu evento ao vivo, exclua a pilha que você criou para streaming ao vivo. Isso exclui os recursos da AWS que foram criados para o seu evento de streaming em tempo real e interrompe as cobranças sob demanda para os recursos. Para excluir um AWS CloudFormation para streaming ao vivo da pilha 1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. No canto superior direito, escolha a região onde você criou sua pilha. 3. Selecione a pilha e, em seguida, escolha Delete Stack. 4. Escolha Yes, Delete para confirmar. 5. Para acompanhar o andamento da exclusão da pilha, selecione a pilha e, em seguida, selecione a Events guia. Perguntas frequentes • Qual é o preço para o streaming de HTTP ao vivo usando o Wowza Streaming Engine 4.2 e do CloudFront? (p. 327) • Como posso usar o Secure Shell (SSH) para se conectar à minha instância do Amazon EC2 que está executando o Wowza Streaming Engine 4.2? (p. 327) • Como posso criar um alias CNAME para minha instância do Amazon EC2 ou para minha distribuição do CloudFront? (p. 327) • Posso fazer streaming de meu evento ao vivo para Flash Player – dispositivos compatíveis, os dispositivos da Apple e jogadores Smooth Streaming ao mesmo tempo? (p. 327) • O Wowza Streaming Engine 4.2 oferecem suporte a HTML5? (p. 328) • Posso servir privados streams ao vivo usando o Wowza e do CloudFront? (p. 328) API Version 2016-01-13 326 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes Qual é o preço para o streaming de HTTP ao vivo usando o Wowza Streaming Engine 4.2 e do CloudFront? As cobranças para o streaming de HTTP ao vivo usando o Wowza Streaming Engine 4.2 e do CloudFront incluem: • Wowza Streaming Engine software e AddOns: Para obter mais informações, consulte licenças Wowza integrada para você no site. • Amazon EC2: Para obter mais informações, consulte o Linux guia na tabela de definição de preço de instâncias on demand. • CloudFront: Para obter mais informações, consulte o Amazon CloudFront Pricing. Não há custo adicional para usar o AWS CloudFormation. Como posso usar o Secure Shell (SSH) para se conectar à minha instância do Amazon EC2 que está executando o Wowza Streaming Engine 4.2? Você pode usar o SSH para se conectar à sua instância do Amazon EC2 em apenas algumas etapas. Para usar o SSH para se conectar à sua instância do Amazon EC2 que está executando o Wowza Streaming Engine 4.2 1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/. 2. 3. Na navegação à esquerda, escolha Instances. Clique com o botão direito do mouse na instância correta e escolha Connect para ver instruções sobre como usar o SSH para se conectar à sua instância do Amazon EC2. O nome de usuário é ec2-user. Como posso criar um alias CNAME para minha instância do Amazon EC2 ou para minha distribuição do CloudFront? Sua instância do Amazon EC2 executando o Wowza Streaming Engine 4.2 é fornecido com um nome de DNS internos e externos. O Amazon EC2 não fornece acesso ao modificar essas configurações de DNS. Se você deseja mapear um nome de domínio existente para sua instância do Amazon EC2 executando o Wowza Streaming Engine, use um provedor de serviço de DNS, como Amazon Route 53. Ao usar seu próprio nome de domínio, recomendamos que você mapear para a instância externa do nome DNS usando um CNAME, não usando um registro que aponta para o endereço IP da instância. Para mapear seu próprio nome de domínio para sua distribuição do CloudFront, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Posso fazer streaming de meu evento ao vivo para Flash Player – dispositivos compatíveis, os dispositivos da Apple e jogadores Smooth Streaming ao mesmo tempo? Sim, Wowza Streaming Engine 4.2 permite o fornecimento de streams ao vivo no Adobe HTTP Dynamic Streaming (HDS) da Adobe, Apple HTTP Live Streaming (HLS) da Apple e o Microsoft Smooth Streaming formatos simultaneamente, o que permite a reprodução em aplicativos, o Adobe Flash Player e dispositivos Apple iOS e jogadores Smooth Streaming, respectivamente. API Version 2016-01-13 327 Amazon CloudFront Guia do desenvolvedor Documentação adicional O Wowza Streaming Engine 4.2 oferecem suporte a HTML5? Sim, Wowza Streaming Engine pode fornecer conteúdo para HTML5 nas seguintes configurações: • Você pode usar o formato de streaming HLS da Apple para os dispositivos Apple iOS. • Você pode usar o formato Smooth Streaming no Windows 8 dispositivos. Para obter mais informações, consulte Walkthrough: Building Your First HTML5 Smooth Streaming Player no site do MSDN. • Para outros navegadores que oferece suporte ao HTML5, você pode usar o Wowza Streaming Engine para entregar vídeo por meio de download progressivo. Posso servir privados streams ao vivo usando o Wowza e do CloudFront? No momento, streams ao vivo não pode ser entregue com segurança usando URLs assinadas do CloudFront. No entanto, o download progressivo de mídia podem ser entregues de forma privada, usando URLs assinadas. Para obter mais informações, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). Documentação adicional Os recursos a seguir podem ajudá-lo como você trabalha com Wowza. Documentação do Wowza A Wowza site inclui artigos, documentação e informações sobre preço para streams ao vivo usando o Wowza com uma conta Amazon Web Services: • Artigosdo Amazon EC2Wowza • Wowza Streaming Engine User's Guide • Wowza em uma conta Amazon Web Services Documentação de uma conta Amazon Web Services Os recursos a seguir incluem guias de usuário e funciona de referência para uma conta Amazon Web Services. • documentaçãodoAmazon Elastic Compute Cloud • documentaçãodoAWS CloudFormation API Version 2016-01-13 328 Amazon CloudFront Guia do desenvolvedor Streaming ao vivo usando HTTP e qualquer origem do CloudFront HTTP Streaming ao vivo usando HTTP e qualquer origem do CloudFront HTTP Com o Amazon CloudFront de streaming ao vivo, você pode usar qualquer codificador ao vivo, como Elementar Live, que saídas streams baseadas em HTTP para transmitir apresentações ao vivo, webinars e outros eventos. Este tutorial orienta você durante o processo de configuração de streaming ao vivo. Note Este tutorial pressupõe que você já configurou o codificador ao vivo. Tópicos • Criando uma nova distribuição do CloudFront para Streaming ao vivo (p. 329) • Configurando Web Players para Play Live Stream (p. 330) • (Opcional) A exclusão de uma pilha do AWS CloudFormation para Live Streaming (p. 330) Criando uma nova distribuição do CloudFront para Streaming ao vivo O procedimento a seguir usa um modelo de AWS CloudFormation para criar uma nova distribuição do CloudFront que você usará para o seu streaming ao vivo. Para criar uma nova distribuição do CloudFront para streaming ao vivo 1. 2. Vá para a página de uma conta Amazon Web Services e fazer login usando sua conta da Amazon.com ou criar uma nova conta. Para iniciar o assistente que cria uma nova distribuição do CloudFront, escolha o link a seguir: 3. Crie uma distribuição do CloudFront para o streamingde HTTP ao vivo Na Select Template página, escolha Next. 4. Na Specify Details página, digite os seguintes valores: 5. 6. 7. Nome da pilha Digite um nome para sua pilha de streaming ao vivo, ou aceite o nome padrão. CustomOriginDNSName Digite o nome DNS da origem personalizada que ele obterá a apresentação ao vivo. CustomOriginHTTPPort Digite o HTTP do CloudFront porta TCP que você deseja usar para se comunicar com sua origem personalizada. DistributionComment Digite um comentário para ajudá-lo a identificar sua distribuição, o que é útil se você gerencia várias distribuições. O valor que você digitar aqui é exibido no console do CloudFront. Escolha Next. (Opcional) Na Options página, adicione os pares chave-valor para quaisquer tags que você pretende usar. Além disso, para configurar notificação SNS, para especificar por quanto tempo você está disposto a esperar a pilha para ser criado, para escolher se deseja reverter alterações se a criação da pilha falhar, e inserir uma política de pilha, escolha Advanced, e ajustar as configurações conforme desejado. Para obter mais informações, consulte Configuração de opções de AWS CloudFormation Stack. Escolha Next. API Version 2016-01-13 329 Amazon CloudFront Guia do desenvolvedor Configurando Web Players para Play Live Stream 8. Analisar as configurações para a pilha e, em seguida, escolha Create. O AWS CloudFormation cria a pilha. A criação de sua criação da pilha pode levar vários minutos. Para acompanhar o andamento da criação da pilha, selecione a pilha e, em seguida, selecione a Events guia. Se o AWS CloudFormation não pode criar a pilha, a Events guia lista mensagens de erro. Quando a sua pilha está pronta, na lista de pilhas, o status para a pilha muda para CREATE_COMPLETE. 9. Quando a pilha é criada, selecione a Outputs guia, que exibirá o nome de domínio CloudFront. Você precisará esse valor quando você configurar o streaming ao vivo reproduzidas em seu reprodutor da web. Configurando Web Players para Play Live Stream Para reproduzir o streaming ao vivo, incorporar o URL no manifesto de jogadores que os seus usuários serão reproduzidos o streaming ao vivo. Por exemplo, para reproduzir um streaming ao vivo para que o arquivo de manifesto é myStream/playlist.m3u8 e a distribuição do CloudFront é d111111abcdef8.cloudfront.net, você incorporar o seguinte URL em jogadores: http://d111111abcdef8.cloudfront.net/myStream/playlist.m3u8 (Opcional) A exclusão de uma pilha do AWS CloudFormation para Live Streaming Quando seu evento ao vivo, exclua a pilha que você criou para streaming ao vivo. Isso exclui a distribuição do CloudFront que você criou para o seu evento de streaming em tempo real. Note Ao interromper o streaming, você também parar de incorrer em cobranças do CloudFront para essa distribuição. Não há cobranças para o AWS CloudFormation pilha. Para excluir um AWS CloudFormation para streaming ao vivo da pilha 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. 3. 4. No canto superior direito, escolha a região onde você criou sua pilha. Selecione a pilha e, em seguida, escolha Delete Stack. Escolha Yes, Delete para confirmar. 5. Para acompanhar o andamento da exclusão da pilha, selecione a pilha e, em seguida, selecione a Events guia. Streaming de mídia on demand com Unified Streaming Quando você usa o Amazon CloudFront para entregar o streaming sob demanda via HTTP, você pode transcodificar o conteúdo em vários formatos e usar as taxas de bits e do CloudFront para distribuir o conteúdo transcodificado. Como alternativa, você pode usar o CloudFront com Unified Streaming, que executa a etapa de transcodificação automaticamente quando um usuário solicita o seu conteúdo. Veja como você pode usar o CloudFront e Unified Streaming em conjunto: API Version 2016-01-13 330 Amazon CloudFront Guia do desenvolvedor Streaming de mídia on demand com Unified Streaming 1. Você usa uma pilha de AWS CloudFormation para configurar os recursos da AWS aplicáveis para você, incluindo uma instância do Amazon EC2 executando o Unified Streaming Platform, um bucket do Amazon S3, e uma distribuição do CloudFront. 2. Você carregar seus arquivos de vídeo no bucket do Amazon S3 no formato MP4. 3. Você adiciona links aplicáveis para o seu site ou aplicativo da web. Os links acessar seu conteúdo usando URLs do CloudFront. (Você também pode encaminhar as solicitações de DNS para o seu próprio nome de domínio para CloudFront.) 4. Quando um usuário acessa o conteúdo, a solicitação é encaminhado para um ponto de presença do CloudFront. 5. O ponto de presença do CloudFront encaminha as solicitações para Unified Streaming Platform. 6. Com base no valor do User-Agent cabeçalho, Unified Streaming Platform determina o formato do visualizador que o usuário requer, transcodifica seu conteúdo no formato, e retorna o conteúdo transcodificado para o CloudFront. 7. CloudFront retorna o conteúdo transcodificado para o visualizador e armazena em cache os arquivos no ponto de presença. Na próxima vez que um usuário solicita seu conteúdo no mesmo formato do mesmo cache de presença, ele responde com arquivos que já estão no cache. Unified Streaming Platform é compatível com os seguintes protocolos de streaming dinâmico com base em HTTP: • Adobe HTTP Dynamic Streaming (HDS) da Adobe • Apple HTTP Live Streaming (HLS) da Apple • Microsoft Smooth Streaming • MPEG-DASH Neste tutorial, você usa uma pilha de AWS CloudFormation para criar um bucket do Amazon S3 para seus arquivos de mídia, uma instância do Amazon EC2 executando o software de servidor de mídia de streaming unificada e uma distribuição do CloudFront. Observe que este tutorial descreve apenas uma das muitas formas que você pode configurar recursos da AWS para streaming sob demanda com Unified Streaming. Note Para obter informações sobre como gerenciar e proteger sua instância do Amazon EC2, consulte a documentação do Amazon EC2. Para obter uma lista de plataformas compatíveis, clientes, codecs, formatos de DRM e outras especificações para Unified Streaming, consulte o Unified Streaming Platform folha de fatos. Para links para outros Unified Streaming e a Amazon Web Services (AWS), consulte a documentação Documentação adicional (p. 342). Tópicos • A criação de uma conta de uma conta Amazon Web Services (p. 332) • A criação de um par de chaves do Amazon EC2 (p. 332) • Inscrição para Unified Streaming (p. 333) • A criação de um AWS CloudFormation Stack para streaming sob demanda (p. 333) • Verificando se Unified Streaming Server está sendo executado (p. 335) • Como fazer o upload do Media Files para o Amazon S3 (p. 336) • Reproduzindo o On-Demand Stream Em um teste de aplicativos da Web (p. 337) • Excluindo o AWS CloudFormation Stack e o Amazon S3 Bucket para streaming sob demanda (p. 339) • Perguntas frequentes (p. 340) API Version 2016-01-13 331 Amazon CloudFront Guia do desenvolvedor A criação de uma conta de uma conta Amazon Web Services • Documentação adicional (p. 342) A criação de uma conta de uma conta Amazon Web Services Se você já tem uma conta, vá para AWS A criação de um par de chaves do Amazon EC2 (p. 332). Se você ainda não tem uma conta AWS, use o procedimento a seguir para criar uma. Note Quando você cria uma conta, AWS cadastra automaticamente a conta para todos os serviços. Você será cobrado apenas pelos serviços que usar. Para criar uma conta AWS 1. Vá para http://aws.amazon.com, e escolha Sign In to the Console. 2. Siga as instruções na tela. Parte do procedimento de cadastro envolve uma chamada de telefone e a digitação de um PIN usando o teclado do telefone. Próximo: A criação de um par de chaves do Amazon EC2 (p. 332) A criação de um par de chaves do Amazon EC2 Se você já tem um par de chaves do Amazon EC2 do Amazon EC2 na região em que você deseja criar uma pilha para o AWS CloudFormation Unified Streaming, vá para Inscrição para Unified Streaming (p. 333). Se você não tem um par de chaves na região, use o procedimento a seguir para criar uma. O par de chaves é uma credencial de segurança semelhante a uma senha. Você especifica um par de chaves quando você cria uma pilha para o AWS CloudFormation de streaming sob demanda, mais tarde nesse processo. Depois de streaming sob demanda é configurado, o par de chaves que você usa para conectar-se com segurança a sua instância do Amazon EC2. Para criar um par de chaves do Amazon EC2 1. 2. Faça login no Console de gerenciamento da AWS e abra o console da Amazon EC2 em https:// console.aws.amazon.com/ec2/. Na Region lista, selecione a região na qual você deseja criar o par de chaves. 3. Você deve criar o par de chaves na mesma região em que você criará o AWS CloudFormation para a sua pilha de streaming sob demanda posteriormente neste processo. Recomendamos que você cria o par de chaves e a pilha de streaming sob demanda na região mais próximo aos usuários que serão fazer o streaming. No painel de navegação, escolha Key Pairs. 4. 5. 6. 7. No Key Pairs painel, escolha Create Key Pair. Na caixa de Create Key Pair diálogo, insira um nome para o par de chaves, como ondemand-streaminge anote o nome. Você vai inserir esse valor ao criar uma pilha para o AWS CloudFormation de streaming sob demanda, posteriormente no processo. Clique em Create. Na caixa de diálogo Abrir <key_pair_name >.pem, salve o arquivo.pem em um lugar seguro no seu computador. API Version 2016-01-13 332 Amazon CloudFront Guia do desenvolvedor Inscrição para Unified Streaming Important Essa é a única oportunidade que você terá para fazer o download e salvar sua chave privada. 8. Clique Close para fechar a caixa de diálogo Criar par de chaves. Próximo: Inscrição para Unified Streaming (p. 333) Inscrição para Unified Streaming Execute o procedimento a seguir para assinar o Unified Streaming para uma conta Amazon Web Services por meio AWS Marketplace. Important Você pode assinar uma conta para Unified Streaming AWS somente uma vez. Se sua conta AWS Unified Streaming já tem uma assinatura, use esta assinatura para configurar o streaming sob demanda. O Unified Streaming assinatura é gratuito. Você paga apenas pelo uso por hora e para a transferência de dados. Você pode visualizar uma lista de preços detalhados como parte do procedimento a seguir. Para solicitar Unified Streaming para uma conta Amazon Web Services 1. Vá para o Unified Streaming (USP) AWS Marketplace página no site. 2. 3. Analisar informações sobre o produto e escolha Continue. Clique na Manual Launch with EC2 Console, APIs or CLI guia. 4. Revise as informações de preço, e escolha Accept Terms. Important Não use os botões desta página para iniciar Unified Streaming. No próximo procedimento, você cria uma pilha, que executa o AWS CloudFormation e instala uma instância do Amazon EC2 Unified Streaming. Próximo: A criação de um AWS CloudFormation Stack para streaming sob demanda (p. 333) A criação de um AWS CloudFormation Stack para streaming sob demanda Você usa um modelo de AWS CloudFormation para criar uma pilha que cria o AWS os recursos exigidos pelo streaming sob demanda. Esses recursos incluem uma instância do Amazon EC2, um bucket do Amazon S3, e uma distribuição do CloudFront. (Opcionalmente, você pode usar um bucket existente.) Important Haverá cobrança para seus recursos da AWS a partir de quando você cria o AWS CloudFormation pilha: • As cobranças por hora para as instâncias do Amazon EC2 e o load balancer e cobranças mensais para o CloudWatch continuar a provisionar até que você exclua o AWS CloudFormation stack, independentemente de você usar os recursos para fazer streaming de vídeo. API Version 2016-01-13 333 Amazon CloudFront Guia do desenvolvedor A criação de um AWS CloudFormation Stack para streaming sob demanda • Os encargos de uso para o Amazon S3 e do CloudFront dependem quanto você usar os recursos. Quando você não desejar mais usar os recursos que a pilha cria o AWS CloudFormation, exclua a pilha. Isso exclui o AWS recursos que a pilha criado e parar a AWS cobranças pelos recursos. (A exclusão de pilha não exclui o bucket do Amazon S3, pois o bucket pode conter seus arquivos de mídia.) Para obter mais informações sobre a definição de preço dos recursos, consulte AWS AWS Visão geral da definição de preços. Para obter mais informações sobre como excluir uma pilha, consulte o AWS CloudFormation Excluindo o AWS CloudFormation Stack e o Amazon S3 Bucket para streaming sob demanda (p. 339). Para obter mais informações sobre o AWS CloudFormation, consulte a documentação do AWS CloudFormation. Para criar uma pilha para o AWS CloudFormation de streaming sob demanda 1. Para iniciar o assistente Create Stack, escolha o link que corresponde à região do Amazon EC2 aplicáveis. Clique em um link no primeiro grupo ou segundo grupo, dependendo se você deseja que o AWS CloudFormation para criar um bucket do Amazon S3 para você, além da criação de uma instância do Amazon EC2 e uma distribuição do CloudFront: • Se você escolher um link no primeiro grupo, o AWS CloudFormation cria uma instância do Amazon EC2 e um bucket do Amazon S3 na região correspondente. (distribuições do CloudFront não são associados a uma região específica.) • Se você escolher um link no segundo grupo, o AWS CloudFormation cria uma instância do Amazon EC2 e solicita que você especifique o bucket do Amazon S3 que você deseja usar. Recomendamos que você escolher uma região em que você já tem um bucket do Amazon S3 para que você não são cobrados para a transferência de dados entre regiões. Crie todos os recursos necessários, incluindo um novo bucket do Amazon S3 para upload da mídia e armazenamento • Crie uma pilha no Leste dos EUA (Norte da Virgínia) • Crie uma pilha em Oeste dos EUA (Oregon) • Crie uma pilha em Oeste dos EUA (Norte da Califórnia) • Crie uma pilha no UE (Irlanda) • Crie uma pilha em UE (Frankfurt) • Crie uma pilha em Ásia-Pacífico (Cingapura) • Crie uma pilha no Ásia-Pacífico (Tóquio) • Crie uma pilha em Ásia-Pacífico (Sydney) • Crie uma pilha em América do Sul (São Paulo) Crie uma instância do Amazon EC2 e uma distribuição do CloudFront, mas usar um bucket do Amazon S3 para upload da mídia e armazenamento • Crie uma pilha no Leste dos EUA (Norte da Virgínia) • Crie uma pilha em Oeste dos EUA (Oregon) • Crie uma pilha em Oeste dos EUA (Norte da Califórnia) • Crie uma pilha no UE (Irlanda) • Crie uma pilha em UE (Frankfurt) • Crie uma pilha em Ásia-Pacífico (Cingapura) • Crie uma pilha no Ásia-Pacífico (Tóquio) API Version 2016-01-13 334 Amazon CloudFront Guia do desenvolvedor Verificando se Unified Streaming Server está sendo executado • Crie uma pilha em Ásia-Pacífico (Sydney) • Crie uma pilha em América do Sul (São Paulo) O assistente é iniciado e o URL aplicáveis aparece automaticamente no Provide an S3 URL to template campo. 2. Se você não estiver conectado no Console de gerenciamento da AWS, quando solicitado. 3. (Opcional) Altere o Stack Name. O nome da pilha não deve conter espaços e deve ser exclusivo na AWS conta. Não altere a Template opção ou o endereço Provide an S3 URL to template. 4. Clique em Next. 5. Para Amazon EC2KeyPair, insira o nome de um par de chaves do Amazon EC2 na mesma região que você escolheu na Etapa 1. O par de chaves deve ser associado à conta que você está atualmente conectado. Se você criou um par de chaves quando você executou a procedimento A criação de um par de chaves do Amazon EC2 (p. 332), insira o nome do par de chaves. 6. Se você escolher um link para usar um bucket do Amazon S3 na etapa 1, insira o nome do bucket no AmazonS3BucketName campo. 7. Para InstanceType, insira um tipo de instância, que determina a definição de preço para a sua instância do Amazon EC2. Para obter mais informações sobre os tipos de instância do Amazon EC2, consulte Tipos de instância disponíveis no Guia do usuário do Amazon EC2 para instâncias do Linux. Para obter informações sobre a definição de preço, consulte a página Unified Streaming (USP) no AWS Marketplace site. 8. Clique em Next. 9. (Opcional) Na Options página, adicione uma ou mais tags. As tags que você especificar são aplicadas para a instância do Amazon EC2 e o bucket do Amazon S3 que o AWS CloudFormation cria. No entanto, as tags não são aplicadas para o CF; a distribuição de que o AWS CloudFormation cria; o AWS CloudFormation não é compatível com a adição de tags para distribuições do CloudFront. 10. (Opcional) Para configurar notificação SNS, para especificar por quanto tempo você está disposto a esperar a pilha para ser criado, para escolher se deseja reverter alterações se a criação da pilha falhar, e inserir uma política de pilha, escolha Advanced, e ajustar as configurações conforme desejado. 11. Clique em Next. 12. Analisar as configurações para a pilha. Quando estiver satisfeito com as configurações, escolha Create, e o AWS CloudFormation cria a pilha. A criação de sua pilha pode levar vários minutos. Para acompanhar o andamento da criação da pilha, selecione a pilha e escolher a Events guia no quadro inferior. Se o AWS CloudFormation não pode criar a pilha, a guia Eventos lista mensagens de erro. Quando a sua pilha está pronto para a pilha, o status muda para CREATE_COMPLETE. Próximo: Verificando se Unified Streaming Server está sendo executado (p. 335) Verificando se Unified Streaming Server está sendo executado Após o AWS CloudFormation cria a pilha, execute o procedimento a seguir para verificar se o Unified Streaming Server está em execução na instância do Amazon EC2 que você provisionou usando o AWS CloudFormation. API Version 2016-01-13 335 Amazon CloudFront Guia do desenvolvedor Como fazer o upload do Media Files para o Amazon S3 Para verificar se Unified Streaming Server está em execução 1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Na região seletor, escolher a região em que você criou o AWS CloudFormation pilha. 3. Na lista de pilhas, selecione a pilha que você criou A criação de um AWS CloudFormation Stack para streaming sob demanda (p. 333). 4. Clique na Outputs guia. 5. Copie o URL na UnifiedServer chave, por exemplo, http:// ec2-01-2-34-567.compute-1.amazonaws.com/. 6. Cole o URL na barra de endereços em um navegador da web e pressione Enter. 7. Na página inicial de streaming unificado, escolha o jogador links para verificar se eles jogam no seu computador ou dispositivo. Se a página inicial do Unified Streaming não aparecer, volte para Streaming de mídia on demand com Unified Streaming (p. 330), e verificar se os valores que você especificou nos primeiros quatro tarefas são corretas. Próximo: Como fazer o upload do Media Files para o Amazon S3 (p. 336) Como fazer o upload do Media Files para o Amazon S3 Você usa o bucket do Amazon S3 especificado no AWS CloudFormation pilha (ou que você tiver o AWS CloudFormation criar para você) para armazenar seu conteúdo de mídia. Esses arquivos deve ser legível publicamente para que o servidor de streaming unificado pode distribuir para jogadores por meio do CloudFront. Para fazer o upload de arquivos de mídia para o seu bucket do Amazon S3 1. Analisar o Unified Streaming folha de fatos e confirmar que sua mídia é codificado em um formato que Unified Streaming oferece suporte. 2. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 3. Escolha a pilha que você criou A criação de um AWS CloudFormation Stack para streaming sob demanda (p. 333). 4. Escolha a Outputs guia. 5. Anote o valor da S3BucketName chave. Este é o bucket do Amazon S3 que você vai fazer o upload de seus arquivos de mídia. 6. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/. 7. Na lista de buckets à esquerda, selecione o nome do bucket que você fez observe de na etapa 5. 8. Escolha Upload. 9. Na caixa de Upload - Select Files and Folders diálogo, escolha Add Files. 10. Escolha os arquivos para carregar. 11. Escolha Set Details. 12. Escolha Set Permissions. 13. Escolha Make everything publice escolha Start Upload. Próximo: Reproduzindo o On-Demand Stream Em um teste de aplicativos da Web (p. 337) API Version 2016-01-13 336 Amazon CloudFront Guia do desenvolvedor Reproduzindo o On-Demand Stream Em um teste de aplicativos da Web Reproduzindo o On-Demand Stream Em um teste de aplicativos da Web Para confirmar que o streaming sob demanda está trabalhando, você reproduzir o stream de teste em um aplicativo da Web. Quando o AWS CloudFormation criou uma instância do Amazon EC2, também instalados arquivos de vídeo de amostra e dois exemplos de jogadores: • Silverlight – para o streaming de vídeos usando o protocolo Microsoft Smooth Streaming • – OSMF 2.0 para transmissão de vídeos no Adobe Flash usando o Adobe HTTP Dynamic Streaming (HDS) da Adobe protocolo Os procedimentos a seguir explicam como reproduzir o stream sob demanda usando protocolos diferentes: • Para reproduzir um vídeo usando o protocolo Microsoft Smooth Streaming (p. 337) • Para reproduzir um vídeo usando o Apple HTTP Live Streaming (HLS) (p. 337) • Para reproduzir um vídeo usando o Adobe HTTP Dynamic Streaming (HDS) (p. 338) • Para reproduzir um vídeo usando o protocolo MPEG-DASH (p. 339) Para reproduzir um vídeo usando o protocolo Microsoft Smooth Streaming 1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Na lista de pilhas do AWS CloudFormation, escolha a pilha para o streaming de HTTP sob demanda. 3. No painel inferior do console do AWS CloudFormation, selecione a Outputs guia. 4. Na Outputs guia, copie o URL no OriginS3 campo. Este é o URL para o Microsoft Smooth Streaming exemplo página da web em seu servidor de streaming unificada. 5. Cole o URL em um navegador e ir para o site. 6. Copie o valor da SmoothManifest chave e cole-o no campo URL no exemplo página da web. No exemplo seguinte URL, observe que media-file-path-excluding-bucket-name-butincluding-media-file-name é texto literal que você vai substituir na próxima etapa: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/media-file-path-excluding-bucket-name-butincluding-media-file-name/manifest 7. No exemplo página da web, substituir media-file-path-excluding-bucket-name-butincluding-media-file-name com o caminho correto do vídeo no Amazon S3 que você deseja reproduzir. Por exemplo, se o nome do arquivo de mídia é nasa_msl_launch.mp4, em seguida, o URL é o seguinte: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/nasa_msl_launch.mp4/manifest Se o vídeo é na pasta space-videos em seu bucket do Amazon S3 e, em seguida, o URL é o seguinte: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/space-videos/nasa_msl_launch.mp4/manifest Para reproduzir um vídeo usando o Apple HTTP Live Streaming (HLS) 1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. API Version 2016-01-13 337 Amazon CloudFront Guia do desenvolvedor Reproduzindo o On-Demand Stream Em um teste de aplicativos da Web 2. Na lista de pilhas do AWS CloudFormation, escolha a pilha para o streaming de HTTP sob demanda. 3. No painel inferior do console do AWS CloudFormation, selecione a Outputs guia. 4. Abra um navegador Safari em um dispositivo Apple iOS, ou abra o navegador Safari ou QuickTime Player 10.x em um computador que executa o Mac OS X Snow Leopard (versão 10.6) ou posterior. 5. Copie o valor da SmoothManifest chave e cole-o no campo URL no navegador Safari ou QuickTime Player. No exemplo seguinte URL, observe que arquivos de mídia excluindo caminhos-bucket-name, mas incluindo-media-file-name é texto literal que você vai substituir na próxima etapa: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/media-file-path-excluding-bucket-name-butincluding-media-file-name/manifest 6. No campo URL, substituir arquivos de mídia excluindo caminhos-bucket-name, mas incluindo o nome do arquivo de mídia com o caminho correto do vídeo no Amazon S3 que você deseja reproduzir. Por exemplo, se o nome do arquivo de mídia é nasa_msl_launch.mp4, em seguida, o URL é o seguinte: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/nasa_msl_launch.mp4/manifest Se o vídeo é na pasta space-videos em seu bucket do Amazon S3 e, em seguida, o URL é o seguinte: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/space-videos/nasa_msl_launch.mp4/manifest Para reproduzir um vídeo usando o Adobe HTTP Dynamic Streaming (HDS) 1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Na lista de pilhas do AWS CloudFormation, escolha a pilha para o streaming de HTTP sob demanda. 3. No painel inferior do console do AWS CloudFormation, selecione a Outputs guia. 4. Na Outputs guia, copie o URL no OriginS3 campo. Este é o URL para o Flash Player TTP exemplo página da web em seu servidor de streaming unificada. 5. Cole o URL em um navegador e ir para o site. 6. Copie o valor da HDSManifest chave e cole-o no campo URL no exemplo página da web. No exemplo seguinte URL, observe que media-file-path-excluding-bucket-name-butincluding-media-file-name é texto literal que você vai substituir na próxima etapa: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/media-file-path-excluding-bucket-name-butincluding-media-file-name/manifest 7. No campo URL, substituir arquivos de mídia excluindo caminhos-bucket-name, mas incluindo o nome do arquivo de mídia com o caminho correto do vídeo no Amazon S3 que você deseja reproduzir. Por exemplo, se o nome do arquivo de mídia é nasa_msl_launch.mp4, em seguida, o URL é o seguinte: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/nasa_msl_launch.mp4/manifest Se o vídeo é na pasta space-videos em seu bucket do Amazon S3 e, em seguida, o URL é o seguinte: API Version 2016-01-13 338 Amazon CloudFront Guia do desenvolvedor Excluindo o AWS CloudFormation Stack e o Amazon S3 Bucket para streaming sob demanda http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/space-videos/nasa_msl_launch.mp4/manifest Para reproduzir um vídeo usando o protocolo MPEG-DASH 1. Procure http://dashif.org/reference/players/javascript/index.html, que é uma lista de versões disponíveis de um MPEG-DASH cliente de teste. 2. Escolha a versão mais recente do Dash cliente. 3. Na Reference Client página, o número da versão na Stream lista, escolha um formato de streaming. 4. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 5. Na lista de pilhas do AWS CloudFormation, escolha a pilha para o streaming de HTTP sob demanda. 6. No painel inferior do console do AWS CloudFormation, selecione a Outputs guia. 7. Copie o valor da MPEGDASHManifest chave e cole-o no manifest campo na Reference Client página. No exemplo seguinte URL, observe que media-file-path-excluding-bucketname-but-including-media-file-name é texto literal que você vai substituir na próxima etapa: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/media-file-path-excluding-bucket-name-butincluding-media-file-name/manifest 8. No manifest campo, substituir media-file-path-excluding-bucket-name-butincluding-media-file-name com o caminho correto do vídeo no Amazon S3 que você deseja reproduzir. Por exemplo, se o nome do arquivo de mídia é nasa_msl_launch.mp4, em seguida, o URL é o seguinte: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/nasa_msl_launch.mp4/manifest Se o vídeo é na pasta space-videos em seu bucket do Amazon S3 e, em seguida, o URL é o seguinte: http://d111111abcdef8.cloudfront.net/unifiedhttpstreamingunifiedvods3bucket-123abc4/space-videos/nasa_msl_launch.mp4/manifest Próximo: Excluindo o AWS CloudFormation Stack e o Amazon S3 Bucket para streaming sob demanda (p. 339) Excluindo o AWS CloudFormation Stack e o Amazon S3 Bucket para streaming sob demanda Quando você não desejar mais usar essa configuração de streaming sob demanda o AWS CloudFormation HTTP, exclua a pilha. Isso exclui a maioria das AWS recursos que o AWS CloudFormation criou e interrompe a maioria das cobranças AWS pelos recursos. Além disso, se você não desejar mais o bucket do Amazon S3 que você estava usando para seus arquivos de mídia, exclua o bucket manualmente. O AWS CloudFormation não exclui o bucket automaticamente em caso de que você precisa a arquivos de mídia no bucket. Exclusão de bucket pára o restante do AWS cobranças pelos recursos. API Version 2016-01-13 339 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes Para excluir um AWS CloudFormation pilha e um bucket do Amazon S3 para streaming sob demanda 1. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. 2. Encontre o AWS CloudFormation stack que você criou para streaming sob demanda e anote no momento da criação. Isso ajudará você a identificar o volume do Amazon EBS que você vai excluir posteriormente neste procedimento. 3. Selecione a pilha que você deseja excluir e escolha Delete Stack. 4. Clique Yes, Delete para confirmar. 5. Para acompanhar o andamento da exclusão da pilha, selecione a pilha e escolher a Events guia no quadro inferior. 6. Navegue até o console do Amazon S3. 7. Escolha o nome do bucket. 8. Na All Buckets / página o nome do bucket, excluir seus arquivos. 9. Escolha All Buckets. 10. Escolha a linha para o bucket, mas não escolher o nome do bucket. 11. No Actions menu, escolha Delete. Perguntas frequentes • O que é o preço para o streaming de HTTP sob demanda e do CloudFront unificado usando Streaming? (p. 340) • Como posso usar o Secure Shell (SSH) para se conectar à minha instância do Amazon EC2 que está executando o Unified Streaming? (p. 341) • Como posso criar um alias CNAME para minha instância do Amazon EC2 ou para minha distribuição do CloudFront? (p. 341) • Posso transmitir minha mídia em vários formatos para uma variedade de dispositivos simultaneamente? (p. 342) • Como posso proteger o conteúdo? (p. 342) O que é o preço para o streaming de HTTP sob demanda e do CloudFront unificado usando Streaming? Quando você usa Unified Streaming com CloudFront, você será cobrado pelos seguintes encargos: • Unified Streaming no Amazon EC2 – Consulte Unified Streaming no AWS Marketplace. • Definição de preço– Consulte Amazon CloudFront do CloudFront. • Definição de preço doAmazon S3 – Consulte Amazon Simple Storage Service. Não há custo adicional para usar o AWS CloudFormation. API Version 2016-01-13 340 Amazon CloudFront Guia do desenvolvedor Perguntas frequentes Como posso usar o Secure Shell (SSH) para se conectar à minha instância do Amazon EC2 que está executando o Unified Streaming? Note Por padrão, a porta SSH para a instância do Amazon EC2 (porta 22) é desativado por motivos de segurança. O procedimento a seguir explica como ativar a porta SSH e como usar o SSH para se conectar à sua instância do Amazon EC2. Para habilitar o acesso a porta 22 na sua instância do Amazon EC2 que está em execução Unified Streaming 1. Obtenha o nome do grupo de segurança do Amazon EC2 associada a sua instância do Amazon EC2: a. Faça login no Console de gerenciamento da AWS e abra o console da AWS CloudFormation em https://console.aws.amazon.com/cloudformation/. b. Na lista Região, selecione a região onde você criou sua instância do Amazon EC2. c. Clique na linha para seu AWS CloudFormation pilha. d. No painel inferior, escolha o Resources guia. e. Na coluna da esquerda da Stack Resources tabela, localize a linha para a qual o valor é AMSOriginServerSecurityGroup. f. Para linha, anote o valor da Physical ID coluna. 2. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/. 3. No painel de navegação, escolha Security Groups. 4. Na página Grupos de segurança, selecione a linha na qual a Name coluna corresponde à ID física que você obteve na Etapa 1f. 5. No painel inferior, escolha o Inbound guia. 6. Para Create a new rule, selecione SSH. 7. Clique em Add Rule. 8. Clique em Apply Rule Changes. Para usar o SSH para se conectar à sua instância do Amazon EC2 que está em execução Unified Streaming 1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/. 2. No painel de navegação, escolha Instances. 3. Clique com o botão direito do mouse na instância correta e escolha Connect para ver instruções sobre como usar o SSH para se conectar à sua instância do Amazon EC2. O nome do usuário é ubuntu. Como posso criar um alias CNAME para minha instância do Amazon EC2 ou para minha distribuição do CloudFront? Sua instância do Amazon EC2 executando Unified Streaming tem um nome DNS internos e externos. O Amazon EC2 não fornece acesso ao modificar essas configurações de DNS. Se você deseja mapear um nome de domínio existente para sua instância do Amazon EC2 que está executando o API Version 2016-01-13 341 Amazon CloudFront Guia do desenvolvedor Documentação adicional Unified Streaming, use um provedor de serviço de DNS, como Amazon Route 53. Ao usar seu próprio nome de domínio, recomendamos que você crie um conjunto de registros de recurso CNAME que mapeia o seu nome de domínio para o nome DNS externa para a sua instância do Amazon EC2. Como alternativa, se você associar um endereço Elastic IP à sua instância do Amazon EC2, você pode criar um registro que aponta para o endereço Elastic IP. Para obter informações sobre como usar o seu próprio nome de domínio com sua distribuição do CloudFront, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Posso transmitir minha mídia em vários formatos para uma variedade de dispositivos simultaneamente? Sim. Unified Streaming é compatível com o streaming de conteúdo para uma grande variedade de dispositivos usando os seguintes protocolos: • Adobe HTTP Dynamic Streaming (HDS) da Adobe • Apple HTTP Live Streaming (HLS) da Apple • Microsoft Smooth Streaming • MPEG-DASH Como posso proteger o conteúdo? Unified Streaming é compatível com vários DRM, criptografia (AES) e os esquemas de proteção baseada em tokens. Para obter mais informações sobre DRM, consulte Unified Origin (DRM) no Unified Streaming site. Para obter tutoriais sobre as tecnologias individuais, consulte as seguintes páginas no site: Streaming unificado • Adobe Access • KeyOS PlayReady • EZDRM PlayReady • HTTP Live Streaming com AES Para estratégias de acesso com base em tokens, consulte as seguintes páginas no site: Streaming unificado • Proteger o vídeo 'HttpSecureLinkModuleapresentações com Ngix • Proteger suas apresentações de vídeo com o Apache mod_auth_tokenda Documentação adicional Outros recursos e documentação de streaming unificado O Unified Streaming site inclui vários recursos, incluindo tutoriais que explicam como configurar o Unified Streaming, bem como a documentação detalhada de opções. • Documentação • Tutoriais • Perguntasfrequentes Documentação de uma conta Amazon Web Services Os links a seguir levam a documentação para os serviços da AWS usados neste tutorial: API Version 2016-01-13 342 Amazon CloudFront Guia do desenvolvedor Documentação adicional • documentaçãohttp://aws.amazon.com/documentation/cloudformationAWS CloudFormation • documentaçãodoAmazon Elastic Compute Cloud • documentaçãodoAmazon Simple Storage Service API Version 2016-01-13 343 Amazon CloudFront Guia do desenvolvedor O uso de streaming de vídeo on-demand do CloudFront e Adobe Flash Player O uso de streaming de vídeo on-demand do CloudFront e Adobe Flash Player Ao transmitir arquivos de mídia usando CloudFront, você fornecer seu arquivo de mídia e o reprodutor de mídia com o qual você deseja que os usuários finais para reproduzir o arquivo de mídia. Para usar o Adobe Flash Player para transmitir arquivos de mídia com os procedimentos do CloudFront, execute os seguintes tópicos: 1. A criação de um bucket do Amazon S3 (p. 344) 2. A criação do CloudFront Web e distribuições RTMP (p. 345) 3. A criação de um Projeto Flash Usando o Adobe Flash Builder (p. 345) 4. Carregando Media e Flash Builder arquivos para um bucket do Amazon S3 (p. 347) 5. Reproduzindo o arquivo de mídia (p. 347) Este tutorial usa o Adobe Flash Builder versão 4.6 para gerar os arquivos necessários para transmitir um vídeo usando o Adobe Flash Player. Para obter mais informações sobre o Flash Builder, vá para a página Flash Builder no site da Adobe. Para obter mais informações sobre o download de um teste gratuito versão do Adobe Flash Builder, consulte o Downloads/Adobe Flash Builder 4.6 página. Para obter uma lista dos codecs que oferece suporte ao Flash Player, vá para a página Codecs Suportados | Flash Player no site da Adobe. Para obter mais informações sobre o uso de mídia de streaming do CloudFront, consulte Trabalhando com distribuições RTMP (p. 86). A criação de um bucket do Amazon S3 Você pode fazer o upload de seus arquivos de mídia e seu media player arquivos para o mesmo bucket do Amazon S3 ou para separar buckets. Para este tutorial, você criará um bucket para um arquivo de mídia e o Flash Player media player arquivos. Você vai carregar os arquivos mais tarde no processo, depois de criar o Adobe Flash Player arquivos. Para criar um bucket do Amazon S3 1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon S3 em https:// console.aws.amazon.com/s3/. 2. No console do Amazon S3, escolha Create Bucket. 3. Na caixa de Create Bucket diálogo, insira um nome de bucket. Important Para o seu bucket para trabalhar com CloudFront, o nome deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. 4. Selecione uma região para o seu bucket. Por padrão, o Amazon S3 cria buckets na região US Standard. Recomendamos que você escolher uma região perto de você para otimizar a latência, minimizar custos ou atender aos requisitos regulatórios. 5. Escolha Create. API Version 2016-01-13 344 Amazon CloudFront Guia do desenvolvedor A criação do CloudFront Web e distribuições RTMP A criação do CloudFront Web e distribuições RTMP Para configurar um arquivo de mídia para fazer streaming do CloudFront, você precisa de uma distribuição RTMP do CloudFront. Para este tutorial, você também cria uma distribuição de web do CloudFront para acessar o Adobe Flash Builder.hlml arquivo que cria. Execute as seguintes dois procedimentos. Para criar uma distribuição de web do CloudFront 1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/. 2. Escolha Create Distribution. 3. Na primeira página do Create Distribution Wizard, na Web seção, escolha Get Started. 4. Na segunda página do assistente, escolha no Origin Domain Name campo e selecione o bucket do Amazon S3 que você criou no procedimento Para criar um bucket do Amazon S3 (p. 344). Se você tem uma grande quantidade de buckets do Amazon S3, você pode digitar os primeiros caracteres do nome do bucket para filtrar a lista. 5. Aceite os valores padrão para os campos restantes e escolha Create Distribution. 6. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. (Ele também é exibido na General guia para uma distribuição selecionada.) Para criar uma distribuição RTMP do CloudFront 1. No console do CloudFront, escolha Create Distribution. 2. No Create Distribution Wizard, na RTMP seção, escolha Get Started. 3. Na segunda página do assistente, escolha no Origin Domain Name campo e selecione o bucket do Amazon S3 que você criou no procedimento Para criar um bucket do Amazon S3 (p. 344). Se você tem uma grande quantidade de buckets do Amazon S3, você pode digitar os primeiros caracteres do nome do bucket para filtrar a lista. 4. Aceite os valores padrão para os campos restantes na Create Distribution página, e escolha Create Distribution. 5. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. O nome de domínio também é exibido na General guia para uma distribuição selecionada. A criação de um Projeto Flash Usando o Adobe Flash Builder Você pode usar o Adobe Flash Builder para criar automaticamente um projeto Flash, que contém todos os arquivos necessários para reproduzir um arquivo de mídia usando o Adobe Flash. Para criar um projeto usando o Adobe Flash Builder Flash 1. Inicie o Adobe Flash Builder. 2. No File menu Flash Builder, escolha New > Flex Project. API Version 2016-01-13 345 Amazon CloudFront Guia do desenvolvedor A criação de um Projeto Flash Usando o Adobe Flash Builder 3. Insira os seguintes valores: • Project name: Insira um nome para seu projeto, por exemplo, CloudFrontStreaming. • Folder: Especifique onde você deseja que o Flash Builder para salvar os arquivos para este projeto. Se você não deseja usar o local padrão, desmarque a caixa de Use default location seleção e escolher outro local. Anote o local; você precisará dele mais tarde no processo. • Application type: Aceite o valor padrão, Web. • Flex SDK version: Aceite o valor padrão, Use default SDK. 4. Para criar o projeto, escolha Finish. Após o Flash Builder cria o projeto, uma nova guia com o nome do seu projeto Flash Builder aparece na interface do usuário. O Source botão na <project-name> guia é selecionada e a Source página contém várias linhas de código XML. 5. Excluir o código XML padrão na Source página. 6. Copie o seguinte código XML e cole-o na Source página em branco no Adobe Flash Builder. <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Declarations> <!-- Place non-visual elements here, for example, services and value objects --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.events.FlexEvent; import org.osmf.net.StreamingURLResource; import org.osmf.net.FMSURL; protected function vp_preinitializeHandler(event:FlexEvent): void { var myURL:StreamingURLResource = new StreamingURLResource("rtmp://RTMP-DISTRIBUTION-DOMAIN-NAME/cfx/st/ mp4:VIDEO-FILE-NAME-WITHOUT-EXTENSION"); myURL.urlIncludesFMSApplicationInstance = true; myVideoPlayer.source = myURL; } ]]> </fx:Script> <s:VideoPlayer id="myVideoPlayer" autoPlay="true" preinitialize="vp_preinitializeHandler(event)" x="32" y="52"/> </s:Application> 7. No código XML que você colado na Source página, substituir os seguintes valores: • Substitua RTMP-DISTRIBUTION-DOMAIN-NAME com o nome de domínio do CloudFront para a sua distribuição RTMP, por exemplo, s5c39gqb8ow64r.cloudfront.net. • Substitua VIDEO-FILE-NAME-WITHOUT-EXTENSION com o nome do seu arquivo de vídeo, mas excluir a extensão do nome do arquivo. Por exemplo, se o nome do seu vídeo é meuvacation.mp4, insira apenas my-vacation. 8. Salve suas alterações. 9. No Project menu Flash Builder, escolha Export Release Build. 10. Na caixa de Export Release Build diálogo, aceite todos os valores padrão, e escolha Finish. API Version 2016-01-13 346 Amazon CloudFront Guia do desenvolvedor Carregando Media e Flash Builder arquivos para um bucket do Amazon S3 Flash Builder cria os arquivos para o seu projeto e economiza-los no local especificado na etapa 3. Carregando Media e Flash Builder arquivos para um bucket do Amazon S3 Quando você usa o Adobe Flash Builder para gerar os arquivos para o streaming de arquivos de mídia, você pode fazer o upload de arquivos de mídia e Flash Builder arquivos para o mesmo bucket do Amazon S3. Para fazer o upload de sua mídia e Flash Builder arquivos para um bucket do Amazon S3 1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon S3 em https:// console.aws.amazon.com/s3/. 2. 3. No Buckets painel, selecione seu bucket e escolha Upload. Na Upload - Select Files página, escolha Add Filese adicione os seguintes arquivos: • Seu arquivo de mídia • Os arquivos que o Flash Builder gerados quando você executou o procedimento Para criar um projeto usando o Adobe Flash Builder Flash (p. 345). Enviar somente os arquivos no binrelease diretório. Você pode excluir os arquivos no bin-release/history subdiretório. 4. 5. Conceder permissões de leitura públicos para os arquivos que você adicionou na etapa anterior. a. Escolha Set Details. b. c. Na Set Details página, escolha Set Permissions. Na Set Permissions página, escolha Make everything public. Escolha Start Upload. Reproduzindo o arquivo de mídia Para reproduzir o arquivo de mídia, você exibir o arquivo HTML que o Flash Builder criados para o seu projeto e que você carregou para o seu bucket do Amazon S3. Para reproduzir o arquivo de mídia 1. Insira o URL do arquivo HTML do CloudFront que o Flash Builder criado para o seu projeto, concatenando os seguintes valores: http://domain-name-for-your-CloudFront-distribution/HTML-file-name Por exemplo: http://d111111abcdef8.cloudfront.net/CloudFrontStreaming.html 2. No reprodutor de vídeo, escolha o botão de seta. O vídeo deve começar a reproduzir. API Version 2016-01-13 347 Amazon CloudFront Guia do desenvolvedor O uso de streaming de vídeo on-demand e do CloudFront Flowplayer para Adobe Flash O uso de streaming de vídeo on-demand e do CloudFront Flowplayer para Adobe Flash Ao transmitir arquivos de mídia usando CloudFront, você fornecer seu arquivo de mídia e o reprodutor de mídia com o qual você deseja que os usuários finais para reproduzir o arquivo de mídia. Para usar o Flowplayer para Adobe Flash Media Player para transmitir arquivos de mídia com os procedimentos do CloudFront, execute os seguintes tópicos: 1. Carregando mídia e Flowplayer arquivos para um bucket do Amazon S3 (p. 348) 2. A criação do CloudFront Web e distribuições RTMP (p. 349) 3. A incorporação de vídeo em uma página HTML (p. 350) Note Para fazer streaming de vídeo usando Flowplayer e do CloudFront para o Adobe Flash, os usuários devem ativar o Javascript no navegador. Este tutorial é baseado na versão 3.2.12 de Flowplayer para Adobe Flash. Para obter mais informações sobre o Flash, consulte o Flowplayer Flowplayer Flash site. Para obter uma lista dos formatos de vídeo que Flowplayer Flash é compatível com os formatos de vídeo, consulte a documentação do desenvolvedor no Flowplayer Flowplayer sobre o ambiente de desenvolvimento. Note 5 HTML Flowplayer lançou uma versão de seu media player. Os procedimentos a seguir apenas funcionam com o Flash, não com Flowplayer Flowplayer HTML5. Para obter mais informações sobre o uso de mídia de streaming do CloudFront, consulte Trabalhando com distribuições RTMP (p. 86). Carregando mídia e Flowplayer arquivos para um bucket do Amazon S3 Você pode fazer o upload de seus arquivos de mídia e seu media player arquivos para o mesmo bucket do Amazon S3 ou para separar buckets. Para este tutorial, você vai fazer o upload de um arquivo de mídia.mp4 Flowplayer reprodutor de mídia e os arquivos para o mesmo bucket. Para fazer o upload de mídia e Flowplayer arquivos para um bucket do Amazon S3 1. Baixe os seguintes arquivos da Flowplayer site: • O Flowplayer media player. Depois de fazer o download Flowplayer, extrair o conteúdo do arquivo.zip. • flowplayer.rtmp-3.2.10.swf. Este é um plug-in que permite Flowplayer para fazer streaming de vídeo usando o protocolo RTMP. O arquivo está disponível na página Flowplayer RTMP no site. 2. Faça login no Console de gerenciamento da AWS e abra o console da Amazon S3 em https:// console.aws.amazon.com/s3/. 3. No console do Amazon S3, escolha Create Bucket. 4. Na caixa de Create Bucket diálogo, insira um nome de bucket. API Version 2016-01-13 348 Amazon CloudFront Guia do desenvolvedor A criação do CloudFront Web e distribuições RTMP Important Para o seu bucket para trabalhar com CloudFront, o nome deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. 5. Selecione uma região para o seu bucket. Por padrão, o Amazon S3 cria buckets na região US Standard. Recomendamos que você escolher uma região perto de você para otimizar a latência, minimizar custos ou atender aos requisitos regulatórios. 6. Escolha Create. 7. Selecione seu bucket no Buckets painel e escolha Upload. 8. Na Upload - Select Files página, escolha Add Filese adicione os seguintes arquivos (o Flowplayer os números de versão em seus arquivos podem ser diferentes): • flowplayer.controls-3.2.12.swf • flowplayer-3.2.11.min.js • flowplayer-3.2.12.swf • flowplayer.rtmp-3.2.10.swf • Seu arquivo de mídia no formato.mp4 9. Conceder permissões de leitura públicos para os arquivos que você adicionou na etapa anterior. a. Escolha Set Details. b. Na Set Details página, escolha Set Permissions. c. Na Set Permissions página, escolha Make everything public. 10. Escolha Start Upload. A criação do CloudFront Web e distribuições RTMP Para configurar um arquivo de mídia para fazer streaming do CloudFront, você precisa de uma distribuição de web do CloudFront para o Flowplayer arquivos e uma distribuição RTMP para o arquivo de mídia. Execute as seguintes dois procedimentos para criar uma distribuição de web e uma distribuição RTMP. Para criar uma distribuição de web do CloudFront para seu Flowplayer arquivos 1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/. 2. Escolha Create Distribution. 3. Na primeira página do Create Distribution Wizard, na Web seção, escolha Get Started. 4. Na segunda página do assistente, escolha no Origin Domain Name campo e selecione o bucket do Amazon S3 que você criou no procedimento Para fazer o upload de mídia e Flowplayer arquivos para um bucket do Amazon S3 (p. 348). Se você tem uma grande quantidade de buckets do Amazon S3, você pode digitar os primeiros caracteres do nome do bucket para filtrar a lista. 5. Aceite os valores padrão para os campos restantes e escolha Create Distribution. 6. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Isso deve demorar menos de 15 minutos. API Version 2016-01-13 349 Amazon CloudFront Guia do desenvolvedor A incorporação de vídeo em uma página HTML O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. (Ele também é exibido na General guia para uma distribuição selecionada.) Para criar uma distribuição RTMP do CloudFront para seu arquivo de mídia 1. No console do CloudFront, escolha Create Distribution. 2. No Create Distribution Wizard, na RTMP seção, escolha Get Started. 3. Na segunda página do assistente, escolha no Origin Domain Name campo e selecione o bucket do Amazon S3 que você criou no procedimento Para fazer o upload de mídia e Flowplayer arquivos para um bucket do Amazon S3 (p. 348). Se você tem uma grande quantidade de buckets do Amazon S3, você pode digitar os primeiros caracteres do nome do bucket para filtrar a lista. 4. Aceite os valores padrão para os campos restantes na Create Distribution página, e escolha Create Distribution. 5. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. O nome de domínio também é exibido na General guia para uma distribuição selecionada. A incorporação de vídeo em uma página HTML O arquivo HTML de exemplo a seguir mostra como transmitir um vídeo usando a web e distribuições RTMP que você criou A criação do CloudFront Web e distribuições RTMP (p. 349). Para usar essa amostra para reproduzir o vídeo, execute as seguintes etapas: 1. Copie o código HTML abaixo e cole-o em um editor de texto. 2. Analisar os comentários no arquivo HTML, e substituir os seguintes marcadores com os valores aplicáveis: • WEB-DISTRIBUIÇÃO-DOMAIN-NAME • VÍDEO-FILE-NAME • RTMP-DISTRIBUIÇÃO-DOMAIN-NAME 3. Salve o arquivo com uma extensão de arquivo.html, por exemplo, flowplayer-example.html. 4. Abra o arquivo.html em um navegador da web e reproduzir o vídeo. <HTML> <HEAD> <TITLE>Amazon CloudFront Streaming with Flowplayer</TITLE> </HEAD> <BODY> <H1>This video is streamed by CloudFront and played in Flowplayer.</H1> <!-- This HTML file plays an MP4 media file using Flowplayer. Replace all instances of WEB-DISTRIBUTION-DOMAIN-NAME with the domain name of your CloudFront web distribution, for example, d111111abcdef8.cloudfront.net (begins with "d"). API Version 2016-01-13 350 Amazon CloudFront Guia do desenvolvedor A incorporação de vídeo em uma página HTML Update the version number that appears in the flowplayer-version filenames with the version number of the files that you downloaded from the Flowplayer website. The files may not have the same version number. Ensure that URLs don't contain any spaces. --> <!-- Call the Flowplayer JavaScript file. --> <script src="http://WEB-DISTRIBUTION-DOMAIN-NAME/flowplayer-3.2.11.min.js"></ script> <!-- Style section. Specify the attributes of the player such as height, width, color, and so on. --> <style> a.rtmp { display:block; width:720px; height:480px; margin:25px 0; text-align:center; background-color:black; } </style> <!-- Replace VIDEO-FILE-NAME with the name of your .mp4 video file, excluding the .mp4 filename extension. For example, if you uploaded a file called my-vacation-video.mp4, enter my-vacation-video. If you're streaming an .flv file, use the following format: <a class="rtmp" href="VIDEO-FILE-NAME"/> --> <a class="rtmp" href="mp4:VIDEO-FILE-NAME"/> <script type="text/javascript"> $f("a.rtmp", "http://WEB-DISTRIBUTION-DOMAIN-NAME/flowplayer-3.2.12.swf", { // Configure Flowplayer to use the RTMP plugin for streaming. clip: { provider: 'rtmp' }, // Specify the location of the RTMP plugin. plugins: { rtmp: { url: 'http://WEB-DISTRIBUTION-DOMAIN-NAME/ flowplayer.rtmp-3.2.10.swf', // Replace RTMP-DISTRIBUTION-DOMAIN-NAME with the domain name of your // CloudFront RTMP distribution, for example, s5c39gqb8ow64r.cloudfront.net. netConnectionUrl: 'rtmp://RTMP-DISTRIBUTION-DOMAIN-NAME/cfx/st' } } }); </script> </BODY> API Version 2016-01-13 351 Amazon CloudFront Guia do desenvolvedor A incorporação de vídeo em uma página HTML </HTML> API Version 2016-01-13 352 Amazon CloudFront Guia do desenvolvedor O uso de streaming de vídeo ondemand e do CloudFront JW Player O uso de streaming de vídeo on-demand e do CloudFront JW Player Ao transmitir arquivos de mídia usando CloudFront, você fornecer seu arquivo de mídia e o reprodutor de mídia com o qual você deseja que os usuários finais para reproduzir o arquivo de mídia. Para usar o JW Player media player para transmitir arquivos de mídia com os procedimentos do CloudFront, execute os seguintes tópicos: 1. Carregando o JW Player de mídia e arquivos para um bucket do Amazon S3 (p. 353) 2. A criação do CloudFront Web e distribuições RTMP (p. 354) 3. A incorporação de vídeo em uma página da Web (p. 355) 4. Carregando o arquivo HTML e Reprodução do vídeo (p. 356) Este tutorial é baseado na versão gratuita de JW Player versão 7.3. Para obter mais informações sobre o JW Player, acesse o site JW Player. Para obter mais informações sobre o uso de mídia de streaming do CloudFront, consulte Trabalhando com distribuições RTMP (p. 86). Carregando o JW Player de mídia e arquivos para um bucket do Amazon S3 Você pode fazer o upload de seus arquivos de mídia e seu media player arquivos para o mesmo bucket do Amazon S3 ou para separar buckets. Para este tutorial, você vai fazer o upload de um arquivo de mídia.mp4 ou.flv e o JW Player media player arquivos para o mesmo bucket. Para fazer o upload de arquivos de mídia e o JW Player para um bucket do Amazon S3 1. Se você ainda não tem os arquivos para o JW Player media player, faça o download do jogador (JW Player 7) a partir da página Downloads no site JW Player. Em seguida, extraia o conteúdo do arquivo.zip. 2. Faça login no Console de gerenciamento da AWS e abra o console da Amazon S3 em https:// console.aws.amazon.com/s3/. 3. No console do Amazon S3, escolha Create Bucket. 4. Na caixa de Create Bucket diálogo, insira um nome de bucket. Important Para o seu bucket para trabalhar com CloudFront, o nome deve estar de acordo com os requisitos de nomeação de DNS. Para obter mais informações, consulte Bucket Restrictions and Limitations no Guia do desenvolvedor do Amazon Simple Storage Service. 5. Selecione uma região para o seu bucket. Por padrão, o Amazon S3 cria buckets na região US Standard. Recomendamos que você escolher uma região perto de você para otimizar a latência, minimizar custos ou atender aos requisitos regulatórios. 6. Escolha Create. 7. Selecione seu bucket no Buckets painel e escolha Upload. 8. Na Upload - Select Files página, escolha Add Filese adicione os seguintes arquivos: • jwplayer.flash.swf • jwplayer.js API Version 2016-01-13 353 Amazon CloudFront Guia do desenvolvedor A criação do CloudFront Web e distribuições RTMP • Sua.mp4 ou.flv arquivo de mídia. 9. Conceder permissões de leitura públicos para os arquivos que você adicionou na etapa anterior. a. Escolha Set Details. b. Na Set Details página, escolha Set Permissions. c. Na Set Permissions página, escolha Make everything public. 10. Escolha Start Upload. A criação do CloudFront Web e distribuições RTMP Para configurar um arquivo de mídia para fazer streaming do CloudFront, você precisa de uma distribuição de web do CloudFront para o JW Player arquivos e um arquivo HTML e uma distribuição RTMP para o arquivo de mídia. Execute as seguintes dois procedimentos para criar uma distribuição de web e uma distribuição RTMP. Para criar uma distribuição de web do CloudFront para seus arquivos JW Player 1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/. 2. Escolha Create Distribution. 3. Na primeira página do Create Distribution Wizard, na Web seção, escolha Get Started. 4. Na segunda página do assistente, escolha no Origin Domain Name campo e selecione o bucket do Amazon S3 que você criou no procedimento Para fazer o upload de arquivos de mídia e o JW Player para um bucket do Amazon S3 (p. 353). Se você tem uma grande quantidade de buckets do Amazon S3, você pode digitar os primeiros caracteres do nome do bucket para filtrar a lista. 5. Aceite os valores padrão para os campos restantes e escolha Create Distribution. 6. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. O nome de domínio também é exibido na página Configurações de distribuição para uma distribuição.) Para criar uma distribuição RTMP do CloudFront para seu arquivo de mídia 1. No console do CloudFront, escolha Create Distribution. 2. No Create Distribution Wizard, na RTMP seção, escolha Get Started. 3. Na segunda página do assistente, escolha no Origin Domain Name campo e selecione o bucket do Amazon S3 que você criou no procedimento Para fazer o upload de arquivos de mídia e o JW Player para um bucket do Amazon S3 (p. 353). Se você tem uma grande quantidade de buckets do Amazon S3, você pode digitar os primeiros caracteres do nome do bucket para filtrar a lista. 4. Aceite os valores padrão para os campos restantes na Create Distribution página, e escolha Create Distribution. 5. Depois do CloudFront cria sua distribuição, o valor da Status coluna para a sua distribuição será alterado de InProgress para Deployed. Isso deve demorar menos de 15 minutos. O nome de domínio que atribui para a sua distribuição do CloudFront aparece na lista de distribuições. O nome de domínio também é exibido na página Configurações de distribuição para uma distribuição. API Version 2016-01-13 354 Amazon CloudFront Guia do desenvolvedor A incorporação de vídeo em uma página da Web A incorporação de vídeo em uma página da Web O exemplo a seguir mostra como incorporar um vídeo em uma página da web usando a web e distribuições RTMP que você criou A criação do CloudFront Web e distribuições RTMP (p. 354). Execute as seguintes etapas: 1. Cadastre-se no site JW Player. Se você ainda não tem uma conta do JW Player, crie um. 2. Na página Downloads, obtenha a chave de licença para o jogador que você baixou anteriormente neste tutorial. 3. Copie o código HTML abaixo e cole-o em um editor de texto. 4. Analisar os comentários no arquivo HTML, e substituir os seguintes marcadores com os valores aplicáveis: • WEB-DISTRIBUIÇÃO-DOMAIN-NAME • RTMP-DISTRIBUIÇÃO-DOMAIN-NAME • VÍDEO-FILE-NAME • LICENÇA-KEY 5. Salve o arquivo com uma extensão de arquivo.html, por exemplo, jwplayer-example.html. <HTML> <HEAD> <TITLE>Amazon CloudFront Streaming with JW Player 7</TITLE> <!-- Call the JW Player JavaScript file, jwplayer.js. Replace WEB-DISTRIBUTION-DOMAIN-NAME with the domain name of your CloudFront web distribution, for example, d1234.cloudfront.net (begins with "d"). This causes a browser to download the JW Player file before streaming begins. Replace LICENSE-KEY with your personal license key from JW Player. --> <script type='text/javascript' src='WEB-DISTRIBUTION-NAME/jwplayer.js'></ script> <script type='text/javascript' src='WEB-DISTRIBUTION-NAME/ jwplayer.flash.swf'></script> <script>jwplayer.key="LICENSE-KEY";</script> </HEAD> <BODY> <H1>This video is streamed by CloudFront and played by JW Player 7.</H1> <!-- Replace RTMP-DISTRIBUTION-DOMAIN-NAME with the domain name of your RTMP distribution, for example, s5678.cloudfront.net (begins with "s"). Replace VIDEO-FILE-NAME with the name of your .mp4 or .flv video file, including the .mp4 or .flv filename extension. For example, if you uploaded my-vacation.mp4, enter my-vacation.mp4. You might need to prepend "mp4:" to the name of your video file, for example, mp4:my-vacation.mp4. If the file is in a subdirectory, include the subdirectory name just before API Version 2016-01-13 355 Amazon CloudFront Guia do desenvolvedor Carregando o arquivo HTML e Reprodução do vídeo the file name, for example: "rtmp://RTMP-DISTRIBUTION-DOMAIN-NAME/cfx/st/sample-directory/VIDEO-FILENAME" --> <div id="my-video"></div> <script type="text/javascript"> jwplayer("my-video").setup({ file: "rtmp://RTMP-DISTRIBUTION-DOMAIN-NAME/cfx/st/VIDEO-FILE-NAME", width: "720", height: "480", primary: "flash" }); </script> </BODY> </HTML> Carregando o arquivo HTML e Reprodução do vídeo Para reproduzir o vídeo usando o arquivo HTML que você criou no A incorporação de vídeo em uma página da Web (p. 355), fazer o upload do arquivo para o seu bucket do Amazon S3, e usar o URL para a sua distribuição do CloudFront. Para fazer o upload do arquivo HTML e reproduzir o vídeo 1. 2. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/. Selecione seu bucket, e escolha Upload. 3. 4. Na Upload - Select Files página, escolha Add Filese adicione o arquivo HTML. Conceder permissões de leitura públicos para o arquivo HTML que você adicionou na etapa anterior. a. b. Escolha Set Details. Na Set Details página, escolha Set Permissions. 5. c. Na Set Permissions página, escolha Make everything public. Escolha Start Upload. 6. Para reproduzir o vídeo, insira o URL a seguir em um navegador da web: http://domain name of your CloudFront web distribution/your HTML file name API Version 2016-01-13 356 Amazon CloudFront Guia do desenvolvedor Limites entidades do CloudFront estão sujeitas aos seguintes limites. Entidade Limite A taxa de transferência de dados por distribuição 10 Gbps Solicitar um limitemaior As solicitações por segundo por distribuição 15,000 Solicitar um limitemaior Web AWS distribuições por conta 200 Para obter mais informações, consulte Trabalhando com Distribuições de web (p. 54). Solicitar um limitemaior As distribuições RTMP por AWS conta 100 Para obter mais informações, consulte Trabalhando com distribuições RTMP (p. 86). Solicitar um limitemaior Alternar nomes de domínio (CNAMEs) por distribuição 100 Para obter mais informações, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). Solicitar um limitemaior Origens por distribuição 25 Solicitar um limitemaior comportamentos de cache por distribuição 25 Solicitar um limitemaior Inserido na lista segura cabeçalhos por comportamento de cache 10 Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). Solicitar um limitemaior API Version 2016-01-13 357 Amazon CloudFront Guia do desenvolvedor Entidade Limite Inserido na lista segura cookies por comportamento de cache 10 Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). Solicitar um limitemaior O número total de bytes em nomes de cookie na lista branca (não se aplica se você configurar do CloudFront para encaminhar todos os cookies para a origem) 512 menos o número de cookies na lista branca cabeçalhos personalizados: número máximo de cabeçalhos personalizados que você pode configurar para encaminhar para a origem do CloudFront 10 pares nome/valor Solicitar um limitemaior Para obter mais informações, consulte Encaminhando Cabeçalhos Personalizados para sua origem (Web Distribuições Somente) (p. 113). cabeçalhos personalizados: tamanho máximo de um nome de cabeçalho 256 caracteres cabeçalhos personalizados: tamanho máximo de um valor do cabeçalho 2.048 caracteres cabeçalhos personalizados: tamanho máximo de todos os valores de cabeçalho e nomes combinados 10.240 caracteres certificados SSL por AWS conta quando atendendo a solicitações HTTPS usando endereços IP dedicados (sem limite quando atendendo a solicitações HTTPS usando SNI) 2 Solicitar um limitemaior Para obter mais informações, consulte Usando uma conexão HTTPS para acessar seus objetos (p. 235). certificados SSL que podem ser associados a uma distribuição do CloudFront 1 Os objetos que você pode servir por distribuição Ilimitado Tamanho máximo do arquivo para HTTP GET, POST, e solicitações PUT 20 GB O tamanho máximo de uma solicitação, incluindo cabeçalhos e sequências 20, 480 bytes de caracteres de consulta O tamanho máximo de um URL 8,192 bytes A compactação do arquivo: variedade de tamanhos de arquivos que CloudFront compacta 1.000 a 10.000.000 bytes Para obter mais informações, consulte Distribuição de arquivos compactados (p. 137). anulação de objetos: número máximo de objetos permitidos em solicitações de anulação ativas, excluindo invalidações curinga 3,000 Para obter mais informações, consulte Distribuições (Web Invalidating Objects Somente) (p. 123). anulação de objetos: número máximo de ativos permitido invalidações curinga 15 anulação de objetos: o número máximo de objetos que um curinga pode processar anulação Ilimitado API Version 2016-01-13 358 Amazon CloudFront Guia do desenvolvedor Documentação Amazon CloudFront adicionais Recursos Amazon CloudFront Embora bastante simples de usar, ele é rica na funcionalidade. Os recursos listados aqui pode ajudar você a saber mais sobre ele. Tópicos • Documentação Amazon CloudFront adicionais (p. 359) • Conceitos de suporte (p. 359) • Ferramentas do desenvolvedor do CloudFront e SDKs (p. 360) • Uso do Registro do CloudFront (p. 360) • Dicas adicionais do Blog de uma conta Amazon Web Services (p. 360) • Anulação de objetos (p. 361) • A distribuição Streaming Media (p. 361) • Entre os exemplos de código e ferramentas para configurar conteúdo privado (p. 361) • O uso do CloudFront com um sistema de gerenciamento de conteúdo (p. 362) Documentação Amazon CloudFront adicionais Os seguintes recursos relacionados pode ajudá-lo à medida que você utilizar este serviço. • Fornece descriçõesAmazon CloudFront API Reference – completa de todas as ações de API, parâmetros e tipos de dados e uma lista de erros que o serviço retorna. • Uma visão geral de alto nívelHistórico do documento (p. 364) – atuais e versões anteriores com atenção para novos recursos, correções, problemas conhecidos e aprimoramentos de documentação. • Documentaçãotécnica para o Amazon Simple Storage Service (S3) – Uma discussão detalhada do serviço do Amazon S3, incluindo os conceitos básicos de conceitos básicos, uma visão geral do serviço, uma referência de programação e uma referência da API. • Para encontrar informações sobre oAmazon CloudFront – A primeira página da web para obter informações sobre a definição de preço do CloudFront, incluindo os recursos e informações. • Termos de uso – Informações detalhadas sobre nossos direitos autorais e marca registrada; sua conta, licença e acesso ao site; e outros tópicos. Conceitos de suporte O suporte para CloudFront está disponível em uma série de formas. API Version 2016-01-13 359 Amazon CloudFront Guia do desenvolvedor Ferramentas do desenvolvedor do CloudFront e SDKs • fóruns dediscussão – Uma comunidade com base em u, fórum para desenvolvedores discutirem questões técnicas relacionadas à do CloudFront. • AWS Support Center – Este site reúne informações sobre seus recente casos de suporte e resultados da AWS Trusted Advisor e verificações de saúde, bem como fornecer links para fóruns de discussão, Perguntas técnicas frequentes, o painel de saúde de serviço e informações sobre os planos de suporte da AWS. • Informações sobreo AWS Premium Support – A página principal da web para informações sobre o AWS Premium Support, um canal de suporte de resposta rápida um a um para ajudar na criação e na execução de aplicativos nos Serviços de Infraestrutura da AWS. • Entre em contato conosco – Links para perguntas sobre sua conta ou faturamento. Para dúvidas técnicas, use os fóruns de discussão ou links de suporte acima. Ferramentas do desenvolvedor do CloudFront e SDKs Consulte a página de ferramentas do desenvolvedor para links para recursos do desenvolvedor que fornecem documentação, exemplos de código, notas da release e outras informações para ajudá-lo a construir aplicativos inovadores com a AWS. Além disso, uma conta Amazon Web Services oferece kits de desenvolvimento de software do CloudFront para acessar de forma programática. As bibliotecas do SDK automatizar várias tarefas comuns, incluindo criptografia, tentar novamente assinar suas solicitações de serviço de tratamento de solicitações e respostas de erro. • AWS SDK para Java – Configuração e outras documentações • AWS SDK para.NET – Configuração e outras documentações • AWS SDK para PHP – Configuração e outras documentações • AWS SDK para Ruby – Configuração e outras documentações Uso do Registro do CloudFront Os seguintes posts de blog da AWS discutem aperfeiçoamentos para o log do CloudFront, bem como algumas maneiras para analisar os logs de acesso. • Blog da AWS – Amazon CloudFront Request Logging (para conteúdo distribuído via HTTP) • Blog da AWS – Amazon CloudFront Streaming agora oferece suporte a logs de acesso (para o conteúdo entregue por meio de RTMP) • Blog da AWS – Logs do CloudFront aperfeiçoadas, agora com sequênciasde caracteres de consulta Dicas adicionais do Blog de uma conta Amazon Web Services O Blog da AWS tem um número de posts do CloudFront para ajudá-lo a usar: • Melhorar o desempenho de sites globais – Melhorando o desempenhodos aplicativos • A criação de conexões seguras usando HTTPS – Amazon CloudFront: Acesso HTTPS, Outro ponto de presença, reduçãode preços API Version 2016-01-13 360 Amazon CloudFront Guia do desenvolvedor Anulação de objetos • Usando origens personalizadas Amazon CloudFront – Novo Recurso: Personalizar origens • Saber mais sobre ferramentas de terceiros para o Amazon CloudFront – Geral da ferramenta de gerenciamentodo CloudFront Anulação de objetos Além dos métodos de anulação fornecidas pelo CloudFront, você pode usar as seguintes ferramentas de terceiros para anular objetos. Note Essas ferramentas foram desenvolvidos por fornecedores de terceiros que não são associados a uma conta Amazon Web Services. Para obter informações sobre como usar essas ferramentas, consulte a documentação do fornecedor ou entre em contato com o fornecedor. • pessoais CloudBuddy – http://m1.mycloudbuddy.com/index.html • CloudBerry Explorer – http://cloudberrylab.com • Ylastic – http://ylastic.com • Cyberduck – http://cyberduck.ch • Bucket Explorer – http://www.bucketexplorer.com • CloudFront Invalidator – http://www.swook.net/p/cloudfront-invalidator.html • Ferramenta de Expurgação do CloudFront CDN Planet – http://www.cdnplanet.com/tools/cloudfrontpurge-tool/ Você também pode pesquisar amostras de código em Github, https://github.com. Pesquisar a frase de anulação do CloudFront. A distribuição Streaming Media As seguintes fontes de terceiros fornecem informações adicionais sobre a distribuição de mídia de streaming. • Como Obter – StreamingMedia.com Amazon CloudFront básicos do Streaming • Ioncannon.net – • iPhone Windowed HTTP Live Streaming usando o Amazon S3 e prova de conceitodo CloudFront • HTTP Live Stream Segmenter e distribuidorde vídeo • iPhone Windowed HTTP Live Streaming Server • Largura de banda – Flowplayer.org detecção: certifique-se de que você atinja todo o seu público com boa qualidade • Sobre o JW Player – StreamingRTMP Entre os exemplos de código e ferramentas para configurar conteúdo privado Além dos métodos fornecidas pelo CloudFront, as seguintes ferramentas de terceiros fornecem formulários da web para configurar sua distribuição para conteúdo privado. Algumas das ferramentas também fornecem formulários da web para criar URLs assinadas. API Version 2016-01-13 361 Amazon CloudFront Guia do desenvolvedor O uso do CloudFront com um sistema de gerenciamento de conteúdo • CloudBuddy – é compatível com a configuração de uma distribuição para conteúdo privado e é compatível com a criação de URLs assinadas. Para obter mais informações sobre o uso do CloudFront CloudBuddy para conteúdo privado, consulte Configuração de distribuição do CloudFront e conteúdo privado. Esta ferramenta é baseada na pesquisa em CSS .NET CorpLabs para uma implementação de URLs privada do CloudFront. • Bucket Explorer – é compatível com a configuração de uma distribuição para conteúdo privado Para obter mais informações sobre o uso do CloudFront Bucket Explorer para conteúdo privado, acesse Como criar uma distribuição privada em um bucket. • CloudBerry – é compatível com a configuração de uma distribuição para conteúdo privado e é compatível com a criação de URLs assinadas. Para obter mais informações sobre o uso do CloudFront CloudBerry para conteúdo privado, acesse Como configurar o conteúdo privado do CloudFront para Streaming com CloudBerry. Para obter informações sobre a configuração de um objeto de raiz padrão, consulte Como definir padrão do CloudFront Object com CloudBerry S3 Explorer. Para obter mais informações sobre conteúdo privado, consulte o post do blog Novo Recurso Amazon CloudFront: conteúdo privado no Blog da AWS. Para obter um exemplo de como usar cookies assinados, use o seu nome de domínio no objeto URLs, e ainda usar o certificado SSL para o domínio cloudfront.net, consulte o post do blog de espaço Vaticano Using CloudFront cookies assinados. Isso permite que você use um nome de domínio com o HTTPS alternativo sem incorrerem os gastos de endereços IP dedicados ou as limitações de SNI, como documentado no Usando Alternate Domain Names e HTTPS (p. 241). O uso do CloudFront com um sistema de gerenciamento de conteúdo Você pode usar populares do CloudFront com diversos sistemas de gerenciamento de conteúdo. Os links a seguir mostram como fazer isso. Drupal • Instalação Drupal.org –CloudFront • Módulo Drupal DrupalModules.com –CloudFront Sitecore • Serviço de consultoria de dados NTT – Sitecore Integração do CloudFront da AWS WordPress • Usando o Amazon CloudFront om4.com – MUcom WordPress e WordPress • Total de cache http://wordpress.org/extend/plugins/w3-total-cache/W3 – WordPress.org • Formulário de envio do Amazon S3 WordPress.org –Simple • CDN OSSDL – WordPress.org fora do vinculador • Meu CDN– WordPress.org API Version 2016-01-13 362 Amazon CloudFront Guia do desenvolvedor O uso do CloudFront com um sistema de gerenciamento de conteúdo • Amazon CloudFront – Inquisiter.com CDN com um blogdo WordPress API Version 2016-01-13 363 Amazon CloudFront Guia do desenvolvedor Histórico do documento A tabela a seguir descreve as mudanças importantes para a documentação desde o último lançamento do CloudFront. • Versão daAPI: 2016-01-13 • Última atualização de documentação: 21 de janeiro de 2016 Alterar Descrição Data da alteração Novo recurso Agora você pode configurar SSL/TLS do CloudFront para usar os certificados que você provisionado usando o novo serviço Gerenciador de certificação da AWS. Observe que ele ainda suporta usando certificados que você obteve a partir de uma autoridade e IAM carregados para o armazenamento de certificados. Para obter mais informações, consulte Usando uma conexão HTTPS para acessar seus objetos (p. 235). Para especificar um certificado SSL/TLS usando a API do CloudFront, use o novo Certificate e CertificateSource elementos. Para obter mais informações, consulte as descrições de esses elementos na DistributionConfig Amazon CloudFront API Reference Tipo complexo no tópico. 21 de janeiro de 2016 Novos recursos Para distribuições da web, agora você pode proteger ainda mais a comunicação entre o CloudFront e o servidor de origem: 13 de janeiro de 2016 • Impor HTTPS conexão somente entre o CloudFront e sua origem – Você pode configurar o servidor web do CloudFront para se conectar ao seu servidor de origem usando HTTPS, independentemente de o visualizador fez a solicitação usando HTTP ou HTTPS. • Suporte para TLSv1.1 e TLSv1.2 entre CloudFront e sua origem do servidor da Web do CloudFront – TLSv1.2 TLSv1.1 e agora oferece suporte para comunicação entre CloudFront e sua origem. Além disso, você pode escolher os protocolos que você deseja que o CloudFront para usar quando se comunicar com sua origem, de modo que você pode, por exemplo, optar por não permitir que ele se comunicar com sua origem usando SSL v3, que é menos segura do que TLS. API Version 2016-01-13 364 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Para obter mais informações, consulte Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront (p. 237). Novo recurso Para distribuições da web, agora você pode configurar do CloudFront para incluir os cabeçalhos personalizados quando ele encaminha solicitações para sua origem. cabeçalhos personalizados têm uma variedade de usos, como o seguinte: 28 de dezembro de 2015 • Você pode diferenciar as solicitações que são encaminhados para sua origem personalizada pelo CloudFront de solicitações que vêm de outras origens. • Se você tiver configurado mais de uma distribuição do CloudFront para usar a mesma origem, você pode distinguir entre as solicitações que ele encaminha para cada distribuição. • Você pode usar os cabeçalhos personalizados para controlar o acesso ao conteúdo em uma origem personalizada. Para obter mais informações, consulte Encaminhando Cabeçalhos Personalizados para sua origem (Web Distribuições Somente) (p. 113). Novo recurso Para distribuições da web, agora você pode configurar automaticamente do CloudFront para compactar arquivos de certos tipos para o Amazon S3 e origens personalizadas, de modo que os downloads são mais rápido e suas páginas da web renderizar mais rapidamente. A compactação também reduz o custo de transferência de dados do CloudFront porque você paga para a quantidade total de dados servidos. Para obter mais informações, consulte Distribuição de arquivos compactados (p. 137). 17 de dezembro de 2015 Novo recurso Agora você pode integrar com a AWS do CloudFront WAF firewall, um aplicativo da Web que permite monitorar as solicitações HTTP e HTTPS que são encaminhados para o CloudFront e permite que você controle o acesso a seu conteúdo. Com base em condições que você especificar, como os endereços IP se originam de que as solicitações ou os valores de sequências de caracteres de consulta, ele responde a solicitações com o conteúdo solicitado ou com um código de status HTTP 403 (Proibido). Você também pode configurar o CloudFront para retornar uma página de erro personalizada quando uma solicitação é bloqueada. 6 de outubro de 2015 Para obter mais informações sobre a AWS WAF WAF da AWS, consulte o Guia do desenvolvedor. Para obter informações sobre como adicionar o ID de um AWS WAF ACL da web para uma distribuição do CloudFront, consulte A AWS WAF ACL Web (p. 73) o tópico Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). API Version 2016-01-13 365 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novo recurso Os logs de acesso do CloudFront para distribuições da web agora incluem quatro novas colunas: 30 de junho de 2015 • x-forwarded-for – O endereço IP de origem do cliente que fez uma solicitação. • O protocolo SSLssl-protocol – (por exemplo, TLSv1.1) que o cliente e do CloudFront negociados para transmitir a solicitação e resposta. • ssl-cipher – A cifras SSL (por exemplo, ECDHE-RSAAES128-GCM-SHA256) que o cliente e do CloudFront negociados para transmitir a solicitação e resposta. • A classificação dox-edge-response-result-type – resposta (por exemplo, Hit ou Miss) antes do CloudFront começa para retornar a resposta para o visualizador. Em alguns casos, esse valor pode ser diferente do valor do campo de log existentes classificados do CloudFront x-edgeresult-type, que mostra como a resposta após o último byte à esquerda do ponto de presença. Para obter mais informações sobre logs de acesso, consulte Logs de acesso (p. 264). Para obter uma lista completa de todos os campos que aparecem em logs de acesso para distribuições da web, consulte Formato do arquivo de registro de distribuição da Web (p. 269). Novo recurso Agora você pode configurar um máximo time-to-live (TTL) e um TTL padrão para especificar por quanto tempo o CloudFront mantém seus objetos em cache nos pontos de presença. Você pode definir o TTL na borda quando sua origem não incluem um Cache-Control max-ageCache-Control smaxagecabeçalho Expires , ou na resposta, ou você pode substituir o valor do cabeçalho. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). 17 de junho de 2015 Novo recurso O recurso de anulação, que permite remover os objetos de caches de presença do CloudFront antes que expiram, agora é compatível com o* caractere curinga. Você pode adicionar um* caractere curinga no final de um caminho de anulação para remover todos os objetos que correspondem a esse caminho. Para obter mais informações, consulte Distribuições (Web Invalidating Objects Somente) (p. 123). 21 de maio de 2015 API Version 2016-01-13 366 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novos recursos Esta versão do inclui as seguintes melhorias do CloudFront relatórios do CloudFront: 25 de março de 2015 • Um novo relatório de dispositivos permite que você veja quais tipos de dispositivos que os usuários estão usando para visualizar seu conteúdo. • Agora você pode fazer o download de dados para relatórios do CloudFront em valores separados por vírgulas (CSV). • Agora você pode visualizar o CloudWatch métricas no console do CloudFront com mais facilidade, o que permite que você veja todas as métricas para uma distribuição. • Para dispositivos e sistemas operacionais, navegadores, relatórios, criamos categorias separadas para solicitações de bots e rastreamentos, para solicitações de visualizadores personalizados e para as solicitações para as quais o valor do User-Agent cabeçalho está vazio. • O relatório de objetos populares agora permite que você visualize até 500 caracteres de URL para cada objeto. Para obter mais informações sobre os relatórios do CloudFront, consulte Relatórios do CloudFront (p. 11). Novo recurso Quando você tem buckets do Amazon S3 em regiões que exigem assinatura versão 4 para autenticação e você está usando uma origem de identidade de acesso para restringir o acesso ao seu bucket do Amazon S3, agora você pode enviar PUT solicitações do CloudFront para carregar objetos em seu bucket. Para obter mais informações, consulte Usando uma Identidade de acesso de origem no Amazon S3 regiões que Support Somente Signature versão 4 Authentication (p. 176). 18 de março de 2015 Novos recursos Esta versão do CloudFront apresenta os seguintes novos recursos: 12 de março de 2015 • Para distribuições da web, agora você pode usar cookies assinados, em vez de URLs assinadas para controlar quem pode acessar o seu conteúdo. cookies assinados são úteis quando você não deseja alterar seus URLs atuais ou quando você deseja fornecer acesso a vários arquivos restritas, por exemplo, todos os arquivos na área de assinantes de um site. Para obter mais informações sobre o uso de cookies assinados para proteger seu conteúdo privado, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). • Para distribuições da web, você pode configurar o CloudFront para armazenar em cache diferentes versões de seus objetos com base no dispositivo de um usuário está usando para visualizar seu conteúdo. Com esta versão, é adicionar suporte para armazenamento em cache uma versão diferente de seus objetos quando o dispositivo é uma TV inteligente. Para obter mais informações, consulte Cabeçalho do Agente do usuário (p. 158). API Version 2016-01-13 367 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novos recursos Esta versão do CloudFront apresenta os seguintes novos recursos: 15 de dezembro de 2014 • Adicionando um caminho para a origem – Para distribuições da web, agora você pode especificar um caminho, além de um nome de domínio quando você configurar a origem. Por exemplo, se você estiver usando um bucket do Amazon S3 como sua origem, você pode especificar bucketname.s3.amazonaws.com/production , em vez de apenas bucket-name.s3.amazonaws.com. Isso permite que você use um único bucket para servir conteúdo para várias distribuições. Este recurso funciona tanto para o Amazon S3 origens e para origens personalizadas. Para obter informações sobre como especificar um caminho de origem no console do CloudFront, consulte Caminho de origem (p. 62). • relatório de indicadoressuperior – Para relatórios de visualizador e distribuições da web, agora você pode exibir uma lista dos principais indicadores. Você também pode exibir informações sobre os visualizadores que estão acessando seu conteúdo, incluindo os navegadores que seus usuários estão usando, os sistemas operacionais que os navegadores estão em execução, e a localização de visualizadores. Para obter mais informações sobre esses relatórios, consulte Relatório de principais indicadores do CloudFront (p. 20) e Relatórios de visualizadores do CloudFront (p. 27). Novo recurso Para distribuições da web, agora você pode escolher a versão do protocolo SSL mínimo, SSLv3 ou TLSv1, que você deseja que o CloudFront para permitir ao responder a solicitações de seus usuários. Se um usuário está usando um navegador ou dispositivo que não suporta o protocolo mínimo que você especificar, versão do CloudFront não atender seus objetos para o usuário. Para obter mais informações sobre a escolha de um protocolo SSL mínima versão no console do CloudFront, consulte Versão do protocolo SSL Mínima (p. 75). API Version 2016-01-13 368 24 de outubro de 2014 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novos recursos Esta versão do CloudFront apresenta os seguintes novos recursos: 21 de outubro de 2014 • As tabelas de estatísticas decache – Agora você pode visualizar uma representação gráfica de estatísticas relacionadas para os pontos de presença do CloudFront. As seguintes estatísticas estão disponíveis para um período de tempo especificado nos últimos 60 dias: número total de solicitações, o número de solicitações atendidas, não atendidas e erros como uma porcentagem do total de solicitações; total de bytes transferidos para visualizadores e bytes transferidos para solicitações não atendidas pelo cache; as solicitações de visualizadores por código de status do HTTP (2xx, 3xx, 4xx e 5xx); e a porcentagem de solicitações GET que não concluíram o download. Para obter mais informações, consulte Relatórios de estatísticas de cache do CloudFront (p. 12). • entregamais rápida de logs de acesso – arquivos de log de acesso do CloudFront agora são entregues várias vezes a cada hora, e os arquivos estão disponíveis dentro de uma hora de solicitações do visualizador. Para obter mais informações sobre logs de acesso, consulte Logs de acesso (p. 264). • O relatório de objetospopulares – relatório de objetos populares mostra o número de solicitações, de solicitações atendidas e de solicitações não atendidas pelo cache de cache, bem como as taxas de erro para os 50 objetos mais populares durante um período especificado. Para obter mais informações, consulte Relatório de objetos populares do CloudFront (p. 16). Novo recurso Para distribuições da web, agora você pode monitorar seis métricas do CloudFront em tempo quase real usando CloudFront. Isso permite que você rapidamente identificar tendências em uso e disponibilidade. Você também pode definir alertas com base em métricas, para que você possa obter uma notificação quando ocorrer um evento específico. Para obter mais informações, consulte Monitoramento de atividades usando o CloudWatch do CloudFront (p. 278). API Version 2016-01-13 369 9 de outubro de 2014 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novos recursos Esta versão do CloudFront apresenta os seguintes novos recursos: 29 de setembro de 2014 • Para as distribuições de web do CloudFront, agora você pode configurar para armazenar em cache as respostas a OPTIONS solicitações. A resposta inclui informações sobre as opções fornecidas por um servidor web e pode se inscrever para um recurso específico ou para o servidor como um todo. Para obter mais informações, consulte Métodos HTTP permitidos (p. 68) e Métodos HTTP armazenados em cache (p. 69). • Para as distribuições de web do CloudFront, quando você configura para encaminhar na lista branca cookies para sua origem e para armazenar em cache os objetos com base nos valores dos cookies, agora você pode usar * e ? curingas em nomes de cookies. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). Novo recurso cifras do CloudFront agora oferece suporte a mais personalizado para encaminhar solicitações HTTPS para servidores de origem. Para obter mais informações, consulte Criptografia (p. 151). 20 de agosto de 2014 Novo recurso Para distribuições da web, ele permite que você escolha se quiser para encaminhar os cabeçalhos do CloudFront para sua origem e para armazenar em cache versões separadas de um objeto especificado com base nos valores do cabeçalho em solicitações do visualizador. Isso permite que você envie diferentes versões do seu conteúdo com base no dispositivo, o usuário esteja usando a localização do visualizador, o idioma usado pelo visualizador, e uma variedade de outros critérios. Para obter mais informações, consulte A configuração do CloudFront para objetos com base em cabeçalhos de solicitação de cache (p. 109). 26 de junho de 2014 Novo recurso Amazon CloudFront agora funciona com AWS CloudTrail para capturar informações sobre cada solicitação que sua conta da AWS (incluindo seus usuários IAM) envia para a API do CloudFront. A integração do CloudFront e do CloudTrail permite determinar as solicitações que foram feitas para a API do CloudFront, o endereço IP de origem do que cada solicitação foi feita, quem fez a solicitação, quando ele foi feita, e muito mais. Para obter mais informações sobre o uso do CloudFront com do CloudTrail, consulte Usando AWS CloudTrail para Capturar solicitações enviadas para a API do CloudFront (p. 282). 28 de maio de 2014 API Version 2016-01-13 370 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novo recurso Com esta versão, para solicitações do visualizador HTTPS do CloudFront encaminha para uma origem personalizada, o CloudFront valida que um dos nomes de domínio no certificado SSL em seu servidor de origem vincula o nome de domínio que você especificar Origin Domain Name. Se os nomes de domínio não correspondem, ele responde a solicitações do visualizador com um código de status HTTP 502 (gateway inválido) em vez dos objetos solicitados. Para habilitar esse recurso, você deve especificar um Origin Protocol Policy dos Match Viewer. Para obter mais informações, consulte Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront (p. 237). 16 de maio de 2014 Novo recurso Esta versão do CloudFront apresenta um novo campo em logs de acesso para as distribuições de web do CloudFront. O timetaken campo mostra o número de segundos entre o momento em que um servidor de presença do CloudFront recebe uma solicitação de visualizador gravações do CloudFront e o tempo em que o último byte da resposta à fila de saída do servidor como demonstrado no servidor. Para obter mais informações sobre o formato de arquivo de logs de acesso para distribuições web do CloudFront, consulte Formato do arquivo de registro de distribuição da Web (p. 269). 28 de abril de 2014 Documentação Streaming ao vivo usando HTTP do CloudFront e o Adobe Media atualizado Server 5.0 (p. 293) atualizou os procedimentos para assinar o Adobe Media Server e o AWS CloudFormation para a criação de uma pilha. 18 de março de 2014 Novo recurso Esta versão do CloudFront apresenta os gráficos de utilização que contêm um subconjunto de dados do relatório de uso do CloudFront. Para obter mais informações, consulte Relatórios de uso do CloudFront (p. 22). 13 de março de 2014 Novos recursos Esta versão do CloudFront apresenta os seguintes novos recursos: 5 de março de 2014 • Redirecionar visualizador solicitações HTTP para HTTPS: Agora, você pode configurar o visualizador do CloudFront para redirecionar as solicitações HTTP para HTTPS. Para obter mais informações, consulte Como Exigir HTTPS para comunicação entre visualizadores, e sua origem do CloudFront (p. 237). • Server Name Indication (SNI) para solicitações HTTPS com nomes de domínio alternativos: Se você estiver usando seu nome de domínio no URLs para seus objetos, agora você pode configurar as solicitações HTTPS do CloudFront para atender a usuários cujos navegadores oferecem suporte a Server Name Indication (SNI). Para obter mais informações, consulte Usando Alternate Domain Names e HTTPS (p. 241). API Version 2016-01-13 371 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novo recurso Esta versão do CloudFront apresenta suporte para HTTP streaming sob demanda de arquivos de mídia no formato Microsoft Smooth Streaming. Para obter mais informações, consulte Configuração de Smooth Streaming sob demanda (p. 84). 20 de fevereiro de 2014 Novo recurso Esta versão do CloudFront apresenta suporte para HTTP 1.1. Para obter mais informações, consulte Codificação de transferência (p. 162). 7 de fevereiro de 2014 Além disso, adicionamos a documentação sobre downloads progressivos sob demanda e sob demanda Apple HTTP streaming ao vivo. Para obter mais informações, consulte Configuração de download progressivo on-demand e Configuração de HTTP Live Streaming (HLS) sob demanda no Apple no Guia do desenvolvedor do Amazon CloudFront. Novos recursos Esta versão do CloudFront apresenta restrição geográfica. Se você precisa para impedir que os usuários em alguns países de acessar seu conteúdo, você pode configurar uma distribuição de web do CloudFront para executar uma das seguintes ações: 18 de dezembro de 2013 • Permitir que os usuários acessem conteúdo somente se eles estão em uma lista branca de países especificados. • Impeça que os usuários acessem o conteúdo se eles estão em uma lista negra de países especificados. Para obter mais informações, consulte Restringindo a distribuição geográfica do seu conteúdo (p. 81). Novos recursos Esta versão do CloudFront apresenta os seguintes recursos: • DELETE, OPTIONS, PATCH, POST e PUT: Você agora pode usar o DELETE, OPTIONS, PATCH, POST, e métodos PUT HTTP em solicitações que você envia para ele. Para obter mais informações, consulte Métodos HTTP permitidos (p. 68). Para obter informações sobre como especificar métodos HTTP usando a API do CloudFront, consulte Method no tópico no Amazon CloudFront API Reference DistributionConfig Tipo complexo. • Os tipos dedistribuição renomeados: as distribuições de download do CloudFront agora são conhecidos como distribuições e distribuições de streaming agora são conhecidos como as distribuições RTMP. • Novo colunas em logs de acesso para as distribuições de web: Os logs de acesso para distribuições web do CloudFront agora incluem três colunas adicionais para cada solicitação: x-host-header, cs-protocol, e cs-bytes. Para obter mais informações, consulte Formato do arquivo de registro de distribuição da Web (p. 269). API Version 2016-01-13 372 15 de outubro de 2013 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novos recursos Esta versão do CloudFront apresenta os seguintes recursos: 23 de setembro de 2013 • páginas de erropersonalizadas: Você agora pode servir páginas de erro com sua própria marca e conteúdo, em vez de mensagens de erro HTTP padrão, como "404, página não encontrado." Você também pode usar as páginas de erro personalizadas para atender a uma página estática quando o seu servidor web está indisponível. Para obter mais informações, consulte Personalizando respostas de erro (p. 130). Para obter informações sobre como especificar páginas de erro personalizadas usando a API do CloudFront, consulte CustomErrorResponses no tópico no Amazon CloudFront API Reference DistributionConfig Tipo complexo. • duração do cache para as respostas de erroconfiguráveis: também conhecida como TTL mínimo de armazenamento em cache de erro, esse recurso permite que você especifique por quanto tempo você deseja que cada erro no cache do CloudFront para os pontos de presença do CloudFront. Todas as respostas de erro do CloudFront armazenados em cache anteriormente para cinco minutos, agora você pode especificar qualquer duração e, portanto, controlar como frequentemente verificações do CloudFront com sua origem após um erro. Para obter mais informações, consulte Personalizando respostas de erro (p. 130). Para obter informações sobre como especificar a duração do cache para as respostas de erro usando a API do CloudFront, consulte CustomErrorResponses no tópico no Amazon CloudFront API Reference DistributionConfig Tipo complexo. Novo recurso Agora você pode incluir o curinga* em um nome de domínio alternativo do CloudFront (CNAME), como*. exemplo.com. Isso é útil quando você deseja rotear todas as solicitações de objetos em um domínio e seus subdomínios para uma distribuição do CloudFront. Para obter mais informações, consulte Usando Alternate Domain Names (CNAMEs) (p. 45). 18 de setembro de 2013 Documentação Documentação sobre streaming ao vivo com Wowza Media atualizado Server 3.6 foi adicionada. Para obter mais informações, consulte HTTP Live Streaming usando o Wowza Streaming Engine 4.2 (p. 319). 10 de setembro de 2013 Documentação A documentação sobre streaming ao vivo com o Adobe Flash atualizado Media Server foi substituído com a documentação sobre streaming ao vivo com o Adobe Media Server 5.0. Para obter mais informações, consulte Streaming ao vivo usando HTTP do CloudFront e o Adobe Media Server 5.0 (p. 293). 31 de julho de 2013 API Version 2016-01-13 373 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novos recursos Esta versão do CloudFront apresenta os seguintes recursos: 11 de junho de 2013 • Aautenticação com a AWS Signature versão 4: Se você estiver usando a versão de API do CloudFront 2013-05-12 ou posterior, você deve autenticar solicitações usando a AWS Signature versão 4. Para obter mais informações, consulte Autenticando solicitações REST no Amazon CloudFront API Reference. • SSL para nomes de domínio alternativo do CloudFront: CloudFront agora é compatível com usando HTTPS e usando o seu próprio nome de domínio no URLs para seus objetos (por exemplo, http://www.example.com/image.jpg). Para obter mais informações, consulte Usando Alternate Domain Names e HTTPS (p. 241). Além disso, edição simultânea de Amazon Route 53 – relacionados do CloudFront apresenta os seguintes recursos: • O Amazon Route 53 aliases para distribuições do CloudFront: Amazon Route 53 alias agora oferece suporte à criação de conjuntos de registros de recurso que encaminham as pesquisas de DNS aos nomes de domínio alternativos para distribuições do CloudFront. Você pode usar esse recurso para os nomes de domínio alternativo no apex de zona (exemplo.com) e nomes de domínio alternativo para subdomínios (www.exemplo.com). Para obter mais informações, consulte Solicitações de roteamento para uma distribuição Amazon CloudFront no Guia do desenvolvedor do Amazon Route 53. Novos recursos Esta versão do CloudFront apresenta os seguintes recursos: • Campos para conteúdo privado no Console de gerenciamento da AWS: Configurações para conteúdo privado, que anteriormente pode ser configurado ou alterado somente usando a API do CloudFront, agora podem ser configurados ou alterados no Console de gerenciamento da AWS. Isso inclui as configurações para identidades de acesso de origem e assinantes confiáveis. Além disso, a documentação sobre conteúdo privado foi reorganizado e esclarecido. Para obter mais informações, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). • Melhorias para o Console de gerenciamento da AWS: assistentes e caixas de diálogo no Console de gerenciamento da AWS foram redimensionadas para simplificar a visualização no tablet computadores sem comprometer a aparência para outros visualizadores. Além disso, o número de páginas no Create Distribution assistente foi reduzido para simplificar o processo de criação de uma nova distribuição. API Version 2016-01-13 374 27 de setembro de 2012 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novos recursos Esta versão do CloudFront apresenta os seguintes recursos: 5 de setembro de 2012 • melhorias de log deacesso para as distribuições de web: Para distribuições da web, logs de acesso do CloudFront agora incluem campos para: • O cabeçalho do cookie em cada solicitação de visualizador, incluindo pares de nome-valor e atributos. Este campo é opcional. • O tipo de resultado de uma solicitação (por exemplo, Hit, RefreshHitou Miss). • Um identificador que identifica exclusivamente cada solicitação (o ID da solicitação do CloudFront). Para obter mais informações, consulte Formato do arquivo de registro de distribuição da Web (p. 269). Para obter informações sobre como configurar uma distribuição do CloudFront para incluir cookies nos logs de acesso usando a API do CloudFront, consulte IncludeCookies no tópico no Amazon CloudFront API Reference DistributionConfig Tipo complexo. • suporte para distribuições decookies: Agora, você pode escolher se quer que ele encaminhe cookies e atributos de cookie associado à sua origem. Se esse for o caso, você também pode optar por encaminhar todos os cookies ou apenas uma lista selecionada de cookies. Para obter mais informações, consulte A configuração do cache do CloudFront para objetos com base em cookies (p. 107). Para obter informações sobre como configurar uma distribuição do CloudFront para encaminhar cookies para sua origem usando a API do CloudFront, consulte Cookies no tópico no Amazon CloudFront API Reference DistributionConfig Tipo complexo. • As classes depreços para web e distribuições RTMP: Agora você pode escolher uma classe de preço que corresponde com o preço máximo que deseja pagar por serviço do CloudFront. Se você está disposto a aceitar maior latência para seus visualizadores em algumas regiões geográficas em troca de um custo mais baixo, você pode escolher uma classe de preço que não inclua todas as regiões do CloudFront. Para obter mais informações, consulte Escolha a classe de preço para uma distribuição do CloudFront (p. 49). Para obter informações sobre como especificar a classe de preço para uma distribuição de web do CloudFront usando a API do CloudFront, consulte PriceClass no tópico no Amazon CloudFront API Reference DistributionConfig Tipo complexo. Para obter informações sobre como especificar a classe de preço para uma distribuição RTMP do CloudFront usando a API do CloudFront, consulte PriceClass API Version 2016-01-13 375 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração no tópico no Amazon CloudFront API Reference StreamingDistributionConfig Tipo complexo. Novos recursos Esta versão do CloudFront apresenta os seguintes recursos: Novos recursos Esta versão do CloudFront apresenta os seguintes recursos para distribuição de web: • Agora você pode anular objetos usando o console do CloudFront. Para obter mais informações, consulte Distribuições (Web Invalidating Objects Somente) (p. 123). • O console do CloudFront foi atualizado para oferecer melhor suporte a visualização em dispositivos tablet. 22 de junho de 2012 13 de maio de 2012 • Você pode encaminhar sequências de caracteres de consulta para sua origem. Para obter mais informações, consulte A configuração do CloudFront para cache com base em Parâmetros de sequência de caracteres de consulta (p. 105). • Você pode especificar até 10 origens. Para obter mais informações, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). • Você pode especificar padrões de caminho. Para obter mais informações, consulte Valores que Você Especifique Quando Você Criar ou Atualizar uma distribuição da Web (p. 59). Para obter informações sobre como especificar esses valores usando a API do CloudFront, consulte DistributionConfig Tipo complexo no Amazon CloudFront API Reference. Além disso, o console do CloudFront foi atualizado. Para obter mais informações, consulte Lista de tarefas para criar uma distribuição na Web (p. 54) e Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88). O Guia de conceitos básicos do Amazon CloudFront foi mesclados no Guia do desenvolvedor do Amazon CloudFrontGuia do desenvolvedor do Amazon CloudFront e foi reorganizado para aprimorar a usabilidade. Documentação A documentação sobre como trabalhar com objetos foi atualizado reorganizado e esclarecido. Para a documentação revisado, consulte Trabalho com objetos (p. 99). 4 de abril de 2012 Novo Documentação sobre streaming ao vivo com o Microsoft IIS Documentação Media Services versão 4.1 foi adicionada. Para obter mais informações, consulte Live Smooth Streaming usando o Amazon CloudFront e IIS Media Services 4.1 (p. 310). 1 de abril de 2012 API Version 2016-01-13 376 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Documentação A documentação sobre streaming ao vivo com o Adobe Flash atualizado Media Server foi atualizado com informações sobre o Adobe Flash Media Server versão 4.5. 29 de março de 2012 A partir de 31 de julho de 2013, o CloudFront oferece suporte a streaming ao vivo com o Adobe Media Server 5.0. Para obter mais informações, consulte Streaming ao vivo usando HTTP do CloudFront e o Adobe Media Server 5.0 (p. 293). Novo recurso Esta versão do CloudFront reduz o valor mínimo de TTL para uma distribuição de web. Se você não especificar um mínimo de TTL quando você cria uma distribuição do CloudFront define o mínimo de TTL para 0 segundos. Para obter mais informações, consulte a documentação a seguir: 15 de março de 2012 • Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118) • O CachingBehavior elemento no tópico no Amazon CloudFront API Reference DistributionConfig Tipo complexo. Documentação Tópicos sobre streaming ao vivo com o Adobe Flash Media atualizado Server e sobre geoblocking foram movidos de um documento separado no Tutoriais do CloudFront (p. 293) capítulo neste guia. 2 de fevereiro de 2012 Novo recurso 27 de abril de 2011 Esta versão do CloudFront apresenta suporte para a criação de uma distribuição Console de gerenciamento da AWS com uma origem personalizada, restringir sua distribuição para HTTPS exclusivamente e especificando um objeto de raiz padrão. Para obter mais informações, acesse a página do produto Amazon CloudFront ou acesse qualquer um dos seguintes tópicos na Guia do desenvolvedor do Amazon CloudFront: • Lista de tarefas para criar uma distribuição na Web (p. 54) • Usando uma conexão HTTPS para acessar seus objetos (p. 235) • Especificar um Objeto raiz padrão (Web Distribuições Somente) (p. 135) Novo recurso Esta versão do CloudFront inclui a integração com o AWS Identity and Access Management (IAM). Para obter mais informações, consulte Autenticação e controle de acesso para CloudFront (p. 251). 10 de março de 2011 Novo recurso Esta versão do CloudFront inclui novas APIs para oferecer suporte a origens personalizadas. Para obter mais informações, acesse a página do produto Amazon CloudFront ou Lista de tarefas para criar uma distribuição na Web (p. 54) no Guia do desenvolvedor do Amazon CloudFront. 9 de novembro de 2010 Novo recurso Esta versão do CloudFront inclui novas APIs para invalidação de objeto. Para obter mais informações, acesse a página do produto Amazon CloudFront ou Distribuições (Web Invalidating Objects Somente) (p. 123) no Guia do desenvolvedor do Amazon CloudFront. 31 de agosto de 2010 API Version 2016-01-13 377 Amazon CloudFront Guia do desenvolvedor Alterar Descrição Data da alteração Novo recurso CloudFront agora é compatível com a capacidade de atribuir um objeto de raiz padrão para sua distribuição. Para obter mais informações, consulte Especificar um Objeto raiz padrão (Web Distribuições Somente) (p. 135). 5 de agosto de 2010 Novo recurso Acesse o registro em log para distribuições HTTP agora inclui um campo para parâmetros de sequência de caracteres de consulta. Para obter mais informações, consulte Formato do arquivo de registro de distribuição da Web (p. 269). 14 de julho de 2010 Novo recurso Suporte adicional para conexões seguras usando HTTPS. Para obter mais informações, consulte Usando uma conexão HTTPS para acessar seus objetos (p. 235). 7 de junho de 2010 Novo recurso Adição de registro de conteúdo para RTMP. Para obter mais informações, consulte Formato do arquivo de registro de distribuição RTMP (p. 275). 13 de maio de 2010 Novo recurso Reduziu a quantidade mínima de tempo um objeto pode estar em um servidor de presença de 24 horas para 1 hora. O padrão, no entanto, continua 24 horas. Para obter mais informações, consulte Especificando Quanto tempo Objects Mantenha um cache de presença do CloudFront (expiração) (p. 118). 13 de abril de 2010 Novo recurso Adição de recurso para servir conteúdo via streaming privada Real-Time Messaging Protocol (RTMP) e impedir que o conteúdo seja baixado. Para obter mais informações, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). 28 de março de 2010 Novo recurso Adição de recurso para entregar conteúdo via streaming RTMP (Real-Time Messaging Protocol). Para obter mais informações, consulte Lista de tarefas para arquivos usando RTMP Streaming Media (p. 88). 15 de dezembro de 2009 Novo recurso Adição de recurso para restringir o acesso ao seu conteúdo entregue por HTTP. Para obter mais informações, consulte Distribuição de conteúdo privado por meio do CloudFront (p. 167). 11 de novembro de 2009 Novo Guide Temos material de referência de API separadas em sua própria guia. O Guia do desenvolvedor do Amazon CloudFront contém informações gerais sobre como usar o CloudFront e a Referência da API do Auto Scaling contém informações detalhadas sobre o controle de solicitações de API, respostas e erros. 11 de novembro de 2009 API Version 2016-01-13 378 Amazon CloudFront Guia do desenvolvedor AWS Glossary For the latest AWS terminology, see the AWS Glossary in the AWS General Reference. API Version 2016-01-13 379