kikeda1104's blog

備忘録・技術に関することを書いています。(webエンジニア)

AWS

Redshiftへのデータ流し込み(Batch)

Batchを作ることになったので、そちらを書いていきます。warningを解消する際にすでに公開していたバッチですが、コードを改善したのでまた載せていきます。 サンプルコードは参考までにしてください。 前提 Rails(4.2.x) Ruby(2.2.10) RedShift S3 検討・方…

AWSのメモリ使用量のモニタリング

AWS

EC2のメモリ使用量を継続的に監視するために、cloudwatchに転送するAWS公式で出しているスクリプトを利用した。new_rericが入ったんだけれども、みれる状況じゃなかった。(諸事情) 前提 AWS EC2 CloudWatch Cloud SNS 方針 EC2のメモリ・スワップ使用量は、E…

sidekiq + redisの構築(Rails 4系) 4-1

AWS

インフラの準備を分割して書いていきます。 前提環境: ElasticCache(Redis 4) AWS EC2(Amazon linux) AWS(Amazon Linux) 東京リュージョン 検証環境として、立てていきます。(EC2はのぞく) EC2 EC2は立てている前提で、サーバにsshで接続して、redis(client)…

Redshiftへのデータの流し込みについて

AWS

環境の違いでスクリプトを変えたので、そちらを載せます kikeda1104.hatenablog.com kikeda1104.hatenablog.com SQLファイル -> sh # tab区切りでファイル出力: dump.shとする PASSWORD=password mysql -u username -p"$PASSWORD" -h hostname db -e "select…

Redshiftの環境構築

AWS

Redshiftの環境構築について書いていきます。 前提 RedShift データサイズが増加量を計測して毎月1GB増える 将来的にデータサイズが、クラスターのストレージを超える可能性も検討してサイズ変更ができるように設計 Snapshotを利用したデータサイズの変更に…

Basic認証(S3 + CloudFront + Lamdba)

AWS

コーポレートサイトを作っていて検証として公開したいが、閲覧の制限をかけたかったので急ぎめでBasic認証をかけました。 前提 httpsでの公開まで終えている Lamdba CloudFrontと連携させてBasic認証を行う 環境構築 Lamdbaで、リュージョンをバージニア北部…

Redshiftのソートキー

AWS

前回の記事の続きでRedShiftのチューニング(ソートキー)を定義します。今回は結論はなしで、ベンチマークを残します。 前提 RedShift PostgreSql ソートキー RedShiftでは、ソートキーを元に並び替えてデータをディスクに格納します。 最新のデータが最も頻…

RedShiftのエンコード

AWS

前回の記事では、テーブル定義まで進めて検証しましたが、今回はエンコードについて書いていきます。 前提 RedShift エンコード メリットは下記の通りです。 圧縮は、データの格納時にそのサイズを小さくする列レベルの操作です。圧縮によってストレージスペ…

テーブル定義/データインポート(Amazon Redshift)

前回mysqlからtsvファイルとしてダウンロードしたファイルをredshiftにデータをロードする。検証目的なので、batch処理は後日。 前提環境 Redshift(AWS) MySql(5.7系) macOS 10.13.5 PostgreSQL 9.6.2 前回の記事でtxtファイルをs3アップロードしている Reds…

tsvファイル出力(MySQL)とaws s3アップロード

RedShiftへのデータロードで、テーブルからcsvでダウンロードしてs3にアップロードします。txtファイルの出力とs3のアップロードについて書いていきます。 txtファイル SQLファイルを作る # dump.sql select * from c into outfile '/tmp/table_name.txt' FI…

sidekiq + redisの構築(Rails 4系) 2

前回の続きで、sidekiqのデプロイについて書いていきます。 前提環境 rails 4.x ruby 2.2.10 capistrano 3.5 capistranoを利用していたので、capistrano/sidekiqをGemに追加します。 unicorn, pumaなどの設定は無視していきます。 実装 # Gemfile group :dev…

sidekiq + redisの構築(Rails 4系)

非同期処理を取り入れる提案をして、採用されたので構築していました。アウトプットとして何回かに分けて記事を書いていきます。 前提環境 Mac OS sidekiq(non pro, non enterprice) redis rails 4.2.x ruby 2.2.x 前提環境の背景を話すと、Rails 5系にアッ…