Skip to content

Developing TileDB on an AWS EC2 instance

Joe Maley edited this page Sep 11, 2020 · 9 revisions

AWS Linux

Connect to the EC2 Instance

  • Spin up a new EC2 instance, download the key-pair file (<name>.pem)
  • Copy the key-pair file to ~/.ssh
cp <key-pair-name>.pem ~./ssh
chmod 400 ~/.ssh/<key-pair-name>.pem
  • Copy the Public DNS of the EC2 instance (AWS console, or right-click -> connect)
  • Edit ~/.ssh/config
Host tiledb_dev
   User ec2-user
   HostName <Public DNS / IP>
   IdentityFile ~/.ssh/<key-pair-name>.pem 
  • Test connection
ssh tiledb_dev

Install dependencies:

sudo yum groupinstall -y "Development Tools"
sudo yum install -y git, wget
wget https://github.com/Kitware/CMake/releases/download/v3.12.4/cmake-3.12.4-Linux-x86_64.sh
sudo sh cmake-3.12.4-Linux-x86_64.sh --skip-license --prefix=/usr/local

git clone http://github.com/TileDB-Inc/TileDB

Remote Editing / Terminal with VSCode

  • Download the "Insiders" version of VSCode: https://code.visualstudio.com/insiders/
  • Menu -> View -> Extensions
  • Search Extension MarketPlace for "Remote Development" -> Install Extension -> Restart
  • Left Side Bar -> Remote SSH -> Connections -> tiledb_dev

Install C++ / Python Extensions:

  • Menu -> View -> Extensions -> Search "C++" -> Install on SSH:Tiledb_dev

Browse Files:

  • Left Side Bar-> Explorer (Top) -> Open Folder -> Select top-level folder on SSH host

Terminal:

  • Menu -> Terminal -> New Terminal
  • You can use the code-insiders binary installed on the remote ssh host to open files / folders in your local editor
[ec2-user@ip-172-31-38-128 ~]$ code-insiders .bashrc