nomad autoscaler on aws 가지고 놀기
전체 소스는 여기 에 공개됩니다.
진행 순서
-
ssh key 생성
생성된 EC2 인스턴스 접속을 위한 ssh key 를 생성합니다.
-
Security Group 생성
Security Group 은 별도로 생성합니다.
-
Consul Server Cluster 구성
Tag 를 이용해 auto-join 되도록 구성합니다.
-
Nomad Server Cluster 구성
Nomad Server + Consul Client 를 구성합니다.
-
Nomad Client Cluster 구성
Nomad Client + Consul Client 를 구성합니다.
-
Auto Scaling 구성
6-1. Instance Auto Scaling 구성
6-2. Application Auto Scaling 구성
-
대규모 Auto Scaling 구성
ssh key 생성
key-pair 생성(ssh-keygen 이용)
파일명은 /home/skyer9/.ssh/aws_key
처럼 전체 경로를 적어 주어야 합니다.
비밀번호는 입력하지 않습니다.
ssh-keygen -t rsa -b 2048
--------------------------------------
Generating public/private rsa key pair.
Enter file in which to save the key (/home/skyer9/.ssh/id_rsa): /home/skyer9/.ssh/aws_key
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/skyer9/.ssh/aws_key
Your public key has been saved in /home/skyer9/.ssh/aws_key.pub
The key fingerprint is:
SHA256:dAjs1z4U2pZxskXXXXXXXXXXXXXXXXXXXXX skyer9@notebook
The key's randomart image is:
+---[RSA 2048]----+
| .. ..+*=|
| ..+.* ..oB+|
| XXXXXXXXXXXXXX|
| ..=.X .E.+|
| .S= . .oo|
| XXXXXXXXX|
| XXXXXXXXXXXX|
| XXXXXXXXXXXXXX|
| o |
+----[SHA256]-----+
ls -al .ssh/aws_key*
--------------------------------------
-rw------- 1 skyer9 skyer9 1823 8월 28 20:34 .ssh/aws_key
-rw-r--r-- 1 skyer9 skyer9 397 8월 28 20:34 .ssh/aws_key.pub
aws ec2 import-key-pair --public-key-material file://~/.ssh/aws_key.pub --key-name aws_key
acm 생성
https://github.com/skyer9/TerraformOnAws/tree/main/acm
cd acm
terraform init
terraform validate
terraform plan
terraform apply
# terraform destroy
Consul Server Cluster 구성
https://github.com/skyer9/TerraformOnAws/tree/main/consul_server_cluster
cd ../consul_server_cluster
terraform init
terraform validate
terraform plan
terraform apply
# terraform destroy
Nomad Server Cluster 구성
https://github.com/skyer9/TerraformOnAws/tree/main/nomad_server_cluster
cd ../nomad_server_cluster
terraform init
terraform validate
terraform plan
terraform apply
# terraform destroy
Nomad Client Cluster 구성
https://github.com/skyer9/TerraformOnAws/tree/main/nomad_client_cluster
cd ../nomad_client_cluster
terraform init
terraform validate
terraform plan
terraform apply
# terraform destroy
Client Instance Auto Scaling 구성
https://github.com/skyer9/TerraformOnAws/tree/main/run_jobs
https://github.com/skyer9/TerraformOnAws/tree/main/run_autoscaler
https://bcho.tistory.com/m/1375
https://ssup2.github.io/theory_analysis/Prometheus_Scaling_Federation/