1
1

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 5 years have passed since last update.

非エンジニアによるS3画像サーバの運用を検討する

Last updated at Posted at 2019-04-09

はじめに

Webサービスにおいて負荷分散等の理由からHTMLを格納するサーバと、画像のみを格納するサーバ(以下画像サーバ)にサーバリソースを分けるシーンがあります。
画像サーバへのファイルの追加や更新をサービス運用メンバ(非エンジニア)にて行ってもらうにあたり、AWSマネージメントコンソールから作業するのは色々不都合があると考え、運用メンバが慣れ親しんでいるFTPクライアントソフトを使った方法を検討しました。

準備

S3上のファイルを公開する際、Route53やCloudFrontを併用する方法がありますが、今回はあまり話を広げずS3とIAM、FTPクライアントのファイル管理についてのみとします。

S3

既存のBucketは稼働しているシステムで利用しているため、専用のBucketを作成します。
作成後は「アクセス権限」→「バケットポリシー」にて以下を入力しBucketを外部からアクセスできる状態にします。

バケットポリシー
{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::[バケット名]/*"
        }
    ]
}

IAM

画像ファイルを操作する専用のポリシーとユーザーを作成します。

ポリシー

Bucketの一覧は表示させつつ、特定Bucketのみ更新できる設定を追加します。

IAMポリシー
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::[バケット名]",
                "arn:aws:s3:::[バケット名]/*"
            ]
        }
    ]
}

ユーザー

以下の通り作成します。

  • AWSアクセスの種類
    • プログラムによるアクセス:有効
    • AWSマネジメントコンソールへのアクセス:無効
  • アクセス許可
    • 既存のポリシーを直接アタッチから先に作成したポリシーを選択
  • ユーザー作成後、認証情報よりアクセスキーを作成する
    • アクセスキーIDとシークレットアクセスキーをメモしておきます(以降のFTPクライアントで使います)

FTPクライアント

今回の例としてWinSCPをあげます。
WinSCPはversion5.13からS3の操作が可能になりました。
https://forest.watch.impress.co.jp/docs/news/1107401.html

メモしたアクセスキーIDとシークレットアクセスキーで、S3へのアクセスおよび対象Bucketの更新が可能となります。

おわりに

本件を導入することにより、サービス運用メンバはAWSを意識することなく画像ファイルの更新ができるようになりました。専用の管理画面をエンジニアにて開発して運用メンバに提供する案も考えましたが、今回あげた案の方が運用メンバが慣れ親しんでいるFTPクライアントで利用できるのと、導入コストが低い点で採用となりました。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?