Amazon Web Services ブログ
第一三共株式会社:創薬研究クラウドプラットフォームにおけるモダナイゼーションの取り組み
このブログは、第一三共株式会社 研究統括部 研究イノベーション企画部およびモダリティ第一研究所と、アマゾン ウェブ サービス ジャパン合同会社 シニア ソリューション アーキテクト 中島丈博による共著です。
はじめに
近年、バイオインフォマティクスの分野では、ゲノム解析や構造予測など、大規模な並列計算を必要とする業務が急速に増加しています。第一三共株式会社では、これまでも AWS ParallelCluster を活用し、ハイパフォーマンスコンピューティング (HPC) 環境を構築・運用し、研究環境の効率化とスピードアップを実現してきました。(参考:AWS Summit Japan 2024 第一三共株式会社における創薬研究クラウドプラットフォーム)一方で、HPC 環境の継続的な利用においては障害対応や構成管理などの保守作業があり、これらの担当者にはスキルやノウハウが必要となることから対応が属人的になる場合もありました。このような体制は、ノウハウの継承やチーム全体での利活用の妨げとなり、将来的なスケーラビリティの確保にも課題を残します。こうした背景から、より安定かつ柔軟に運用でき、管理者やユーザーが気軽に利用可能なプラットフォームを目指して、AWS が提供する新しいマネージドサービス AWS Parallel Computing Service (AWS PCS) の試験構築に着手しました。本記事では、今回採用したアーキテクチャやモダナイゼーションの取り組みを通じて得られた、AWS PCS の使用感や運用面の知見をご紹介します。
AWS アーキテクチャのご紹介
今回採用した、創薬研究クラウドプラットフォームにおける AWS のモダナイゼーションアーキテクチャについてご紹介します。
HPC モダンアーキテクチャ
データサイエンティストの研究環境である HPC クラスター構成は、AWS PCS とクラスター運用を効率化するための複数 AWS サービスで構築されています。

AWS Parallel Computing Service (AWS PCS) のご紹介
AWS PCS は ジョブスケジューラーである Slurm を使用して AWS 上で HPC ワークロードの実行とスケーリング可能なクラスター構築を容易にするマネージドサービスです。AWS PCS を使用して、コンピューティング、ストレージ、ネットワーキング、視覚化ツールである Amazon DCV を統合した環境を構築できます。既に AWS ParallelCluster を利用されている方は、これまでと同様にお客様の Amazon Virtual Private Cloud (VPC) 上にクラスターを作成し、ストレージサービスとして Amazon Elastic File System (EFS) や Amazon FSx for Lustre、Amazon Simple Storage Service (Amazon S3) などのサービスを利用可能であると共に、クラスターの管理機能と Slurm のバージョンアップ作業の自動化により、メンテナンスの負担が軽減され、ユーザーはより研究に集中できるようになります。管理者は AWS PCS を利用することで AWS マネージメントコンソール、AWS API や AWS SDK からクラスターの作成や変更などの運用が可能であり、ユーザーはクラスターに SSH もしくは AWS Systems Manager (SSM) Session Manager を利用してアクセスし、Slurm を使用してジョブを実行することが可能です。
HPC クラスター運用効率化
HPC クラスターを運用し続けるためには、OS のバージョンアップ対応やパッケージのインストール、ファイルシステムのマウントや Linux ユーザーやグループの作成と追加など、いくつかのタスクが必要となります。これらを AWS のマネージドサービスを利用して効率化するための検討を実施し、以下のように実装しました。

カスタム AMI の作成
AWS PCS で利用可能な Amazon Machine Image (AMI) は AWS PCS エージェントや Slurm のインストール等が必要です。またユーザー利用を考慮するとパッケージのインストール等も必要となります。これらは EC2 インスタンスを起動するためのテンプレートである AMI をカスタマイズして作成することで対応可能です。EC2 Image Builder はカスタム AMI の作成や管理、デプロイ自動化が可能なフルマネージドサービスです。EC2 Image Builder ではパッケージインストールや設定コマンドなどをコンポーネントとして定義し、必要な各コンポーネントをレシピとしてまとめて定義することが可能です。今回は AWS PCS に対応するための必須コンポーネントを含むレシピと、ユーザー利用を考慮した必要コンポーネントを含むレシピを作成しました。また今回のレシピ作成には AWS が GitHub に公開している HPC システムを構築する方法やレシピのサンプル集 aws-hpc-recipes を利用しています。

Linux ユーザーやグループの作成と追加
Linux ユーザーやグループの作成は、以下のようにユーザー情報を JSON 形式で管理、Linux への作成や追加の作業は AWS Step Functions と SSM ドキュメントを利用することで自動化しています。

