Skip to content

2. ABCIシステム利用環境

2.1. アカウントの取得

ABCI利用者には、「利用責任者」「利用管理者」「利用者」の3種類があります。 ABCIシステムを利用するには、「利用責任者」がABCI利用ポータルからABCIグループ申請・利用者(「利用管理者」もしくは「利用者」)を行い、ABCIアカウントを取得する必要があります。 詳細はABCI利用ポータル利用手引きを参照してください。

Note

  • 「利用責任者」自身にもABCIアカウントが発行されます。
  • 「利用責任者」はABCI利用ポータルにて「利用者」を「利用管理者」に変更することが可能です。
  • 「利用責任者」と「利用管理者」は、ABCIグループに利用者(「利用管理者」もしくは「利用者」)を追加することが可能です。

2.2. インタラクティブノードへの接続

ABCIシステムのフロントエンドであるインタラクティブノード(ホスト名: es)に接続するには、二段階のSSH公開鍵認証による接続を行います。

  1. SSH公開鍵認証を用いてアクセスサーバ(ホスト名: as.abci.ai)にログインして、ローカルPCとインタラクティブノードの間にSSHポートフォワーディングによるトンネリング(以下「SSHトンネル」という)を作成
  2. SSHトンネルを介して、SSH公開鍵認証を用いてインタラクティブノード(es)にログイン

なお本章では、ABCIのサーバ名は イタリック で表記します。

前提

インタラクティブノードに接続するには、以下が必要になります。

  • SSHクライアント。Linux、macOSを含むUNIX系OS、Windows 10 version 1803 (April 2018 Update)以降など、ほとんどのPCには、デフォルトでSSHクライアントがインストールされています。インストールされているかどうかを確認するには、コマンドラインからsshコマンドを実行してください。
  • 安全なSSH公開鍵・秘密鍵ペアの生成。ABCIで利用可能な鍵ペアは以下のとおりです。
    • RSA鍵 (2048bit以上)
    • ECDSA鍵 (256bit、384bit、または521bit)
    • Ed25519鍵
  • SSH公開鍵の登録。ABCI利用ポータルにてSSH公開鍵の登録を事前に行ってください。登録方法は、SSH公開鍵の登録を参照してください。

Note

SSHクライアントとして、Tera TermやPuTTYを利用する場合は、Tera Termの利用PuTTYの利用を参照。

SSHクライアントによるログイン

以下では、SSHクライアントを用いて、(1) アクセスサーバでSSHトンネルの作成後にインタラクティブノードにログインする方法と、(2) OpenSSH 7.3以降で実装されたProxyJumpを使ったより簡便なログイン方法、を説明します。

一般的なログイン方法

以下のコマンドでアクセスサーバ(as.abci.ai)にログインし、SSHトンネルを作成します。

[yourpc ~]$ ssh -i /path/identity_file -L 10022:es:22 -l username as.abci.ai
The authenticity of host 'as.abci.ai (0.0.0.1)' can't be established.
RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX. <- 初回ログイン時のみ表示
Are you sure you want to continue connecting (yes/no)?  <- yesを入力
Warning: Permanently added ‘XX.XX.XX.XX' (RSA) to the list of known hosts.
Enter passphrase for key '/path/identity_file': <- パスフレーズ入力

アクセスサーバへのログインが成功すると、ターミナル上に下記のメッセージが表示されます。

Welcome to ABCI access server.
Please press any key if you disconnect this session.

Warning

上記状態で何らかのキーを入力するとSSH接続が切断されてしますので注意してください。

続いて、別のターミナルを起動し、SSHトンネルを用いてインタラクティブノードにログインします。

[yourpc ~]$ ssh -i /path/identity_file -p 10022 -l username localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX. <- 初回ログイン時のみ表示
Are you sure you want to continue connecting (yes/no)? <- yesを入力
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
Enter passphrase for key '-i /path/identity_file': <- パスフレーズ入力
[username@es1 ~]$

ProxyJumpの使用

ここではOpenSSH 7.3以降で実装されたProxyJumpを使ったログイン方法を説明します。

まずローカルPCの$HOME/.ssh/configに以下の記述を行います。

Host abci
     HostName es
     User username
     ProxyJump %r@as.abci.ai
     IdentityFile /path/identity_file

Host as.abci.ai
     IdentityFile /path/identity_file

以降は、以下のコマンドのみでログインできます。

[yourpc ~]$ ssh abci

Warning

Windows 10 バージョン1803以降に標準でバンドルされているOpenSSH_for_Windows_7.7p1では、ProxyJumpおよびProxyCommandが使えません。Windows Subsystem for Linux (WSL)にバンドルされているOpenSSHでは使えます。

2.3. インタラクティブノードへのファイル転送

ローカルPCとABCIシステム間でファイル転送をするには、scp(sftp)コマンドを利用します。この場合もSSHトンネルを介して行う必要があります。

SSHトンネルの設定後、以下のように実行します。

