分12実はPuppetはそれほどスケーラビリティに優れていません。管理する設定の量や,ファイルサーバの転送量などによっても異なりますが,1CPU/2GBメモリのPuppetサーバ1台で,50台から100台のPuppetクライアントを管理するのが限界と言われています。最終回となる今回は,そんなPuppetのスケーラビリティを向上するためのテクニックについて解説します。単一構成でのスケーラビリティ向上Puppetではウェブサーバとして,Rubyに標準で含まれているWEBrickが利用されていますが,これをMongrelに変更することによってパフォーマンスの向上が見込めます。WEBrickの代わりにMongrelを利用する場合は,以下のようにpuppetmasterdのコマンドオプションでservertypeにmongrelを指定するだけです(Mongrelのインストールは別途必要です⁠)⁠。mongrelただし,Mongrelの場合はSSLの処理ができないため,前段にSSLが処理できるリバースプロキシを配置する必要があります。mod_proxyを利用する場合の設定例をご紹介します。Mongrelを利用して,前段にApacheを配置した場合の構成例は以下の図のようになります。Apache+Mongrelの単一構成例この構成で動作させるための設定について解説します。puppetmasterdの設定puppetmasterdは特別な設定の必要はありませんが,起動時にservertypeオプションでmongrelを指定するのと,デフォルトのポートである8140はApacheが利用するため,masterportオプションで8140以外のポートを指定する必要があります。18140また,デフォルトのWEBrickで起動した場合には,/etc/puppet/ssl/certsに自分自身の証明書が作成されますが,Mongrelで起動した場合には作成されません。--generateを実行して,証明書を作成する必要があります。puppet.example.comここで作成した証明書は,後ほどApacheで利用します。Apacheの設定Apacheではまずmod_sslの設定が必要です。最低限必要な設定は,以下の通りです。%{SSL_CLIENT_VERIFY}eまた,Apache宛てのリクエストをpuppetmasterdへプロキシするために,mod_proxyの設定を行います。http://127.0.0.1:18140/以上で,Mongrelを利用するための設定は完了です。Apacheを起動して,通常通りにPuppetクライアントを実行して,アクセスできることを確認します。Mongrelでは,Mongrelプロセスを複数起動してパフォーマンスを向上させる,ということが通常行われているようです。同様のことをPuppetでも行うためには,まずは以下のようにpuppetmasterdを複数起動します。/var/puppet/run/puppetmasterd.18142.pidAapache側ではmod_proxyではなくmod_proxy_balancerを利用して,以下のような設定を行います。http://127.0.0.1:18142</Proxy>これでApache宛のリクエストが,複数あるpuppetmasterdプロセスのいずれかに振り分けられます。12Puppet著者プロフィール宮下剛輔(みやしたごうすけ)(株)paperboy&co.技術責任者。Author,Plaggerコミッタとして活動している。Tokyo等の技術系カンファレンスでスピーカを務めるのも最近の楽しみのひとつ。共著書に『MASHUP++』がある。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。