にわかサーバー屋さんの覚書

サーバー系を担当しているけど、設計などは日々勉強中のプログラマの覚書

【朗報】LINE BOT の Server IP Whitelist がOptionalになってた

久しぶりに、LINE BOTの設定を除いていると、、、 なんと、 LINE BOTのServer IP Whitelistが任意になっていました。 つまり、設定しなければ、どのホストからもアクセス出来ちゃう! つまり、諦めていた、 AWSのAPI Gateway+Lambdaのサーバーレスで、BOTの…

AWS Lambda + DynamoDBで吐く"NetworkingError: write EPROTO"エラーについて

AWS Lambdaで楽しくサーバーレス環境を作っていたところ。。。 なにやらログにエラーが書き出されていた。 { "errorMsg": "NetworkingError: write EPROTO", "param": { "id": "XXXXXXXXXXXXXX", "store": "SHOP_AAAA", }} EPROTOていうのはプロトコルエラー…

LINE BOTに設定しているコールバックに飛んでこないのは多分SSLの水準のせい?

ここ数日、LINE BOTをイジイジしていたんですが、 architect.hatenadiary.jp 結局、引っかかったLINE BOTからのコールバックは解決してません。設定してから反映されるまでに時間がかかるって話もありましたが、AWSのAPI Gatewayと自己ドメインで相互書き換…

LINE BOT API Trial で引っかかったところ

いや、まだ絶賛苦戦中なんですが。。。 ひとまず、落ち着きました。 まぁ、LINEのBOTが話題に上がったので、試そうとしたんですが、 スキル不足でつまずいたところを書いておきます。 linecorp.com 調子こいてAWS API GatewayとLambdaでやろうとした これが…

AWS Lambdaで、DynamoDBをgetItemするときのパラメータの覚書

いやー、AWS API Gateway良いですね。 結構、APIサーバーを作成する作業が多かったのですが、 API Gatewatyならサーバーいらねー!ってことで、運用負担がスゲー減って最高。ミドルウェアのバージョンやらなにやらも気にしないでいいので、 もう、すべてこい…

すみません、VARCHARとCHARの違いを理解していませんでした。

すみません、VARCHARとCHARの違いを、 理解していませんでした。 VARCHAR 可変長文字列 CHAR 固定長文字列 でした。 あまり固定長文字列使わなかったので、 ん?なんだっけってなりました。 固定長で短い文字突っ込んだら、お尻スペースで埋めて文字数合わせ…

ID管理のヒント - オンラインデータリバランシング@LINEの技術

LINEの技術 - オンラインデータリバランシング 急増するLINEインフラの課題と対応 http://tech.naver.jp/blog/?p=3041 上記のLINEのエンジニアのブログ内容が興味深い。 特に、DBのshardに関する部分の設計は、なるほどと思った。 見せてもらったことのある…

データベースエンジニア養成読本(その他、養成読本シリーズ)

この養成読本シリーズは読みやすくて好きです。 データベースエンジニア養成読本 作者: データベースエンジニア養成読本編集部 出版社/メーカー: 技術評論社 発売日: 2013/06/22 メディア: 大型本 この商品を含むブログ (1件) を見る クラウドなんちゃらって…

AWSから、テーブル多いからinnodb_file_per_tableを0にしろと怒られた

AWS様からAlertメールが来た。 内容は以下の感じ。 DB Instance dev-DB-XXXX has a large number of tables and has the parameter innodb_file_per_table set to 1, which can increase database recovery time significantly. Consider setting this param…

てきとーなパフォーマンステストは意味が無い

とあるプロジェクトで、あきらかにサーバー処理が足りない。 大盛況で、めちゃくちゃアクセスが多いって訳でも無い。 調べると、本来というか稼働中は通信は全て暗号化で行われるのに、 性能テストでは、暗号化を外しておいてプレーンな状況で行っていたらし…

MySQL - スレッド毎のバッファ調整

前回は、コネクションとスレッドの調整を書いたけど、 おまけで、スレッド毎のバッファの調整も聞いたのでメモ。 my.conf sort_buffer_size ORDER BYやGROUP BYのときに使われるメモリ上の領域らしい。 ソートするカラムに対して、インデックスがついていな…

MySQL - 接続数が多いときの設定(同時接続とスレッドキャッシュ)

MySQLに接続数が多いときの設定の覚書 MySQLはクライアントから接続の度にスレッドを作って、 処理してはクライアントに返して、スレッドを破棄します。 そこで、サーバーにアクセスが多い場合に、調整するのがいい項目があったりします。 同時接続数 MySQL…

NoSQL - mongoDBのこと

もう、概念的なところだけは何となく理解して、 周りでしゃべっていることだけでも理解していこうと精一杯です。 で、mongoDB。 まずは、どんな製品かって言うと、 KVSっぽい高速な処理速度と、RDBの様な機能も捨てない、 って感じでしょうか。 KVSっぽいっ…

閉鎖するサイトのドメインを、他のWEBサーバーへ振った際のmod_rewriteの覚書

AとBというサイトが別のサーバーで運営されてて、 Aを閉鎖。 Aサーバーの契約が無くなるので、 AドメインをBのサイトのIPに割り当てる(DNS)。 同じサーバーだが、 Aドメインを指定してきたクライアントには、閉鎖のお知らせ Bドメインを指定してきたクライア…

NoSQL - KVS(Radisのこと)

ざっと、私の周りの実装をみると、 NoSQL系でみたことがあるプロダクトとしては、 memcached、Redis、MongoDBですね。 で、memcachedと、RedisがKVS。 どちらもインメモリで動作するので高速。 memcached 結果をセット、ゲットするシンプルな動作 データを古…

NoSQL - テーブル指向型とは

NoSQLの中のひとつ『テーブル指向型』ってなによ?って感じですが、 『列指向型』『カラム指向型』とかも、同じシステムを指すようです。 で、逆に、まだ馴染のある RDBMSは『行指向型』 とも言うみたいです。 つまり、『テーブル指向型』は、データ管理を「…

ん、NoSQLって?それ美味しいの?

いろんなシステムを見せてもらって、 ざっと、 MySQL + memcached の組み合わせで設計してありました。 memcachedってのは、要はキャッシュらしく、 リクエストをディスクアクセス無しに、メモリ上で打ち返してくれるもの。 ハイパフォーマンスWebサイト ―高…

MySQL - テーブル容量の見積り

まったくTip的なところは無いんですが、 テーブルの容量は、 普通に レコードサイズ * レコード数 なので、 それぞれのテーブル項目のデータ型から、バイト数を計算。 データタイプ 要求ストレージ TINYINT 1バイト SMALLINT 2バイト MEDIUMINT 3バイト INT,…

MySQL - MyISAMにする?それともInnoDBにする?それとも寝る?

ちょっと、入門的にえらい人に聞いた話。 MyISAM - テーブルロック InnoDB - 行レベルロック MyISAM - インデックスしかキャッシュされない InnoDB - インデックスかデータかに関わらずメモリ上にキャッシュ // // じゃあ、でーっかいマスタやログなど、ほぼ…

WEB+DB PRESS Vol.79

いきなり、サーバーまわりの設計、いや、DB設計というかいろいろ、 クライアント以外の諸々をざっくり任されそうになっているので、 本屋へダッシュして買った本。 WEB+DB PRESS Vol.79 出版社/メーカー: 技術評論社 発売日: 2014/02/22 メディア: 大型本 こ…