0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

学習30日目

Posted at

今日学んだこと

本番環境での画像保存

内容

準備(コード)

(Gemfile)

gem "aws-sdk-s3", require: false

(ターミナル)

$ bundle config set --local without 'production'
$ bundle install

準備(AWS)

AWSアカウントを作成する。

IAMサービスでユーザーを作成する。

  • 「AWS マネジメントコンソールへのユーザーアクセスを提供する」チェックボックスを有効化
  • 「IAM ユーザーを作成します」を選択
  • 「ユーザーは次回のサインイン時に新しいパスワードを作成する必要があります」はオフ
  • 「既存のポリシーを直接アタッチ」を選択
  • 「Administrator Access」を選択
    ※ 作成後画面の「.csvファイルのダウンロード」は必ずクリックし、保存すること

IAMユーザーでサインインする。

「ユーザーの概要」から「アクセスキーの作成」を行う。

  • ユースケース:AWS の外部で実行されるアプリケーション
  • 説明タグ値:空欄
    ※ 作成後の「.csvのダウンロード」は必ず行う

AWSコンソールでS3バケットを作成する。

  • リージョン:アジアパシフィック(東京)
  • バケットタイプ:汎用

準備(render)

環境変数(4つ)を設定する。

  • AWS_ACCESS_KEY_ID:アクセスキー
  • AWS_SECRET_ACCESS_KEY:シークレットアクセスキー
  • AWS_REGION:リージョン名
  • AWS_BUCKET:バケット名

準備(コード)

(config/storage.yml)

amazon:
  service: S3
  access_key_id:     <%= ENV['AWS_ACCESS_KEY_ID'] %>
  secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
  region:            <%= ENV['AWS_REGION'] %>
  bucket:            <%= ENV['AWS_BUCKET'] %>

(production.rb)

config.active_storage.service = :amazon

(ターミナル)

$ git add .
$ git commit -m "deploy setting"
$ git push origin branch_name

動作確認

render上でデプロイするブランチを選択し、動作確認を行う。

感想

AWSの設定はIAMユーザー等分からない部分が多いので、公式リファレンス等を参照して理解を深めたい。

余談

active storageのs3への保存も完成し、アプリの作成、テスト、デプロイまで一通り自力でたどり着くことができました。
簡単な機能しか持たないアプリ作成でも約1ヶ月かかり、世の中のアプリがどれ程の苦労の末にリリースされているかを身を以て感じました。
今後は、javascriptや外部サービス連携等の追加機能について学習していきたいと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?