Alteryx Promote 2018.3 インストール手順(on Amazon EC2)

こんにちは、小澤です。

Alteryxの製品シリーズの中でも最も新しいAlteryx Promoteは機械学習モデルをデプロイしてAPIサービスを提供してくれるものです。 Alteryx Designerで作成したモデルはもちろんのこと、PythonやRで作成したモデルのデプロイも可能です。

さて、今回はそんなAlteryx Promoteのインストール手順を紹介したいと思います。

インストール要件

まず最初にAlteryx Promoteのインストール要件を解説しておきます。 必要なマシンスペックなどは以下のようになります。

項目 スペック
OS Linux CentOS 7
CPU 4コア以上
メモリ 16GB以上
ディスク 100GB以上
最小構成台数 3台

EC2のインスタンスの場合、m5.xlarge相当となります。

注意が必要な点は2つあります。

1点目はOSがCentOS7のみということです。他のAlteryx製品は動作環境としてWindowsでしたが、Promoteに関してはLinuxで動きます。また、Amazon Linuxで試してみたところインストールに失敗したのでCentOS7じゃないとダメです。

2点目は最小構成台数が3台となっていることです。 1台だけでは動きませんので、必ず3台以上用意するようにしてください。

インストール手順

では、ここからインストール手順を解説していきます。

セキュリティグループの設定

セキュリティグループの設定は以下のようにします。 ssh, http, httpsの3つは例として0.0.0.0/0としていますが、必要に応じて変更してください。

EC2インスタンスの起動

最初に3台EC2インスタンスを立ち上げます。 通常のインスタンス立ち上げとやり方は同じなので、この部分に関しては解説しませんが、AMIの選択の際にCentOS 7にすることを忘れないようにしてください。 また、セキュリティグループは先ほど作成したものを利用します。

インストールのための準備

インストール前にAlteryx Promote用のユーザを作成しておく必要があります。 まず最初にpromoteユーザがsshでログインできるように鍵を作っておきます。

ssh-keygen

ここから先はインストールに際して必要な設定をEC2インスタンス上で行います。 3台全ての環境で同じ手順の操作を行います。

# SELinuxの無効化
sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sudo reboot

# パッケージのアップデート
# ここから先はスーパーユーザ権限が必要なのでrootで作業する
sudo su -
sudo yum update -y

# ユーザの作成
adduser promote
passwd promote

# promoteユーザでパスワードなしsudoができるように設定
usermod -aG wheel promote
visudo

### エディタ上で以下を記述 ###
promote ALL=(ALL) NOPASSWD: ALL
### ここまで ###

mkdir /home/promote/.ssh/
touch /home/promote/.ssh/authorized_keys
# authorized_keysに最初に作成したssh公開鍵の中身をコピペする
vi /home/promote/.ssh/authorized_keys
chown -R promote:promote /home/promote/.ssh
chmod 700 /home/promote/.ssh
chmod 600 /home/promote/.ssh/authorized_keys

インストール

ではいよいよインストールを行います。 インストールにはローカルPCから行います。 インストールに際してはGitが使える環境が必要となりますので、ない場合はインストールしておいてください。

まず、最初にinstall.shの上部の値を実際の値に合わせて書き換えます。

QUAY_PROMOTE_USERNAME='<ライセンス情報のUserに記載された値>'
QUAY_PROMOTE_PW='<ライセンス情報のKeyに記載された値>'

NODE_1_IP='<1台目(マスタ)のグローバルIP>'
NODE_2_IP='<2台目のグローバルIP>'
NODE_3_IP='<3台目のグローバルIP>'
NODE_1_INT_IP='<1台目(マスタ)のプライベートIP>'
NODE_2_INT_IP='<2台目のプライベートIP>'
NODE_3_INT_IP='<3台目のプライベートIP>'
SSH_USER='promote'
KEY_PATH='<ssh-keygenで作成された秘密鍵のパス>'

この状態でインストールを実行します。

./install.sh

インストールに際してはいくつかの質問に回答していきます。 まず最初に上記で記述した値が正しいかの確認です。

    ___    ____                          ____                             __     
   /   |  / / /____  _______  ___  __   / __ \_________  ____ ___  ____  / /____ 
  / /| | / / __/ _ \/ ___/ / / / |/_/  / /_/ / ___/ __ \/ __ `__ \/ __ \/ __/ _ \
 / ___ |/ / /_/  __/ /  / /_/ />  <   / ____/ /  / /_/ / / / / / / /_/ / /_/  __/
/_/  |_/_/\__/\___/_/   \__, /_/|_|  /_/   /_/   \____/_/ /_/ /_/\____/\__/\___/ 
                       /____/                                                    

This script will help you get up and running with Alteryx Promote!

***CONFIGURING ALTERYX PROMOTE ON THE FOLLOWING NODES***

PUBLIC IPs (FOR SSH)
Leader node IP:            <1台目のグローバルIP>
Master node 2 IP address:  <2台目のグローバルIP>
Master node 3 IP address:  <3台目のグローバルIP>

INTERNAL IPs
Leader node internal IP:   <1台目のプライベートIP>
Master node 2 internal IP: <2台目のプライベートIP>
Master node 3 internal IP: <3台目のプライベートIP>

ssh user:                  promote
path to PEM:               <ssh秘密鍵のパス>

PROMOTE CREDENTIALS
Quay Username:            <ライセンスのUser>
Quay Password:            <ライセンスのKey>


Is the above information correct? (y/n)

除法に問題がなければ「y」を押すと次に進みます(Enterを押す必要はありません)。

次に自身でで持っているCertificationを使うかを聞かれます。 今回はこちらも「y」を選択します。

Do you have your own certificates you would like to use? (y/n)

続いてはDockerをインストールするか聞かれます。ここではまっさらなインスタンスしか立ち上げてないので「y」を選択します。

=========================================================================
================ Docker Installation ====================================
=========================================================================

Does Docker need to be installed on these machines? (y/n)

この後インストールのプロセスが走ります。

次にDocker Swarmの設定を行うか聞かれます。こちらも「y」を選択します。

=========================================================================
================ Docker Swarm Configuration =============================
=========================================================================

Does Docker Swarm need to be configured on these machines? (y/n)

TLSに必要な情報を入力します。 ご自身の環境に合わせて設定してください。

=========================================================================
================ Setup TLS Certificates =================================
=========================================================================

...
...

Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:

あとはしばし待たれれば完了です。 最後にIPアドレス表記でのアクセス先が表示されます。

visit http://<Your Master Node Global IP> to continue with Promote registration

アクセス

インストールが完了したらブラウザからアクセスします。 先ほど表示されたIPアドレスまたはマスタノードのURLを入力します。

アクセスすると初回のみAdminユーザの登録とライセンスキーの入力画面が表示されます。 ライセンスキーはinstall.shに記載したUserやKeyではなくライセンスキーとして発行されているもの(英数字を数桁ずつハイフンでくぎったもの)を入力します。

ログイン画面に遷移するので先ほど作成したユーザでログインしてください。

ログインすると以下のような画面が表示されます。

この環境ではすでにStagingに1つモデルが上がってますが、初回は何も登録されていない状態となります。

おわりに

今回は、Alteryx Promoteのインストール方法を紹介しました。 これまでの他の製品と違って、次へ次へで完了させるノリではないので、"黒い画面に白い文字"の環境に慣れていない人にはハードルが高く感じられるかもしれませんが、慣れれば次へ次へとそんなに変わらないくらいの感覚でインストールできるようになるかと思います。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400