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
1 2 3 4 |
Host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p' --region us-east-1 --profile test_staging" IdentityFile /home/mid/.ssh/id_rsa User mid |
после этого можно подключаться через IDE