Calendarの14日目です前回まででCloudGarage上にJIRA(とConfluence)を構築できました。(その1、その2、その3)今回は、構築時につまづいたところ、「つまづきそうだな」と思ったところなどを紹介してシリーズを完結しようと思います。本編には「罠」という単語が登場しますが、「本人の理解不足によるつまづきポイント」くらいの意味で使用しています。ポートの罠CloudGarageの一番のハマりポイントと言えば「ポート」、という統計があります。(サンプル数:1)ということで、ハマりそうな(実際にハマったものもある)ポートの罠についてです。443)でリバースプロキシかますので8080開けてなくてもえぇやろ」と思って8080を開放せずにセットアップを進めた結果、JIRAの初期設定でDBの初期化でnginxのタイムアウトをくらって無事セットアップに失敗しました。回避方法8080を開けておいて初期設定時はnginxを経由せずに直接JIRAを叩くようにする。初期設定時にタイムアウトしないようにnginxの設定を変更する。8090ポートConfluenceのデフォルトポートは8090ですが、CloudGarageではコントロールパネルから8090を開放できません。回避方法Confluenceのポートを8090からコントロールパネルで開放できるポート(例えば8080とか3000とか)に変更してインストールする。8090でインストールした上で、初期設定時にタイムアウトしないようにnginxの設定を変更する。8091ポート最近のConfluenceには共同編集という機能があります。この共同編集機能を有効にした場合、記事の編集時に8091にアクセスしようとします。CloudGarageでは8091ポートを(狙い撃ちで)開けられないので共同編集を有効にすると記事の作成画面が死にます。回避方法Atlassianのドキュメントを参考にnginxの設定を変更する。罠というよりは仕様ですね。当初の構想では、JIRA用のインスタンスとConfluence用のインスタンスの前にそれぞれロードバランサーを立てて(nginxのリバースプロキシとか無しで)運用しようとか妄想してましたが、使えるロードバランサーは1契約1つだったのでインスタンス内にnginxを立てる運用になりました。妄想が実現していたとして、↑のポートの罠でひどいことになっていたと思うので結果オーライRancherの罠JIRAとConfluence用のPostgreSQLを立てているDBサーバーはRancher上でDocker運用していますが、こいつにも罠があります。SSHの罠RancherOSはインストール時にSSHの鍵を設定し、その鍵を使用してSSHログインできるようになります。鍵認証を有効にした場合はパスワード認証を無効にするのがサーバー管理の鉄則(#知らんけど)だと思いますが、RancherOSでパスワード認証を無効にする方法がわかりませんでした。upで復旧しようと思ったらdocker-composeがシステム上のどこにもなかったです。Encryptを導入し、自動更新のコマンドをcrontabに登録して安心していましたが、自動更新に失敗していました。Encryptの更新で認証を行うためには/.well-known/acme-challenge/にアクセスできる必要があるらしいので、「/.well-known/acme-challenge/」にアクセスされたら、初回認証時にwebrootとして指定したディレクトリを返すように、nginxの設定を変更します。」を指定しているため、ドキュメントルートは「/usr/share/nginx/html」になります。具体的な設定はリポジトリにあるconfファイルのテンプレートを参照してください。Mackerelの罠DB用インスタンスはRancherOSを使用しているので、mackerel-agentもdockerで稼働しています。containerを再起動してもmackerelのダッシュボードでは同じホストとして扱われると思っていましたが、container再起動で同じIDのホストが何台かできていました。containerを再起動した場合でも同じホストとして扱わせるための知見を求めています。Encryptに対応していなかったため、解決までに結構な時間を取られました。詳しくは前回のエントリを確認してください。マクロで日本語が表示されないというものがあります。上記のリンク先の内容に従って設定をしてみましたが、まだ一部おかしいようなので、今後のバージョンアップで解決することを期待しています。いうわけで、CloudGarageをフルに活用してJIRAとConfluenceの環境を構築した際、運用した際の罠(ハマったポイント)でした。#ステマということで、「CloudGarage上にJIRA(とConfluence)を構築した話」シリーズはこれでおしまいです。Calendarの14日目でもありました。