2016.11.24
- 人×技術
GitHub EnterpriseをAWSに構築した話
はじめに
この記事はマニュアルのリンクが多数貼られておりますが参照時期によっては古い情報になります。
執筆時点では、GitHub EnterpriseのVersionは、2.7となっております。
最新のマニュアルをご参照頂ければと思います。また、AWSの細かい設定(セキュリティグループなど)や、DNSの設定など本運用する為に必要であろう項目は割愛されておりますのでご留意ください。
はじめまして。インフラエンジニアのmomoiです。
弊社では先日、GitHub Enterpriseを導入いたしました。
株式会社フォーク:GitHub Enterpriseを導入しました。
本記事は、GitHub Enterpriseのトライアル版をAWS環境で構築する方法を記載します。
インストールするだけであれば(AWS部分を除けば)ほぼ迷うことはなく、30分程度で完了できると思います。
また、本番への移行はライセンスを購入し入れ替えるだけですので、非常に容易です。
GitHub Enterpriseとは
GitHub Enterpriseとは、ご存知、GitHubを保有しているサーバにインストールし利用することができる、あなた(貴社)の為だけのGitHubです。
GitHubの機能が制限なく利用できますので、github.comからの移行も容易ですし、またGitHubの利用人口が多くナレッジが多いので、非エンジニアの方にも導入し易いものと思います。
目次
準備
サーバ準備
GitHub Enterpriseをインストールする為のサーバを準備する必要があります。
インストールできる環境は、下記リンク先をご参照ください。
GitHub Enterprise Setup and Configuration Guide
弊社では、AWSで構築することにしました。
Installing GitHub Enterprise on AWS AWSでインストールする際、どのプランを選択するかですがマニュアルには、以下の様な指標がありますので従います。
弊社の場合は、500人も社員数はいないので一番上で良さげです。
EC2のインスタンスタイプですと、r3.large でしょうか。
この記事では、AWSのアカウント作成などは割愛します。
GitHub Enterprise を利用する為のアカウント作成とライセンスの取得。
トライアル版をダウンロードするためには、アカウントを作成する必要があります。
GitHub Enterpriseへアクセスし、「Start a free trial」から進めて行けば良いです。
入力が完了すると、「You’re ready to go.」という画面に遷移し、AWSへインストールする為の方法が提示されます。
今回は、AWSにインストールをしたいと思うので、手順を控えておきます。
1 Navigate to the AWS web console
2 Click on CloudFormation in “Management Tools”
3 Choose Create Stack
4 Select Amazon S3 template URL and enter:
https://github-enterprise.s3.amazonaws.com/cloudformation/trial-1474369554.template
また、ページ右側に「Your GitHub Enterprise license」とありますので、下部の「Download your license」をクリックしライセンスファイルをダウンロードしておきます。
構築
インスタンスの作成
AWSへログインをし、インスタンスの作成を行います。
今回は、先程取得した手順にあるように、CloudFormationを利用してインスタンスの作成を行います.
AWSのコンソールへログイン後、CloudFormationを選択します。
下記画像のように、サービス名で検索すると用意に見つかります。
「Create Stack」をクリックしてインスタンスの作成を開始します。
Amazon S3 においてあるテンプレートのURLを入力して行きます。
Stack Nameは、任意の名前を入れてください。
ParametersのDataは、アタッチするEBSのサイズでデフォルトで10になっていますので、適宜設定を行ってください。
KeyNameは特に入れる必要はありません。
その後の選択はすべてデフォルトのままで問題ないので進めて行き、Createを実行します。
問題なければStackが作成され、EC2インスタンスも同時に作成されます。
Resourcesタブ内で、EC2のインスタンスとセキュリティグループのPhysical ID確認出来ます。
インスタンス起動後、対象インスタンスの「パブリック DNS」をブラウザのアドレスバーへ入力しアクセスしてください。
私はFireFoxでアクセスしたので下記のようなページが表示され、自己認証のSSL証明書が利用されていることの説明が出ます。
これは、セットアップ時のみなのでContinue Setupをクリックして進みます。
その後、SSL証明書のエラー画面に遷移しますので例外を追加してエラーを回避します。
GitHub Enterpriseのインストール
ここからは、GitHub Enterpriseの初期設定を行っていきます。
まずは、以下の画面が表示されますのでライセンスファイルをアップロードし、パスワードを入力してください。
このパスワードは、設定画面のパスワードとなります。
入力後、新規インストールか、他からの移行かの選択が出ますのでここでは、新規インストールを選択します。
選択後、https://パブリックDNS:8443/setup/settings へ遷移し、GitHub Enterpriseの設定画面となります。
GitHub Enterpriseのセットアップ
設定画面ですが、とりあえずGitHub Enterpriseを触ってみたいとい方は、左側の「Save settings」を押してしまうのが良いでしょう。
押下すると、設定の反映が始まりますます。
1-2分で完了しますので、完了したら、「Visit your instance」を押下し次に進みます。
「Create Admin Account」の画面に遷移しますので、適当に入力してアカウントを作成します。
アカウント作成が完了すると、以下のような画面に遷移します。
これで、GitHub Enterpriseを使える準備は完了しました。
GitHub Enterpriseの設定画面
GitHub Enterpriseの設定画面(https://パブリックDNS:8443/setup/settings)でアクセス出来ます。
項目の概要ですが、説明が各項目ごとにありますので下記リンクをご参照いただければと思います。
GitHub Enterprise Setup and Configuration Guide
AWSでのメール配信について
AWSのEC2インスタンスで、メール送信を行っているとAWSの制限に引っかかってしまいメールが遅延する可能性があります。
この制限は、EC2から25番ポートで通信する場合に適用されますので、外部SMTPサーバを利用しても発生します。
制限を解除するためには、以下のフォームに必要事項を記入し送信する必要があります。
Request to Remove Email Sending Limitations
終わりに
GitHub Enterpriseの利用できるまでをざっくり書きました。 基本、画面通りに進めて行けば迷わずインストールできると思います。
また、マニュアルは全て英語になりますが非常に親切な説明があり、読んでみると新しい発見もあると思いますので是非、読んで見てください。