Cloud2016年10月25日knakayama(84)27この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。はじめにこんにちは、中山です。弊社のブログを読んでいる方の中にはGitHubを利用している方は多いと思います。コード共有サービスとしてデファクトスタンダードと言って良いほど沢山のユーザから利用されているサービスです。さまざまなツール/サービスと連携してソフトウェアを作成することができるので、個人/組織を問わず日々利用されている方は多くいるのではないでしょうか。私自身ほぼ毎日使っているサービスの1つです。Enterprise(以下GHE)というプロダクトが存在します。GHEはサービスではなくソフトウェアとしてサーバ上にインストールできるため、より自分の環境に合った利用が可能になります。GHEを利用するメリットはさまざまあると思いますが、主な導入理由として以下を上げる方は多いのではないでょうか。規則により社内で利用しているコードを外部サービス上に置きたくない/置けないGitHubの障害やメンテナンスに巻き込まれたくないGitHubにはプライベートリポジトリ機能があるので、公開したくないコードを置くことは可能ですが、誤ってパブリックにしてしまう可能性などを理由として、大事なコードを外部サービスに置きたくないと考える方はいると思います。GitHubとCI/CDを連携させている場合、GitHubが何らかの理由でダウンしているとデプロイができないなど開発フローに影響が出てしまう可能性もあります。いったことを懸念されている方にとってGHEは魅力的な選択肢の1つになるはずです。いう訳で、今回さまざまな理由でGHEの導入を検討されている方々向けにAWS上でGHEを利用する方法をご紹介しようと思います。GHEをAWSで利用するメリットGHEをAWS上で利用するメリットはどういったものがあるでしょうか。私が考える主なメリットは以下のものがあると思います。運用コストの低減が期待できるセキュアに利用できる他AWSリソースとの連携それぞれの理由をご紹介します。導入が容易GHEをAWSで使う方法はとても簡単です。GitHub社が公式のAMIを用意してくれているので、基本的にそれを起動させるだけで利用できます。インストールに関わる作業はマネジメンコンソールで操作可能なので、AWSの利用経験のない方でも簡単に構築できると思います。運用コストの低減が期待できるGHEはサーバ上にインストールして利用するため、運用は自分たちで実施する必要があります。バックアップの設定、障害発生時の対応などなどできるだけこういった運用コスト(人的コストも含む)は低減したいはずです。AWSにはさまざまなフルマネージドサービス、つまり運用面をまるっとAWSにおまかせしたサービスが豊富に提供されています。EBSのスナップショットを取得してバックアップしたい場合。Eventで定期的に起動させたLambdaで取得すれば簡単に実装可能です。障害対応はどうでしょうか。インスタンスにログインしてシェルコマンド叩くまで作り込むのはいろいろと試行錯誤が必要ですが、障害が発生したインスタンスの再起動程度であれば、CloudWatchのアラートにリブート機能を追加すればお手軽に設定可能です。いったフルマネージドサービスを利用すれば運用コストを低減した形でGHEを利用できます。セキュアに利用できるGHEに保存されるコードは社外秘のものが多いのではないでしょうか。それによって会社が支えられている重要な資産です。いった重要なデータが保存されることが多いのでデータの漏洩は絶対に避けたい事態だと思います。そのため、GHEを利用する方にとってセキュリティは重要な要素になると思います。AWSにはさまざまなセキュリティ関連のサービスがあります。Connectなどを利用できます。以下のような構成で簡単にかつセキュアなNWを構築することができます。VPCと自社NW間はIPSecを利用した暗号化通信が可能です。ルータの設定は必要ですが、それ以外はマネジメントコンソールから簡単に構築できます。厳密に言うとAWSも「外部サービス」ですが、こういったサービスを利用すれば自社NWとセキュアに接続できるので、情報漏えいの可能性が極めて低いシステムが構築可能です。他AWSリソースとの連携GHE単体をAWS上に置くだけでもさまざまなメリットを享受できますが、すでにAWSを利用しているユーザにとってそれらと連携できるとうれしいと思います。Peeringを利用して、既存サービスが設置されているVPCとGHEが設置されているVPCを接続すれば、プライベートIPアドレスを利用して接続することが可能です。社内NW内にいるエンジニアがGHEにpushするとCI/CDが走り、既存サービスへデプロイといった構成が簡単に構築可能です。AWSというドキュメントに丁寧にまとめられています。お使いになる際はまずこちらのドキュメントを読むことをオススメいたします。GHEを利用するにはライセンスの購入が必要ですが、45日間であれば無料で利用可能です。注意点として今回は現在(2016年10月25日)の最新バージョンである2.7の利用を前提とします。バージョンがアップデートされた場合、このエントリの情報とは異なる内容になる可能性もあるので、常に最新の情報を参照するようにしてください。ライセンスの取得GHEを利用するためにはライセンスを取得する必要があります。こちらのページから必要事項を記入の上ダウンロードします。GHEインスタンスの構築ライセンスのダウンロード画面にはGitHub社が用意してくれたCloudFormationの実行コマンドも同時に記載されています。このコマンドを実行すれば簡単にGHEインスタンスが構築可能です。デフォルトVPCが利用されるので、その点ご注意ください。セキュリティグループは「0.0.0.0/0」のフルオープンで構築されます。トライアルのために構築するものであるとご認識した方がよいです。上記画面に表示されているコマンドではキーペアが指定されていません。SSHを利用してGHEインスタンスにログインしてみたい場合は以下のようにパラメータにキーペア名を指定してください。ParameterKey=KeyName,ParameterValue=<keypair-name>GHEインスタンスを構築する上でGitHub社が公開しているシステム要件が幾つかあります。以下に現時点の情報をまとめますが、実際に構築する際は最新の情報を参照するようにしてください。公開されている情報は先程のドキュメント上に記載されています。61GB)GHEはt2系など一部のインスタンスタイプをサポートしていないのでご注意ください。80GBEBSはルート用とは別にデータ用のEBSを追加する必要があります。HTTPSを利用したGHEのマネジメントコンソールログイン。少なくとも初期構築時に利用します。HTTPを利用したGHEのマネジメントコンソールログイン。SSLが無効化されている場合に利用可能です。22番ポートはgit+ssh用途に利用されます。GHEのレプリケーション機能で利用。GHEのメトリクスをSNMP経由で取得する場合に利用。SSLが無効化されている場合にGHEのアプリケーションで利用。パブリック/プライベート両方のリポジトリで利用可能です。パブリックリポジトリのみ利用可能です。トラフィックは暗号化されません。暗号化(STARTTLS)されたSMTPで利用。GHEは上記ポートを利用するので、ご利用の際はご注意ください。HTTPではなくHTTPSのご利用をオススメします。初期設定GHEインスタンスを構築したら「https://<IPアドレス>」にアクセスしてください。以下のように8443番ポートにリダイレクトされます。この段階ではSSL証明書をまだ設置していないのでデフォルトで用意されている自己証明書が表示されます。例外に登録してそのまま進めてください。取得したライセンスをアップロードし管理者用パスワードを入力すると、新規インストールか別のGHEから移行するか選択する画面が表示されます。Install」を選択してください。続いて以下のように各種設定画面が表示されます。今回はデフォルト設定のままにして、別エントリでご紹介させていただこうと思います。Settings」を押下してください。instance」と表示され、各種設定の保存とアプリケーションの再起動がスタートします。instance」が緑色に変化し、クリック可能になるので押下してください。最後に管理者用ユーザの作成画面が表示されるのでユーザ名/メールアドレス/パスワードを入力すれば初期インストールは完了です。project」を押下すればすぐに使い始められます。まとめいかがだったでしょうか。以前私は別のクラウドサービス上にGHEをインストールしたことがあるのですが、それと比較するとかなり簡単にインストールできるなと感じました。ライセンスのところでご紹介したように45日間は無料で利用可能です。お気軽に使ってみることをオススメします。AWSの情報をご紹介しようと思います。本エントリがみなさんの参考になれば幸いです。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。和樹25こんにちは植木和樹@上越オフィスです。Terminalの機能確定版がリリースされたので試してみました。PolicyのConditionにaws:CalledViaというキーが追加されました。いったキーなのかご説明します。夏目祐樹395こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健233こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。