로컬 환경에서 외부 접근 가능한 주소 획득, https 통신을 위해 사용합니다. 가입 후 아래와 같이 auth token을 터미널에 등록해주세요.
$ brew install ngrok/ngrok/ngrok
$ ngrok config add-authtoken <token>
도커를 설치하시고 아래의 팀 공용 아이디로 로그인해주세요.
dockerhub: <허브아이디>
id: <해당아이디>
pw: <해당패스워드>
Enclave 서버가 rds db로 연결할 때 파라미터로는 ssh tunnel을 설정할 수 없어 환경을 터널링된 상태로 바꿔줘야합니다.
$ brew install sshuttle
$ sshuttle --dns -vr ubuntu@<IP> 0/0 --ssh-cmd 'ssh -i {pem 파일 경로}'
이 때 ubuntu@ 0/0 은 stg bastion의 ip입니다.
터미널에 아래 명령어를 입력해주세요.
$ sshuttle --dns -vr ubuntu@35.72.157.88 0/0 --ssh-cmd 'ssh -i {<pem 파일 경로>}'
$ vi ~/Library/Application\ Support/ngrok/ngrok.yml
(vim) 혹은 $ ngrok config edit
(nano) 을 통해 아래와 같이 수정해주세요.
version: "2"
authtoken: {여러분의 auth token}
tunnels:
first:
addr: 21117
proto: http
second:
addr: 8000
proto: http
$ ngrok config check
를 통해 설정이 잘 되었는지 확인해주세요.
포트는 소스의 포트로. enclave server가 저기로 요청을 전송합니다.
21117번 포트는 enclave server입니다.
$ ngrok start --all
을 실행해주세요. 설정이 잘 되었다면 아래와 같은 스테이터스 패널이 표시됩니다.
ngrok
Session Status online
Account Wayne (Plan: Free)
Version 3.0.2
Region Japan (jp)
Latency 46.830333ms
Web Interface http://127.0.0.1:4040
Forwarding https://62ec-121-135-186-84.jp.ngrok.io -> http://localhost:8000
Forwarding https://743d-121-135-186-84.jp.ngrok.io -> http://localhost:21117
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
이제 여기서 Forwarding으로 표기된 두 개의 주소를 가져와서 docker-compose.yml
파일을 수정해야합니다.
3번 단계에서 가져온 주소들로 아래를 수정해줍니다.
https://62ec-121-135-186-84.jp.ngrok.io
)#VASP API
주석이 있는 섹션의 엔드포인트를 8000번 포트와 연결된 주소로 덮어씌워주세요https://743d-121-135-186-84.jp.ngrok.io/
)VEGA_ENCLAVE_PUBLIC_ENDPOINT
항목에 덮어씌워주세요터미널에서 이 리포로 이동한 뒤, $ docker-compose up
을 입력해주세요.
아래와 같은 output이 나오면 성공입니다.
Recreating enclave ... done
Attaching to enclave
enclave |
enclave | > vega-enclave@1.3.9 productstart /data/app
enclave | > node build/main.js
enclave |
enclave | [WARN] 2022-04-22T07:05:16.647Z VEGA_DECRYPT_API_ENDPOINT is not set. Plain 'VEGA_ENCRYPTION_KEY_BASE64' value will be used to decrypt private key in PKMS.
enclave | [DEBUG] 2022-04-22T07:05:16.823Z PerVasp key is not found
enclave | [DEBUG] 2022-04-22T07:05:16.960Z PerVasp key is created and saved
enclave | [INFO] 2022-04-22T07:05:16.965Z Start worker(retryCommandsJob) with interval 60 seconds
enclave | [INFO] 2022-04-22T07:05:16.966Z Start worker(updateImpossibleCommandsJob) with interval 300 seconds
enclave | [INFO] 2022-04-22T07:05:16.966Z Start worker(deleteCommandsJob) with interval 3600 seconds
enclave | [INFO] 2022-04-22T07:05:17.028Z Listening port at 21117