Hyperledger Fabric v1.4 샘플 애플리케이션을 AWS EC2에서 실행해 봅니다.

소개



HyperledgerFabric은 공식 샘플 이외에 실장예가 전혀 없어서(특히 일본어라면…), 여러가지 조사하는 것만으로 점점 시간이 녹아 갑니다. 특히 안정판으로서 릴리스 된 v1.4 의 구현예는 거의 발견되지 않습니다. 엔터프라이즈 유스가 중심으로, Qiita나 GitHub 등에서는 오픈하기 힘들다고 하는 것일까요.

이제 이 기사에서는 다음 리포지토리 샘플을 AWS EC2에서 실행해 보았으므로 이 단계를 비망록적으로 요약합니다.

Build Blockchain Insurance Application

샘플을 움직일 때까지의 흐름



AWS EC2(Ubuntu-18.04)로 인스턴스 생성



EC2에서 인스턴스 생성. OS는 Ubuntu-18.04를 선택합니다. 인스턴스 타입은 적당히 t2.xlarge 라든지 좋다.

보안 그룹은 SSH 및 사용자 정의 TCP 규칙을 설정합니다. SSH는 포트 22를, 커스텀 TCP 규칙에서는 포트 3000을 비워 둡시다.

인스턴스에 SSH 연결



작성한 인스턴스에 SSH로 접속해, 터미널로 조작해 갑니다.

SSH로 접속할 때의 유저명은 ubuntu 인 것에 주의. 평상시는 자주 ec2-user 로 들어가는 것이 많기 때문에, 여기에서 조금 빠졌습니다. OS가 AmazonLinux일 때는 ec2-user , Ubuntu일 때는 ubuntu 그래서 주의.

Build Blockchain Insurance Application 리포지토리를 복제하기 전에 필요한 환경을 구성합니다.

Docker 및 DockerCompose 설치


apt 패키지 업데이트
$ sudo apt-get update

HTTPS를 통해 리포지토리를 사용할 수 있도록 패키지 설치
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Docker 공식 GPG 키 추가
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

stable 리포지토리 설정
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

다시 apt 패키지 업데이트
$ sudo apt-get update

Docker 설치
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo 없이도 일반 사용자가 Docker를 실행할 수 있도록 설정
// ユーザーの確認
$ whoami
ubuntu

// 初期設定では使えない
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at ~

// 権限の確認
$ cat /etc/group | grep docker
docker:x:999:

// 権限の追加
$ sudo gpasswd -a ubuntu docker

// 追加されたことを確認
$ cat /etc/group | grep docker
docker:x:999:ubuntu

// Dockerが使用するソケットを一般ユーザーが読み込めるように
$ sudo chmod 666 /var/run/docker.sock

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

DockerCompose 설치
설치하기 전에 /usr/local/bin/로 이동
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

실행 가능 권한 적용
$ sudo chmod +x /usr/local/bin/docker-compose

설치 확인
$ docker-compose --version
docker-compose version 1.24.1, build xxx~

Node.js, nvm, npm 설치



nvm(노드 버전 관리자) 설치
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash

$ . ~/.nvm/nvm.sh

nodejs 및 npm 설치
$ nvm install 8.9.4

$ node -v
v8.9.4

$ npm -v
5.6.0

파이썬 설치



Ubuntu-18.04에는 기본적으로 python3이 들어 있으므로 python2는 별도로 설치해야합니다.
$ sudo apt-get install python

Git 설치


$ sudo apt-get install git

애플리케이션 실행



리포지토리 복제본 만들기
$ git clone https://github.com/IBM/build-blockchain-insurance-app

Docker에 로그인
$ docker login

Ubuntu에서 실행할 때 config 파일을 부분적으로 수정합니다.
// フォルダを移動
// /build-blockchain-insurance-app/web/www/blockchain/

// vimで修正
$ vi config.js
/build-blockchain-insurance-app/web/www/blockchain/config.js 의 9 라인째의 isUbuntu: falseisUbuntu: true 에 재기입.

쉘 실행
$ cd build-blockchain-insurance-app

$ ./build_ubuntu.sh

이제 잠시 후 네트워크가 만들어지고 브라우저에서 응용 프로그램을 터치합니다.

URL : ht tp // // c2-x-x-x-x. 코 m 뿌테 - x. 아마조나 ws. 코m:3000/

EC2 인스턴스의 공용 DNS에 :3000/를 붙이면 OK입니다. 보안 그룹의 설정으로 포트 :3000 를 개방하고 있으므로, 브라우저로 이하의 페이지를 볼 수 있게 되어 있으면 성공입니다.



결론



Hyperledger Fabric v1.4의 샘플 응용 프로그램을 실행할 수 있습니다.

SDK를 사용한 어플리케이션측의 구현이 아직 잘 모르기 때문에 움직이면서, 공부해 나갈 수 밖에 없네요.

좋은 웹페이지 즐겨찾기