このページでは、イベントサービスノードをホストするマシンを準備する方法と、その環境に対する全般的な要件について説明します。
ネットワークとポートの設定
コントローラとイベントサービスは、同じローカルネットワーク上に配置されていて、内部ネットワークで通信できる必要があります。互いに関連していても、コントローラと Enterprise Console に関連していても、別のネットワークにあるノードにクラスタをデプロイしないでください。構成でクラスタホストを特定する場合は、そのホストの外部ルーティング対応の DNS 名ではなく、ホストの内部 DNS 名または IP アドレスを使用する必要があります。
たとえば、AWS 展開の場合、ec2-34-201-129-89.us-west-2.compute.amazonaws.com
などの公開 DNS ホスト名ではなく、172.31.2.19
などのプライベート IP アドレスを使用します。
各マシンで、以下のポートで外部(クラスタ外)のトラフィックにアクセスできる必要があります。
- イベントサービスAPIストアのポート:9080
- イベントサービスAPIストアの管理ポート:9081
クラスタについては、以下のポートがクラスタ内のマシン間の通信に対してオープンな状態であることを確認します。通常、以下のポートを開くには、各マシンでiptablesまたはOSレベルのファイアウォールソフトウェアを構成する必要があります。
オペレーティングシステムのファイアウォールを構成するための iptables コマンドの例を次に示しています。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9081 -j ACCEPT
-A INPUT -m state --state NEW -m multiport -p tcp --dports 9300:9400 -j ACCEPT
BASH
イベントサービスノードでポートがブロックされている場合、そのノードに対するイベントサービスのインストールコマンドは失敗し、Enterprise Consoleのコマンド出力とログに次のようなエラーメッセージがあります。
このエラーが発生した場合は、このセクションで示しているポートが他のクラスタノードで利用可能であることを確認します。
パスワード不要のSSHログインの構成
Linux デプロイでは、Enterprise Console を使用してイベントサービスクラスタをデプロイおよび管理します。
Enterprise Console は、埋め込み以外のイベントサービスに対して、パスワード不要の SSH を使用して各クラスタマシンにアクセスできる必要があります。始める前に、以下に説明しているように鍵ベースの SSH アクセスを有効にします。
このセットアップでは、Enterprise Console でキーペアを生成し、クラスタノードで公開鍵を認証キーとして追加することも必要です。以下の手順では、この例のシナリオに合わせた構成手順を示しています。そのため、使用している環境に合わせて手順を調整する必要があります。
AWS で EC2 インスタンスを使用している場合は、以下の手順に従って、EC2 ホストをプロビジョニングする場合に対応できるようにします。そのときに、PEM ファイルが要求され、その PEM ファイルの公開鍵がホストの authorized_keys にコピーされます。この場合は、これらの手順をスキップできます。
ホストマシンで以下の手順に従います。
Enterprise Consoleホストマシンにログインするか、またはデプロイの実行に使用するユーザーに切り替えます。
SSHアーティファクトのディレクトリを作成し(存在しない場合)、次のようにディレクトリで権限を設定する。
そのディレクトリに移動します。
公開鍵と秘密鍵のPEMファイルをRSA形式で生成します。
- 要求されたときに、鍵を保存するファイルの名前を入力します(例:
ppd-analytics
)。 キーファイルの名前を変更して .pem
拡張子を追加します。
mv appd-analytics appd-analytics.pem
BASH
このファイルのパスは、「イベントサービスクラスタのデプロイ」で説明しているように、Enterprise Console の構成ファイルの sshKeyFile
設定として後で構成します。
公開鍵をクラスタマシンにコピーします。たとえば、次のように scp を使用して転送を実行できます。
scp ~/.ssh/myserver.pub host1:/tmp
scp ~/.ssh/myserver.pub host2:/tmp
scp ~/.ssh/myserver.pub host3:/tmp
BASH
例のとおりの名前を使用している場合、myserver
は appd-analytics です。
初めて接続するときに、接続を確認して、そのクラスタマシンを known_hosts のリストに追加し、ユーザーのパスワードを入力する必要があることがあります。
各クラスタノード(host1、host2、host3)で、ユーザーのホームディレクトリに.sshディレクトリがなければ作成し、コピーした公開鍵を認証キーとして追加します。
cat /tmp/appd-analytics.pub >> .ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
BASH
ホストマシンから ssh
を使用してクラスタノードへのログインを試すことによって、構成をテストします。
接続できない場合は、クラスタマシンに openssh-server
パッケージがインストールされていて、SSH 接続を受け入れるようにオペレーティングシステムのファイアウォールルールを変更していることを確認します。正常に接続できれば、Enterprise Consoleを使用してプラットフォームをデプロイできます。
次のエラーが発生した場合は、このセクションの手順に従って、パスワード不要の SSH 構成を再度チェックしてください。