mludvig / aws-ethereum-miner

CloudFormation template for mining Ethereum crypto currency on AWS
273 stars 155 forks source link
aws cryptocurrency ethereum

AWS Crypto Miner

CloudFormation template for mining Ravencoin (RVN), Ergo (ERG), Kaspa (KAS), and Ethereum Classic (ETC) altcoins on AWS GPU-enabled EC2 instances, with a support for payouts in Bitcoin (BTC)

Important!

Quick start

  1. Have your BTC wallet address ready for payouts (even if mining RVN, ERG, KAS, or ETC).
  2. Login to your AWS account.
  3. Launch the stack in one or more of the cheapest regions. Sometimes spot capacity is not available in a particular region, in that case try a different one.

You will have an opportunity to check the stack details, enter the wallet address, etc, before the stack is launched.

Region Default VPC Custom VPC
ap-northeast-1 Tokyo Launch to Default VPC Launch to Custom VPC
ap-northeast-2 Seoul Launch to Default VPC Launch to Custom VPC
ap-northeast-3 Osaka Launch to Default VPC Launch to Custom VPC
ap-south-1 Mumbai Launch to Default VPC Launch to Custom VPC
ap-southeast-1 Singapore Launch to Default VPC Launch to Custom VPC
ap-southeast-2 Sydney Launch to Default VPC Launch to Custom VPC
ca-central-1 Central Launch to Default VPC Launch to Custom VPC
eu-central-1 Frankfurt Launch to Default VPC Launch to Custom VPC
eu-north-1 Stockholm Launch to Default VPC Launch to Custom VPC
eu-west-1 Ireland Launch to Default VPC Launch to Custom VPC
eu-west-2 London Launch to Default VPC Launch to Custom VPC
eu-west-3 Paris Launch to Default VPC Launch to Custom VPC
sa-east-1 São Paulo Launch to Default VPC Launch to Custom VPC
us-east-1 N. Virginia Launch to Default VPC Launch to Custom VPC
us-east-2 Ohio Launch to Default VPC Launch to Custom VPC
us-west-1 N. California Launch to Default VPC Launch to Custom VPC
us-west-2 Oregon Launch to Default VPC Launch to Custom VPC

The following Opt-in regions must be enbled in AWS Account settings before use...

Region Default VPC Custom VPC
af-south-1 Cape Town Launch to Default VPC Launch to Custom VPC
ap-east-1 Hong Kong Launch to Default VPC Launch to Custom VPC
eu-south-1 Milan Launch to Default VPC Launch to Custom VPC
me-south-1 Bahrain Launch to Default VPC Launch to Custom VPC

Which region should I use?

Not all instance types are available in all regions. Use the table below to choose the region which supports your desired instance type.

Also note that the Spot and On-Demand prices differ between the regions. The US regions are typically slightly cheaper but often have availability issues, especially on Spot. The non-US regions are a little more expensive but may have the desired instance types available more readily.

Instance regions

What does the template do?

Increase resource quotas

All right you have created the stack but no instances seem to be running. If you navigate to EC2 -> Autoscaling groups -> miner -> Events tab you may see this error:

Failed: Launching a new EC2 instance.

Status Reason: Max spot instance count exceeded. Launching EC2 instance failed.

AWS accounts have default limits (quotas) on some resources. You may find, for example, that your quota for All G and VT Spot Instance Requests in a particular region is 0 and you therefore can't start any g4dn.xlarge instances. It pays to request the quotas increase which can be done with this simple command (you can do this from the CloudShell):

export AWS_REGION=us-west-2 # Oregon
export CODE=L-3819A6DF      # All G and VT Spot Instance Requests (for g5.xlarge, g4dn.xlarge, etc)
# export CODE=L-7212CCBC    # All P Spot Instance Requests (for p3.2xlarge, p3dn.24xlarge or p4d.24xlarge)
export VCPUS=96             # 96 vCPUs - can accommodate e.g. 24x g4dn.xlarge or 1x p4d.24xlarge

aws --region ${AWS_REGION} service-quotas request-service-quota-increase --service-code ec2 --quota-code ${CODE} --desired-value ${VCPUS}

Choose the number of vCPU and the Quota code according to your needs.

Expand to Los Angeles (us-west-2-lax-1)

Spot instance capacity for g4dn.xlarge instances is in short supply in the cheapest regions, even though the spot prices are still very very low. You may have to wait for a long time to get an instance.

Interestingly the Los Angeles local zone seems to have plenty of g4dn spot capacity at the same price as Oregon, however you have to opt-in to be able to use it. Here is how (you can do this from the CloudShell):

  1. Opt-in to the LAX zone with:
    aws --region us-west-2 ec2 modify-availability-zone-group --group-name us-west-2-lax-1 --opt-in-status opted-in
  2. Create new default subnets in the 2 LAX AZs in the default Oregon VPC:
    aws --region us-west-2 ec2 create-default-subnet --availability-zone us-west-2-lax-1a
    aws --region us-west-2 ec2 create-default-subnet --availability-zone us-west-2-lax-1b
  3. Delete and re-deploy the CFN stack in us-west-2 (Oregon) - it will pick up the 2 new AZs and launch the instances.

Tell me more ...

Check out the instructions in my Medium article, it contains some important considerations. Alternatively, if you think you know what you are doing follow these instructions:

Author

Michael Ludvig, you're welcome :)