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 &amp;
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 &amp;
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&parameter2=b e outra
solicitação para o mesmo objeto contém parameter2=b&parameter1=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&parameter2=b
• http://d111111abcdef8.cloudfront.net/images/image.jpg?
parameter2=b&parameter1=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

Documentos relacionados