しゅがーブログ

技術ネタとか書いていけたらな…

【AWS】Step Functions使ってみた。

Overview バッチ処理をコンテナ上で動作させるための仕組みを作成しました。 コンテナ起動に失敗することが何度か発生していたので、回避するためStep Functionsを利用することにしました。 Step Functionsとは? 分散アプリケーションの構築、IT およびビジ…

【AWS】バッチ処理をFargateで実現するために

Overview EC2上のcronで実行しているバッチ処理をECS(Fargate)に切り替えましたが何がベストなんだろうか。 途中で気がついた課題 CloudWatch Eventsの特性 結構色んな人がいっていますが公式リファレンスに記載の通り、特定のトリガーされたルールに対して…

【MongoDB】Passengerプロセスがリコネクトできない時の対処方法

Overview MongoDBのPrimaryを切り替えたときにPassengerプロセスが切り替わったPrimaryへ接続できなかったのでそのときのまとめです。 環境 MongoDB: 3.6 mongoid: 6.4.2 Ruby MongoDB Driver: 2.8 Rails: 5.2 なぜリコネクトできないのか 公式リファレンス…

Capistrano Tasks内でRuby処理を書く際に気をつけること

Overview Capistrano Tasks内でプレーンなRuby処理を記述したときにどうなるかをまとめです。 前提 capistrano実行場所: Macbookローカル, ユーザ: hoge-man リモートサーバ: Amazon Linux 2 on EC2, ユーザ: ec2-user サンプル 以下のようなsampleタスクが…

aws-vault使ってらくらくAWS CLI

Overview ローカルからaws cliをセキュアに使いたい人向け MFAで認証させてから利用します。 ※この方法ではMFA用のアクセスキー/シークレットキーを発行します。 ※手順はmacOS用です。 事前作業 AWS CLIのインストール まずはこちらの手順にてaws cliをイン…

【Rails】MongoDBとMySQLそれぞれへのindexの貼り方とか

Overview いつも仕事でメインはMongoDB、サブはMySQLみたいな使い方をしていて、MySQLってどうやるんだっけ?と忘れることがあるのでその備忘。 MySQL みなさんご存知のRDBです。 migrateを実行してDBに各種定義を反映していきます。 table & column作成 bun…

ResqueのFailed JobsをCLIで一気にrequeueする方法

TL; DR 障害などでResqueジョブがコケてしまい一気に再実行したい人向けのスクリプト resque_webからだと1個ずつちまちま実行していかなければならない。 つまりここ Failureジョブの取得方法について ApplicationJobが継承されていない古いジョブもあったり…

【MongoDB】特定のcollectionをdumpしてrestoreする方法

特定のcollectionのみをdump 下記コマンドを実行するとカレントディレクトリにdumpフォルダが生成される。 mongodump -d hogehoge_db -c hogehoge_collection1 --out dump mongodump -d hogehoge_db -c hogehoge_collection2 --out dump mongodump -d hogeho…

Elasticsearch 6.8.X に上げるときの注意点

最近書いてなかったので、久しぶりに投稿 TL; DR ヒープサイズのデフォルト値が2GBから1GBに変更になりました。 itamaeでjvm.optionsを管理している方は要注意。 デフォルト値の指定で書き換えを行っていると、書き換えされずデフォルト値のままElasticsearc…

Rails3 + Passenger について

今更ながらRails3 + Passenger + Apacheの環境について調べました。 Railsは3.0.1のためassets pipelineがありません。 そのため、publicディレクトリに置いてあるJavaScriptやCSSはApacheモジュールのPassengerが圧縮しているみたいです。 Rails 3.0.1 Pass…

sessionの有効期限について

使用ツール Rails 5.1.5 devise 4.4.1 概要 sessionが切れる時の対処法 config/initializers/devise.rb config.timeout_inの時間を任意の時間に変更 before # ==> Configuration for :timeoutable # The time you want to timeout the user session without …

Rails carrierwave fog rmagickで画像アップロード