AWS PCS クラスター内にログインノードやコンピューティングノードが起動すると、EC2 起動テンプレートに定義されたユーザーデータスクリプトが実行されます。ここではファイルシステムのマウントと Linux ユーザーやグループの作成と追加を行うためシェルスクリプトが実行されます。シェルスクリプトではインプットデータとしてユーザー情報の JSON ファイルを読み込み、ユーザーを作成するための AWS Step Functions State Machine 実行時にパラメータとして引き渡します。AWS Step Functions はフルマネージドな AWS のワークフローサービスであり、様々なワークロードの自動化やオーケストレーションを State Machine として定義して大規模に実行可能なサービスです。今回の実装では Linux ユーザー作成やユーザーのグループ追加を実施する OS コマンドを SSM ドキュメントと呼ばれる SSM アクションを定義可能なフルマネージドサービスを利用してドキュメント化して、State Machine 内で SSM Send command 実行時に SSM ドキュメントを呼び出して OS コマンドを実行しています。
これらの作業は自動的に実行され、ユーザーはすぐにジョブを実行可能な HPC クラスター環境にアクセスすることが可能です。
実運用を見据えた利点と課題: AWS PCS の使用感レビュー
管理の自動化と設定の容易さ
AWS PCS 導入を検討したきっかけは、部署横断的に HPC 環境の管理・保守のほぼ全てを担当していた社員から業務負担を分散させる必要が生じたことでした。その際、クラウド環境の管理経験が浅い人員にもスムーズに移行できるサービスとして検討を開始しました。AWS PCS を基にした今回のアーキテクチャには、AWS ParallelCluster を基にしたものと比較して、HPC 環境の設定が管理しやすくデプロイを自動化できるという大きな利点があります。具体的な設定の内容としては、ノードのインスタンスタイプや台数、マウントするファイルシステム、インストールするソフトウェア、OS の種類などが含まれますが、AWS ParallelCluster では設定の過程でコマンドライン操作や SSH 接続に関する知識が必要となり、AWS マネージメントコンソール上で完結しない作業も多くなっています。一方、AWS PCS はコンソールでほとんどの操作を行えるため、UI に一貫性があり手軽に管理しやすくなっています。そのため、複雑な管理業務を習得する必要がなく、経験の浅い人員にもスムーズに業務を引き継ぐことができると思います。また、AWS Step Functions により実装した新規ユーザーのアカウント発行・環境反映の自動化と合わせることで、保守・運用の負担はさらに小さくなりました。
研究部門で求められる要件と AWS PCS のメリット
研究部門では、専門分野別の少人数チームがそれぞれ独自の HPC 環境を求める場合も少なくありません。機械学習や画像処理で多数の GPU を必要とするグループや、大容量データを扱うためストレージを重視するグループなど多様な要件が考えられます。探索的な研究では必要な計算リソースを事前に見積もるのが難しく、HPC 環境を再構築するケースもしばしば発生します。今回のアーキテクチャを利用すれば自動デプロイが可能となり、AWS サービスの専門家がいないグループでもスムーズに運用や更新が行える点は大きな魅力です。例として、筆者の関わるゲノミクス分野では、1つの論文で数百人規模の DNA シーケンサーのデータが扱われることも珍しくない時代となっていますが、そのようなデータの解析用に大容量かつ高速なストレージを備えた環境をデプロイしつつ、解析後にリソースを停止しコストを抑えるサイクルが迅速化されると期待しています。AWS PCS は部署全体や大規模な研究チームでの利用において、そのマネジメントコストの削減効果が最大化されると考えられます。特に、管理業務の属人化解消やシンプルな運用方式による教育コストの削減といった観点で大きなメリットがあるサービスだと感じました。
利用規模とコスト面とのバランス
一方で、マネージドサービスを利用するにあたってはコストについての考慮が必要です。AWS PCS は Slurm 稼働時間に対する従量課金が発生するため、クラスターサイズ(今回は計算ノード 32 台までの Small サイズ構成で検証)と従来の属人的な管理手法と比較してコストメリットを見出すことを検討する必要がありました。そのため、人材育成や管理に費やす時間、計算リソースコスト、AWS PCS にかかる追加コストの比を考えつつ運用方法を使い分ける予定です。
まとめ
今回の検証では、HPC 環境のモダナイゼーションを試みるべく、AWS PCS を実際に構築することで、フルマネージドな HPC 環境がもたらす利点を実感できました。AWS PCS は、従来の AWS ParallelCluster に比べて設定やデプロイが容易で、クラウド管理に不慣れなユーザーでも扱いやすい点が大きな利点です。コンソール中心の操作性や、カスタム AMI、AWS Step Functions とのスムーズな連携により、構築や再構築が手軽になり、属人化の解消や保守負担の軽減にもつながると感じました。研究現場の多様な要件に応じて、柔軟に構成を切り替えられる点も、創薬研究という変化の激しい領域において非常に有効です。一方で、AWS PCS はマネージドサービスゆえに、稼働時間に応じたコントローラー課金が発生するため、ユーザー数や稼働規模が小さい場合にはコストが割高になるケースもあります。そのため、チーム体制やコストを考慮しつつ、AWS PCS と AWS ParallelCluster を適材適所で使い分ける運用方針が現実的と感じました。今後も、柔軟性と保守性のバランスを取りながら、最適な HPC 基盤のあり方を探っていきたいと思います。
おわりに
本ブログでご紹介した第一三共株式会社の取り組みや関連する AWS サービスに関して、ご興味・ご質問をお持ちのお客様はお問い合わせフォームもしくは担当営業までご連絡ください。