(1) キーファイルのダウンロード
AWSコンソールにログインし、Cloud9を開く。
画面左のファイルブラウザのペインでキーファイルを選択し右クリックする。
ダウンロードを選択しローカルマシンにダウンロードする。
(2) Lastre (/FSX) へファイルを転送する。
<scpを使用する場合>
ローカルマシンでTerminalを開く。
キーファイルを保存したディレクトリに移動しコマンドを実行する。
$ chmod 600 <キーファイル名>
$ scp -i <キーファイル名> <データファイル名> ubuntu@<マスターパブリックIP※>:/fsx
実行例
$ chmod 600 kek-gtc-user01-protein210915-123456789.pem
$ scp -i kek-gtc-user01-protein210915-123456789.pem test.txt ubuntu@35.74.132.214:/fsx
<rsyncを使用する場合>
$ chmod 600 <キーファイル名>
$ rsync -auv -e "ssh -i <キーファイル名>" <データファイル名> ubuntu@<マスターパブリックIP※>:/fsx
実行例
$ rsync -auv -e "ssh -i kek-gtc-user01-protein210915-123456789.pem" test2.txt ubuntu@35.74.132.214:/fsx
(3) S3バケットへデータを転送する
手順3.2でヘッドノードにssh接続した状態、または手順3.3でNICE DCV接続したubuntuのTerminal上で以下のコマンドを実行しS3バケットへエクスポートする。
$ nohup find /fsx -type f -print0 | xargs -0 -n 1 sudo lfs hsm_archive &
※マスターパブリックIPの確認方法
AWSコンソールにログインし、Cloud9を開く。Cloud9のターミナルで以下のコマンドを実行する。
$ pcluster list-clusters
$ pcluster describe-cluster --cluster-name <クラスタインスタンス名>
実行例
$ pcluster list-clusters
{
"clusters": [
{
"clusterName": "kek-gtc-user01-123456789-protein220112", # 起動しているクラスタインスタンスを確認
"cloudformationStackStatus": "CREATE_COMPLETE",
"cloudformationStackArn": "arn:aws:cloudformation:ap-northeast-1:123456789:stack/kek-gtc-user01-123456789-protein220112/b11e07c0-5d68-11ec-a973-0ac0e36575f7",
"region": "ap-northeast-1",
"version": "3.0.2",
"clusterStatus": "CREATE_COMPLETE"
}
]
}
$ pcluster describe-cluster --cluster-name kek-gtc-user01-123456789-protein220112
{
"creationTime": "2022-01-12T05:34:37.433Z",
"headNode": {
"launchTime": "2022-01-12T05:42:58.000Z",
"instanceId": "i-09828682fba621c25",
"publicIpAddress": "46.51.246.118", # マスターパブリックIPを確認
"instanceType": "m5.xlarge",
"state": "running",
"privateIpAddress": "10.254.4.21"
},
"version": "3.0.2",
<<SNIP>>
"clusterName": "kek-gtc-user01-123456789-protein220112",
"computeFleetStatus": "RUNNING",
"cloudformationStackArn": "arn:aws:cloudformation:ap-northeast-1:275704676984:stack/kek-gtc-user01-123456789-protein220112/b11e07c0-5d68-11ec-a973-0ac0e36575f7",
"lastUpdatedTime": "2022-01-12T05:34:37.433Z",
"region": "ap-northeast-1",
"clusterStatus": "CREATE_COMPLETE"
}
AWSコンソールにログインし、「サービス▼」からS3を開く。
または、検索窓に「S3」と入力する。
作成したS3バケットをクリックする。
下の画面に、アップロードするファイルまたはフォルダをドラッグアンドドロップする。
または、「アップロード」をクリックしアップロードするファイルを設定する。
以下のURLを参考にAWS CLIをインストールする。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html
例: Macの場合
各PCのTerminalから下記のコマンドを実行する。
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
AWS CLIが正しくインストールされたか確認する。
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.2.18 Python/3.8.8 Darwin/20.5.0 exe/x86_64 prompt/off
(2) AWS CLIのセットアップ
awsコマンド実行時に2.1で作成されたIAMユーザーが使用されるように設定を行う。なお、awsコマンドでは--profileオプションでプロファイルを指定することが出来るが、現在のCryoSPARCのデプロイ用スクリプトはプロファイル指定に対応していないため、デプロイ時にはデフォルトの設定(--profileオプションなし)を変更する必要がある。
$ aws configure
AWS Access Key ID [None]: 2.1で取得したアクセスキーID
AWS Secret Access Key [None]: 2.1で取得したシークレットアクセスキー
Default region name [None]: ap-northeast-1
Default output format [None]: text
(3)データのアップロード
データが保存されているディレクトリに移動し、以下のコマンドを実行する。
ここでもS3バケット名には<クラスタ名> = "<IAMユーザー名>-<クラスタID>" (e.g. kek-gtc00-protein210719) を使用する。
$ aws s3 cp ./relion30_tutorial_data.tar s3://<クラスタ名>
$ aws s3 cp ./relion31_tutorial_precalculated_results.tar.gz s3://<クラスタ名>
AWS S3プロトコルに対応したツールをインストールしアクセスキーID、シークレットアクセスキーを登録することでS3バケットへのデータのアップロードが可能。
AWS S3プロトコルに対応したツール例
・Cyberduck
・WinSCP