AWS認定試験を受けてみようと、思いたったわけですが、とりあえずまだまだサービス全般の知識が乏しいので、なんか作ってみようと思います。 今回は、みんなが大好きS3に保存したファイルを公開してみるという(今更感満載)の実験をしてみます。
なんかこういうのを使って、メールに添付ファイルとパスワードメールを別送信するあの意味分からん文化を根絶させたい^_^ Basic認証とか使えばいけそうだけど、リバプロとか必要そうだしそれはまた次回で…
話が逸れそうなので、本題に移ります。
S3バケットを作成する
atmark ITのAWS Tipsを参考にしてみました。 まずはログイン。久しぶりにログインしてみましたが、サービス増えててワクワク感がはんぱない\(^o^)/
まずはS3のバケットを作成していきます。バケットにはドメイン名を入れるらしいので、適当にいれていきます。
バケット名:「ktkooon-file-share」 リージョン:「Oregon」
サクッとバケットを作成できました!テストデータとしていらすとやで入手した画像をアップしておきます。
…次にすすみます。
S3バケットポリシーを追加する
続いて、「アクセス許可」より、バケットポリシーの追加を押します。 コンソールが日本語化されてて、参考にしているTipsと若干違うので戸惑いますが日本語は得意なので問題nothing. 次に、バケットポリシーエディタで参考記事通り、 次にパーミッション設定。書式ページはバケットポリシーの例を参考に、全公開して一旦挙動をみてみます。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::ktkooon-file-share/*"
]
}
]
}
※Resourceのバケット名はそれぞれの環境に合わせて変えましょう
どういう意味か少し噛み砕いて説明したブログがあって分かり易かったので、記載しておきます。 (あ、クラメソさんだ…)
動作確認
本当に公開されたかをみてみます。
このリンクのURLをブラウザで開くと…
無事公開されました!今回は、リバースプロキシからのみ許可する設定にしたいので、バケットポリシーを以下にしておきます。 ついでに、S3の他の細かい設定に関しても自分の勉強用にまとめます。
- アクセス許可…バケットにアクセスできる権限を設定できる。バケットポリシー、CORSの設定も可能
- 静的ウェブサイトホスティング…有効、無効、別サイトへのリダイレクトを設定可能
- ログ…バケットへのアクセスログ
- イベント…バケットへのアクションをトリガーとして、他のサービスとの連携ができるっぽい
- バージョニング…バージョン管理あれこれ
- ライフサイクル…ぱっとみ良くわからない。なんかバックアップとかをどんな周期でとって、数日後に削除とかできそう。あとで調べる
- クロスリージョン、レプリケーション…他のリージョンにレプリケートできるらしい。バージョニングと合わせて使うとのこと
- タグ…タグを打っておくとタグごとの使用料金とかを確認できて便利とのこと
- リクエスタ…料金の支払いをバケット所有者ではなく、リクエスタからチャージできるらしい
- Transfer Acceleration…お金払うと高速でファイルをアップできるぜ的な
おわりに
もろもろ遊んでみて、ちょっと不安だったのがこれお金って…と思ったので調べておきました。 S3の料金 aws.amazon.com
えっと、全然ピンとこないんですがw 最初の 1 TB/月 が1GBあたりすごく、安いというのであってそうなのでちょっと安心しました。
次はEC2あたりに、Webサーバーたてて遊んでみようかなと思います\(^o^)/