🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1538閲覧

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

Hitokiyo-

総合スコア7

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/12/24 05:53

編集2020/12/24 10:44

解決したいこと

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

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

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

Ruby

1config.paperclip_defaults = { 2 storage: :s3, 3 preserve_files: true, 4 s3_host_name: ENV['S3_HOST_NAME'], 5 s3_credentials: { 6 access_key_id: ENV['AWS_ACCESS_KEY_ID'], 7 secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'], 8 s3_region: ENV['S3_REGION'] 9 }, 10 bucket: ENV['BUCKET'] 11 }

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

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

自分で試したこと

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

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

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

ruby

1config.yml 2 3version: 2.1 4 5~~省略~~ 6 7heroku_deploy: 8 working_directory: ~/*******ec 9 docker: 10 - image: sue445/heroku-cli 11 steps: 12 - checkout 13 - build-tools/install-ci-tools 14 - jq/install 15 - run: 16 name: Identify who I am 17 command: echo 'export MY_EMAIL=`heroku auth:whoami | tail -n 1`' >> $BASH_ENV 18 - run: 19 name: Identify Heroku app names to destroy 20 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 21 - run: 22 name: Delete old apps if needed 23 command: for app_name in $APP_NAMES_TO_REMOVE; do heroku apps:destroy -a $app_name -c $app_name; done 24 - run: 25 name: Define Heroku app name to create 26 command: timestamp=`date +%Y%m%d%H%M%S` && echo "export HEROKU_APP_NAME=*******ec-$timestamp" >> $BASH_ENV 27 - run: 28 name: Create fresh Heroku app 29 command: heroku apps:create $HEROKU_APP_NAME --addons=jawsdb:kitefin 30 - run: 31 name: Deploy 32 command: git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git master 33 - run: 34 name: Run post-deploy tasks 35 command: | 36 heroku config:set AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY 37 heroku config:set BUCKET=$BUCKET 38 heroku config:set S3_HOST_NAME=$S3_HOST_NAME 39 heroku config:set AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION 40 heroku run bin/rails db:migrate 41 heroku run bin/rails runner "['products', 'taxons', 'option_values', 'product_option_types', 'product_properties', 'variants', 'assets'].each { |table| Spree::Sample.load_sample(table) }" 42 heroku run bin/rails runner db/seeds/*******_suggest.rb 43 44orbs: 45 build-tools: circleci/build-tools@2.6.3 46 jq: circleci/jq@1.9.1 47workflows: 48 version: 2.1 49 build: 50 jobs: 51 - rspec 52 - rubocop 53 - heroku_deploy: 54 requires: 55 - rspec 56 - rubocop

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2020/12/24 06:03

設定変更後立ち上げ直しましたか?
Hitokiyo-

2020/12/24 06:10

ご回答ありがとうございます! 設定変更後の立ち上げ、というのはdockerの立ち上げ、ということで認識あってますでしょうか。 もしそうであれば、立ち上げ直してみましたが、変わらずです。 もしお門違いの回答をしていた場合は、誠に恐縮ですが、内容をお教えいただけるとありがたいです! 知識不足で申し訳ございません。。
yu_1985

2020/12/24 08:08

dockerをどう使っているのか特に言及がないので想像するしかないのですが、Railsを立ち上げてるコンテナを一度落として再度起動するということです。 環境変数の設定をしているファイルを貼ってもらっていいですか? 隠すべきところは隠してください。
Hitokiyo-

2020/12/24 08:51

ご返信ありがとうございます! ご返信遅くなり、又情報不足で申し訳ございません。 dockerの使い方としてはDBにMySQL、又、ECサイトを作成しているのでsolidusを使っています。 この質問の経緯としては、circleciでherokuに自動deployを行ったところ、heorkuに画像データが反映されていなかったので、S3のバケットのオブジェクトを確認したら空になっていた為、再度データを入れ直すためのコマンドを打ったのですが、 rails aborted! Seahorse::Client::NetworkingError: Failed to open TCP connection to [サービスコード].s3.ap-notheast-1.amazonaws.com:443 (getaddrinfo: Name or service not known) このようなエラーが出てしまったので、質問したという次第です。 長くなり恐縮ですが、以下に環境変数情報記載いたします。 $aws configure AWS Access Key ID [****************SM6Y]: AWS Secret Access Key [****************UKZ5]: Default region name [ap-northeast-1]: Default output format [json]: $heroku config AWS_ACCESS_KEY_ID: ****************SM6Y AWS_SECRET_ACCESS_KEY: ****************UKZ5 BUCKET: ******roec JAWSDB_URL: mysql://vz7cj9z1********************************************** LANG: en_US.UTF-8 RACK_ENV: production RAILS_ENV: production RAILS_LOG_TO_STDOUT: enabled RAILS_SERVE_STATIC_FILES: enabled S3_HOST_NAME: s3-ap-northeast-1.amazonaws.com AWS_DEFAULT_REGION: ap-northeast-1 SECRET_KEY_BASE: 52f************************************** 先ほどの質問から[S3_REGION]の環境変数名を[AWS_DEFAULT_REGION]に変更しております。 何卒、よろしくお願いいたします。
yu_1985

2020/12/24 08:56

> circleciでherokuに自動deploy そういうのは前提条件に書くべきことですね…。 CircleCIからはどのようにデプロイされるんでしょうか。 config.ymlで設定しているのでそれを貼ってください。 > 再度データを入れ直すためのコマンドを打ったのですが、 どこで何のコマンドを打ちましたか? こういったものは省略せずに詳細に書いてください。 それから、ファイルの中身は本文に追記する形でコードブロックを使って貼ってください。
Hitokiyo-

2020/12/24 09: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 10:35

config.ymlが本文に貼られてないので再確認をお願いします。 その流れだとheroku側のRailsが立ち上げ直されてないような気がするのですが…。
Hitokiyo-

2020/12/24 10:46

config.yml追記いたしました。。。 手取り足取り本当に申し訳なく思います。。 >その流れだとheroku側のRailsが立ち上げ直されてないような気がするのですが…。 こちらで調べて確認してみます! よろしくお願いいたします。。
guest

回答1

0

自己解決

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

投稿2021/03/13 06:21

Hitokiyo-

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問