Tip & Tech

유용한 zigger 기술/활용 팁을 공유해 주세요.

zigger와 AWS S3 (Object Storage) 연동하기 2022.02.23 16:37:28에 작성

  • 게시글 작성자 zigger
  • 게시글 조회수 9,794회
zigger Core 2.2 부터 zigger와 AWS S3를 연동하여
업로드되는 모든 데이터를 AWS S3로 원격업로드 할 수 있는 새로운 기능이 추가 되었습니다.
AWS S3로 업로드 데이터를 분산하게 되는 경우 데이터의 확장성과 웹서버의 경량화 및 트래픽 분산의 이점이 있습니다.
이번 글에서는 zigger와 S3를 연동하여 스토리지를 분산 저장하는 방법을 안내합니다.



[!]AWS 회원가입 및 로그인[/!]

AWS 웹사이트(https://aws.amazon.com/ko/)에 접속하여 회원가입 후 로그인 합니다.




[!]AWS S3 신청 및 버킷 생성[/!]

AWS 로그인시 Console로 이동되는데, 콘솔 상단좌측 메뉴를 통해
S3 상세 화면으로 이동합니다.



S3 버킷 화면 위측에 위치한 [버킷 만들기]를 클릭하여 버킷 생성 화면으로 이동합니다.
버킷은 업로드 파일이 저장될 스토리지 공간이며, zigger에서 파일 업로드시 해당 버킷에 저장됩니다.



버킷 생성 화면에서 버킷 이름과 리전을 선택합니다.
zigger가 구동되는 웹서버가 대한민국에 위치해 있다면, ap-northeast를 선택합니다.
웹서버와 리전의 거리가 너무 먼 경우 업로드 및 다운로드 속도 저하의 원인이 됩니다.



스크롤을 내려 퍼블릭 액세스 차단 옵션을 해제합니다.
버킷이 퍼블릭으로 설정되어 있어야 zigger를 통한 원격 업/다운로드가 가능합니다.




[!]버킷 퍼블릭 권한 정책 설정[/!]

생성된 버킷의 퍼블릭 권한 정책을 설정해야 완전한 퍼블릭 버킷으로 설정 됩니다.
방금 생성한 버킷을 클릭하여 상세 설정 화면으로 이동합니다.



버킷 설정 화면에서 [권한] 탭을 클릭합니다.



'버킷 정책'에서 [편집]을 클릭하여 정책 편집 화면으로 이동합니다.



정책 입력란에 아래와 같이 정책을 입력 후 저장합니다.
 
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadForGetBucketObjects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::버킷이름/*"
        }
    ]
}




[!]AWS API 연동을 위한 Access key및 Secret key 생성[/!]

AWS API 연동을 위해 키 생성이 필요합니다.
https://console.aws.amazon.com/iam/home?region=ap-northeast-2#/security_credentials
로 이동 후 새로운 키를 생성합니다.


[!]zigger에서 AWS S3 연동[/!]

1~4까지 완료한 뒤 zigger와 S3 연동을 위해 Manager에 접속하여
'기본 관리도구 > 플러그인 및 기능 설정 > Object Storage(AWS S3) 연동'으로 이동합니다.




설정 화면에서 AWS에서 생성한 버킷 및 키 정보를 입력하여 저장합니다.




위와 같이 zigger와 S3를 연동한 경우 연동 이후부터 업로드되는 모든 데이터는 생성한 S3 버킷에 저장됩니다.
단, 연동 전 업로드된 데이터는 local에 그대로 보존해야 합니다.