Medusa S3 파일 플러그인용 AWS S3 버킷을 설정하는 방법.

Medusa는 제품 이미지와 같은 매장 파일을 호스팅하기 위해 파일 저장소 플러그인이 필요합니다. 이 자습서에서는 medusa-file-s3 플러그인을 사용하여 AWS S3를 스토리지 공급자로 사용하는 방법을 배웁니다.

전제 조건



이 튜토리얼을 따라하려면 Medusa 서버를 설정해야 합니다. Medusa 문서에서 이 빠른 시작guide에 따라 쉽게 설정할 수 있습니다.

아직 없는 경우 AWS account을 생성합니다.
AWS IAM 사용자 및 그룹 생성

보안상의 이유로 필요하지 않은 작업에는 AWS 계정 루트 사용자를 사용하지 않는 것이 좋습니다.
AmazonS3FullAccess 권한이 있는 IAM 사용자 및 사용자 그룹을 생성해야 합니다. 단계here에 따라 IAM 관리 사용자 및 그룹을 생성합니다.

새 사용자 만들기


Programmatic accessAWS Management Console access 를 지정한 다음 사용자 지정 암호를 설정하고 간단하게 하기 위해 다음 로그인 옵션에서 새 암호를 만드는 데 필요한 사용자를 선택 취소합니다. 이 자습서에서는 새 사용자의 이름을 medusa-server-admin로 지정했습니다.


사용자 그룹 만들기



권한을 부여하려면 새로 만든 사용자와 연결된 사용자 그룹을 만들어야 합니다. 새 사용자 그룹을 만들고 여기에 권한AmazonS3FullAccess을 부여합니다.
이 자습서에서는 새 사용자 그룹의 이름을 지정했습니다medusa-server-admins.


Next:Tags > Next:Review > Create User 를 클릭합니다.

Medusa 서버의 루트 폴더에 있는 Access key ID 파일에 새로 생성된 Secret access key.env를 추가합니다. 이 자습서에서는 .env 키의 이름을 각각 S3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEY로 지정했습니다.

IAM 사용자로 로그인



새로 생성된 IAM 사용자에 로그인하려면 이전에 생성한 IAM 사용자 이름과 암호 외에 루트 사용자의 계정 ID가 필요합니다. AWS 콘솔의 오른쪽 상단 모서리에 있는 사용자 이름을 클릭하면 루트 사용자 계정 ID를 쉽게 얻을 수 있으며 계정 ID는 Account ID 필드에 표시됩니다.

루트 AWS 계정에서 로그아웃하고 방금 생성한 IAM 사용자로 로그인합니다.

S3 버킷 생성



AWS S3 console으로 이동하여 Create bucket를 클릭합니다.

버킷 이름을 입력하고 리전을 선택합니다. N VirginiaOhio는 일반적으로 가장 저렴한 지역입니다. 이 가이드에서는 버킷medusa-starter-monster-s3의 이름을 지정하고 리전으로 N Virginia를 선택했습니다.
Object Ownership 섹션에서 ACLs enabled를 선택하여 medusa 서버에서 버킷에 대한 액세스를 활성화한 다음 Bucket owner preferred를 선택합니다.
Block Public Access 섹션에서 Block all public access 확인란의 선택을 취소합니다. 이렇게 하면 경고와 확인란이 표시되어 작업을 확인합니다. 확인란을 선택하십시오.



페이지 하단으로 스크롤하고 Create bucket 을 클릭합니다.

새로 생성된 버킷 페이지에서 Permissions를 클릭한 다음 Bucket Policy를 클릭합니다. 버킷에 대한 퍼블릭 읽기 액세스를 허용하는 정책을 작성해야 합니다.

AWS Policy Generator을 사용하여 버킷에 대한 정책을 생성할 수 있습니다. 간단히 하기 위해 Edit 버튼을 클릭하고 버킷 정책 필드에 다음 정책을 붙여넣습니다. YOUR_BUCKET_NAME를 버킷 이름으로 바꿉니다. Save changes를 클릭하여 정책을 저장합니다.
S3_BUCKET_NAME 파일에 S3_BUCKET_REGION , S3_BUCKET_URL.env 키를 추가하고 버킷 이름과 리전 및 S3 버킷 URL로 값을 입력합니다. S3 버킷 URL은 <https://<YOUR_BUCKET_NAME>.s3>.<REGION>.amazonaws.com 형식입니다. 이 튜토리얼에서 내 S3 버킷 URL은 <https://medusa-starter-monster-s3.s3.us-east-1.amazonaws.com> 입니다.

medusa-file-s3 설치



Medusa 서버에 medusa-file-s3 패키지를 설치해야 합니다. medusa 서버의 루트로 이동하여 설치합니다.

# using npm
npm install medusa-file-s3

# using yarn
yarn add medusa-file-s3


마지막으로 medusa-config.js 파일에 플러그인 구성을 추가합니다.

const plugins = [
  // other plugins
  {
    resolve: `medusa-file-s3`,
    options: {
      s3_url: process.env.S3_BUCKET_URL,
      bucket: process.env.S3_BUCKET_NAME,
      region: process.env.S3_BUCKET_REGION,
      access_key_id: Sprocess.env.S3_ACCESS_KEY_ID,
      secret_access_key: process.env.S3_SECRET_ACCESS_KEY,
    },
  },
];

module.exports = {
  projectConfig: {
    // project configs
  },
  plugins,
};


테스트해보기


npm run dev 또는 yarn dev 를 사용하여 medusa 서버를 시작합니다.

아직 설정하지 않은 경우 Medusa Admin을 설정합니다. quickstart guide에 따라 설정할 수 있습니다. Medusa Admin에서 새 제품을 추가하고 이미지를 업로드합니다. 모든 것이 올바르게 설정되면 제품 이미지가 S3 버킷에 성공적으로 업로드됩니다.

좋은 웹페이지 즐겨찾기