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.)