Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Cloud machine setup (VM alternative)


This is an experimental setup. It has not been thoroughly tested.

As an alternative to using the Hive machines, you can do development in the cloud with AWS (Amazon Web Services) or GCE (Google Compute Engine). Both AWS and GCE provide specific VMs free-of-charge under certain usage limits. In particular, see here and here.

Warning: signing up for AWS or GCE will require you to register a billing account. To ensure you do not incur billing charges, you should be very careful. Make sure you are always operating within free tier restrictions and only using free tier resources. We are NOT responsible for any billing charges.

A few notes:

  • When signing up for GCE, we recommend you do NOT use your Berkeley email. This is because you cannot directly create projects outside of any organization with a GSuite account.
  • The AWS t2.micro free tier expires after 1 year.
  • When creating your VM instance, make sure to select Ubuntu 18.04 LTS and x86 architecture.

Here are some guides that you may find useful:

Once you have launched and ssh’d into your VM, follow the instructions below to set up your development environment.

  1. Clone the vagrant repository and checkout the cloud-setup branch.
    git clone --recursive https://github.com/Berkeley-CS162/vagrant.git
    cd vagrant
    git checkout cloud-setup
    
  2. Switch to superuser.
    sudo su
    
  3. Create a new user called vagrant. Choose a password that you can remember; the personal information section doesn’t matter and can be left blank.
    adduser vagrant
    
  4. To give password-less sudo access to the user vagrant, open up /etc/sudoers and add the following line:
    vagrant ALL=(ALL) NOPASSWD: ALL
    
  5. Install puppet.
    apt-get update
    apt-get install puppet
    
  6. Go to the cloned vagrant repo and run puppet. This may take a while.
    cd /path/to/vagrant/
    puppet apply manifests/site.pp --modulepath modules/
    
  7. Switch user to vagrant.
    su vagrant
    cd