Ingestão privada do IVS - Amazon IVS

Ingestão privada do IVS

Para workloads que exigem ingestão segura de vídeo ao vivo, você pode usar um endpoint da VPC (Virtual Private Cloud) de interface para estabelecer uma conexão privada segura entre sua Amazon VPC e IVS. Isso mantém seu tráfego de ingestão de IVS dentro da rede AWS e fora da Internet pública. Os endpoints da VPC de interface são desenvolvidos pelo AWS PrivateLink, uma tecnologia da AWS que permite a comunicação privada entre os serviços da AWS usando uma interface de rede elástica com IPs privados em sua Amazon VPC. Para obter mais informações, consulte Amazon Virtual Private Cloud e Acesse e AWS service (Serviço da AWS) use uma interface de endpoint da VPC (AWS PrivateLink).

Usar um endpoint da VPC (Virtual Private Cloud) de interface para estabelecer uma conexão privada segura entre sua Amazon VPC e o IVS.

Você pode ingerir transmissões RTMP(S) para o IVS a partir do seu Amazon VPC ou por meio do AWS Direct Connect e enviar vídeo de forma privada para os canais de baixa latência do IVS ou para os estágios do IVS em tempo real. A cobrança é feita pelo uso por hora do endpoint da VPC de interface padrão e pelas taxas de processamento de dados; para obter detalhes, consulte Preços do endpoint da interface. Não há custo adicional do Amazon IVS para habilitar esse recurso.

Certifique-se de que sua Amazon VPC esteja em uma região com suporte:

  • ap-northeast-1

  • ap-northeast-2

  • ap-south-1

  • ap-southeast-1

  • ap-southeast-2

  • eu-central-1

  • eu-north-1

  • eu-west-1

  • eu-west-3

  • sa-east-1

  • us-east-1

  • us-east-2

  • us-west-2

Observação: embora sua Amazon VPC deva estar em uma dessas regiões compatíveis, os recursos do ambiente de gerenciamento do IVS não precisam estar na mesma região ou conta da AWS que a Amazon VPC. Para obter mais detalhes, consulte Solução global, controle regional.

Para ingerir uma transmissão por meio de um endpoint da VPC de interface, use um URL de ingestão privada composta pelo nome DNS do endpoint da VPC e pela chave de transmissão para o recurso IVS (configuração de ingestão de canal ou estágio), neste formato:

rtmps://<VPC_ENDPOINT_DNS_NAME>/app/<STREAM_KEY>

Para transmitir para um canal, crie um canal e recupere sua chave de transmissão conforme explicado em configurar o software de streaming. Para transmitir para um estágio usando RTMP(S) ou E-RTMP(S), crie uma configuração de ingestão de RTMP e use a chave de transmissão associada.

Veja abaixo está um rápido passo a passo do streaming de uma instância do EC2 para um canal ou estágio do IVS usando um endpoint da VPC de interface:

Etapa 1: criar um endpoint da VPC de interface

Cada endpoint da VPC precisa estar associado a uma VPC em sua conta. Se a sua conta já tiver uma VPC padrão, você pode usá-la; caso contrário, crie uma nova VPC. Se você quiser usar IPv6 ou dualstack com seu endpoint da VPC, certifique-se de que sua VPC tenha sub-redes com CIDRs IPv6 atribuídos.

Para criar um endpoint da VPC, consulte as instruções em Criar um endpoint da VPC (na documentação da Amazon VPC). Quando estiver na página Criar endpoint:

  1. Selecione Serviços da AWS. Em seguida, na seção Serviços, pesquise por IVS. Você deve ver um serviço como com.amazonaws.<região>.ivs.contribute.

  2. Na seção Configurações de rede, selecione a VPC na qual você deseja criar o endpoint. Na seção Sub-redes, selecione quais sub-redes e outras configurações de rede você deseja definir para o endpoint.

  3. Na seção Grupos de segurança, selecione um grupo de segurança que permita tráfego de entrada nas portas TCP 443 e 1935 de onde quer que você esteja transmitindo. Você pode editar isso posteriormente, depois de criar o endpoint. Portanto, se ainda não souber qual grupo de segurança deseja usar, deixe-o desmarcado por enquanto.

Depois de selecionar Criar endpoint, você voltará para a página de visão geral de Endpoints da VPC, onde verá o endpoint da VPC que você acabou de criar:

  • O status do novo endpoint é Pendente por cerca de 30 segundos, então ele será aceito automaticamente e seu status mudará para um verde Disponível.

  • No lado direito do painel de informações do endpoint da VPC, você verá vários nomes DNS associados ao seu endpoint da VPC. Copie e salve o primeiro nome listado; você precisará especificá-lo como o URL do servidor de ingestão de streaming em uma etapa futura.

Etapa 2: executar uma instância do EC2

Há muitas opções que os clientes podem usar para transmitir um fluxo da AWS. O exemplo aqui usa uma instância do EC2 no do Ubuntu com o FFmpeg instalado.

Primeiro, crie uma instância do EC2 (um t2.micro é bom). Certifique-se de criar a instância na mesma VPC em que você criou seu endpoint da VPC.

O grupo de segurança que você atribuir a essa instância precisará de saída para o endpoint da VPC para as portas TCP 443 e 1935. Além disso, certifique-se de habilitar a entrada na porta TCP 22 se estiver usando SSH para acessar a instância, bem como a saída na porta TCP 80 para as operações do gerenciador de pacotes na etapa 3 abaixo.

Iniciar a instância. Depois de inicializar, use o SSH ou o Gerenciador de sessão da AWS para se conectar à instância.

Etapa 3: instale o FFmpeg em sua instância.

Depois de conectado à sua instância, execute os seguintes comandos em sua máquina (supondo que você tenha criado a instância com o Ubuntu) para instalar o FFmpeg:

sudo add-apt-repository ppa:savoury1/ffmpeg4 sudo apt-get update sudo apt-get install ffmpeg

Etapa 4: streaming para um canal ou estágio do IVS.

O formato do URL de ingestão privada é:

rtmps://<VPC_ENDPOINT_DNS_NAME>/app/<STREAM_KEY>

Por exemplo:

rtmps://vpce-0a8dfb0b7a4611439-xyzabc12.contribute.ivs.us-west-2.vpce.amazonaws.com/app/sk-usw2-abc123example456

Execute o seguinte exemplo de comando FFmpeg, substituindo <VPC_ENDPOINT_DNS_NAME> pelo nome DNS da Etapa 1 e <STREAM_KEY> pela chave de transmissão apropriada (para uma configuração de canal ou ingestão):

ffmpeg -re -f lavfi -i "testsrc=duration=360:size=1024x768:rate=30" -f lavfi -i "sine=frequency=1000" -pix_fmt yuv420p -profile:v baseline -level 3.0 -r 30 -g 60 -shortest -vcodec libx264 -acodec aac -f flv "rtmps://<VPC_ENDPOINT_DNS_NAME>/app/<STREAM_KEY>"

Se tudo isso for bem-sucedido, sua transmissão deverá estar em execução. Uma transmissão ingerida por meio de um endpoint da VPC deve ser processado e tratado da mesma forma que uma transmissão ingerida por meio de um endpoint IVS público; a única diferença é o caminho de ingestão.

Quando terminar de usá-los, certifique-se de excluir a instância do EC2 e o endpoint da VPC criados para evitar cobranças desnecessárias.