5.27

w0nyyy·2022년 5월 27일
0

AWS 스토리지

파일 스토리지 : 공유 폴더, 네트워크로 연결되어 있다. EX) NFS, SAMBA
블록 스토리지 : OS, APP 설치
객체 스토리지 : URL 링크로 파일을 주고 받음. 링크 생성 용이하다. 정적 웹사이트 기능

블록 스토리지

EBS (Elastic Block Store)

WEB01 인스턴스 생성

네트워크 설정

프리티어이기 때문에 2a, 2c를 사용할 수 있다.
대부분 2c를 사용한다.

보안그룹

기존 보안그룹인 SG-WEB 지정

스토리지 구성

gp3 -> gp2로 변경해준다.

고급세부정보

인스턴스 시작 클릭

스토리지 추가 확인

생성된 인스턴스 정보에서 스토리지가 추가된 것을 확인할 수 있다. a가 붙어있으면 root volume

인스턴스 접속

[ec2-user@ip-172-31-40-206 ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        474M     0  474M   0% /dev
tmpfs           483M     0  483M   0% /dev/shm
tmpfs           483M  416K  482M   1% /run
tmpfs           483M     0  483M   0% /sys/fs/cgroup
/dev/xvda1      8.0G  1.6G  6.5G  20% /
tmpfs            97M     0   97M   0% /run/user/1000
[ec2-user@ip-172-31-40-206 ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0   8G  0 disk
[ec2-user@ip-172-31-40-206 ~]$

확인해보니 추가 볼륨이 마운트가 안되어있음

[ec2-user@ip-172-31-40-206 ~]$ sudo mkfs -t ext4 /dev/xvdb	// 포맷
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
524288 inodes, 2097152 blocks
104857 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done


// 마운트


[ec2-user@ip-172-31-40-206 ~]$ ls /
bin   dev  home  lib64  media  opt   root  sbin  sys  usr
boot  etc  lib   local  mnt    proc  run   srv   tmp  var
[ec2-user@ip-172-31-40-206 ~]$ sudo mount /dev/xvdb /mnt


// 마운트 확인

[ec2-user@ip-172-31-40-206 ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        474M     0  474M   0% /dev
tmpfs           483M     0  483M   0% /dev/shm
tmpfs           483M  416K  482M   1% /run
tmpfs           483M     0  483M   0% /sys/fs/cgroup
/dev/xvda1      8.0G  1.6G  6.5G  20% /
tmpfs            97M     0   97M   0% /run/user/1000
/dev/xvdb       7.8G   36M  7.3G   1% /mnt


[ec2-user@ip-172-31-40-206 ~]$ sudo vi /mnt/test.txt
[ec2-user@ip-172-31-40-206 ~]$ cat /mnt/test.txt
hello

추가 볼륨에 txt파일 생성

볼륨 선택

루트볼륨과 추가볼륨이 보임

연결된 인스턴스 컬럼을 확인하면 분별 가능


같은 가용영역 내에 있어야 볼륨이 추가 가능하다.
인스턴스를 삭제할 때, EBS는 detach하여 지우지않고 인스턴스만 삭제할 수 있다.


볼륨 추가 생성

ec2와 같은 영역에 생성한다.
암호화가 안된 상태로 만들어진 볼륨을 다시 암호화 시킬 수는 없고 변환해서 암호화 가능

* 태그
WEB01인스턴스에 ADD한 볼륨이라는 뜻으로 지정

볼륨 연결 클릭

장치가 생성된 것을 확인

포맷

aws.tar 파일 업로드 한다.

트러블

웹서버 접속했는데 웹사이트 안열림

대게 보안그룹에 문제있음
인바운드 규칙확인

어제 ALB를 통해서만 접속이 가능하도록 소스를 SG-ALB로 지정했기 때문에 웹사이트가 열리지않음.

보안그룹으로 소스를 이미 지정한 후에 다시 IP로 재지정이 안됨. 삭제 후에 다시 만들어준다.

* 프로젝트할 때 웹사이트 세팅할 수 있음

* 시나리오 : 다른 가용영역에 있는 우분투 서버로 대용량의 파일을 보내서 같은 웹페이지를 구성해보려함.

우분투 인스턴스(web02) 생성

WEB01과 다른 가용영역에 인스턴스를 생성한다.

고급 세부 정보 편집

인스턴스 시작 클릭

web02 인스턴스 접속

web01 루트볼륨 파티션 확장

web01 인스턴스 볼륨 확인

볼륨 체크 후 볼륨 수정 클릭

볼륨의 크기를 줄이는 것은 불가하다. 늘리는 것은 가능.

* 볼륨 확장 후 조치가 필요하다.

df -h 명령어를 해보면 8GB로 되어있다.

파티션 확장 명령어

파티션 확장

sudo growpart /dev/xvda 1

lsblk

XFS 파일 시스템 확장

df -Th

sudo xfs_growfs -d /

df -Th

df -h를 하면 서비스 구동 중에도 루트볼륨이 늘어난 것을 확인할 수 있다.

스냅샷

EBS 볼륨의 한계를 넘어 기능적인 면을 추가한 것이 스냅샷이다. ( 볼륨(EBS)는 가용영역의 차이를 극복하지 못했지만 스냅샷은 극복가능)

WEB01에 마운트되어있는 볼륨을 떼어내야함.

마운트 해제
* 마운트가 되어있는 디렉토리에서는 마운트해제가 안된다.

볼륨 detach

사용 가능 상태면 분리된 것.

WEB01-ADD 볼륨 선택 후 작업 - 볼륨 연결 누르면 볼륨이 2a에 있기 때문에 2c에 있는 우분투web02서버를 연결할 수 없다.

스냅샷으로 할 수 있는 것

  1. 볼륨 생성
  2. 이미지 생성
  3. 복사

스냅샷으로 볼륨 생성하기

가용영역을 우분투 서버가 있는 곳으로 변경해준다. (대용량 파일이 있는 볼륨 스냅샷임)

볼륨 연결 클릭

Attach 확인

xvdf 마운트는 되지않은 상태

마운트

퍼블릭 ip 확인 명령어

curl http://169.254.169.254/latest/meta-data/public-ipv4

스냅샷 사례

서버가 잘못 되었을 때 찍어둔 루트볼륨 스냅샷으로 이미지를 만들어 다시 서버를 생성

스냅샷 생성

스냅샷 복사

리전 변경

도쿄 리전으로 변경한다

도쿄 리전으로 백업되고 있다.

스냅샷 이미지 생성

이미지로 인스턴스 생성

도쿄리전엔 키페어가 없으므로 키 생성을 해준다.

1a에 생성해준다.


두 가용영역에 있는 웹서버들을 로드밸런싱 하는 것을 multi AZ

리전 간 연동하는 것을 cross region - route53을 이용해야한다. ELB는 불가하다.

리전이 fail over가 되면 다른 리전에서 active할 수 있도록 하는 것을 cross region.


EFS

Elastic File System
\= NFS : 마운트하는 방식이 아주 유사

0개의 댓글