4주차-2 CloudFormation, EFS 실습

아이수베어·2022년 1월 21일
0

AFOS[2기]

목록 보기
8/29
post-thumbnail

cloudFormation -> 스택 생성 클릭

스크린샷 2021-06-30 오후 10 24 15

URL에 https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/STORAGE/Storage.yaml 입력 -> 다음 클릭

스크린샷 2021-06-30 오후 10 24 39

스택 이름 : 마음대로 -> key 선택 후에 다음 선택

스크린샷 2021-06-30 오후 10 25 02

기본값으로 둔 후에 다음 클릭

스크린샷 2021-06-30 오후 10 25 19

맨 하단에 파란색 박스 체크 클릭 -> 스택 생성 클릭

스크린샷 2021-06-30 오후 10 25 34

짠 완성 !

스크린샷 2021-06-30 오후 10 25 51

여러분 제 블로그를 열심히 보셨다면 !!(?) 이제 인스턴스 연결 정도면 껌이겠죠 ?!!!

스크린샷 2021-06-30 오후 10 27 52

EBS 기본 정보 확인

# 루트 사용자로 바꿔줍시다잉
sudo su 

# 디스크 여유 공간 출력
df -hT /dev/xvda1

# 사용 가능한 디스크 디바이스와 마운트 포인트(해당하는 경우)를 출력
lsblk

# 볼륨에 파일 시스템이 있는지 확인, data만 출력 시 파일시스템이 없으므로 생성해야함 
file -s /dev/xvda

# 파일 시스템이 있으면 파일 시스템의 유형에 관한 정보를 출력
file -s /dev/xvda1

# 디바이스의 UUID 찾기
blkid

# 디바이스의 탑재 지점 확인
cat /etc/fstab
스크린샷 2021-06-30 오후 10 29 15 스크린샷 2021-06-30 오후 10 30 20 스크린샷 2021-06-30 오후 10 30 33 스크린샷 2021-06-30 오후 10 30 45 스크린샷 2021-06-30 오후 10 31 13 스크린샷 2021-06-30 오후 10 31 29 스크린샷 2021-06-30 오후 10 31 42

EC2 -> 볼륨 -> 볼륨 생성 클릭

스크린샷 2021-06-30 오후 10 32 11
크기 : 20
가용 영역 : 루트 볼륨 영역 (저를 따라하셨다면 a가 맞습니다)
스냅샷 ID : 
태그 : 키 (Name), 값(Data1)

볼륨 생성 클릭

스크린샷 2021-06-30 오후 10 32 43

만들어졌습니다 ㅎㅎ

스크린샷 2021-06-30 오후 10 33 01

볼륨에서 볼륨 연결 클릭

스크린샷 2021-06-30 오후 10 33 21

인스턴스에서 EC2-STG1 클릭

스크린샷 2021-06-30 오후 10 33 39

디바이스 이름을 xvdf로 바꿔줍니다 그후에 하단에 연결 클릭 !

스크린샷 2021-06-30 오후 10 36 07

EC2-STG1 신규 볼륨 사용 설정

# 관리자 권한으로 변경
sudo su

# 라이브 상태에서 디바이스 추가 확인 됨
lsblk

# 볼륨 ID 확인
lsblk -o +SERIAL

# 현재는 파일 시스템이 없음
file -s /dev/xvdf

# 볼륨을 포맷해서 파일 시스템을 생성
mkfs -t xfs /dev/xvdf

디렉터리를 생성 후 마운트
mkdir /data
mount /dev/xvdf /data

# 파일을 생성 후 확인
echo "EBS Test" > /data/memo.txt
cat /data/memo.txt

# 디바이스 확인
lsblk
df -hT /dev/xvdf
스크린샷 2021-06-30 오후 10 36 51 스크린샷 2021-06-30 오후 10 37 09 스크린샷 2021-06-30 오후 10 38 05 스크린샷 2021-06-30 오후 10 38 10 스크린샷 2021-06-30 오후 10 38 43 스크린샷 2021-06-30 오후 10 39 20 스크린샷 2021-06-30 오후 10 39 35 스크린샷 2021-06-30 오후 10 39 53

심화 옵션) EC2-STG1 신규 볼륨 사용 설정시 재부팅 시에도 신규 볼륨을 자동 마운트

# 혹시 모르니 fstab 파일 백업
cp /etc/fstab /etc/fstab.orig

