0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ECSからS3にアクセスする方法

Posted at

##何をしたいか
ECSでlaravelアプリをホストしています。
サムネイルの表示や更新にS3を利用しているため、ECSでホストしたLaravelアプリからS3にアクセスしたいです。
ECSからS3を利用する場合、開発環境で行っていた方法とは少し異なるため記事にしました。
##開発環境でのやり方
IAMでS3バケットを作成するアカウントを作成します。
そのアカウントでS3バケットを作成します。
.envを以下の様に編集します。

AWS_ACCESS_KEY_ID=******************** //先ほど作成したアカウントのアクセスキーID
AWS_SECRET_ACCESS_KEY=******************** //先ほど作成したアカウントのシークレットアクセスキー
AWS_DEFAULT_REGION=ap-northeast-1
AWS_BUCKET=バケット名
AWS_URL=https://s3-ap-northeast-1.amazonaws.com/バケット名/

おそらくこれで開発環境で作成したアプリからS3にアクセスできると思います。

##本番環境(ECS)でのやり方
ECSからS3にアクセスする場合ECSタスクロールにS3アクセスのための権限を付与する必用があります。

ecs_task_policy.json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
            "s3:ListBucket",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:ReplicateObject",
            "s3:DeleteObject"
            ],
            "Resource":"arn:aws:s3:::バケット名/*"
        }
    ]
}

.envは以下の様に編集します。

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=ap-northeast-1
AWS_BUCKET=バケット名
AWS_URL=https://s3-ap-northeast-1.amazonaws.com/バケット名/

これでECSからS3にアクセスできると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?