NASA のジェット推進研究所(JPL)は、宇宙のロボット探査を推進する NASA の中心的な研究所です。JPL は、太陽系のすべての惑星にロボットを送りこんでいます。また、NASA/JPL は連邦政府全体のクラウドコンピューティングの採用も先導しています。実際に、マーズサイエンスラボラトリーミッションの作戦パイプラインの欠かせない部分として、クラウドコンピューティングを採用しています。マーズエクスプロレーションローバーとマーズサイエンスラボラトリーのミッションから収集された画像とメタデータは、カリフォルニア州パサディナの制御室から、Amazon Web Services(AWS)を使用してキャプチャし、保存しています。マーズエクスプロレーションローバーオポチュニティは 8 年前の着陸以降、現在も火星の上を活動しており、2012 年 8 月 5 日には火星探査機キュリオシティが着陸しました。

nasa_jpl_thumbnail
17:42
NASA JPL の Tom Soderstrom 氏は宇宙の疑問を解くうえでクラウドがどう役立つかについて説明する

2011 年 11 月 26 日、NASA は火星への 8 か月の航行に向けてキュリオシティを打ち上げました。この注目のミッションを成功させるためには、克服すべき多くの課題がありました。まず、キュリオシティの質量は以前の着陸方法では耐えられないため、着陸が大きな課題でした。JPL のエンジニアは、革新的な進入/降下/着陸技法を設計し、キュリオシティを地表に向かって穏やかに降下させる「スカイクレーン」作戦という結論に至りました。NASA は、特に、探査機が火星大気圏を降下して、火星に着陸するまでの最後の 7 分間など、ミッションの最新の詳細情報を提供することによって、このスリリングな体験を地球全体のファンと共有したいと考えました。この着陸イベントの際は、mars.jpl.nasa.gov ウェブサイトの可用性、拡張性、パフォーマンスが最も重要でした。AWS を利用する前は、数百万のユーザーによるウェブサイトへ同時アクセスのサポートはきわめて困難で、NASA/JPL にない大規模なウェブおよびライブ動画ストリーミングのインフラストラクチャが必要でした。

NASA のジェット推進研究所は AWS を利用して、キュリオシティの着陸に関する画像と動画をストリーミング配信しました。クラウドコンピューティングを利用することで、JPL は迅速に容量を準備し、AWS クラウドを活用して、火星のエキサイティングな体験を無事に多くのユーザーに届けることができました。地球上の一般ユーザーがそのサイトを訪れるため、NASA/JPL は世界中の複数の AWS リージョンからそのコンテンツを提供し、視聴者の操作性と拡張性を高め、世界中の需要に対応しました。Amazon Route 53Elastic Load Balancing(ELB)を新たに導入することで、NASA/JPL は複数の AWS リージョンに負荷を分散し、想像可能なあらゆる環境下でコンテンツの可用性を確保できるようにしました。最終アーキテクチャは、NASA/JPL と Amazon Web Services で共同開発し、確認されたものですが、このデプロイモデルであれば、他の惑星の着陸のときにもコスト効率よく、拡張し、実行し、配信できるという確信を NASA にもたらしました。NASA/JPL は、データを公開するという確固とした目標を持って、数百万の同時視聴者に数百ギガビット/秒のトラフィックを提供する準備をしました。

NASA/JPL はわずか数週間で、ウェブホスティングとライブ動画ストリーミングのソリューションを設計、構築、テスト、デプロイできました。このソリューションは、AWS のさまざまなサービスを使用して構築されたものです。NASA/JPL のライブ動画ストリーミングアーキテクチャは、Adobe Flash Media Server、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス (よく使用されている nginx キャッシュ層の実行)、Elastic Load Balancing、Amazon Route 53 (DNS 管理)、Amazon CloudFront (コンテンツ配信) を組み合わせて開発されました。AWS CloudFormation では、ライブ動画ストリーミング向けに複数の AWS アベイラビリティーゾーン (AZ) と複数のリージョンをまたいで構築されるインフラストラクチャスタックのデプロイが自動化されます。

