この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、小澤です。
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日間の無料トライアルも実施中ですので、お気軽にご相談ください。