プロダクト開発でアイコンやバックグラウドイメージをアップロードできるようにしたいので試しに使用してみました。 すでに色々な方々が試しているみたいですが、自分なりの備忘として残しておきます。 環境変数はハードコーディングせずにgem:dotenvを使用…

PostgreSQLのversion up

PostgreSQLのversion upを実施した時のメモです。 移行前 version : 9.3.1 移行後 version : 9.5.10 version upすることになった経緯 AWSのEC2上で動作していたDBサーバをRDS上へ移して管理を楽にしたいということがありました。 DMS(Database Migration Ser…

他ドメインからELBへのルーティング方法

概要 他のサービスでドメインを管理されていたけれど、AWSと併用して使うことになりその移行を実施したのでまとめました。 ELBとWEBサーバ間はひとまずHTTPで通信させるもとのとする。 ドメイン例 移行前:www.hogehoge.com 移行後:www.tk-sugar.com やった…

MongoDB 使い方

MongoDBとは NoSQLと言われているデータ管理ツールです。 コマンドとか SQL SELECT * FROM hoge_table; MongoDB db.hoges.find() 正規表現 「/」(スラッシュ)を使いたい場合 db.getCollection('pages').find({path :{$regex:"tksugar/hogehoge") dumpとres…

PostgreSQL pg_dump

テーブル単位でのdumpのとり方についてまとめていきます。 productionとlocalで同期させるいい方法はないものか・・・ 依存関係があまり無いテーブルのリストア方法 テーブル単位のバックアップ 例) DB名 :fugaDB テーブル名:user_xxxxxx ロール名 :hogeh…

awsとかsshとか

結構期間が空いてしまいましたが、久しぶりに更新しにきました。 今まで使ったことのなかったAWSを仕事で使うようになったので色々まとめていきます。 改めてAWSの種類が多いと困惑しながらも、実際に触るようになったサービス 使ってるAWSサービス EC2 Amaz…

Rails PostgreSQL

Multicolumn(複合インデックス)を作成した時のこと 環境 Rails PostgreSQL 設定 migrationファイルに以下を記述 add_index :xxxxxxxxxxx_xxxxxxx, [:xxxxxxxx_id, :xxxxxxxxxx_id] Railsでよくあるindexの追記設定です。 記述後のmigrate bundle exec rake d…

dein.vim設定メモ

vimプラグイン管理 プラグインの管理はNeoBundleがメジャーだったらしいのですが、それに変わるdein.vimと言われる管理ツールがあるので導入してみました。 公式URL 導入プラグイン unite.vim neomru.vim molokai vim-indent-guides nerdtree ctrlp.vim neos…

Nginxの色々

Nginxにアプリケーションをデプロイしてみようかと思い、インストールしたので設定についてメモっておきます。 Nginxのインストール 通常のyumインストールでは古いバージョンがインストールされるため まず、以下ファイルを作成し、レポジトリの指定を変更…

gitコマンドメモ

よく使用するgitコマンドについてまとめていきます。 定期的に更新してく予定です。 初期設定 git config --global user.name "hogehoge" git config --global user.email hogehoge@hoge.com レポジトリ作成 git init git add -A git commit -m "Initialize …

Heroku コマンドメモ

コマンドの備忘 ソースコードのプッシュ git push heroku ログ確認 heroku logs DBマイグレーション heroku run rake db:migrate DB再作成 heroku pg:reset DATABASE メンテナス切替 heroku maintenance:on/off インスタンス再起動 heroku restart アプリ情…

Cloud9 ショートカットとか

クラウド型統合開発環境(IDE) ブラウザはChrome使ってますがよく Ctr + W 押しちゃってブラウザタブ閉じちゃうことがあるので気をつけてください。 よく使うショートカットメモ できること キー ファイル検索 Ctr + E メソッド検索 Ctr + Shift + E 行数検索…

Ruby on Railsメモ

コマンドの備忘 DBリセット rails db:migrate:reset seed作成 rails db:seed マイグレーション取り消し bundle exec rake db:rollback 自動テスト起動 bundle exec guard ルーティング情報表示 rails routes/rake routes