さらに、Amazon Linux AMI を実行する Amazon EC2 インスタンスは、設定スクリプトと Amazon EC2 インスタンスメタデータを使用して設定されました。着陸の少し前に、NASA/JPL はそれぞれ 25 Gbps のトラフィックを処理できる AWS インフラストラクチャのスタックを用意しました。NASA/JPL では Amazon CloudWatch を使用して、トラフィック量の急上昇を監視し、リージョンの需要に基づいて追加の容量をプロビジョニングしました。着陸後、トラフィック量が通常の量に戻ると、NASA/JPL は AWS CloudFormation を使用して、1 つのコマンドでリソースのプロビジョニングを解除しました。下の図に、ライブ動画ストリーミングアーキテクチャの図を示します。

nasa-1-arch-diagram

図 1: NASA/JPL ライブ動画ストリーミングアーキテクチャ

ウェブサイト mars.jpl.nasa.gov は、Amazon EC2 上で実行するオープンソースのコンテンツ管理システム(CMS)の Railo をベースにしています。Railo の共有ストレージは、Amazon Elastic Block Store(EBS)ボリュームのプール上で Gluster を実行する Amazon EC2 インスタンスによって提供されており、一貫した高性能のディスク I/O を実現します。CMS は Amazon Relational Database Service(RDS)によって管理された可用性の高い Multi-AZ MySQL データベースともやりとりします。ELB 間の加重トラフィック分散を提供する Amazon Route 53 を使用し、多数の Elastic Load Balancer で CMS サーバー間でトラフィックの分散を行います。また、Amazon CloudFront を使用して世界中のアクセスポイントにトラフィックを拡大し、これにより、各国の訪問者の待ち時間が短縮し、ソリューションの全体の拡張性が向上します。

さらに、NASA は Amazon Simple Workflow Service(Amazon SWF)を使用して、火星からの最新画像を Amazon S3 にコピーしています。メタデータは Amazon SimpleDB に保存され、Amazon SWF は、キュリオシティからの伝送が地球に中継されるたびに、画像を処理するための Amazon EC2 インスタンスのプロビジョニングをトリガーします。以下の図に NASA/JPL のウェブアーキテクチャを示します。

nasa-2-arch-diagram

図 2: NASA/JPL ウェブアーキテクチャ

Amazon Web Services で mars.jpl.nasa.gov ウェブサイトを運営することで、NASA/JPL は、このインフラストラクチャを自身で構築しなくても、世界にメッセージを発信することができました。AWS が提供する幅広いさまざまな機能と使いやすさにより、NASA/JPL は堅牢でスケーラブルなウェブインフラストラクチャを、数か月ではなく、わずか 2、3 週間で構築できたのです。

キュリオシティは無事に火星に着陸しましたが、ミッションでは引き続き Amazon Web Services を使用し、火星からの画像の分析を自動化することで、科学者ができるだけ多くの時間をかけて、潜在的な危険や関心のある科学領域を特定できるようにしています。結果として、科学者は、長いコマンドシーケンスをキュリオシティに送ることができるため、一定のソル(火星日)でマーズサイエンスラボラトリーが実行可能な探査の量を増やすことができます。

NASA/JPL のミッションおよび火星探査に関する詳細は、http://mars.jpl.nasa.gov をご覧ください。相互運用可能な、標準ベースの、安全で、コスト効果が高い環境を実現するために NASA は AWS クラウドをどのように使用したかについて詳しくは、NASA のブログをご覧ください。

AWS が公共部門でミッションクリティカルなクラウドコンピューティングアプリケーションをどのようにサポートしているかについて詳しくは、http://aws.amazon.com/government-education/ を参照してください。

NASA/JPL が他のミッションや研究に AWS クラウドをどのように使用したかについて詳しくは、お客様導入事例 NASA/JPL's Desert Research and Training Studies および NASA/JPL's MER and CARVE Missions をご覧ください。