味噌汁を飲みます

そんなに深く考えて書いていない

AWSでS3の公開、S3をEC2へマウント、S3の変更通知

教授からの課題の備忘録

S3の公開

そもそものS3の作成は省く 対象バケットにて アクセス権限>ブロックパブリックアクセス から パブリックアクセスをすべてブロックの欄をオフにする そして、公開したいコンテンツを選んで公開するを選択すれば静的に公開できる

オブジェクトurlを選択することで公開したものを見ることができる

アドレスが一意っぽくて気になっている

S3のマウント

s3fsを使ってEC2からS3をマウントしたときにうまくいかなくて調べた事まとめ | Developers.IO

qiita.com

AmazonS3FullAccessを許可したIAM roleをコンソールで作る

apt でs3fsがあるを入れることができるので

id ubuntuでマウント時のuid, gidを確認して mkdir /mnt/s3 して/mnt/s3を作成したのち

sudo "S3のバケット名" /mnt/s3 -o rw,allow_other,uid="id ubuntu のuid",gid="id ubuntuのgid",default_acl=public-read,iam_role="S3FullAccessを許可したIAM role名"

S3の変更通知

Amazon Simple Notification Service を使うことでS3に変更があったことをEmailに通知できる

作成したトピックを編集し、アクセスポリシーに下記のJSONを書き込む

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sns:Publish",
      "Resource": "トピックのArn",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "AWSのアカウントのハイフン消したもの"
        },
        "ArnLike": {
          "AWS:SourceArn": "S3のarn"
        }
      }
    }
  ]
}

Example cases for Amazon SNS access control - Amazon Simple Notification Service

上記URLを参考にしたため、 自分のバケットを見るならもう少し少ないパラメーターで書けるかもしれない

案マウント

s3fsを使ってEC2からS3をマウントしたときにうまくいかなくて調べた事まとめ | Developers.IO