=================
AAClusterについて
=================

.. Contents:: 目次
    :local:
    :depth: 2

AAClusterの役割とできること
===========================

AAClusterはデータサイエンティストやアプリケーション開発者が使用する個人用の分析環境です。
AAClusterではJupyter Notebookが起動しており、Jupyter Notebook上でscikit-learn
を使った分析の実行が行えます。
また、Notebookファイルに記述した分析手順をWebAPI化（AI-API化）し、分析手順をWebAPIとして実行できます。
他にも、Gitクライアント、AWS CLI、SSHクライアントが利用でき、GitリポジトリやAmazon S3等を使ったファイルの送受信が可能です。

ユーザー（データサイエンティストやアプリケーション開発者）はAAClusterをウェブブラウザから作成/削除できます。
AAClusterの作成/削除はTerminalやスクリプト等からAAPF WebAPIを使って行う事もできます。

作成したAAClusterは分析作業や分析手順のWebAPI化、WebAPI化した分析手順の実行に使用します。

AAClusterにインストールされているソフトウェアの詳細は :ref:`こちら<confirm-available-packages>`
を参照してください。

.. _about_working_storage:

AAClusterにマウントされている永続化領域について
===============================================

AAClusterはAAPFデプロイ環境の共有ストレージ領域を永続化領域としてマウントしており、
分析手順を記述するNotebookファイルや出力される分析結果などはこのストレージを利用します。

マウントされる共有ストレージ領域のディレクトリ構成は以下の通りです。

.. list-table:: ディレクトリ構成
  :header-rows: 1

  * - ディレクトリ
    - 説明
  * - /home/aa_svc
    - 個人の領域として割り当てられる他のユーザーからアクセスされない領域です。
      このディレクトリがJupyter Notebookのルートディレクトリとなります。

.. warning::

    上記のディレクトリ以外に配置されたファイルはAAClusterを削除した際に削除されます。


トラブルシューティング
======================

AAClusterでは、 以下にJupyter Notebook Serverのログが出力されます。
何らかの問題が発生した場合は、ログを参考に問題の解決を図ってください。

- `/home/aa_svc/jupyter_notebook_logs/jupyter_<yyyyMMddHHmmssfff>.log`
- `/home/aa_svc/jupyter_notebook_logs/jupyter_<yyyyMMddHHmmssfff>.log.1`
- `/home/aa_svc/jupyter_notebook_logs/jupyter_<yyyyMMddHHmmssfff>.log.2`

.. warning::

    上記のログファイルは、設定ファイルの内容にしたがってローテートされ、古いものは順番に上書きされます。
    また、古くなったログファイルは、設定に従って削除されます。
    デフォルト設定では、1MByteごとにローテートされ、3世代まで保持されます。
    7日間更新されていないログファイルは削除されます。

.. note::

    ``yyyyMMddHHmmssfff`` の部分は、AAClusterの起動時刻です。
    例として2021年7月30日17時17分30秒の場合は、 ``20210730171730567`` のようになります。（ミリ秒まで）
    AAClusterの起動時刻は、AAPF WebUIで確認することができます。(※若干の誤差があります）

ログ出力の設定を変更したい場合は、以下の設定ファイルを編集・保存してください。

- ログ出力設定ファイル: `/home/aa_svc/jupyter_notebook_logs/logs.conf`

  ::

      # Number of files to manage generations
      LOG_FILE_NUM=3
      # Specify the log file size with B, K, M, G
      LOG_FILE_SIZE=1M
      # Specify the period for saving the log file in days
      EXPIRE_DAYS=7

.. note::

    編集した内容は、起動中のAAClusterのログファイルには反映されません。
    編集後に起動されたAAClusterのログファイルから反映されます。
