user data script 작성하기
1. user-data.sh
bastion ec2 인스턴스를 생성할 때
가장 먼저 실행될 스크립트를 작성할 것이다.
스크립트 파일들을 모듈로써 관리가 용이하도록
templates
디렉토리에 저장할 예정이다.
deploy
디렉토리 내에 templates 디렉토리를 생성한다.
다시 templates 디렉토리 내에 bastion 디렉토리를 생성한다.
다시 bastion 디렉토리 내에 user-data.sh 파일을 생성한다.
/deploy/templates/bastion/user-data.sh
- user-data.sh
#!/bin/bash
sudo yum update -y
sudo amazon-linux-extras install -y docker
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo usermod -aG docker ec2-user
#!/bin/bash
가 최상단에 작성된 파일들을 종종 봤다.
Linux 에 현재 이 파일이 bash 스크립트 파일임을 선언하는 것이다.
yum
패키지 매니저를 업데이트 시키며,
docker를 설치 및 enable하고,
권한을 위한 명령어를 입력해준다.
sudo usermod -aG docker ec2-user
도커를 run 하기 위해서
도커 그룹에 ec2 유저(ec2-user)를 포함시키는 것이다.
2. bastion.tf 파일 수정
- 변경 전
data "aws_ami" "amazon_linux" {
most_recent = true
filter {
name = "name"
values = ["amzn2-ami-hvm-2.0.*-x86_64-gp2"]
}
owners = ["amazon"]
}
resource "aws_instance" "bastion" {
ami = data.aws_ami.amazon_linux.id
instance_type = "t2.micro"
tags = merge(
local.common_tags,
map("Name", "${local.prefix}-bastion")
)
}
- 변경 후
data "aws_ami" "amazon_linux" {
most_recent = true
filter {
name = "name"
values = ["amzn2-ami-hvm-2.0.*-x86_64-gp2"]
}
owners = ["amazon"]
}
resource "aws_instance" "bastion" {
ami = data.aws_ami.amazon_linux.id
user_data = file("./templates/bastion/user-data.sh")
instance_type = "t2.micro"
tags = merge(
local.common_tags,
map("Name", "${local.prefix}-bastion")
)
}
Author And Source
이 문제에 관하여(user data script 작성하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@khh180cm/user-data-script-작성하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)