이 페이지에는 여러 블록체인 네트워크에서 RPC 노드를 실행하기 위한 권장사항이 포함되어 있습니다.
구체적으로 이 튜토리얼에서는 다음을 안내합니다.
- 노드의 새 VPC를 만듭니다.
- 노드의 VM을 시작합니다.
- 노드 관리자의 새 프로필을 설정합니다.
- 체인 데이터를 위해 VM에 외부 디스크 마운트
이 가이드에서는 결제가 사용 설정된 Google Cloud 프로젝트가 이미 있다고 가정합니다. 자세한 방법은 프로젝트 만들기 및 관리를 참고하세요.
새 VPC 만들기
VPC 생성에 관한 자세한 안내는 VPC 네트워크 만들기 및 관리를 참고하세요.
다음 권장사항에 따라 노드의 VPC를 만듭니다.
- 커스텀 VPC 만들기
- 리전별 라우팅 모드
- MTU 1460
- 네트워크에 기본
BLOCKCHAIN_VPC_NETWORK-allow-ssh방화벽 규칙을 사용 설정합니다. 자세한 내용은 VPC 방화벽 규칙 사용을 참고하세요.
BLOCKCHAIN_VPC_NETWORK을 노드 리소스를 보유할 VPC의 이름으로 바꿉니다(예:ethereum-vpc).네트워크에 IPv4 서브넷을 추가합니다. 서브넷에 선택한 리전이 노드를 배포하려는 리전과 동일한지 확인합니다.
VPC에서 방화벽 규칙 VM을 만드는 방법을 알아보려면 VPC 방화벽 규칙 만들기를 참고하세요.
외부 SSD로 VM 시작
VM 생성 및 외부 디스크 연결에 관한 자세한 안내는 Compute Engine 문서를 참고하세요.
블록체인 네트워크의 특정 요구사항과 일치하는 VM 도형에 관한 구체적인 안내는 블록체인별 노드 페이지의 Hardware Requirements and Recommended Machine Type 섹션에서 확인할 수 있습니다. 블록체인별 문서에서 CPU 및 메모리 요구사항, 노드에 권장되는 VM 셰이프, 노드 생성 명령어를 확인하세요.
SSH를 사용하여 VM에 연결하고 새 사용자 만들기
SSH를 통해 VM에 연결
VM이 프로비저닝되면 Compute Engine 페이지로 이동하거나 Cloud Shell에서 다음 명령어를 실행하여 SSH를 사용하여 VM에 연결합니다.
gcloud compute ssh NODE_NAMENODE_NAME을 노드 이름으로 바꿉니다. 소문자, 숫자, 하이픈을 사용하세요. 예를 들면
my-node입니다.자체 머신에서 연결하는 경우 gcloud CLI 설치에 설명된 대로 Google Cloud CLI를 설치합니다.
Google Cloud CLI 설치가 완료되면 프로젝트에 로그인하고 VM에 연결합니다.
gcloud init gcloud compute ssh USER@NODE_NAMEUSER을 사용자 로그인 이름으로 바꿉니다. Google Cloud
새 사용자 만들기
SSH를 통해 VM에 연결한 후 노드의 모든 리소스를 소유하고 관리할 SSH가 아닌 sudo 사용자를 만듭니다. 이 사용자는 VM 메타데이터에 SSH 키가 없으므로 인증된 Google Cloud 사용자 중 한 명을 통해 먼저 머신에 연결해야만 액세스할 수 있습니다.
새 sudo 사용자를 만들고 다음을 실행합니다.
sudo useradd -m NODE_ADMINNODE_ADMIN를 새 사용자의 사용자 ID로 바꿉니다. 예를 들면
node-admin입니다.사용자를 sudo 그룹에 추가합니다.
sudo usermod -aG sudo NODE_ADMIN이 사용자로 전환하여 외부 디스크 마운트를 완료합니다.
sudo su - NODE_ADMIN
외부 디스크 마운트
2단계에서 만든 외부 디스크에 노드의 모든 체인 데이터가 저장됩니다. VM이 종료된 후 노드 간에 데이터를 포팅하고 체인 데이터의 스냅샷 일정을 쉽게 구성할 수 있으므로 이 방법을 사용하는 것이 좋습니다.
디스크를 마운트합니다. 먼저 VM에서 사용 가능한 모든 디스크를 나열합니다.
sudo lsblk외장 디스크는 대부분
/dev/sdb아래에 있습니다. 2단계에서 만든 디스크의 크기로 외부 디스크를 알 수 있습니다.디스크를 포맷합니다.
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb디스크의 디렉터리를 만들고 마운트합니다.
sudo mkdir -p /mnt/disks/CHAIN_DATA_NAME sudo mount -o discard,defaults /dev/sdb /mnt/disks/CHAIN_DATA_NAME다음을 바꿉니다.
- CHAIN_DATA_NAME: 체인의 데이터 디렉터리 이름입니다. 예를 들면
my-eth-data입니다. - /dev/sdb:
/dev/sdb과 다른 경우 디스크의 위치입니다.
- CHAIN_DATA_NAME: 체인의 데이터 디렉터리 이름입니다. 예를 들면
NODE_ADMIN에 쓰기 권한을 할당합니다.sudo chmod a+w /mnt/disks/CHAIN_DATA_NAME디스크의 UUID를 가져와 다시 시작 시 자동으로 다시 마운트되도록
fstab에 추가합니다.sudo blkid /dev/sdb export DISK_UUID=$(findmnt -n -o UUID /dev/sdb) echo "UUID=$DISK_UUID /mnt/disks/CHAIN_DATA_NAME ext4 discard,defaults,nofail 0 2" | sudo tee -a /etc/fstab이제 디스크가 마운트되어 준비되었습니다. 마운트된 디스크를 확인하려면 다음을 실행합니다.
df -h
다음 단계
노드의 스켈레톤이 준비되었습니다. 이 시점에서 다음을 확인할 수 있습니다.
- SSH 액세스가 사용 설정된 노드의 VPC
- 노드의 요구사항에 맞는 VM입니다.
- 노드 리소스를 소유하고 관리할 새 노드 관리자 사용자입니다.
- 노드의 스토리지 요구사항에 맞게 장착된 외부 SSD 디스크입니다.
블록체인별 문서로 돌아가 노드의 배포 명령어 실행을 완료하세요.