質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.58%

aws s3エンドポイントの変更方法

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 464

score 7

解決したいこと

表題の通り、aws s3のエンドポイントをtypoしてしまったみたいで、変更をしたいです。
以下、内容になります。

前提環境
・dockerを使用しています。
・Ruby 2.5.1
・Ruby on Rails 5.2.1
・aws-sdk ~> 2.3

以下の内容に関しては、config/environment/production.rbに環境変数として設定済み

config.paperclip_defaults = {
    storage: :s3,
    preserve_files: true,
    s3_host_name: ENV['S3_HOST_NAME'],
    s3_credentials: {
      access_key_id: ENV['AWS_ACCESS_KEY_ID'],
      secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
      s3_region: ENV['S3_REGION']
    },
    bucket: ENV['BUCKET']
  }

発生している問題・エラー
aws s3エンドポイントの内容(typoしてしまった)

https://[サービスコード].s3.ap-notheast-1.amazonaws.com
("ap-northeast-1"となるはずが、"ap-notheast-1"となってしまった)

自分で試したこと

原因を調べたら、s3_regionが"ap-notheast-1"となっていたので、変更したのですが、
エンドポイントは依然変わらず、という状況です。

amazonの公式ドキュメントも色々みましたが、なかなか解決にたどり着けず、途方に暮れてしまっている状態です。
どなたかヒントいただけますでしょうか。。。

以下追加情報記載いたします!

config.yml

version: 2.1

~~省略~~

heroku_deploy:
    working_directory: ~/*******ec
    docker:
      - image: sue445/heroku-cli
    steps:
      - checkout
      - build-tools/install-ci-tools
      - jq/install
      - run:
          name: Identify who I am
          command: echo 'export MY_EMAIL=`heroku auth:whoami | tail -n 1`' >> $BASH_ENV
      - run:
          name: Identify Heroku app names to destroy
          command: echo 'export APP_NAMES_TO_REMOVE=`heroku apps --json | jq -r "map(select(.owner.email == "\"$MY_EMAIL\"" and (.name | contains(\"*******ec\")))) | sort_by(.updated_at) | reverse | .[5:] | .[].name"`' >> $BASH_ENV
      - run:
          name: Delete old apps if needed
          command: for app_name in $APP_NAMES_TO_REMOVE; do heroku apps:destroy -a $app_name -c $app_name; done
      - run:
          name: Define Heroku app name to create
          command: timestamp=`date +%Y%m%d%H%M%S` && echo "export HEROKU_APP_NAME=*******ec-$timestamp" >> $BASH_ENV
      - run:
          name: Create fresh Heroku app
          command: heroku apps:create $HEROKU_APP_NAME --addons=jawsdb:kitefin
      - run:
          name: Deploy
          command: git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git master
      - run:
          name: Run post-deploy tasks
          command: |
            heroku config:set AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
            heroku config:set BUCKET=$BUCKET
            heroku config:set S3_HOST_NAME=$S3_HOST_NAME
            heroku config:set AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION
            heroku run bin/rails db:migrate
            heroku run bin/rails runner "['products', 'taxons', 'option_values', 'product_option_types', 'product_properties', 'variants', 'assets'].each { |table| Spree::Sample.load_sample(table) }"
            heroku run bin/rails runner db/seeds/*******_suggest.rb

orbs:
  build-tools: circleci/build-tools@2.6.3
  jq: circleci/jq@1.9.1
workflows:
  version: 2.1
  build:
    jobs:
      - rspec
      - rubocop
      - heroku_deploy:
          requires:
            - rspec
            - rubocop
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Hitokiyo-

    2020/12/24 18:24

    たびたび申し訳ございません。。

    config.yml添付いたしました。

    >どこで何のコマンドを打ちましたか?
     こういったものは省略せずに詳細に書いてください。

    大変失礼いたしました。下記にて記載いたします。
    前段階でバケットは作成済みです。

    1aws_sdk gemをインストール
    2 config/environment/production.rbに当初の質問にあるコードブロック内容を記載
    3 heroku config:setコマンドでAWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYのみ環境変数設定
    4 commit、herokuにpush
    5 画像のアップロードをし直す $heroku run bin/rails _asset_loader:_force_reload:setup
    6 こちらでSeahorse::Client::NetworkingErrorエラーが発生
    7 S3_HOST_NAME・AWS_DEFAULT_REGION・BUCKETの環境変数を追加設定(REGIONに関してはtypo修正)
    8 再度画像のアップロードコマンドを打つ
    9 同じエラーがでる

    といった流れです。

    キャンセル

  • yu_1985

    2020/12/24 19:35

    config.ymlが本文に貼られてないので再確認をお願いします。

    その流れだとheroku側のRailsが立ち上げ直されてないような気がするのですが…。

    キャンセル

  • Hitokiyo-

    2020/12/24 19:46

    config.yml追記いたしました。。。
    手取り足取り本当に申し訳なく思います。。

    >その流れだとheroku側のRailsが立ち上げ直されてないような気がするのですが…。
    こちらで調べて確認してみます!
    よろしくお願いいたします。。

    キャンセル

回答 1

check解決した方法

0

解決方法が見当たらなかったため、1から作り直すことにしました。
申し訳ございません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.58%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る