0329 linux aws cli 설치

Ada·2022년 3월 29일
0

Playdata-Cloud

목록 보기
3/21

오늘은 개념공부를 많이 했다.

클라우드 컴퓨팅

1) 정의 : 개인용 컴퓨터가 아닌 원격 컴퓨터의 자원을 활용하는 기술
2) 특징: 언제나, 어디서나, 사용한 만큼의 비용을 지불함.
3) 기업의 인프라 구성 방식

  • 온프레미스(On-Premises) : 규모 있는 기업에서 사용 가능, 자체적인 데이터 센터 또는 서버실을 구축하고 운영함.
  • 퍼블릭 클라우드 : 인터넷을 통해 불특정 다수에게 클라우드 서비스를 제공함. 초기 투자비용X
  • 프라이빗 클라우드 : 특정 대상을 지정하여 서비스를 제공함.

4) 클라우드 서비스 유형

  • Iass(Infrastructure as a Service) : 서버, OS, 네크워크, 저장소 등을 제공함.
    필요로 하는 자원의 규모 및 신뢰도 등에 의하여 비용 결정
    예) Amazon Elastic Compute Cloud(EC2)
  • PaaS(Platform as a Service) : 소프트웨어 개발 및 운영 환경을 제공함.
    인프라에 대한 관리 부담을 줄이며 개발에 집중
  • SaaS(Software as a Service) : 클라우드 벤더가 제공하는 시스템 및 소프트웨어를 직접 사용함.
    인프라, 소프트웨어 구축 시간이 없거나 매우 짧아짐
    예) Office 365, G suite

AWS 주요 서비스

1) 컴퓨팅 서비스

  • Amazon EC2 : 다양한 사양의 가상화 서버를 선택하여 사용량 만큼 비용을 지불하는 서비스
  • Amazon Auto Scaling : 특정 조건에 따라 서버를 추가/삭제
  • Amazon Lightsail : 가상 사설 서버, 간단한 웹 서버 운영시 사용
  • Amazon Workspace : 데스크톱 가상화 서비스, 사내 PC를 가상화로 구성하여 클라우드를 통한 업무환경 구축

2) 네트워킹 서비스

  • Amazon Route 53 : 가용성 및 확장성이 우수한 DNS 서비스, 웹 기반 인터페이스를 통한 쉬운 관리 가능
  • Amazon VPC : 가상 사설 네트워크 인프라를 클라우드 내에 생성 및 구성, 네트워크를 이용한 접근 제어, DHCP 및 VPN 연결, 인터넷 게이트웨이 사용 가능
  • Amazon Direct Connet : 기존 온프레미스 인프라와 AWS를 연결하여 낮은 지연으로 데이터 및 정보 공유
  • Amazon ELB : Elastic Load Balancer, L4 Load Balancer 역할을

3) 스토리지 서비스

  • Amazon S3 : Simple Storage Service
    여러 용도로 사용 가능한 범용 스토리지
    데이터 보관 및 정적 웹 사이트 호스팅 제공 가능
  • Amazon S3 Glacier : 사용 빈도가 높지 않은 데이터 보관 용도로 사용
    가격이 저렴, 무제한 데이터 보관
  • Amazon EBS : Elastic Block Storage
    EC2 등 서버에 스토리지로 추가하여 데이터를 보관하는 용도로 사용
    SSD 를 사용하여 입출력 속도가 우수
  • Amazon Storage Gateway : 온프레미스의 데이터를 클라우드로 저장 및 보관하기 위한 연결 Gateway
  • Amazon Snowball : 대량 데이터 전송을 위한 가상의 장치를 제공하는 서비스

4) 데이터 베이스

  • Amazon RDS : Relational Database Service
    관계형 데이터베이스 서비스(MySQL, MariaDB, Oracle, MSSQL, PostgreSQL) 제공
    서비스를 직접 관리하는 것이 아닌 아마존이 관리하는 데이터 베이스
  • Amazon DynamoDB : NoSQL 서비스
    대량 데이터의 저장 및 분석을 위한 서비스
  • Amazon ElastiCache : In-Memory 기반 Cache 서비스
    빠른 속도를 필요로 하는 서비스와 연계하는 서비스

5) 기타 서비스

  • 분석 플랫폼, 어플리케이션 서비스 등

실습 내용

1) EC2 인스턴스

오늘도 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 켜주기

2) S3 스토리지

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 명령어로 싱크 맞춰주기

3) Linux에 CLI 설치

(너무나도 정리가 잘 되어있어서 강사님의 필기 노트를 그대로 복사하였다. )

​- CLI 설치 파일 다운로드 후 압축 해제하여 설치

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

unzip awscliv2.zip

./aws/install

​- 설치 확인

aws --version

  • aws CLI에 액세스 키 입력

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
실제적용


이론부분 타이핑이 힘들었지만 다시 한 번 정리하는 기회가 되어서 좋았다.
오늘따라 실습 때 에러가 많이 나서 열등생이 된 기분이였지만 강사님께서 잘 알려주셔서 겨우겨우 따라잡았다. 그리고 나만 모르는게 아니고 다같이 모르는 부분도 있어서 함께 공부하는것이 얼마나 좋은 기회인지 깨닫게 되었다.

profile
백엔드 프로그래머

0개의 댓글