くるくるパーマの株日記

2024年証券口座に1000万円達成が目標


(はじめてのAWS)Amazon S3にファイルを公開してみた

AD

AWS認定試験を受けてみようと、思いたったわけですが、とりあえずまだまだサービス全般の知識が乏しいので、なんか作ってみようと思います。 今回は、みんなが大好きS3に保存したファイルを公開してみるという(今更感満載)の実験をしてみます。

なんかこういうのを使って、メールに添付ファイルとパスワードメールを別送信するあの意味分からん文化を根絶させたい^_^ Basic認証とか使えばいけそうだけど、リバプロとか必要そうだしそれはまた次回で…

話が逸れそうなので、本題に移ります。

S3バケットを作成する

atmark ITのAWS Tipsを参考にしてみました。 まずはログイン。久しぶりにログインしてみましたが、サービス増えててワクワク感がはんぱない\(^o^)/

f:id:ktkooon:20160711232130p:plain

まずはS3のバケットを作成していきます。バケットにはドメイン名を入れるらしいので、適当にいれていきます。

バケット名:「ktkooon-file-share」 リージョン:「Oregon」

f:id:ktkooon:20160711232224p:plain

サクッとバケットを作成できました!テストデータとしていらすとやで入手した画像をアップしておきます。 f:id:ktkooon:20160713231342p:plain

…次にすすみます。

S3バケットポリシーを追加する

続いて、「アクセス許可」より、バケットポリシーの追加を押します。 f:id:ktkooon:20160711232639p:plain コンソールが日本語化されてて、参考にしているTipsと若干違うので戸惑いますが日本語は得意なので問題nothing. 次に、バケットポリシーエディタで参考記事通り、 次にパーミッション設定。書式ページはバケットポリシーの例を参考に、全公開して一旦挙動をみてみます。

f:id:ktkooon:20160711234858p:plain

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "AddPerm",
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Resource": [
            "arn:aws:s3:::ktkooon-file-share/*"
        ]
    }
]
}

※Resourceのバケット名はそれぞれの環境に合わせて変えましょう

どういう意味か少し噛み砕いて説明したブログがあって分かり易かったので、記載しておきます。 (あ、クラメソさんだ…)

dev.classmethod.jp

動作確認

本当に公開されたかをみてみます。 f:id:ktkooon:20160713231827p:plain

このリンクのURLをブラウザで開くと… f:id:ktkooon:20160713232023p:plain

無事公開されました!今回は、リバースプロキシからのみ許可する設定にしたいので、バケットポリシーを以下にしておきます。 ついでに、S3の他の細かい設定に関しても自分の勉強用にまとめます。

  • アクセス許可…バケットにアクセスできる権限を設定できる。バケットポリシー、CORSの設定も可能
  • 静的ウェブサイトホスティング…有効、無効、別サイトへのリダイレクトを設定可能
  • ログ…バケットへのアクセスログ
  • イベント…バケットへのアクションをトリガーとして、他のサービスとの連携ができるっぽい
  • バージョニング…バージョン管理あれこれ
  • ライフサイクル…ぱっとみ良くわからない。なんかバックアップとかをどんな周期でとって、数日後に削除とかできそう。あとで調べる
  • クロスリージョン、レプリケーション…他のリージョンにレプリケートできるらしい。バージョニングと合わせて使うとのこと
  • タグ…タグを打っておくとタグごとの使用料金とかを確認できて便利とのこと
  • リクエスタ…料金の支払いをバケット所有者ではなく、リクエスタからチャージできるらしい
  • Transfer Acceleration…お金払うと高速でファイルをアップできるぜ的な

おわりに

f:id:ktkooon:20160713232720p:plain

もろもろ遊んでみて、ちょっと不安だったのがこれお金って…と思ったので調べておきました。 S3の料金 aws.amazon.com

えっと、全然ピンとこないんですがw 最初の 1 TB/月 が1GBあたりすごく、安いというのであってそうなのでちょっと安心しました。

次はEC2あたりに、Webサーバーたてて遊んでみようかなと思います\(^o^)/

AD