AWS EC2にNeo4j環境を構築[Neo4j]
本記事では、データをグラフとして管理するためのWebアプリケーションであるNeo4jをAWS EC2にインストールするまでの手順を示します。
実行環境
- Instance-type: g4dn.8xlarge
- OS: Ubuntu16.04
- Neo4j: 4.0.4
Neo4jのインストール
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - echo 'deb https://debian.neo4j.com stable latest' | sudo tee -a /etc/apt/sources.list.d/neo4j.list sudo apt-get update # To install Neo4j Community Edition sudo apt-get install neo4j=1:4.0.4
インストール後の環境設定
ローカルPCのWebブラウザから、Neo4jをインストールしたインスタンスにリモート接続するためには、neo4j.conf の編集が必要。
/etc/neo4j/neo4j.conf
#***************************************************************** # Network connector configuration #***************************************************************** # With default configuration Neo4j only accepts local connections. # To accept non-local connections, uncomment this line: dbms.default_listen_address=0.0.0.0 << ここをアンコメント # You can also choose a specific network interface, and configure a non-default # port for each connector, by setting their individual listen_address. # The address at which this server can be reached by its clients. This may be the server's IP address or DNS name, or # it may be the address of a reverse proxy which sits in front of the server. This setting may be overridden for # individual connectors below. #dbms.default_advertised_address=localhost # You can also choose a specific advertised hostname or IP address, and # configure an advertised port for each connector, by setting their # individual advertised_address. # By default, encryption is turned off. # To turn on encryption, an ssl policy for the connector needs to be configured # Read more in SSL policy section in this file for how to define a SSL policy. # Bolt connector #dbms.connector.bolt.enabled=true #dbms.connector.bolt.tls_level=OPTIONAL dbms.connector.bolt.listen_address=0.0.0.0:7687 << ここをアンコメント # HTTP Connector. There can be zero or one HTTP connectors. dbms.connector.http.enabled=true << ここをアンコメント dbms.connector.http.listen_address=0.0.0.0:7474 << ここをアンコメント
Neo4jの設定が終わったら、下記コマンドで再起動する。
sudo systemctl restart neo4j
ちなみに最初から立ち上げなおす際は、以下を入力する。
sudo systemctl enable neo4j sudo systemctl start neo4j
AWSのインスタンスのインバウンド設定で、7474と7687を開放する。
次にファイアウォール設定を行う。見落としがちだが、ここの設定をしっかりと行わないとブラウザでNeo4jを立ち上げたときにWeb socketエラーが発生する。
sudo firewall-cmd --add-port=7474/tcp --zone=public --permanent sudo firewall-cmd --add-port=7687/tcp --zone=public --permanent sudo firewall-cmd --reload
以上の操作を終えて、http://xx.xx.xx.xx:7474 をWebブラウザに入力し、アクセスすると、Neo4jのGUIが立ち上がる。このとき、ユーザ名とパスワードがもとめられる。初期の場合は、user:neo4j, pwd:neo4jである。
さらに、どこのアドレスにアクセスするかを入力する必要があるので、bolt:// /xx.xx.xx.xx :7687 を入力する。初期の起動の場合、ボックスの中に neo4j:// /xx.xx.xx.xx :7687 がデフォルトで入っていたが、neo4jの部分をboltにしてあげないと、後にエラーがでてしまう。
この原因は不明だが、後のために記述だけ残しておく。
以上の設定をすべて終えると、Neo4jが使えるようになっているはずだ。Movie graphなどを表示してみて、正常に動作していることを確認してみよう。動作の確認に関しては、以下の記事の最後の方で説明しているので、参考にしてみてください。
参考
- https://community.neo4j.com/t/explanation-of-error-websocket-connection-failure-due-to-security-constraints-in-your-web-browser-the-reason-for-the-failure-is-not-available-to-this-neo4j-driver/259/8
- https://qiita.com/SuyamaDaichi/items/b09ce01216fefd17b2de
- https://neo4j.com/docs/operations-manual/current/installation/linux/debian/#debian-installation
- https://qiita.com/m-eno/items/94f32e9decb4e7ba84bd
- https://qiita.com/rubytomato@github/items/65205dc39eb825e4327d
ディスカッション
コメント一覧
まだ、コメントがありません