[yourpc ~]$ scp -i /path/identity_file -P 10022 local-file username@localhost:remote-dir
Enter passphrase for key: <- パスフレーズを入力

local-file    100% |***********************|  file-size  transfer-time

ProxyJumpが使える場合は、SSHトンネルを明示的に設定する必要はありません。ProxyJumpの使用で説明したとおり$HOME/.ssh/configの設定がしてあれば、直接scp (sftp)コマンドでファイル転送が行えます。

[yourpc ~]$ scp local-file abci:remote-dir

2.4. パスワード変更

ABCIシステムのパスワードはLDAPで管理されています。 SSHログインではパスワードは使用しませんが、 ABCI利用ポータルへのログイン、ログインシェルの変更の際にパスワードが必要になります。 パスワードを変更する場合は、passwdコマンドを使用します。

[username@es1 ~]$ passwd
Changing password for user username.
Current Password: <- 現在のパスワードを入力
New password: <- 新しいパスワードを入力
Retype new password: <- 新しいパスワードを再度入力
passwd: all authentication tokens updated successfully.

Warning

パスワード規約は以下の通りです。

  • 15以上の文字をランダムに並べた文字列を指定してください。例えばLinux の辞書に登録されている単語は使用できません。文字をランダムに選ぶ方法として、パスワード作成用のソフトウェアを用いるなどして、自動的に生成することを推奨します。
  • 英大文字[A-Z]、英小文字[a-z]、数字[0-9]、記号の4種類をすべて使用してください。
  • 全角文字は使用できません。

2.5. ログインシェル

ABCIシステムのデフォルトログインシェルは、bashが設定されています。 ログインシェルはchshコマンドを使用してtcshもしくはzshに変更することができます。 ログインシェルの変更は次回ログインから有効となります。また、ログインシェルの反映には10分程度時間がかかります。

$ chsh [options] <new_shell>
オプション 説明
-l 利用可能なログインシェル一覧を表示する
-s new_shell ログインシェルをnew_shellに変更する

例) ログインシェルを tcsh に変更する。

[username@es1 ~]$ chsh -s /bin/tcsh
Password for username@ABCI.LOCAL: <- パスワードを入力

ABCIシステムへログインすると、ABCIシステムを利用するための環境設定が自動で設定されます。環境変数PATHや環境変数LD_LIBRARY_PATH等をカスタマイズする場合は、以下に示す個人用設定ファイルに設定してください。

ログインシェル 個人用設定ファイル
bash $HOME/.bash_profile
tcsh $HOME/.cshrc
zsh $HOME/.zshrc

Warning

設定ファイルに環境変数PATHにパスを追加する際は、環境変数PATHの最後に追加してください。先頭に追加した場合、システムを正常に使用できなくなる恐れがあります。

個人用設定ファイルのオリジナル(雛形)は/etc/skel配下に格納しています。

2.6. ABCIポイントの確認

ABCIポイントの使用状況と購入数を確認するには、show_pointコマンドを利用します。 ABCIポイント消費率が100%を超える見込みの場合、新規ジョブ投入が行えず、投入済みジョブは実行開始時にエラーになります(実行中ジョブは影響を受けません)。

例) ABCIポイントを確認する。

[username@es1 ~]$ show_point
Group               Disk                    Used           Point   Used%
grpname                5             12,345.6789         100,000      12
  `- username          -                  0.1234               -       0
項目 説明
Group ABCI利用グループ名
Disk グループ領域割当量(TB)
Used ABCIポイント使用量
Point ABCIポイント購入量
Used% ABCIポイント消費率

2.7. ディスククォータの確認

ホーム領域およびグループ領域の使用状況と割り当て量を表示するには、 show_quotaコマンドを利用します。

例) ディスククォータを確認する。

[username@es1 ~]$ show_quota
Disk quotas for user username
  Directory                     used(GiB)       limit(GiB)          nfiles
  /home                               100              200           1,234

Disk quotas for ABCI group grpname
  Directory                     used(GiB)       limit(GiB)          nfiles
  /groups1/grpname                  1,024            2,048         123,456
項目 説明
Directory 領域種別
used(GiB) ディスク使用量
limit(GiB) ディスク上限値
nfiles ファイル数

2.8. 計算ノードと外部ネットワークとの通信

ABCIの計算ノードと、外部ネットワーク上のサービスやサーバとの間の通信は一部のみ許可されています。

接続元 接続先 ポート サービスネーム
外部ネットワーク 計算ノード すべて禁止
計算ノード 外部ネットワーク 22/tcp ssh
計算ノード 外部ネットワーク 53/tcp dns
計算ノード 外部ネットワーク 80/tcp http
計算ノード 外部ネットワーク 443/tcp https

現在許可されていない通信のうち、outbound通信、すなわち計算ノードから外部ネットワークへの通信については、申請ベースで一定期間許可することを検討します。ABCIサポートまでお問い合わせください。