오늘은 개념공부를 많이 했다.
1) 정의 : 개인용 컴퓨터가 아닌 원격 컴퓨터의 자원을 활용하는 기술
2) 특징: 언제나, 어디서나, 사용한 만큼의 비용을 지불함.
3) 기업의 인프라 구성 방식
4) 클라우드 서비스 유형
1) 컴퓨팅 서비스
2) 네트워킹 서비스
3) 스토리지 서비스
4) 데이터 베이스
5) 기타 서비스
오늘도 EC2에서 인스턴스를 생성하였다.
Amazon Machine Image(AMI) 에서 redhat과 Windows2012 버전으로 실습하였다.
Windows version : 태그를 추가하고 보안그룹 생성시 내 아이피로 수정 후 새로운 키 페어를 생성하여 RDP 클라이언트로 연결 후 원격 데스크톱 파일을 다운로드, 암호를 가져와서 연결하였다.
후에 인바운드 규칙에 HTTP 서비스를 내 IP로 보안그룹에 추가하였다.
Redhat version : 어제 PuTTY Gen으로 만들어둔 key를 가지고 실습하였다. PuTYY - Conversions - Importkey - 어제의 키 선택 - Session - aws에서 퍼블릭 ip 복사 후 입력 - Open - (ec2-user)로그인 - sudo -i - httpd 서비스 설치 및 상태 확인, enable 켜주기
Amazon S3 - 버킷 - testbucket-jueun1 버킷 생성(ACL 활성화, 모든 퍼블릭 엑세스 차단 해제) - s3test 폴더 생성 - AWS 내의 사용자 추가( 엑세스 키 방식 선택, 태그 추가, .CSV 파일 다운로드 해둠), CMD 열어서 AWS CLI 파일 다운로드 및 설치
aws configure 명령어 입력 후 csv파일에서 복사해온 Key ID, Access Key, 리전, json 포맷 등 입력
C drive 내에 backup_load 폴더 생성
aws s3 sync c:\backup_load s3://testbucket-jueun1/backuptest 명령어로 싱크 맞춰주기
(너무나도 정리가 잘 되어있어서 강사님의 필기 노트를 그대로 복사하였다. )
- CLI 설치 파일 다운로드 후 압축 해제하여 설치
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install
- 설치 확인
aws --version
aws configure
AWS Access Key ID [None] : 액세스 키 입력
AWS Secret Access Key [None] : 비밀 액세스 키 입력
Default region name [None] : Default 값 입력
S3의 region 입력을 해도 무관하며, 설정 이후 변경이 가능합니다.
Default output format [None] : json
설정한 내용은 OS 계정 Home 디렉터리 하위에 숨긴 폴더로 저장됩니다.
ex) /root/.aws/
AWS CLI를 통해 생성된 S3 확인
aws s3 ls
-----------------------------------
AWS S3 CLI 주요 명령어
aws s3 mb s3://버킷명
ex) # aws s3 mb s3://newbucket
버킷 확인 aws s3 ls
객체 확인 aws s3 ls s3://버킷명
ex) # aws s3 ls
aws s3 ls s3://s3-linuxclitest
aws s3 rb s3://버킷명
ex) # aws s3 rb s3://s3-linuxclitest
aws s3 rm s3://버킷명/객체명
ex) # aws s3 rm s3://s3-linuxclitest/test
aws s3 mv
ex) # aws s3 mv /root/file.txt s3://testbuket
aws s3 mv s3://newbucket/file.txt s3://s3-linuxclitest/
aws s3 cp
ex) # aws s3 cp /root/file.txt s3://s3-linuxclitest
aws s3 cp s3://newbucket/file.txt s3://s3-linuxclitest/
aws s3 sync
ex) # aws s3 sync /root/ s3://s3-linuxclitest
aws s3 sync s3://newbucket/ s3://s3-linuxclitest
--recursive
해당 옵션을 사용하면 지정된 디렉터리 또는 접두사 아래의 모든 객체에 대해 명령이 수행됩니다. (명령어 mv, cp, rm 적용)
ex) # aws s3 mv /root s3://s3-linuxclitest/ --recursive
aws s3 ls
aws s3 ls s3://testbucket-lsj1
mkdir -p /root/dira/dirb/dirc
touch /root/dira/filea-{1,2}
touch /root/dira/dirb/fileb
touch /root/dira/dirb/dirc/filec
ls -R dira
aws s3 cp /root/dira s3://testbucket-lsj1/linux_backup/
실패 : 디렉토리는 s3에 복사가 안됨
aws s3 cp /root/dira/filea-1 s3://testbucket-lsj1/linux_backup/
파일은 복사 가능
aws s3 ls s3://testbucket-lsj1/linux_backup/
aws s3 mv /root/dira/filea-2 s3://testbucket-lsj1/linux_backup/
원본 파일이 이동됨
ls dira
파일이 존재 않음
aws s3 ls s3://testbucket-lsj1/linux_backup
filea-2가 이동되어 있음.
aws s3 cp /root/dira/ s3://testbucket-lsj1/linux_backup/ --recursive
디렉토리를 백업하고 싶을 경우에는 --recurisive 옵션을 부여해주면 해당 디렉토리와 그안에 파일까지 모두 이동됨.
aws s3 mb s3://testbucket-lsj2
aws s3 ls
aws s3 rb s3://testbucket-lsj2
aws s3 rm s3://testbucket-lsj1/s3test
실행이 되었다고 결과는 뜨지만 실제 적용 안됨
aws s3 rm s3://testbucket-lsj1/s3test --recursive
실제적용
이론부분 타이핑이 힘들었지만 다시 한 번 정리하는 기회가 되어서 좋았다.
오늘따라 실습 때 에러가 많이 나서 열등생이 된 기분이였지만 강사님께서 잘 알려주셔서 겨우겨우 따라잡았다. 그리고 나만 모르는게 아니고 다같이 모르는 부분도 있어서 함께 공부하는것이 얼마나 좋은 기회인지 깨닫게 되었다.