Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save MarketMakerLite/5172d9160f63ee246acd6bd7d219f346 to your computer and use it in GitHub Desktop.
Save MarketMakerLite/5172d9160f63ee246acd6bd7d219f346 to your computer and use it in GitHub Desktop.

Provisioning an ARM EC2 Instance for TimescaleDB

SSH into instance

ssh -i ~path\to\key.pem -o TCPKeepAlive=true ubuntu@ec2-xx-xxx-x-xxx.us-[region]-[#].compute.amazonaws.com

Run general updates

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo reboot

Create Bash script to convert drive to GPT

sudo nano gpt.sh

#!/bin/bash
shopt -s nullglob
sudo sgdisk /dev/nvme0n1 --mbrtogpt --new=2:34:2047 --typecode=2:ef02
sudo partprobe
sudo grub-install /dev/nvme0n1

bash gpt.sh

sudo rm gpt.sh

sudo reboot

Expand EC2 Volume

lsblk
df -hT
sudo growpart /dev/nvme0n1 1
sudo resize2fs /dev/root

Create Ephemeral Drive / Swap

sudo mkfs -t xfs -f /dev/nvme1n1

sudo mkdir /eph

sudo mount /dev/nvme1n1 /eph

Set count to the desired size of the swap partition in MB, often equal to RAM.

sudo dd if=/dev/zero of=/eph/swapfile bs=1M count=64425

sudo chmod 600 /eph/swapfile

sudo mkswap /eph/swapfile

sudo swapon /eph/swapfile

sudo swapon -s

sudo nano /etc/fstab

/eph/swapfile swap swap defaults 0 0

sudo reboot

Postgres

sudo apt update

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt -y install postgresql-14 postgresql-contrib

sudo systemctl start postgresql.service

TimescaleDB

curl -s https://packagecloud.io/install/repositories/timescale/timescaledb/script.deb.sh | sudo bash

sudo apt-get install timescaledb-2-2.7.2-postgresql-14=2.7.2~ubuntu20.04

sudo systemctl restart postgresql

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment