Cloud2016年10月26日knakayama(84)11この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。はじめにこんにちは、中山です。AWSシリーズの第2弾です。1回目はAWSへのインストール方法を解説しました。利用したことがない方は一度読んでみていただければと思います。インストール編GHEには管理者用インタフェースが2つ用意されています。WebベースのマネジメントコンソールとCLIツールを利用したSSHアクセスです。今回はGUIで操作するマネジメントコンソールについてご紹介します。マネジメントコンソールとはWebベースで操作可能な管理者用ページです。「https://<hostname>/setup」にアクセスすると8443番ポートにリダイレクトされ表示されます。推奨されないですが、HTTPを利用している場合は「http://<hostname>/setup」です。アクセスすると、以下のように管理者用パスワードの入力を求められます。パスワードを入力すると設定画面が表示されます。以下ではこのマネジメントコンソールで設定可能な項目(「Settings」タブの内容)について解説します。注意点として、現時点(2016年10月26日)の最新バージョンである2.7を前提とします。バージョンが変わった場合は情報が異なる可能性があるので、利用される際には常に最新の情報を参照するようにしてください。GHEのドキュメントはバージョン毎にURLを変えて作成されています。2.7用ドキュメントのURLは以下のようになります。https://help.github.com/enterprise/2.7/そのため参照するドキュメントは自分が利用しているバージョンと合っているかに注意する必要があります。それでは、それぞれの内容についてご紹介します。各種詳細な情報は以下のドキュメントにまとまっています。ご利用される際はドキュメントも参照してください。passwordマネジメントコンソールにログインする際のパスワードを変更する項目です。リンクが記載されているのでそれをクリックすれば以下のようにパスワード変更画面が表示されます。accessSSHアクセス時に利用する公開鍵を登録する項目です。GHEのSSH用ポートは122番なのでご注意ください。22番はgit+sshで利用されます。settings」を押下してアプリケーションの再起動をする必要があるのですが、この項目はそういったことをせず即時で反映されます。HostnameGHEインスタンスへアクセスする際のホスト名を設定する項目です。基本的にIPアドレスではなくホスト名でアクセスできるようにしましょう。Isolation」を有効にしてください。今回はDNSにRoute53を利用したawscliでの設定例をご紹介します。Zoneはすでに取得している前提で進めます。登録するホスト名を正常に正引きできるように新規でレコードセットを作成します。以下のようなJSONファイルを用意してください。「_YOUR_...」となっている部分は自分の環境に合うよう変更してください。注意点としてインバウンド用のMXレコードは「reply.<hostname>」となります。]}続いてレコードセットを作成します。Idはご自身のものに変更してください。}}しばらく待てばホスト名を正引きできるようになります。settings」を押下すれば正常に正引き可能かチェックすることができます。ホスト名を変更する際は事前にチェックすることをオススメいたします。Isolationについて解説します。この設定を有効にするとパスベースではなくサブドメインで各種ページにアクセスできるため、同一オリジンポリシーによりクロスサイト・スクリプティングなどの対策として有効に動作します。Pages」も無効化することが推奨されています。詳細はこちらのドキュメントを参照してください。有効化すると以下のようにサブドメイン形式でアクセスできるようになります。http(s)://assets.hostname/2.7で試した限りでは以下の設定でDNSに登録する必要があるようです(この内「gist-assets」と「gist-raw」はマネジメントコンソールには表示されないようですが、上記ドキュメントには登録する必要がある旨、書かれています)。replyはインバウンドのメール用に利用するので、もし利用しないのであれば特に設定は不要です。A一つ一つ登録することも可能ですが、数が多いのでワイルドカード形式(*.<hostname>)でDNSに登録されることをオススメいたします。awscliで登録する場合は以下のようなJSONファイルを用意して先程と同じようにレコードセットを作成すればOKです。settings」を押下すると以下のように正常に正引きできた旨、表示されます。TimeどのNTPサーバと同期するかを設定する項目です。デフォルトではUbuntuで利用されているNTPサーバが指定されています。特定のサーバに変更したいなど理由があれば変更してください。AuthenticationGHE上のユーザをどのような方法で管理するかを指定する項目です。組織によってはすでにユーザ情報をLDAPなどを利用している場合、既存のユーザ情報と連携できるので利便性が向上すると思われます。ユーザ情報はデフォルトでインスタンス上に保存されます。Privacyセキュリティ関連の設定を行う項目です。長いですが全体の設定画面を貼り付けます。only特別な理由がない限り必ず有効にしてください。デフォルトではGHEが自動で生成した自己証明書が利用されるので、変更する必要があります。こちらのドキュメントに書かれていますが、SSLターミネーションをELBなどのロードバランサで実施することはサポートされていません。インスタンスに直接証明書をアップロードする必要があります。Isolationを有効化している場合は注意点があります。Names)に対応したマルチドメイン証明書を指定する必要があります。Modeこのモードが有効になっているとGHE上にアカウントを取得していないユーザに対して、パブリックなリポジトリをgitプロトコルでcloneできなくさせます。デフォルトの認証が利用されている限り、アカウントを発行されないとログインできません。こちらのFAQに記載されているように、GHEは基本的に閉じた組織内で利用することを想定しているので有効化することが推奨されています。Modeとは逆の設定です。GHEにアクセス可能なユーザは新規アカウントを作成したり、gitプロトコルを利用したcloneが可能です。特別な理由がない限り無効化しておきましょう。Modeを無効化しておく必要があります。ProxyGHEから送信されるトラフィック(Webhookやbundleのアップロードなど)がここで指定したプロキシを経由して送信されます。Excludeに登録したホストに対してはその限りではありません。GeoJSONGeoJSONファイルのdiffを取るかどうかのようです。Pagesの設定項目です。Isolationを無効化している場合は利用しないでください。Pagesをパブリックに公開するかどうかの設定です。デフォルトでは無効化されています。Emailメールの設定です。ここでSMTPサーバの設定をするとメールを利用した通知が可能になります。メールの受信を有効にする場合は25番ポートの開放とDNSの設定が必要になります。こちらについては別エントリにまとめてご紹介したいと思います。Notificationの設定方法をエントリにまとめました。よろしければ読んでいただければと思います。MonitoringGHEから各種メトリクスを収集するための設定です。SNMPGHEはSNMPでインスタンスのリソースを取得できます。マネジメントコンソールからコミュニティ名を指定できるので、今回適当な文字列を入れて取得できるか試してみました。デフォルト値はpublicです。ローカルのPCから値を取得してみましたが、正常に値が取得できるようです。forwardingsyslog-ngを利用してGHE上のログを外部サーバに転送可能です。TCPとUDPが選択可能ですが、TCPの場合正常にログの転送ができないとGHEが反応なくなるようなのでUDPが推奨されています。今回は、GHEと同じVPC内にlogstashをインストールしたインスタンスを構築して、正常にログが転送されているかを確認してみました。forwarding」にチェックを入れるとログ転送用インスタンスのホスト名とプロトコルが指定できるので入力します。settings」を押下するとGHE上でsyslog-ngがログの転送を開始します。UDPを選択した場合は514番ポートが利用されるので、logstashをインストールしたインスタンス上で以下のようにログのフォワードを待ち受けてみると正常に動作しているか確認できます。forwardingGHEのcollectdは5系なので、データ収集用のcollectdは5系以上が必要です。forwarding」にチェックを入れるとホスト名とフォワードに利用するポート、そして暗号化方式を設定可能です。今回はlogstashの時と同様、同じVPC上に構築したcollectdインスタンスでnetworkプラグインを有効にし、ログのフォワーディングを有効化してみました。以下に大量のRRDデータが保存されていることが確認できると思います。まとめいかがだったでしょうか。全部説明していくとかなり長くなってしまいました。設定が必要になった際に適宜参考にしていただければと思います。本エントリがみなさんの参考になれば幸いです。〜ITエンジニアのお仕事とホンネ〜2月19日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。環境をDockerで構築してみました。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健231こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。