AWS- 3

박형준·2024년 4월 11일

S3

  • Amazon Simple Storage Service(Amazon S3, 저장소)는 업계 최고 수준의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다.
    • 99.999999999%(9가 11개)의 데이터 내구성으로 스토리지 리소스 크기를 조정하여 변화가 잦은 요구 사항을 충족합니다.
    • 이 서비스를 사용하면 데이터를 안전하게 저장하고 검색할 수 있으며, 웹 사이트, 모바일 애플리케이션, 백업 및 아카이브 등 다양한 용도로 활용할 수 있습니다.
    • S3는 데이터의 내구성과 가용성을 보장하며, 필요한 만큼의 스토리지를 유연하게 이용할 수 있습니다.
    • 또한 데이터를 보안적으로 관리하고 접근 권한을 제어할 수 있는 기능도 제공합니다.
    • S3는 클라우드 기반의 스토리지 서비스로, 기업이나 개발자들이 안정적이고 확장 가능한 저장 공간을 활용할 수 있도록 지원합니다.

용어 정리

  • 객체 : 파일 하나(문서, 동영상 기타 등등 )
  • 버킷 : 객체를 보관하는 하나의 디렉토리 (최상위 디렉토리)
  • 버전관리 : 저장을 하면 첫번째가 버전1, 내용 수정된것 업로드 하면 버전2…
  • Reduced Redundancy Storage(RRS): Amazon S3에서 제공되는 데이터 저장 옵션 중 하나입니다.
    • 이 옵션을 통해 데이터를 더 낮은 비용으로 저장할 수 있지만, 데이터의 내구성이 표준 S3 스토리지 옵션보다 상대적으로 낮을 수 있습니다.

*장점

  • 어디서나 접속 가능 ( url을 통해서 접속 가능 )
  • 용량의 무제한 (1바이트 부터 5T까지 무제한으로 사용가능 )
  • 뛰어난 내구성 ( 99.999999999%)
  • 스토리지 비용을 자동으로 최적화( 자주 사용하는 것과, 가끔 사용하는 것 구분)

*저장소 종류

  • S3-standard : 가장 기본적인 저장소
  • S3-IA(infrequent Access ) - 가끔 접속이 필요한 파일
  • S3-One Zone IA - 단일 저장이 필요할때 사용하는 저장소(매우 가끔)
  • S3-Glacier 저장소 : 장기 저장소(안정적)

*버킷에 대한 정책 설정 가능 ( 접근 제어 리스트, ACL )

*암호화를 통한 안전한 저장 가능

업로드(put), 다운로드(get)


*S3 생성

*버킷 생성

  • *S3 검색 / 버킷 만들기 / 이름( 고유 이름 ) , ACL 비활성화됨 선택 / 버킷 키[비활성화] , 고급설정[비활성화] / 버킷 만들기
  • 버킷은 고유 이름
  • ACL 비활성화를 통해 정책 지정
  • 퍼블릭 엑세스 차단 : 외부로부터 접근 금지
  • 버킷키와 객체 잠금 설정

*폴더생성 / image 이름 입력 만들기 / 파일 업로드 클릭해서 준비된 이미지 업로드 /

  • 업로드된 이미지 클릭 객체 URL 클릭 하면 열리지 않음 ⇒ 이전에 모든 퍼블릭 차단 체크 해서
  • 버킷 안에 이미지 폴더 만들기
  • 이미지 업로드 설정(미리 준비한 이미지와 텍스트 파일 업로드)
  • 스토리지를 기본 스토리지인 standard로 설정
  • 업로드 된 것 확인
  • 업로드된 이미지의 속성의 url 클릭해서 이미지 확인
  • 이미지 확인이 안된다

*허용하도록 설정 변경

  • 버킷에서 / 권한 부분에 엑세스 차단 ⇒ 편집 클릭 / 모든 퍼블릭 엑세스 차단 부분 체크 해제
  • 아래쪽에 객체 소유권 - 생성자 이외 다른 사용자도 사용 가능하도록 설정 .
    • 활성화로 변경 하면 다른 사용자도 사용 가능 ACL이 복원된다는 것을 확인합니다. 체크
  • 이전 권한에서 퍼블릭 엑세스 차단을 체크한 것을 해제(허용)
  • ACL 설정 (ACL 활성화: 다른 사람도 확인 가능)

–다시 이미지의 URL을 클릭 해보면 아직도 열리지 않음 .

  • 이미지 속성 / 편집에서 모든 사람(퍼블릭 엑세스 ) 객체 체크 / 저장
  • 다시 이미지 URL클릭 하면 이미지가 열림.
  • ACL 편집에서 모든 사람 읽기 체크
  • url을 다시 클릭해서 이미지 확인
  • 다른 사람의 url도 접속해서 확인 가능

