[アップデート] AWS Elemental MediaPackage が CloudFormation に対応しました!

地味だけどかなり嬉しいアップデートのはず
2020.10.29

こんにちは、大前です。

今日は AWS Elemental MediaPackage(以下 MediaPackage)に関するアップデートをお届けします。

AWS Elemental MediaPackage expands Monitoring and Deployment Automation capabilities

TL;DR

  • CloudFormation がついに MediaPackage に対応したよ
  • これにより MediaLive + MediaPackage + CloudFront の様なライブ配信でよく使用する構成を CloudFormation でデプロイ・管理出来るようになった

どんなアップデートか

掲題にもある通り、CloudFormation が MediaPackage に対応しました!

アップデート内容としては上記の一文で終わってしまうのですが、もう少し深掘りしていきましょう。

何が嬉しいのか

今まで MediaPackage は CloudFormatinon に対応していなかったため、例えば MediaLive + MediaPackage + CloudFront といったライブ配信によくある構成をデプロイしようとした時、どうしても CloudFormation 一発で作成する様な事は出来ませんでした。

今回のアップデートにより、MediaPackage を用いたライブ配信基盤も CloudFormation で一気にデプロイし、リソースの管理を行える様になりました。

「ライブ配信基盤を一気にデプロイ出来ない・・・」とモヤモヤしていた人にはかなり嬉しいアップデートとなったはずです。

CloudFormation で作成可能なリソース

CloudFormation では以下の MediaPackage リソースを作成出来る様です。(2020/10/29 時点の情報)

ChannelOriginEndpoint はライブ配信に関わるリソースで、AssetPackagingConfigurationPackagingGroup は VoD に関するリソースとなります。

細かい設定項目の有無はありそうですが、Harvest jobs 以外のリソースについては CloudFormation で作成出来る様です。

  • AWS::MediaPackage::Asset
  • AWS::MediaPackage::Channel
  • AWS::MediaPackage::OriginEndpoint
  • AWS::MediaPackage::PackagingConfiguration
  • AWS::MediaPackage::PackagingGroup

MediaPackage resource type reference

やってみた

では、実際に CloudFormation を使用して MediaPackage のリソースを作成してみます。

CloudFormation テンプレート

今回は、以下ドキュメントを参考にライブ配信に関わるリソース(Channel、OriginEndpoint)を生成するテンプレートを作成しました。

MediaPackage resource type reference

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  # MediaPackage Channel
  MediaPackageChannel:
    Type: AWS::MediaPackage::Channel
    Properties:
      Description: "Deploy from CloudFormation"
      Id: "DeployFromCfn"
      Tags:
        - Key: "Name"
          Value: "DeployFromCfn"
  # MediaPackage Endpoint 1
  MediaPackageEndpoint1:
    Type: AWS::MediaPackage::OriginEndpoint
    Properties:
      ChannelId: !Ref MediaPackageChannel
      Description: "Endpoint 1 for HLS packaging"
      HlsPackage:
        PlaylistWindowSeconds: 60
        SegmentDurationSeconds: 6
      Id: "Endpoint1"
      ManifestName: "index"
      Origination: "ALLOW"
      Tags:
        - Key: "Name"
          Value: "Endpoint1"


MediaLive や CloudFront まで含めたテンプレートはまた別の機会に作成したいと思います。

デプロイしてみる

上記テンプレートを使用し、CloudFormation スタックを作成してみます。


作成が無事完了し、MediaPackage の画面を確認すると問題なく Channel が作成されていました。


Endpoint も作成されています。

おわりに

CloudFormation で MediaPackage のリソースを作成できる様になりました。

小さなアップデートですが、今までライブ配信基盤を CloudFormation でデプロイ出来ずにモヤモヤしていた方にとっては朗報なアップデートかと思います。

MediaLive + MediaPackage + CloudFront を一気に作成するテンプレートも近々作成してみたいと思います。


以上、AWS 事業本部の大前でした。

参考