Data Transfer에서 비용 발생 : 아웃바운드 비용이다. 데이터 전송 비용
콘솔에 EFS 검색
완전 관리형 파일 스토리지 - 가용성, 백업, 자동 조정 등의 것을 AWS에서 관리해줌
EFS 생성 전 EC2 생성
인스턴스 - 인스턴스 시작 클릭
이름 및 태그 : WEB01
OS 이미지 : Amazon Linux2 AMI - 프리티어 사용가능
인스턴스 유형 : t2.micro
키페어 : aws-key
<네트워크 설정 - 편집>
서브넷 : 2a
퍼블릭 ip 활성화
보안그룹 : 기존 보안 그룹 선택 (SG-WEB)
스토리지 구성 : 기본설정 8GB
<고급 세부 정보 - 사용자 데이터>#!/bin/bash yum install -y httpd systemctl enable --now httpd echo "<h1>WEB01</h1>" > /var/www/html/index.html
인스턴스 퍼블릭 ip 복사 후 mobaxterm에 키, 유저네임, ip 입력 후 접속
df -h 를 하여 마운트 내역을 확인한다. 아직 NFS를 마운트하지 않았기 때문에 없음
* 일종의 인스턴스이기 때문에 VPC가 필요하다.
콘솔에서 EFS 검색 - 파일 시스템 생성 클릭
이름 - 선택사항 : AWS-EFS
VPC : 기본값
가용성 및 내구성 : 리전
* 리전 : 네 곳의 가용영역에 데이터가 중복 저장됨. 여러 가용 영역에 저장하기 때문에 One Zone 보다 가용성이 더 높다.
* One ZONE: 리전보단 비용 저렴, 하나의 AZ에 있는 데이터 센터들에 데이터를 중복 저장. 리전옵션보다 가용성이 좀 낮음
AWS-EFS 클릭
네트워크 탭을 확인하면 사용가능 상태 확인
가용 영역 4곳에 중복 저장됨을 알 수 있다.
상단 연결 버튼을 누르면 연결 방법을 알려준다.
DNS를 통한 탑재
EFS 탑재 헬퍼 사용 : EFS 도구 설치가 필요함
NFS 클라이언트 사용 : 전통적인 방식인 NFS 프로토콜을 이용해서 접속
빨간 글씨 : NFS 주소
IP를 통해 탑재
[ec2-user@ip-172-31-5-102 ~]$ mkdir efs
[ec2-user@ip-172-31-5-102 ~]$ ls
efs
[ec2-user@ip-172-31-5-102 ~]$ sudo mount -t efs -o tls fs-04446bc5ba7f2bb8c:/ efs
mount: /home/ec2-user/efs: unknown filesystem type 'efs'.
[ec2-user@ip-172-31-5-102 ~]$ sudo yum install -y amazon-efs-utils
다시 마운트 명령어를 해도 안된다. - 보안그룹에 막힘
defualt 보안그룹에 NFS 포트가 열려있지 않음.
EC2 콘솔 - 보안그룹 - 보안그룹 생성 클릭
<기본세부정보>
보안 그룹 이름 : SG-EFS
설명 : SG-EFS
VPC : 기본 VPC
인바운드 규칙
유형 : NFS 포트 선택
소스 : SG-WEB (보안그룹으로 넣게 되면 보안그룹이 출발지가 되어 거기서 접근해야만 들어올 수 있도록 설정가능)
보안그룹 생성 버튼 클릭
AWS-EFS - 네트워크 - 관리버튼 클릭
보안그룹 : SG-EFS 선택
[ec2-user@ip-172-31-5-102 ~]$ sudo mount -t efs -o tls fs-04446bc5ba7f2bb8c:/ efs
[ec2-user@ip-172-31-5-102 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 474M 0 474M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 528K 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
tmpfs 97M 0 97M 0% /run/user/0
127.0.0.1:/ 8.0E 0 8.0E 0% /home/ec2-user/efs
아까 보안그룹에 의해 마운트가 안되었던 것이 보안그룹 설정 후 되는 것을 확인
[ec2-user@ip-172-31-5-102 ~]$ sudo vi efs/test.txt
hello
클라우드이 확장 가능한 객체 스토리지
Simple Storage Service
Google driver, 오픈스택 swift와 비슷한 개념
S3 Glacier : 클라우드의 아카이브 스토리지. Glacier : 빙하, cold와 비슷한 의미는 느리다는 의미. 저렴하고, 대용량 서비스를 제공. 한번 업로드 된 것을 다시 다운받을 때 search하는 시간이 오래걸림 -> 사용빈도가 낮은 데이터를 저장할 때 적합
S3에서 사용빈도가 낮은 데이터를 세팅에 의해 Glacier로 넘길 수 있다.
버킷 만들기 클릭
<일반 구성>
버킷 이름 : s3.wony.shop
* 버킷의 이름은 고유해야함. 공백 또는 대문자 사용불가
* 도메인 형태로 지정할 시 유용하게 사용가능함
글로벌의 의미
AWS에 있지만 VPC내에 있지 않고 밖에 있으므로 인터넷 연결을 통해 접근해야하는 것.
로컬에 있지 않음.
<객체 소유권> - 보안 관련
ACL 활성화됨 선택
* ACL(Access Control List) : 접근 제어목록; 차단 및 허용에 대한 정책을 정함
ACL 비활성화됨 : 아무도 못들어옴. 공유 불가
아래 두개를 보통 체크함. 여기선 아무것도 체크하지 않음
<버킷 버전관리 > - 보자마자 복원이 떠올라야함, Roll back
활성화 클릭
<기본 암호화>
서버 측 암호화 (SSE)
버킷만들기 클릭
버킷 이름 클릭 - 폴더 만들기 클릭
폴더이름: images
서버 측 암호화 : 비활성화
images 폴더 클릭 - 업로드 클릭
체크 후 url 복사 클릭
url 로 접속하면 Access Denied가 뜬다
토끼 사진 체크 - 작업 - ACL을 사용하여 퍼블릭으로 설정 - 퍼블릭으로 설정 클릭
다시 URL로 접속하면 사진이 뜬다.
S3 - Amazon S3 > 버킷 >s3.wony.shop에 업로드 index.html 파일 업로드
권한
바로 퍼블릭으로 설정 가능
index.html 체크 후 url 복사 클릭
구글 드라이브에 올라간 파일은 WGET으로 다운 받을 수 없음.
wget으로 받으려면 url 마지막에 파일명이 노출되어야함. 이것이 객체다.
// 토끼 파일 옮기기
[ec2-user@ip-172-31-5-102 ~]$ ls
efs two-rabbit.jpg view?usp=sharing
[ec2-user@ip-172-31-5-102 ~]$ sudo cp two-rabbit.jpg /var/www/html/
EC2 웹서버 퍼블릭 IP 주소/two-rabbit.jpg 로 해도 다운 가능하다.
이 기능을 쉽게 하기 위해 S3가 있는 것
S3에 aws.tar 업로드
권한 - 퍼블릭 읽기 액세스 권한 부여
URL 복사
// Ubuntu18 인스턴스(WEB02) - 사용자 데이터
#!/bin/bash
apt update
apt install -y apache2 wget
cd /home/ubuntu/
wget https://s3.ap-northeast-2.amazonaws.com/s3.wony.shop/aws.tar
tar -xf aws.tar -C /var/www/html/
인스턴스 시작 클릭
이름 및 태그 : WEB02
이미지 : Ubuntu Server 18.04 LTS 프리티어 사용가능
인스턴스 유형 : t2.micro
키페어 : aws-key
<네트워크 설정 - 편집>
vpc : 기본값
서브넷 : 2c (web01과 다른 가용 영역 선택)
퍼블릭 ip 활성화
기존 보안 그룹 : SG-WEB
<스토리지 볼륨 - 파일시스템 - 편집>
EFS 클릭 - 공유 파일 시스템 추가 (=마운트)
mobaxterm으로 접속
ubuntu@ip-172-31-34-26:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 473M 0 473M 0% /dev
tmpfs 98M 780K 97M 1% /run
/dev/xvda1 7.7G 1.7G 6.0G 22% /
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/loop0 44M 44M 0 100% /snap/snapd/15177
/dev/loop1 56M 56M 0 100% /snap/core18/2344
/dev/loop2 27M 27M 0 100% /snap/amazon-ssm-agent/5163
tmpfs 98M 0 98M 0% /run/user/1000
fs-04446bc5ba7f2bb8c.efs.ap-northeast-2.amazonaws.com:/ 8.0E 0 8.0E 0% /mnt/efs/fs1
ubuntu@ip-172-31-34-26:~$ ls /mnt/efs/fs1/
test.txt
마운트 확인
ubuntu@ip-172-31-34-26:~$ sudo vi /mnt/efs/fs1/test.txt
hello
ohayo
web01에서 확인
[ec2-user@ip-172-31-5-102 ~]$ cat efs/test.txt
hello
ohayo
인스턴스 - web01체크 - 작업 -이미지 및 템플릿 - 이미지 생성
이미지 이름 : MY-AMI
재부팅 안함 : 활성화 체크
이미지 생성 중
스냅샷 생성 중
이름 및 태그 : MY-AMI-WEB01
이미지 : 위에 생성했던 이미지로 선택되어있음
인스턴스 유형 : t2.micro
키페어 : aws-key
<네트워크 설정 - 편집>
가용영역 : 2a
보안그룹 : 기존 보안그룹 (SG-WEB)
접속 잘됨
미리 사양을 정해 놓는 것
시작 템플릿 이름 및 설명 : MY-TEMP
템플릿 버전 설명 : MY-TEMP
인스턴스 유형 : 수동으로 인스턴스 유형 선택, t2.micro
인스턴스로 시작 클릭하면 템플릿으로 바로 인스턴스를 시작할 수 있다.
vpc
IP 범위가 같으면 피어링을 할 수 없다.
다음 목적지를 알려준다.
........ 설명추가
.............설명 추가
VPC 생성
생성한 게이트웨이는 DETACHED 상태이므로 VPC와 연결해주어야 한다.
상단에 VPC에 연결 클릭
만든적 없는 테이블이 생성됨 - MY-VPC를 만들면서 자동으로 생성되었다.
이것을 활용할 것임
아래 정보 - 라우팅 클릭
현재 내부에서만 통신가능 외부에서 내부로 들어갈수도, 내부에서 밖으로 나갈 수도 없음
인터넷 게이트웨이로 나가는 것을 추가해주어야함.
라우팅 편집 클릭 - 라우팅 추가 클릭
10.19.0.0을 제외한 모든 DESTINATION은 IGW로 간다.
* 만약 MY-IGW 안나오면 VPC에 연결을 안한 것임.
변경사항 저장 클릭
라우팅 테이블에 연결되어 있는 선은 서브넷 연결을 표시한 것이다. 명시적으로 연결해주어야한다.
인스턴스 시작 드롭다운 - 템플릿으로 인스턴스 시작
네트워크 부분만 변경
보안그룹 : 보안그룹 생성
* VPC가 바뀌면서 몇가지 설정을 달리 해주어야함.
ADD SECURITY GROUP RULE 선택
생성 후 mobaxterm 접속
[ec2-user@ip-10-19-12-123 ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 02:12:13:a2:f6:36 brd ff:ff:ff:ff:ff:ff
inet 10.19.12.123/20 brd 10.19.15.255 scope global dynamic eth0
valid_lft 3494sec preferred_lft 3494sec
inet6 fe80::12:13ff:fea2:f636/64 scope link
valid_lft forever preferred_lft forever
10.19 번대 ip 받은 것을 확인
회원가입 - 도메인 구매