파일 스토리지 : 공유 폴더, 네트워크로 연결되어 있다. EX) NFS, SAMBA
블록 스토리지 : OS, APP 설치
객체 스토리지 : URL 링크로 파일을 주고 받음. 링크 생성 용이하다. 정적 웹사이트 기능
EBS (Elastic Block Store)
프리티어이기 때문에 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로 재지정이 안됨. 삭제 후에 다시 만들어준다.
* 프로젝트할 때 웹사이트 세팅할 수 있음
* 시나리오 : 다른 가용영역에 있는 우분투 서버로 대용량의 파일을 보내서 같은 웹페이지를 구성해보려함.
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서버를 연결할 수 없다.
스냅샷으로 할 수 있는 것
- 볼륨 생성
- 이미지 생성
- 복사
가용영역을 우분투 서버가 있는 곳으로 변경해준다. (대용량 파일이 있는 볼륨 스냅샷임)
볼륨 연결 클릭
Attach 확인
xvdf 마운트는 되지않은 상태
마운트
curl http://169.254.169.254/latest/meta-data/public-ipv4
서버가 잘못 되었을 때 찍어둔 루트볼륨 스냅샷으로 이미지를 만들어 다시 서버를 생성
도쿄 리전으로 변경한다
도쿄 리전으로 백업되고 있다.
도쿄리전엔 키페어가 없으므로 키 생성을 해준다.
1a에 생성해준다.
두 가용영역에 있는 웹서버들을 로드밸런싱 하는 것을 multi AZ
리전 간 연동하는 것을 cross region - route53을 이용해야한다. ELB는 불가하다.
리전이 fail over가 되면 다른 리전에서 active할 수 있도록 하는 것을 cross region.
Elastic File System
\= NFS : 마운트하는 방식이 아주 유사