Amazon Web Services ブログ
【Edit in the Cloud】クリエイティブワークステーション on AWS ~ エンタープライズクラスの拡張性、セキュリティを低コストで実現 ~
Edit in the Cloudシリーズの第2回では、メディア&エンターテインメント(M&E)業界のクリエイティブなワークロード(たとえば、Blackmagic Design社のDaVinciResolve)のニーズを満たすために、安全でコンピューティングキャパシティを変更可能なWebサービスであるAmazon Elastic Compute Cloud(Amazon EC2)を利用した仮想ワークステーションについて触れました。
この投稿では、スケーリングの自動化、セキュリティ、およびコスト管理の手法を紹介することにより、前のシリーズでお伝えした初期デプロイ構成ををテストから本番環境に移行する方法を学習します。これを行うために、環境に2つのコンポーネントを追加します。仮想ワークステーションへのアクセスを管理および制御するConnection Brokerと、パブリックインターネットからプライベートワークステーションへのアクセスを安全に提供するゲートウェイです(図2)。
Connection Broker
Connection Brokerは、仮想ワークステーション環境へのリモートアクセスを提供し、ワークステーション、アクセスするユーザー、および接続方法の管理を行うコントロールプレーンです。ブローカーは、以下のようなポリシーやルールを持つことができます。
- 需要の変化に応じてワークステーションの自動プロビジョニングおよび終了を強制する
- ユーザーまたはユーザーグループを特定のワークステーションまたはワークステーショングループに割り当て、アクセスを制限する
- ワークステーションの電源を自動的にオン/オフし、ランニングコストを節約する
- ユーザーの好みやユースケースに合わせた複数の接続プロトコルのサポート
Leostream Connection Broker
Leostream Connection Brokerは、Linux用の低コストで汎用的なAmazon EC2 T3 Instances上で動作するソフトウェアです。本番環境では、AWS Well-Architected Frameworkのコンセプトであるレジリエンシーに基づき、Leostream Connection Brokerソフトウェアを “ブローカー・クラスター “として展開します。
ブローカークラスターとは、アプリケーションのスケーラビリティを向上させるためにネットワークトラフィックを分散させるELB(Elastic Load Balancing)によって負荷分散された2つ以上のAmazon EC2インスタンスで、外部のPostgreSQLデータベースを共有しています。
Leostreamクラスターの各ブローカーは、別々のアベイラビリティー・ゾーンに配置されており、1つのアベイラビリティー・ゾーンで問題が発生しても、ワークステーションへの接続が継続できるようになっています(図1)。クラスタ・インスタンスは、需要の変化に応じて計算能力を追加または削除できるAmazon EC2 Auto ScalingのAuto Scalingグループに配置されており、インスタンスに障害が発生しても、新しいインスタンスが起動してそれを置き換えることができます(図1)。データベースは、Amazon Aurora for PostgreSQLデータベースクラスタとして配置され、アプリケーションロードバランサ(ALB)はアベイラビリティーゾーンをまたいで配置されています(図1)。Auroraは、クラウド用に構築されたMySQLとPostgreSQLに対応したリレーショナルデータベースで、ALBは最新のアプリケーションアーキテクチャの提供を目的とした高度なリクエストルーティングを提供します。
Leostream ゲートウェイ
Leostream ゲートウェイは、リモートユーザーがプライベートワークステーションに安全にアクセスできるようにします。これらのプライベートワークステーションは、プライベートサブネットに配置され、インターネットへのルートはありません。Leostreamゲートウェイは、NICE DCV(高性能リモートディスプレイプロトコル)、Remote Desktop Protocol(RDP)、Virtual Network Computingプロトコル、SSH(Secure Shell)をサポートしています。Teradici PCoIPプロトコルでワークステーションにアクセスする場合は、Leostreamゲートウェイの代わりにTeradici Connection Manager と Security Gatewayを使用します。
Leostream ゲートウェイは、Amazon EC2インスタンス上で動作するソフトウェアです。十分に設計された本番環境では、ゲートウェイ・インスタンスは、負荷分散、マルチAZ、および自動拡張された構成で展開されます(図2)。ゲートウェイは、パブリック・インターネットから接続するリモート・ユーザーにアクセスを提供し、インターネットへのルートを持つパブリック・サブネットにデプロイされます(図2)。
自動スケーリング
数十から数百(またはそれ以上)のAmazon EC2インスタンスを手動で起動する場合、AWS Management Consoleで行うか、AWS CloudFormation(インフラをコードとして扱うことで、AWSやサードパーティのリソースをモデル化、プロビジョニング、管理することができる)などのInfrastructure-as-Code(IAC)ツールを使用するかに関わらず、このプロセスは、需要に応じて動的に展開しなければならないユーザのワークステーションに対してはうまくスケールできないことがわかります。
Leostreamはこの問題を、Leostream Connection Brokerがワークステーションを自動的にプロビジョニングする「プール」構成で解決します。この構成オプションでは、利用可能なワークステーション(使用されていないもの)の数がユーザー定義のしきい値を下回ると、Leostream Connection Brokerがワークステーションを起動して、プール内の利用可能なワークステーションのユーザー定義の数を満たします。
AWS Identity and Access Management(AWS IAM)では、AWSのサービスやリソースへのアクセスを安全に管理することができます。Leostreamでは、AWS IAMのユーザ認証情報を使用してAmazon EC2 APIにアクセスし、ユーザが提供したAmazon Machine Images(AMI)からインスタンスを起動します。AMIは、インスタンスの起動に必要な情報を提供します(図3)。Leostreamのプールでは、ワークステーションの名前付け、Active Directoryドメインへの参加、ユーザー定義のセキュリティ・グループとAWS IAMインスタンス・プロファイルのアタッチ、ユーザー定義のサブネットへの起動といったプロセスを自動化することで、ワークステーションの導入管理をさらに軽減しています。
セキュリティ
仮想ワークステーションのセキュリティを確保するための最初のステップは、パブリック・インターネットへの直接のアクセスを排除し、プライベート・サブネットに配置することです。ワークステーションをパブリック・サブネットに配置することは、テストやコンセプト実証には便利ですが、この構成には潜在的なセキュリティ・リスクがあります。セキュリティグループが適切に管理されていないと、悪意のある人がワークステーションにアクセスする可能性があります。ワークステーションをプライベート・サブネットに配置すると、インターネットへの直接アクセスができなくなりますが、ウェブの閲覧や電子メールのチェックなどの作業を行うためのインターネット・アクセスは、パブリックNetwork Address Translation(NAT)gatewayを使用して提供されます(図4)。
ワークステーションをプライベート・サブネットに配置することで、ゲートウェイ・ロードバランサーに対する環境の潜在的な攻撃対象を減らすことができます。ワークステーションは、ゲートウェイから発信されるプロトコル・トラフィックのみを許可するセキュリティ・グループによってさらに保護されます。
ゲートウェイはブローカーが認証して許可したユーザーからの接続のみを受け付けます。認証は、Leostream Connection Brokerでローカル・ユーザーの作成またはActive Directoryとの統合によってのみ行います。Active Directoryとの統合により、ユーザは他の企業リソースへのアクセスに使用するのと同じ、使い慣れた中央管理された認証情報を使ってワークステーションにログインすることができます。Leostream Connection Brokerは、既存のActive Directoryと統合することも、AWS Directory Service for Microsoft Active Directory(AWS Managed Microsoft AD)と連携することもできます。これにより、ディレクトリ対応のワークロードやAWSリソースは、AWS上のマネージドActive Directoryを使用することができます(図4)。
Leostream Connection Brokerは、RADIUS(Remote Authentication Dial-In User Service)サーバー(Okta RADIUS Serverエージェントなど)と統合することで、ユーザー認証プロセスに多要素認証(MFA)を追加することができ、セキュリティ層を強化することができます。
Leostream Connection Brokerのユーザーインターフェースでは、認証されたユーザーがどのワークステーションを使用することができるかを管理することができます。例えば、編集者には高出力のGPUを搭載したAmazon EC2 G4インスタンス(機械学習の推論やグラフィックを多用するアプリケーションに適したコストパフォーマンスの高いGPUインスタンス)へのアクセス権を与え、編集補助者にはグラフィックを多用しない作業を行うために低出力・低コストのインスタンスへのアクセス権のみを与えるといったことが可能です。
コスト最適化
Amazon EC2インスタンスが使用されていないときに起動したままになっていないことを確認することで、特にインスタンスが大規模なAmazon EC2 G4インスタンスである場合には、AWSのコストを節約することができます。Leostream Connection Brokerには、ワークステーションの電源制御を自動化する機能があります。これは、ユーザーがワークステーションからログアウトした後、または定義された期間にわたって非アクティブになった後に、どのようなアクションを取るべきかを決定する詳細な電源制御プランをユーザーが定義できるようにするものです。例えば、ユーザーがワークステーションからログアウトした後、1時間待ってからワークステーションの電源を切るように電源制御プランを設定することができます。Leostreamの追加設定では、ユーザーが停止したワークステーションを自動的に起動し、必要に応じてログイン時に新しいワークステーションを起動することができます。
始め方
独自のインフラストラクチャを展開されるユーザーには、LeostreamはLeostream Connection BrokerとLeostream ゲートウェイのAMIを、ソフトウェアソリューションの検索、購入、展開、管理が可能な販売チャネルであるAWS Marketplaceから提供しています。Teradici PCoIPを使用している場合は、Teradiciのインストールガイドに記載されているように、Teradici Connection ManagerとSecurity GatewayをAmazon EC2インスタンスにインストールする必要があります。
本記事で取り上げたインフラを迅速にデプロイするためのAWS CloudFormationテンプレートは、後続の記事で公開する予定です。
おわりに
この記事では、ブローカーとゲートウェイを使用して、Amazon EC2ワークステーションにエンタープライズスケール、セキュリティ、コスト削減を追加する方法を説明しました。多くのお客様は、ご自身でインフラストラクチャを展開することに慣れているかもしれませんが、中にはクラウドに慣れていない方もいらっしゃるかと思います。AWSの専任のM&Eエキスパートが、お客様のクラウド運用を最適化するための規定のガイダンスと必要なリソースを提供します。ここをクリックして、私たちのチームにお問い合わせください。
参考リンク
AWS Media Services
AWS Media & Entertainment Blog (日本語)
AWS Media & Entertainment Blog (英語)
AWSのメディアチームの問い合わせ先: awsmedia@amazon.co.jp
※ 毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。
翻訳は BD山口とSA門田が担当しました。原文はこちらをご覧ください。