IT/AWS2023. 2. 16. 16:51

이 문서는 Ethereum 호환 블록체인 노드를 운영하기 위해 AWS 환경에서 비용 효율적으로 구축할 수 있는 방법에 대해서 설명합니다.

: AWS에서는 남는 자원을 활용하여 대략 65% ~ 80% 할인된 가격으로 인스턴스(서버)를 사용할 수 있는 "스팟 요청"을 제공합니다.

목차
1. 스팟 인스턴스 요청
2. 추가 시작 파라미터
3. 목표 용량
4. 네트워크
5. 인스턴스 유형
6. 기타

 

1. 스팟 인스턴스 요청

- AWS 웹 콘솔 화면에서 "EC2 > 스팟 요청 > 스팟 인스턴스 요청" 메뉴로 들어갑니다.

- 시작 파라미터 수동 구성을 선택합니다.

- AMI 에서 리눅스 이미지를 선택합니다.

  : Amazon Linux 2, Ubuntu Server 22, 또는 이전 생성한 AMI 를 선택합니다.

- 키 페어를 선택합니다.

 : 키 페어가 없으면 EC2 > 키 페어 에서 생성합니다.

 

2. 추가 시작 파라미터

- 시스템 모니터링이 필요하면 "CloudWatch 세부 모니터링 활성화"를 체크합니다.

- 보안 그룹을 선택합니다.

  : 노드간 연결을 위한 Port 및 노드 RPC 연결을 위한 포트를 오픈합니다.

  : ex) geth 의 경우 노드간 연결은 30303, RPC는 8545 입니다. 

- 퍼블릭 IP 자동 할당을 활성화합니다.

  : IP 비용 및 자동 재실행시 블록 싱크 등에 효율적입니다. 

- 필요 시 태그를 생성합니다.

 

3. 목표 용량

- 원하는 시스템(인스턴스)의 개수(목표 용량)를 설정합니다.

- 목표 용량 유지를 체크하여 인스턴스가 중단되면 자동으로 대체되도록 설정합니다.

 

4. 네트워크

- 네트워크는 외부 통신이 가능한 Public Zone의 VPC 및 Subnet을 선택합니다.

 

5. 인스턴스 유형

- 여기서는 비용 효율적인 노드 구성을 목표로 하므로 8vCPU 정도의 메모리 16G 이상의 인스턴스 유형을 선택합니다.

  : 8개 이상 많이 사용하는 인스턴스를 선택하는 것을 권장합니다. c5.2x, m5d.2x, t3.2x 등 비용 순으로 선택합니다.

- 할당 방식은 "가격 용량 최적화(권장)"을 선택합니다.

 

6. 기타

- 해당 설정 등은 AWS Seoul 리전에서 수 개월간 Ethereum 테스트 노드들을 운영하면서 최적화한 설정입니다.

- 시스템 용량은 2 TB 이상을 권장합니다.

- 사전에 리눅스 AMI를 생성하여 노드 구성을 테스트 한 후에 AWS Spot 구성을 하여 비용 효율적으로 운영하는 것을 추천합니다.

- 시스템 비용은 시간당 약 $0.13 이므로 월간 $100 로 안정적으로 이더리움 호환 노드를 운영할 수 있습니다.

- 스토리지 비용은 2 TB SSD 약 단가 $0.114 * 2,000 GiB = $228 입니다.

 

기타 문의 사항 등은 덧글 달아주시구요.

도움이 되셨으면 ♥ 눌러주세요.   

반응형
Posted by ITBJ
카테고리 없음2022. 10. 19. 21:27

안녕하세요. IT반장입니다.

이번 글에서는 AWS 환경에서 간단하게 네트워크(VPC) 구성 및 시스템(리눅스) 구축 방법에 대해서 설명하고자 합니다.

- 아래 예제는 이더리움 테스트 노드를 동작시키기 위한 사양 등을 고려하였습니다.

 

목차

1. VPC 생성
2. Security Group 생성
3. EC2 인스턴스 생성
4. 탄력적 IP 주소 할당
5. 접속 테스트

 


1.  VPC 생성

- AWS에 시스템을 구축하려면 가장 먼저 VPC(Virtual Private Cloud)를 구축해야합니다.

- VPC에는 기본적으로 네트워크(서브넷, 게이트웨이, 라우터 등)를 포함합니다. 참고[1]

* VPC 생성 메뉴 > "VPC 등" 선택 > 태그 자동 생성 입력 "blockchain" 으로 하고 나머지는 기본으로 설정하여 생성

 

2.  Security Group 생성

- 시스템을 생성하기 전에 해당 시스템에 접근 제어 정책을 생성하는 단계 입니다.

 * 이름, 설명, VPC 를 작성하고, 필요한 포트를 추가하여 생성합니다. 

 * SSH로 시스템에 접근할 "소스 주소"등은 가능하면 지정하는 것이 좋습니다. 

 

3.  EC2 인스턴스 생성

- 여기서는 EC2 인스턴스(시스템)을 리눅스 OS로 설정하는 예제를 보여줍니다. 원하는 사양과 이미지를 선택하여 생성하면 됩니다.

* 키 페어는 사전에 EC2 > 키 페어 메뉴에서 생성한 후에 EC2를 생성합니다.

* 여기서는 블록체인 테스트 노드를 동작시키기 위하여 c5.xlarge, 200g SSD로 설정하였습니다.

* 외부와 다이렉트로 통신해야하는 블록체인 노드이므로 public 서브넷에 구성하였습니다.

 

4. 탄력적 IP 주소 할당

- 탄력적 IP(Elastic IP, 공인IP)를 할당하여 생성한 EC2 시스템에 할당하여 외부에서 접근할 수 있도록 합니다.

 

 

5. 접속 테스트

- 정상적으로 시스템에 ssh로 접속이 되는지 키파일로 접속 테스트를 해봅니다.

ssh -i ~/.ssh/keypair.pem ubuntu@10.10.10.10

# 여기서 IP는 연결할 시스템의 공인IP(탄력적IP)를 입력합니다.

 


참고 목록

[1] VPC: https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html

[2] Security Group: https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/mem-ug/SecurityGroups.Creating.html

 


문서 이력

- v1.0 (20221019) :  최초 등록

 


도움이 되셨다면 

 눌러 주세요.^^


 

반응형
Posted by ITBJ