AWS | EFS, NAT 게이트웨이 세팅, AWS-CLI 통해 S3 접근
먼저 ami를 활용해 wordpress 서버를 하나 만들어준다.
bastion host 통해서 wp01 접속한다.
EFS (Elastic File System)
- 탄력적인 서버리스 파일 스토리지
- 스토리지 용량 및 성능을 프로비저닝하거나 관리하지 않고도 파일 데이터를 공유할 수 있다
- 애플리케이션에서 파일을 추가하고 제거할 수 있으며, EFS에는 간단한 웹 서비스 인터페이스가 있으므로 파일 시스템을 빠르고 쉽게 만들고 구성할 수 있다.
- 이 서비스에서 모든 파일 스토리지 인프라를 관리해 주므로 사용자는 복잡한 파일 시스템 구성을 배포, 패치 및 유지 보수하는데 따르는 복잡성에서 벗어날 수 있다.
✅ EFS 연결하기
EFS 를 생성하고, DNS 통해 파일 시스템을 연결해보자
[ec2-user@ip-10-36-77-209 ~]$ mkdir efs
[ec2-user@ip-10-36-77-209 ~]$ sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,ws ize=1048576,hard,timeo=600,retrans=2,noresvport fs-079c0aa2c385fe90e.efs.ap-nort
마운트 된 모습을 볼 수 있다.
NAT 게이트웨이
- NAT(네트워크 주소 변환) 서비스
- 프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결을 시작할 수 없도록 NAT 게이트웨이를 사용할 수 있다.
- NAT 게이트웨이는 특정 가용 영역에 생성되고 해당 영역에서 중복성을 통해 구현된다.
- 여러 가용 영역에 리소스가 있고 NAT 게이트웨이 하나를 공유하는 경우, NAT 게이트웨이의 가용 영역이 다운되면 다른 가용 영역의 리소스도 인터넷에 액세스할 수 없게 된다.
✅ NAT 게이트웨이 세팅하기
현재 ping이 나가지 않는 상태이다.
NAT를 통해 프라이빗 서브넷의 서버들을 인터넷 연결가능하도록 세팅해보자
이때, 탄력적 ip도 세팅해주어야한다(요금 발생)
그리고 프라이빗 라우팅 테이블에서 앞서 세팅한 NAT게이트웨이로 라우팅되도록 추가해주어야 한다.
ping이 이제 정상적으로 동작한다.
하단과 같은 플로우!
EFS 실습을 위해 워드프레스 서버를 하나더 만들어보자
앞선 저장소와 동일한 EFS 파일 시스템을 연결하였다
df -h를 통해 확인해보면 마운트 된 것을 확인할 수 있다.
하나의 서버에서 파일을 생성하면 다른 서버에서도 동일한 파일을 볼 수 있다.
동일한 저장소를 공유하는 것을 확인할 수 있다.
실습이 끝나면, NAT 게이트웨이와 탄력적 IP주소 둘다 릴리즈 해야지 과금이 방지된다.
https://awscli.amazonaws.com/AWSCLIV2.msi
위링크를 통해 AWSCLIV2를 다운받는다. 명령 줄 인터페이스(CLI, Command line interface) 또는 명령어 인터페이스는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. 즉슨, 윈도우에서 cli로 접근가능한 툴이다.
아래처럼 메시지가 뜨면 해당 메시지는 AWS CLI가 설치된 것이다.
C:\Users\COM>aws configure
cli를 통해 s3에 파일을 업로드하거나 삭제 등의 작업을 할 수 있다.
C:\Users\COM>aws s3 cp index.html s3://hanee0428/
upload: .\index.html to s3://hanee0428/index.html
C:\Users\COM>aws s3 ls s3://hanee0428/
2023-04-28 16:40:29 779 index.html
C:\Users\COM>aws s3 cp two-rabbit.jpg s3://hanee0428/images/
upload: .\two-rabbit.jpg to s3://hanee0428/images/two-rabbit.jpg
C:\Users\COM>aws s3 ls s3://hanee0428/images/
2023-04-28 16:44:14 571622 two-rabbit.jpg
백업하기
C:\Users\COM>aws s3 sync backup s3://hanee0428/backup/
삭제하기
C:\Users\COM>aws s3 rm s3://hanee0428/backup/ --recursive
delete: s3://hanee0428/backup/aws.tar
delete: s3://hanee0428/backup/food.tar
[ec2-user@ip-10-36-34-104 ~]$ aws s3 cp s3://hanee0428/index.html ./
download: s3://hanee0428/index.html to ./index.html
[ec2-user@ip-10-36-34-104 ~]$ ls
index.html my-key.pem