# 재부팅 이후에도 볼륨 자동 탑재를 위한 fstab 설정(nofail: 볼륨 없어도 부팅 가능)
blkid

echo "UUID=위blkid의자신의UUID입력  /data  xfs  defaults,nofail  0  2" >> /etc/fstab
cat /etc/fstab

#위 항목이 설정이 잘 되었는지 확인을 위해서 탑재를 해제 후 다시 탑재 (오류가 있을 시 문제를 출력)
umount /data
mount -a

# 다시 재부팅
reboot
스크린샷 2021-06-30 오후 10 40 42 스크린샷 2021-06-30 오후 10 42 17 스크린샷 2021-06-30 오후 10 42 40 스크린샷 2021-06-30 오후 10 43 20 스크린샷 2021-06-30 오후 10 43 40
# 정상적으로 디스크 디바이스가 보이고 마운트 되어 있으며 생성한 파일을 확인 가능
lsblk

# memo 파일을 찾아 봅시당
cat /data/memo.txt
스크린샷 2021-06-30 오후 10 44 47 스크린샷 2021-06-30 오후 10 45 04

EC2-STG1볼륨 클릭 -> 볼륨 수정 클릭

스크린샷 2021-06-30 오후 10 46 27 스크린샷 2021-06-30 오후 10 46 35
볼륨 유형 : gp3
크기 : 20
IOPS : 3000

수정 클릭

스크린샷 2021-06-30 오후 10 47 10

파일 시스템 확장 : 볼륨이 optimizing 상태가 되자마자 파일 시스템 크기 조정을 할 수 있음 -> 1) 파티션 늘림 -> 2) 파일 시스템 늘림

# 현재 루트 볼륨이 20G로 반영되어 있는데 아직 xvda1 파티션 크기가 8G 이므로 파티션 확장이 필요
lsblk

# 아직은 xvda1 크기가 8G 이다
df -hT /dev/xvda1

# 1) growpart 명령어로 파티션을 늘림
growpart /dev/xvda 1

# 늘린 파티션으로 반영이 되었다
lsblk

# 파일 시스템은 아직 여전히 8G
df -hT /dev/xvda1

# 2) xfs_growfs 명령어로 볼륨의 파일 시스템을 확장
xfs_growfs -d /

# 최종적으로 파일시스템까지 20G 용량으로 확장됨
df -hT /dev/xvda1

# 심화 메모
# ext4 볼륨의 경우 아래 명령어로 확장
resize2fs /dev/xvda1

추가로 EBS 불륨을 연결 후 다시 해당 볼륨을 확장 시에도 위와 동일한 작업을 진행하면됨

스크린샷 2021-06-30 오후 10 47 43 스크린샷 2021-06-30 오후 10 47 55 스크린샷 2021-06-30 오후 10 48 19 스크린샷 2021-06-30 오후 10 48 36 스크린샷 2021-06-30 오후 10 48 48 스크린샷 2021-06-30 오후 10 49 02 스크린샷 2021-06-30 오후 10 49 26 스크린샷 2021-06-30 오후 10 49 46

심화 옵션) EC2-STG1 의 루트 불륨(EBS) Shapshot(스냅샷) - 증분백업 확인

# 더미 파일 생성
fallocate -l 10G /home/10G.dummy //의미없는 파일 생성

ls -alh /home/10G.dummy

df -hT /dev/xvda1

du -hs /home
스크린샷 2021-06-30 오후 10 52 05

EC2 -> 스냅샷 -> 스냅샷 생성 클릭

스크린샷 2021-06-30 오후 10 53 57

볼륨 : EC2-STG1

스크린샷 2021-06-30 오후 10 54 18

설명: FirstSnapshot -> 스냅샷 생성 클릭

스크린샷 2021-06-30 오후 10 55 10
# 더미 파일 생성
fallocate -l 5G /home/1G.dummy
스크린샷 2021-07-01 오전 12 08 43

EC2 -> 스냅샷 -> 스냅샷 생성 클릭

스크린샷 2021-07-01 오전 12 09 16

볼륨 : EC2-STG1

스크린샷 2021-07-01 오전 12 09 24

설명: SecondSnapshot -> 스냅샷 생성 클릭

스크린샷 2021-07-01 오전 12 09 50

두번째 스냅샷의 진행 상황을 봅시다 .. 뭔가 오래 걸릴 거 같군요 ...

스크린샷 2021-07-01 오전 12 10 37

몇십분 걸릴 줄 알았는데, 몇십초 있으니 바로 생성 됐네요 ... 엄청 빨라요 ..

