7月 2018年

OpenSSL で 証明書要求を作成、署名する方法

今回は「OpenSSL で サーバー証明書要求を作成、署名を行う方法」についてまとめます。 本記事は Windows 環境に OpenSSL がインストールされた状態で、認証局の設定も終わっていることを前提に説明しています。 Windows 環境に OpenSSL を導入する手順や認証局を構築する手順については別記事がありますので、必要に応じてご参照ください。 目次 概要 秘密鍵の作成 証明書要求(CSR)の作成 証明書要求(CSR)に署名 Webサーバーに組み込み 関連記事 公開鍵基盤 (PKI) 構築 に関する まとめ OpenSSL を Windows にインストールする方法 OpenSSL ...

OpenSSL で Windows に プライベート認証局 を 構築する方法

今回は「OpenSSL で Windows に プライベート認証局(CA) を構築する方法」についてまとめます。 すでに OpenSSL が Windows へインストール、設定されていることを前提に認証局として必要な秘密鍵と公開鍵を作成する方法をまとめています。 まだ OpenSSL を導入していない場合、こちら の手順に従って先にインストールをお願い致します。 目次 概要 認証局の秘密鍵作成 DSAアルゴリズムの場合 RSAアルゴリズムの場合 EC(楕円曲線)アルゴリズムの場合 認証局の証明書作成 証明書(.pem)作成 証明書(.cer ...

OpenSSL を Windows にインストールする方法

今回は「openssl を Windows にインストールする方法」についてまとめます。 今回は openssl のバイナリをダウンロードして Windows 10 にインストール、初期設定を行って動作確認するところまでの具体的な手順をまとめます。 目次 ダウンロード インストール 初期設定 動作確認 関連記事 公開鍵基盤 (PKI) 構築 に関する まとめ OpenSSL を Windows にインストールする方法 ← この記事 OpenSSL で Windows に プライベート認証局 を 構築する方法 OpenSSL で 証明書要求を作成、署名する方法 ダウンロード ...

MognoDB の シャードクラスタ から シャードサーバー を取り除く 方法

今回は「MongoDB の シャードクラスタからシャードサーバーを取り除く方法」についてまとめます。 目次 概要 手順 確認 概要 今回は何かしらの理由でシャードサーバーを取り外したいときの手順についてまとめました。 単純に removeShard を実行すればできるか…と言われるとそうではなかったので、その注意点も含めてまとめました。 手順 基本的には以下の手順でシャードクラスタから任意のシャードサーバーを取り除けます。 バランサーが有効であることを確認。 mongos > sh.getBalancerState() 取り除くシャードサーバー情報の確認 sh.status() を実行して、取り除きたいシャードサーバーの s ...

MognoDB の シャードクラスタ に シャードサーバー を追加する 方法

今回は「MongoDB の シャードクラスタにシャードサーバーを追加する方法」についてまとめます。 目次 概要 手順 確認 概要 今回はシャードサーバー(レプリカセット) shard2-rs を作成してシャードクラスタに追加する手順について見ていきます。 基本的な手順はシャードクラスタ環境構築と一緒です。 ルーターサーバーの初期設定がないくらいが違いです。 それでは、以下に具体的な手順を記載しているので順に見ていきましょう。 手順 シャードサーバーは「レプリカセット」なので単純にレプリカセットを準備して、それをシャードクラスタへ追加していきます。 今回は shard2-rs というシャードサーバー(レプリカセット)を作成して、シャードクラスタへ追加していきます。 シャ ...

MongoDB の チャンク について

今回は「MongoDB の チャンク」についてまとめます。 目次 概要 チャンクサイズ チャンク分割 チャンク平準化 概要 MongoDB はシャードキーを利用してコレクションを「チャンク」と呼ばれるデータの塊に分割します。 ここでは「チャンク」について「サイズ」「分割」「平準化」をまとめました。 チャンクサイズ MongoDB のデフォルトチャンクサイズは 64MB です。 後から変更できますが、以下のようなことを考える必要があります。 チャンクサイズを減らす場合、シャードサーバー間の平準化はしやすいが、ルーターサーバーの負荷が上がります。 チャンクサイズを増やす場合、平準化操作が減るのでネットワーク負荷とルーターサーバー負荷が減ります。 た ...

MongoDB で チャンクサイズ の 確認/変更 を行う方法

今回は「MongoDB の チャンクサイズ の 確認/変更 方法」についてまとめます。 目次 チャンクサイズ確認 チャンクサイズ変更 チャンクサイズ確認 mongos サーバーに接続して config データベース の settings コレクション にある chunksize の値を確認します。 mongos サーバーへ接続 mongo 172.0.0.1:8001 config データベースへスイッチ mongos > use config settings コレクションのデータを確認 mongos > db.settings.find() 何もデータがなければデフォルトなので 64MB まで、設定されていればその容量 ...

MongoDB の バランサー とは

今回は「MongoDBのシャードクラスタバランサー」についてまとめます。 目次 概要 平準化基準 平準化時の動作制限 平準化プロセス 概要 MongoDB のバランサーはバックグランドでシャーディングサーバー間でチャンク数が均等になるよう平準化を行います。 平準化はシャードクラスタ内の「最もチャンクが多いシャードのチャンク数」と「最もチャンクが少ないシャードのチャンク数」の差(平準化基準)が一定値を超えたときに開始されます。 平準化処理自体は MongoDB の利用側から見ると透過的ですが、性能劣化するのでいくつか動作制限があります。 平準化基準 平準化操作がシャードクラスタに及ぼす影響を最小限にするため、バランサーは以下の閾値を超えたときだけ平準化操作を行 ...

MongoDB で シャードクラスタ 環境 を 構築する

今回は「シャードクラスタの構築方法」についてまとめます。 「ハッシュシャード」と「レンジシャード」の違いについても触れています。 目次 概要 シャードクラスタの構築 フォルダ準備 設定サーバー構築 シャードサーバー構築 ルーター構築 シャードクラスタの動作確認 mongoシェルコマンド Node.js MongoDB Driver 概要 まずは「シャードクラスタ構成」の基本的なイメージを以下に載せます。 シャード環境ではデータ保存されている場所に直接アクセスするのでは ...

MongoDB で トランザクション を利用する方法

今回は MongoDB 4.0 で追加された 「トランザクション」 の利用方法 についてまとめます。 目次 概要 前提準備 実装例 動作確認 概要 2018年6月27日にリリースされた MongoDB 4.0 には、新機能として「マルチドキュメントトランザクション」が追加されました。 基本の設計は非正規化したドキュメント構造ですが、どうしても分割されてしまうドキュメントが出ないとは言い切れません。 そんな時に「トランザクション」はデータの整合性を保つうえで重要な機能になります。 では、以下で実際にトランザクションを利用した Node.js からのDB操作のサンプル実装および動作確認をしていきます。 前提準備 利用するモジュールは以下のものになります。 サーバー ...