2019-05-01から1ヶ月間の記事一覧

Linuxの踏み台サーバ経由で、WindowsサーバにAnsibleを実行する方法

AWSではよくある下記にような構成で、Ansibleを実行する方法。playbookを実行するところがPCで、操作対象となるサーバがAWS上のWindows、sshポートフォワーディングして接続します。 ローカルフォワーディングの設定 利用する ssh_config に、踏み台サーバの…

コンテナで複数プロセスを起動させる

1コンテナ上で、nginxとfluentdを動かした話。 どうして複数プロセスを起動してはいけないの Dockerコンテナではプロセスを1つだけ起動させる、とは有名なContainerベストプラクティスですが、これはどうしてでしょう。いろいろ理由があると思いますが、明確…

PostgreSQLのFILLFACTORとHOTについて

調べたことまとめ。 FILLFACTORとは FILLFACTOR とは、ページにテーブルやインデックスを格納する際、敢えて空き領域を作成していく仕組みとなります。公式ページの説明です。 テーブルの場合。 テーブルのフィルファクタ(fillfactor)は10から100までの間の…

dockerfileのlinterを使う

dockerfileのlinterである hadolint を利用してみます。 hadolint 環境情報 windows 10 Pro インストール scoopのインストール windowsユーザは、 scoop を利用してインストールする手順が紹介されています。 scoop とは、様々なモジュールをコマンドライン…

テスト用のplaybookで利用できるモジュールたち

Ansibleでテスト用のplaybookを書く時の、一般的な使い方をまとめておきます。 環境情報 wait_forモジュール port生死の確認 ファイル内文字列の確認 assertモジュール コマンド実行結果を確認 failモジュール webサイトのページ確認 参考:テスト用playbook…

PostgreSQLの、テーブル・インデックスのメンテナンスについて

テーブルやインデックスで必要となるメンテナンス処理についての備忘。 調べた結論だけまとめておくと、下記といった感じでした。 auto vacuumを有効にしておく(デフォルトで有効) かつ、適当な頻度でauto vacuumされていることを、定期的に確認する index…

playbookのテストで利用できるオプションやlinterについて

Ansibleで書いたplaybookのテストを実行できる方法をまとめています。 環境情報 シンタックスチェック playbookのdry run(チェックモード) チェックモードの問題点1:依存関係のあるタスクでの利用 チェックモードの問題点2:チェックモードをスキップす…

PostgreSQLでテスト用データを作る方法

検証用として利用できるデータベース、レコードを作成する方法を、先人たちの知恵を元に記載していきます。 環境情報 サンプルデータベースの作成 レコードを作成する serialな整数の生成 randomな整数の生成 randomな文字列の生成 randomな長い文字列の生成…

Ansible Vaultで機密情報を管理する方法

AnsibleのPlaybookで、パスワード等の機密情報を記載したい場合があります。テンプレートファイルを見れば、パスワードが丸わかりとなってしまうため、これを暗号化して利用する方法が用意されており、それが Ansible Vault となります。 公式ドキュメントは…

pg_hba.confの書き方

PostgreSQLの、 pg_hba.conf についてまとめていきます。 クライアント認証はデータベースクラスタのデータディレクトリ内の、伝統的にpg_hba.confという名前の設定ファイルで管理されています (HBAとは、host-based authentication: ホストベース認証の略…

Ansibleのcommandモジュールで冪等性を担保する

Ansibleにてモジュールの用意されていない操作を実行する場合、OS上でコマンドを実行してくれるモジュールが用意されています。 command や shell がそれにあたります。 Ansible - command Ansible - shell しかしながら、公式では可能な限り command モジュ…

PostgreSQLでDBを作成する

テーブル空間を作って、そこに新規データベースを作成する手順です。 環境情報 CentOS 7.6 PostgreSQL 10.7 テーブル空間の作成 そもそもテーブル空間とは、 PostgreSQLのテーブル空間により、データベース管理者はデータベースオブジェクトを表すファイルを…