스크린샷 2021-07-01 오전 12 11 07

EFS -> 파일 시스템 생성 클릭

스크린샷 2021-07-01 오전 12 11 39
이름: 마음대로
VPC: ELB-VPC
리전

생성 클릭

스크린샷 2021-07-01 오전 12 12 01

EFS가 만들어졌네요 자 이름을 클릭해봅시다 !

스크린샷 2021-07-01 오전 12 12 20

하단에 네트워크 클릭

스크린샷 2021-07-01 오전 12 12 26

사용 가능 이라고 뜨면 관리 클릭

스크린샷 2021-07-01 오전 12 23 06 스크린샷 2021-07-01 오전 12 23 09

맨 하단에 보안그룹 전부 제거

스크린샷 2021-07-01 오전 12 23 29 스크린샷 2021-07-01 오전 12 23 35

default말고 다른 보안 그룹 클릭

스크린샷 2021-07-01 오전 12 23 44 스크린샷 2021-07-01 오전 12 23 54 스크린샷 2021-07-01 오전 12 24 03

EC2-STG1 에 EFS 마운트

curl localhost
mkdir /var/www/html/efs
mount -t efs -o tls 자신의-EFS-ID:/ /var/www/html/efs
echo "<html><h1>Hello from Amazon EFS</h1></html>" > /var/www/html/efs/index.html
curl localhost/efs/
df |grep efs
df -hT |grep efs
dig +short 자신의-EFS-ID.efs.ap-northeast-2.amazonaws.com
스크린샷 2021-07-01 오전 12 24 36 스크린샷 2021-07-01 오전 12 25 25 스크린샷 2021-07-01 오전 12 26 08 스크린샷 2021-07-01 오전 12 27 36 스크린샷 2021-07-01 오전 12 27 42 스크린샷 2021-07-01 오전 12 27 47 스크린샷 2021-07-01 오전 12 28 26 스크린샷 2021-07-01 오전 12 33 07

EC2-STG2 에 EFS 마운트

sudo su
mkdir /var/www/html/efs
mount -t efs -o tls 자신의-EFS-ID:/ /var/www/html/efs
curl localhost/efs/
df -hT |grep efs
dig +short 자신의-EFS-ID.efs.ap-northeast-2.amazonaws.com
스크린샷 2021-07-01 오전 12 29 48 스크린샷 2021-07-01 오전 12 30 53 스크린샷 2021-07-01 오전 12 30 58 스크린샷 2021-07-01 오전 12 31 16 스크린샷 2021-07-01 오전 12 32 59
# 파일 100개 생성
for i in {1..100}; do touch /var/www/html/efs/deleteme.$i; done;
스크린샷 2021-07-01 오전 12 33 46
# 파일 확인
ls /var/www/html/efs
스크린샷 2021-07-01 오전 12 34 02

EC2-STG1도 똑같이 100개의 파일이 보인다 (처음 봤을 때 완전 신기 ..)

스크린샷 2021-07-01 오전 12 34 31

EC2-STG1에서 파일 삭제

# 파일 삭제
rm -rf /var/www/html/efs/deleteme*.*

# 짜쟌 파일이 사라졌습니다
ls /var/www/html/efs
스크린샷 2021-07-01 오전 12 35 42

두개의 인스턴스에서 전부 파일이 사라진 걸 확인해볼 수 있습니다 !

스크린샷 2021-07-01 오전 12 35 56

재부팅에서 EFS 자동 탑재

# 마운트 해제
umount /var/www/html/efs

# /etc/fatab 에 아래 내용 추가
echo "자신의-EFS-ID:/ /var/www/html/efs efs _netdev,noresvport,tls,iam 0 0" >> /etc/fstab

# 다시 마운트 해주기
mount -fav

# 재부팅
reboot
스크린샷 2021-07-01 오전 12 38 38 스크린샷 2021-07-01 오전 12 38 43 스크린샷 2021-07-01 오전 12 39 07 스크린샷 2021-07-01 오전 12 39 17

재부팅 후 자동 탑재 확인

df -hT |grep nfs
스크린샷 2021-07-01 오전 12 40 20

자원 삭제

EC2 인스턴스 종료
EBS 스냅샷 삭제
EBS 볼륨 삭제
EFS 삭제
S3 삭제
CloudFormation 삭제


참고 자료 : AFOS[2기] 노션 내용

profile
Junior Cloud Engineer

0개의 댓글