Instance для terraform apply

Thank you for reading this post, don't forget to subscribe!

очень часто воз­ни­ка­ет про­бле­ма с апла­ем terraform кода из-за очень дол­го­го пин­га. для реше­ния этой про­бле­мы мы запу­стим инстан­са внут­ри зоны с нашим кла­сте­ром и будем апла­ить оттуда

 

созда­ём ec2 инстанс веша­ем на него роль с поли­си для досту­па через ssm

на ноуте ставим:

ска­чать ssm

curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"

sudo dpkg -i session-manager-plugin.deb

добав­ля­ем про­файл стей­джинг кла­сте­ра в кото­ром будем запус­кать инстанс.

export AWS_PROFILE=test_staging

aws ssm start-session --target i-06213fe2daf2fd1e9 --region us-east-1

на самой тач­ке (ec2 instance) ставим:

wget https://releases.hashicorp.com/terraform/1.5.0/terraform\_1.5.0\_linux_amd64.zip
unzip terraform_1.5.0_linux_amd64.zip
mv terraform /usr/bin/

curl -L https://raw.githubusercontent.com/warrensbox/terraform-switcher/release/install.sh | bash

wget https://github.com/gruntwork-io/terragrunt/releases/download/v0.47.0/terragrunt\_linux\_amd64
chmod +x terragrunt_linux_amd64
mv terragrunt_linux_amd64 /usr/bin/terragrunt

curl -LO https://dl.k8s.io/release/\`curl -LS https://dl.k8s.io/release/stable.txt\`/bin/linux/amd64/kubectl
chmod +x kubectl
mv kubectl /usr/bin/

wget https://get.helm.sh/helm-v3.11.3-linux-amd64.tar.gz
tar -xvf helm-v3.11.3-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/

yum install git bash-completion -y

kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

adduser mid
adduser test

usermod -a -G wheel mid
usermod -a -G wheel test

su - mid
ssh-keygen
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

su - test
ssh-keygen
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

в файл  ~/.ssh/authorized_keys  добав­ля­ем ваш пуб­лич­ный ключ

пра­вим visudo

%wheel ALL=(ALL) NOPASSWD: ALL

 

на локаль­ном ком­пе добавляем

cat ~/.ssh/config

 

после это­го мож­но под­клю­чать­ся через IDE