>   >  痴山紘史の日本CG見聞録:第16回:クラウド環境構築[クラウド環境の準備]
第16回:クラウド環境構築[クラウド環境の準備]

第16回:クラウド環境構築[クラウド環境の準備]

みなさんこんにちは。スーパーコンピュータ「京」が8月30日にシャットダウンされました。2012年に稼働開始してから7年、その前の開発期間も含めて関係者の皆様おつかれさまでした。ちなみに、「計算科学研究を支援するための寄附金の募集」というのが行われていて、5万円以上の寄付をすると先着順で「京」で使用された CPU がもらえたり、もっと多額の寄付をすると「京」ロゴ入り化粧板をもらうことができるようです。皆さん、ひとついかがでしょうか。自宅レンダーファームのパネルが「京」なんて、カッコイイですよっ!!

TEXT_痴山紘史 / Hiroshi Chiyama(日本CGサービス
EDIT_尾形美幸 / Miyuki Ogata(CGWORLD)

クラウドサービスの選定

前回までの構築で、社内環境がなんとなく整ってきたので、続いてクラウド側の環境を揃えていきます。

ひとくちにクラウドサービスと言っても、AWSMicrosoft AzureGoogle Cloud(以下、GCP)、さくらのクラウドなど、国内外含めて多くのものが存在します。それぞれ特徴があり、サービス内容や費用、使い勝手などを比較して、どのサービスを使うのか検討する必要があります。

例えば、映像業界で広く使用されているDeadlineは、thinkbox softwareがAmazonに買収され、AWSとの統合が進んでいます。社内でDeadlineを使っていてスムーズにクラウドサービスを活用したい場合、非常に大きな選択要因となるでしょう。

HTCondor+クラウドサービスという組み合わせでシステムを構成する場合はどうでしょうか。HTCondor自体がCloud Computingに対応しているため、このしくみに乗ってしまうのが最も簡単です。この場合、現時点(Version 8.8.5)ではAWSのみのサポートとなります。

また、GCPではHTCondor による高スループット コンピューティングというタイトルで、HTCondorを使用したバッチ処理クラスタの作成方法が説明されています。

今回は、HTCondorが公式に対応しているAWSを使って環境構築を進めることにします。まずは社内ネットワークとの接続は考えず、AWS上で計算サーバを構築してみましょう。

AWSの準備

AWSを使用するための準備をします。最初は「AWS?クラウド?何だかメンドクサイんじゃないの?」と思うかもしれませんが、使うだけだったらとても簡単です。登録手続きの細かい部分は日々変更される可能性があるので、公式のドキュメントを参考にするのがいいです。画像付きでとてもわかりやすく解説されているので、スンナリと登録できると思います。

さらにこのページの最後には10分間チュートリアルへのリンクまで用意されていて、仮想マシン(AWSではインスタンスと言います)の起動方法まで詳しく解説されています。

HTCondor Annexによる環境構築

AWSの準備ができたら、HTCondor Annexを使用してHTCondorを使用するための準備をします。HTCondor AnnexはAWS上の環境構築や仮想マシンの管理を行うためのツールです。もちろんこれまでのように全て自分でセットアップすることもできますが、便利なツールが用意されているのでまずは使ってみます。

HTCondor Annexを用いてAWS側の初期設定を行います。最初の設定方法はUsing condor_annex for the First Timeで解説されています。

上記ドキュメントでは簡易的な環境を構築することのできるpersonal condorのインストールから説明されています。われわれは手元に既に動く環境はありますが、今回はドキュメントに書いてある通りにpublicなIPアドレスの付与されているマシン上で環境をつくる必要があるため、新たにpersonal condor環境を用意します。

publicなIPアドレスが直接付与されているマシンを用意するのはなかなかハードルが高いので、NAT越しで何とか動かせないのか試してみたのですが、サラッと試した感じではうまくいかなそうだったので今回は断念しました。おそらく、前回行なっていたようなCCBを使った対応等々すればできるのではないかと思うので、次回以降の課題です。

personal condor環境をつくるには、使用しているOS に合わせたTarballを公式サイトから取得します。Tarballを取得したらインストールです。今回は~/condor-8.8.5以下に環境を作成します。

-bash-4.1$ mkdir condor-8.8.5
-bash-4.1$ cd condor-8.8.5/
-bash-4.1$ tar zxvf condor-8.8.5-x86_64_RedHat7-stripped.tar.gz
condor-8.8.5-x86_64_RedHat7-stripped/
condor-8.8.5-x86_64_RedHat7-stripped/sbin/
condor-8.8.5-x86_64_RedHat7-stripped/sbin/condor_collector

(中略)

condor-8.8.5-x86_64_RedHat7-stripped/src/chirp/chirp_client.c
condor-8.8.5-x86_64_RedHat7-stripped/NOTICE.txt
-bash-4.1$ mkdir local
-bash-4.1$ ./condor-8.8.5-x86_64_RedHat7-stripped/condor_install --local-dir `pwd`/local --make-personal-condor
Installing Condor from /home/chiyama/condor-8.8.5/condor-8.8.5-x86_64_RedHat7-stripped to /home/chiyama/condor-8.8.5

Condor has been installed into:
    /home/chiyama/condor-8.8.5

Configured condor using these configuration files:
  global: /home/chiyama/condor-8.8.5/etc/condor_config
  local:  /home/chiyama/condor-8.8.5/local/condor_config.local

In order for Condor to work properly you must set your CONDOR_CONFIG
environment variable to point to your Condor configuration file:
/home/chiyama/condor-8.8.5/etc/condor_config before running Condor
commands/daemons.
Created scripts which can be sourced by users to setup their
Condor environment variables.  These are:
   sh: /home/chiyama/condor-8.8.5/condor.sh
  csh: /home/chiyama/condor-8.8.5/condor.csh

セットアップが終わったので、personal condor環境を有効にして起動します。

-bash-4.1$ . ./condor.sh
-bash-4.1$ condor_master

・personal condorの設定

personal condorの設定をします。パスワードによるアクセス制限を有効にするためにSEC_PASSWORD_FILEを指定し、関連する設定を行なっています。personal condorで動いているホストをCONDOR_HOSTとCOLLECTOR_HOSTとして指定しています。

-bash-4.1$ cat local/condor_config.local
NETWORK_INTERFACE = *

CONDOR_HOST = $(FULL_HOSTNAME)
COLLECTOR_HOST = $(CONDOR_HOST)

SEC_PASSWORD_FILE = $(LOCAL_DIR)/condor_pool_password

SEC_DAEMON_INTEGRITY = REQUIRED
SEC_DAEMON_AUTHENTICATION = REQUIRED
SEC_DAEMON_AUTHENTICATION_METHODS = PASSWORD
SEC_NEGOTIATOR_INTEGRITY = REQUIRED
SEC_NEGOTIATOR_AUTHENTICATION = REQUIRED
SEC_NEGOTIATOR_AUTHENTICATION_METHODS = PASSWORD
SEC_CLIENT_AUTHENTICATION_METHODS = FS, PASSWORD
ALLOW_DAEMON = condor_pool@*

-bash-4.1$

パスワードファイルを生成します。

-bash-4.1$ condor_store_cred -c add -f `condor_config_val SEC_PASSWORD_FILE`
Enter password:
-bash-4.1$

以上でpersonal condorの設定ができました。

次ページ:
AWSのアクセスキーを取得する

その他の連載