AWSでs3に設置したファイルを公開する

S3とは?

「Amazon Simple Storage Service」の略称です。

公式では、以下のように説明されています。
『Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです』

簡単に言えばAWSにおけるファイルの保管場所です。ファイルをここに保管しておいて、他のサービスから簡単に利用することができます。

S3に設置したファイルを公開する

当然、画像や音声ファイルを設置しておいて、それを公開して利用することも可能です。

例えば、HTMLで、「img src = “”」の参照先にすることも可能なわけです。

そのような場合の設定方法について解説します。

パケットの作成

①コンソールからS3の画面に移動し、左メニューから「パケット」を選択。

②画面右側、「パケットを作成」

③作成画面で、下記の箇所をクリックしてパケットを作成。

一見これで公開が完了するように思えますが、他にも追加で設定が必要です。

追加設定

①作ったパケットを選択します

②上部メニューから、アクセス許可を選択。

③下にスクロールして「パケットポリシー」の「編集」をクリック。

④以下のコードを入力して保存する。(Resouceの内容は任意。あとはコピペで可)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "s3のarn"
        }
    ]
}

これでs3のリソースを公開可能です!

例えば画像をアップして、urlを「img src=””」で指定してあげれば、取得して表示することができます。

解説:④のコードについて

概要:そもそも何を設定しているのか?

IAM(AWSの認証システム)に関する指定を行います。これを設定することによって、リソースを公開することができるわけです。

各項目の解説

Version:IAMのバージョン設定。日付が古いがこれが最新版らしい。 参考
Effect:アクセスを拒否するか否か?ArrowかDenyか二択。 参考
Principal:誰にアクセスを許可するか?今回は全員なので”*”。 参考
Action:どのアクションを許可するか?今回はS3からのオブジェクト取得。 参考
Resource:どのリソース(arn)へのアクセスを許可するか? 参考
※arnとは:AWSリソースの識別ID。プロパティをチェックするとわかる。

他にもいろいろ設定できますので、興味があれば以下をご参照ください。
IAM JSON ポリシー要素のリファレンス

まとめ

今回はS3にアップしたファイルの公開方法について解説しました。

S3は非常に安価に利用できるストレージサービスです。
※料金の詳細はこちら

操作も簡単でとても便利なサービスですので、ぜひ導入を検討してみてはいかがでしょうか。

コメント

タイトルとURLをコピーしました