*버킷에 정책 설정하기

  • 생성된 버킷 속성창 / 권한 탭 / 버킷 정책 [편집] / 우측에 정책 생성기 클릭 3단계로 진행.
  • 중간 Action 부분은 Get Bucket Policy 선택 , 맨 아래 ARN 값에는 비킷의 ARN입력,
    • Add Statement 클릭 / Generate Policy 클릭 하면 생성됨.
  • 버킷 정책 편집 정책 생성기를 통해 생성
  • iam 대시보드에서 사용자 생성 후 principal(로그인 URL) 복사
  • 버킷에서 arn 복사
  • 스테이트에서 action(get bucket poilcy) 추가해주고 복사한 principal과 arn 입력
  • 상태 추가후 정책 복사해서 붙여넣기
  • 생성된 정책 확인

-버킷 클릭 / 폴더 선택 / 작업 / ACL을 사용하여 퍼블릭으로 설정 선택 / 저장

  • 폴더 자체를 퍼블릭으로 설정
  • 이미지 폴더 자체를 퍼블릭 설정(이전에 설정한 것은 객체)
  • 텍스트 파일 확인

root 권한을 이용해서 이미지 폴더의 정책을 통해 파일 열리는 것 확인

  • Step 2 Principal 부분에 IAM사용자 입력할 내용 ⇒ arn:aws:iam::767397800821:root
  • 버킷 정책의 권한을 root로 바꾼 후
  • 파일의 엑세스 권한을 편집
  • 파일 열리는 것 확인

*암호화 해보기

  • 버킷 새로 생성 / 이름 입력 / 퍼블릭 차단 해제 / 기본 암호화 부분에서
    • 버킷 만들기 / 파일 하나 업로드 해보기
    • 암호화 설정 확인은 파일 클릭 /속성탭 / 아래 쪽 서버측 암호화 설정
  • 암호화 test용 버킷 만들기
  • 퍼블릭 엑세스 차단 x (접근 허용)
  • 암호화 활성
  • 파일 하나 업로드
  • 이미지 파일 속성에서 암호화된 것 확인

*업로드 금지 시키기

  • 생성된 버킷 속성 / 권한탭 /

  • 이후 파일 업로드 해보면 업로드 실패…

  • 암호화 테스트 버킷의 파일 업로드 금지 정책 설정
  • 코드 내용 중 버킷 이름 바꿔주기 (업로드 금지 내용 코드)
  • 정책 변경 후 파일 업로드
  • 업로드 금지된 것 확인

*실시간 모니터링 (cloud watch)

  • 이벤트 발생(업로드, 다운로드, 삭제 , 생성 ) 시 모니터링을 통한 경보 발생
  • 모니터링 종류
    • 기본 모니터링: 5분 간격으로 알림 . ( CPU, RAM, HDD, 네트워크I/O )
      • RDS,ELB 두 가지는 알림에서 제외.(너무 많아서)
    • 상세 모니터링 : 1분간격으로 알림, 유료, RDS,ELB 두가는 알림에 포함
  • 경보 종류 : 설정값을 정하고 이상 없으면 OK, 벗어나면 ALARM,
    • 두가지를 제외한 애매한 값일 때는 DATA

*EC2 생성

  • amazon linux 2, t2.micro , 키페어 기존것 사용 또는 새로 생성,
    • 네트워크 설정은 디폴트(SSH) , 스토리지 추가 8G
  • 인스턴스 생성후 ssh 접속
  • httpd 파일 다운로드 후 모니터링 확인
  • xftp를 통해 용량이 100Mbyte 정도의 파일 업로드
  • 실시간 모니터링을 통해 확인

*CloudWatch를 통한 모니터링

  • CloudWatch 서비스 검색 / 대시보드 생성 / 자동 대시보드에서 EC2 선택 추가
  • cloud watch 설정
  • 자동 대시보드에서 사용자 지정 대시보드로 추가해서 설정 (RDS는 유료)
  • cloud watch 모니터링 확인
  • 사용자 지정 대시보드 생성
  • ec2 모니터링을 test에 추가
  • ebs 모니터링을 test에 추가
  • test 모니터링에 추가된 것을 확인

*경보 설정

  • CloudWatch 서비스 / 왼쪽 경보 상태 / 지표 선택 / EBS 선택 / 볼륨별지표 /
    • 다음 / 경보이름 / 경보 생성 클릭 왼쪽 경보[모든경보] /
    • 처음에는 데이터 부족 ⇒ 정상으로 변경됨.
  • 정상으로 변경되면 SSH에서 이전에 업로드 했던 파일 삭제 하고 메일 확인
    다시 업로드 하고 메일확인 해서 경보 알람이 메일로 오는지 확인
  • 경보 설정
  • 경보 생성 클릭
  • volume write bytes 체크 (볼륨을 얼마나 썻는지)
  • 경보를 알릴 데이터 포인트: 1/1 (5/2 -> 5개중에 2개 이상이 생겼을 때 경보)
  • 새 주제 생성 설정 후 주제 생성 클릭
  • 이름 입력
  • 생성된 경보 확인

0개의 댓글