라라벨에서 AWS의 S3 사용법

s3_laravel소스코드 예제


  1. AWS Identity and Access Management (IAM)에서 사용자 생성

    • AWS 콘솔에 로그인한 후, IAM 서비스로 이동하여 사용자를 생성합니다.

  2. 해당 사용자에게 S3 버킷에 접근할 권한 부여

    • 사용자에게 'AmazonS3FullAccess'와 같은 적절한 S3 액세스 정책을 연결하여 권한을 부여합니다.

  3. 해당 사용자의 액세스 키 생성

    • 액세스 키를 생성하여 사용자에게 부여합니다. 이 액세스 키는 프로그래밍 코드상에서 AWS 리소스에 접근하는 데 사용됩니다. (예: 람다/S3등..)

  4. AWS S3에서 버킷 생성

    • AWS S3 콘솔로 이동하여 새로운 버킷을 생성합니다. (이때 버킷의 권한 설정이 없고 퍼블릭 액세스 차단 상태여도 업로드에 문제 없었음)

  5. Laravel 프로젝트에서 AWS SDK 패키지 설치

    • Laravel 프로젝트의 루트 디렉토리에서 Composer를 사용하여 AWS SDK를 설치합니다.

    composer require league/flysystem-aws-s3-v3 "^3.0"
  6. Laravel 환경 파일 (.env)에 AWS 정보 입력

    • Laravel 프로젝트의 .env 파일에 AWS 액세스 키 및 S3 버킷 이름과 같은 정보를 입력합니다.

      AWS_ACCESS_KEY_ID=[액세스키명]
      AWS_SECRET_ACCESS_KEY=[액세스키비밀번호]
      AWS_DEFAULT_REGION=[S3버킷생성지역]
      AWS_BUCKET=[버킷명]
      AWS_USE_PATH_STYLE_ENDPOINT=false
  7. Laravel 소스 코드 작성

    • Laravel 프로젝트에서 필요한 기능을 구현하는 소스 코드를 작성합니다. 이때 AWS SDK를 사용하여 S3 버킷에 데이터를 저장하거나 검색할 수 있습니다.



참조

파일스토리지

참조코드

IAM으로유저생성&S3정책추가

Sep 17, 2023 Views 274