Web/DB & Cloud

AWS EC2에 IPSF 구축하고 Flask로 배포하기

WakaraNai 2022. 2. 13. 02:18
728x90
반응형

 

 

EC2 Instance

1. 생성

security groups 잘 보기!!

storage size를 free tier 최대 용량인 30으로 적어두기

마지막에 create new key pair 하고 저장 잘 해놓기

 

 

2. connect

 

 

IPFS 구축

install IPFS

wget https://dist.ipfs.io/go-ipfs/v0.11.0/go-ipfs_v0.11.0_linux-amd64.tar.gz
tar xvfz go-ipfs_v0.11.0_linux-amd64.tar.gz
rm go-ipfs_v0.11.0_linux-amd64.tar.gz

sudo ./go-ipfs/install.sh
ipfs version

 

initialise the IPFS repository

mkdir /home/ubuntu/ipfs
mkdir /home/ubuntu/ipfs/data

echo 'export IPFS_PATH=/home/ubuntu/ipfs/data' >> ~/.profile
source ~/.profile

ipfs init --profile server

이 때 에러가 발생하는데 문제 없음

 

ipfs config Datastore.StorageMax 10GB # 29GB보다 아래로 해야함
ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080

 

 

Setup IPFS daemon

sudo vim /lib/systemd/system/ipfs.service
[Unit]
Description=ipfs daemon
[Service]
ExecStart=/usr/local/bin/ipfs daemon --enable-gc
Restart=always
User=ubuntu
Group=ubuntu
Environment="IPFS_PATH=/home/ubuntu/ipfs/data"
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable ipfs.service
sudo systemctl start ipfs
sudo systemctl status ipfs

 

내 Peer ID를 알고 싶다면,

ipfs config show

 

 

Public IP 등록하기

Network & Security에서 Elastic IPs 가서

"Allocate Elastic IP address" 클릭

생성된 거 들어가서 다시 그 안에 있는 "Allocate Elastic IP address" 클릭

설정은 다음과 같이 꼭 해주기

 

생성된 IP 주소에 associate를 안 해주면 요금 발생. 꼭 해두기

 

API를 위한 Python Flask 구축

EC2에는 python3.8이 이미 있는 것 같으니 패스

없다면 sudo apt install python3

sudo apt install python3-pip
pip3 install flask

 

vim app.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(debug=False, host='0.0.0.0')

 

python3 app.py

 

 

테스트

이제 자신의 컴퓨터에서

Elastic IP 주소 (예로 3.21.5.354라면) 접속해보기

https://3.21.5.354:5000 

Hello, World!가 뜬다면 성공

728x90
반응형