クイックスタートガイド: GitLab CE - Amazon Lightsail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クイックスタートガイド: GitLab CE

GitLab CE インスタンスが Amazon Lightsail で起動して実行されたら、開始するためのいくつかのステップを以下に示します。

目次

ステップ 1: Bitnami のドキュメントを確認する

GitLab CE アプリケーションの設定方法については、Bitnami のドキュメントを参照してください。詳細については、「 用に GitLab Bitnami によってパッケージ化された CEAWS クラウド」を参照してください。

ステップ 2: GitLab CE 管理領域にアクセスするためのデフォルトのアプリケーションパスワードを取得する

GitLab CE ウェブサイトの管理エリアにアクセスするために必要なデフォルトのアプリケーションパスワードを取得するには、以下の手順を実行します。詳細については、「Amazon Lightsail での Bitnami インスタンスのアプリケーションユーザー名とパスワードの取得」を参照してください。

重要

Lightsail ブラウザベースの SSH/RDP クライアントは、IPv4 トラフィックのみを受け入れます。サードパーティーのクライアントを使用して、IPv6 経由でインスタンスに SSH または RDP 接続します。詳細については、「インスタンスに接続します」を参照してください。

  1. インスタンス管理ページの [接続] タブで、[SSH を使用して接続] を選択します。

    
                        Lightsail コンソールで SSH を使用して接続する
  2. 接続後に、次のコマンドを入力してアプリケーションのパスワードを取得します。

    cat $HOME/bitnami_application_password

    アプリケーションのデフォルトパスワードを含んだ、次の例のようなレスポンスが表示されます。

    
                        Bitnami アプリケーションのデフォルトパスワード。

ステップ 3: インスタンスに静的 IP アドレスをアタッチする

インスタンスを最初に作成した際に割り当てられたパブリック IP アドレスは、インスタンスを停止してスタートするたびに変更されます。パブリック IP アドレスが変更されないように、静的 IP アドレスを作成してインスタンスにアタッチする必要があります。それ以降、example.com などの登録したドメイン名をインスタンスで使用する際、毎回インスタンスを停止してスタートするたびにドメインの DNS レコードを更新する必要がなくなります。1 つの静的 IP を 1 つのインスタンスにアタッチできます。

インスタンス管理ページの [ネットワーク] タブで、[静的 IP の作成] または [静的 IP のアタッチ] (インスタンスにアタッチできる静的 IP を既に作成している場合) を選択して、ページの手順に従います。詳細については、「静的 IP を作成してインスタンスにアタッチする」を参照してください。


                Lightsail コンソールに静的 IP アドレスをアタッチする

新しい静的 IP アドレスがインスタンスに添付されたら、次の手順を実行して、アプリケーションに新しい静的 IP アドレスを認識させる必要があります。

  1. インスタンスの静的 IP アドレスは書き留めておきます。このIP アドレスはインスタンス管理ページの ヘッダーセクションに表示されます。

    
                        Lightsail インスタンスのパブリックまたは静的 IP アドレス
  2. インスタンス管理ページの [Connect] (接続) タブで、[SSH を使用して接続] を選択します。

    
                        SSH を使用したインスタンスへの接続
  3. 接続後に、次のコマンドを入力します。<StaticIP> をインスタンスの新しい静的 IP アドレスに置き換えます。

    sudo /opt/bitnami/configure_app_domain --domain <StaticIP>

    例:

    sudo /opt/bitnami/configure_app_domain --domain 203.0.113.0

    次の例のようなレスポンスが表示されます。これで、インスタンス上のアプリケーションが新しい静的 IP アドレスを認識するようになります。

    
                        ドメイン設定ツールの結果

ステップ 4: GitLab CE ウェブサイトの管理エリアにサインインする

デフォルトのユーザーパスワードを取得したら、 GitLab CE ウェブサイトのホームページに移動し、管理エリアにサインインします。サインイン後に、ウェブサイトをカスタマイズしたり管理上の変更を行うことができます。 GitLab CE でできることの詳細については、このガイドの後半にある「ステップ 7: GitLab CE ドキュメントを読み、引き続きウェブサイトの設定を続行する」セクションを参照してください。

  1. インスタンス管理ページの [Connect] (接続) タブにあるパブリック IP アドレスを書き留めます。パブリック IP アドレスは、インスタンス管理ページのヘッダーセクションにも表示されます。

    
                        インスタンスのパブリック IP アドレス
  2. インスタンスのパブリック IP アドレスを参照します (例: http://203.0.113.0 に移動します)。

    GitLab CE ウェブサイトのホームページが表示されます。接続がプライベートではない、セキュリティで保護されていない、またはセキュリティ上のリスクがある、などの警告がブラウザに表示されることがあります。これは、 GitLab CE インスタンスに SSL/TLS 証明書がまだ適用されていないために発生します。ブラウザウィンドウで、[Advanced] (詳細設定)、[Details] (詳細)、または [More information] (詳細情報) を選択して、使用可能なオプションを表示します。次に、プライベートまたは安全でない場合でも、ウェブサイトにアクセスすることを選択します。

  3. デフォルトのユーザー名 (root) と、先ほど取得したデフォルトのパスワードを使用してサインインします。

    Gitlab CE の管理ダッシュボードが表示されます。

    
                        Gitlab CE の管理ダッシュボード

ステップ 5: 登録済みドメイン名へのトラフィックを GitLab CE ウェブサイトに送信する

などの登録済みドメイン名のトラフィックを GitLab CE ウェブサイトexample.comに送信するには、ドメインのドメインネームシステム (DNS) にレコードを追加します。DNS レコードは、通常、ドメインの登録先であるレジストラが管理またはホストします。ただし、Lightsail コンソールを使用して管理できるように、ドメインの DNS レコードの管理を Lightsail に転送することをお勧めします。

Lightsail コンソールのホームページのネットワークタブで、DNS ゾーンの作成 を選択し、ページの手順に従います。詳細については、「DNS ゾーンを作成してドメインの DNS レコードを管理する」を参照してください。


                Lightsail コンソールで DNS ゾーンを作成する

ドメイン名へのトラフィックがインスタンスにルーティングされたら、次の手順を実行して、 GitLab CE にドメイン名を認識させる必要があります。

  1. インスタンス管理ページの [Connect] (接続) タブで、[SSH を使用して接続] を選択します。

    
                        SSH を使用したインスタンスへの接続
  2. 接続後に、次のコマンドを入力します。<DomainName> を、インスタンスにトラフィックをルーティングするドメイン名に置き換えます。

    sudo /opt/bitnami/configure_app_domain --domain <DomainName>

    例:

    sudo /opt/bitnami/configure_app_domain --domain example.com

    次の例のようなレスポンスが表示されます。これで、 GitLab CE インスタンスがドメイン名を認識するようになります。

    
                        ドメイン設定ツールの結果

    このコマンドが失敗した場合、古いバージョンの GitLab CE インスタンスを使用している可能性があります。代わりに次のコマンドを実行してみてください。<DomainName> を、インスタンスにトラフィックをルーティングしているドメイン名に置き換えます。

    cd /opt/bitnami/apps/gitlab sudo ./bnconfig --machine_hostname <DomainName>

    コマンドの実行が終了したら次のコマンドを入力し、サーバーが再起動するたびに bnconfig ツールが自動的に実行されないようにします。

    sudo mv bnconfig bnconfig.disabled

次に、SSL/TLS 証明書を生成して設定し、 GitLab CE ウェブサイトの HTTPS 接続を有効にする必要があります。詳細については、このガイドの次の「ステップ 6: GitLab CE ウェブサイトの HTTPS を設定する」のセクションに進んでください。

ステップ 6: CE ウェブサイトの GitLab HTTPS を設定する

GitLab CE ウェブサイトで HTTPS を設定するには、以下の手順を実行します。次の手順では、Lego クライアント の使い方を説明しています。これは、Let's Encrypt SSL/TLS 証明書を要求するコマンドラインツールです。

重要

この手順を開始する前に、トラフィックが GitLab CE インスタンスにルーティングされるようにドメインが設定されていることを確認してください。設定されていない場合、SSL/TLS 証明書の検証プロセスが失敗します。登録したドメイン名のトラフィックをルーティングするために、ドメインの DNS にレコードを追加します。DNS レコードは、通常、ドメインの登録先であるレジストラが管理またはホストします。ただし、Lightsail コンソールを使用して管理できるように、ドメインの DNS レコードの管理を Lightsail に転送することをお勧めします。

Lightsail コンソールのホームページの「ドメインと DNS」タブで「DNS ゾーンの作成」を選択し、ページの手順に従います。詳細については、「Lightsail でドメインの DNS レコードを管理する DNS ゾーンの作成」を参照してください。

  1. インスタンス管理ページの [接続] タブで、[SSH を使用して接続] を選択します。

    
                        Lightsail コンソールで SSH を使用して接続する
  2. 接続したら、次のコマンドを入力して、ディレクトリを一時ディレクトリ (/tmp) に変更します。

    cd /tmp
  3. 次のコマンドを入力して、Lego クライアントの最新バージョンをダウンロードします。このコマンドは、テープアーカイブ (tar) ファイルをダウンロードします。

    curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
  4. 次のコマンドを入力して tar ファイルからファイルを抽出します。X.Y.Z をダウンロードした Lego クライアントのバージョンに置き換えます。

    tar xf lego_vX.Y.Z_linux_amd64.tar.gz

    例:

    tar xf lego_v4.7.0_linux_amd64.tar.gz
  5. 以下のコマンドを入力して、Lego クライアントファイルを移動させる /opt/bitnami/letsencrypt ディレクトリを作成します。

    sudo mkdir -p /opt/bitnami/letsencrypt
  6. 以下のコマンドを入力して、Lego クライアントファイルを作成したディレクトリに移動します。

    sudo mv lego /opt/bitnami/letsencrypt/lego
  7. 次のコマンドを 1 つずつ入力して、インスタンスで実行されているアプリケーションサービスを停止します。

    sudo service bitnami stop sudo service gitlab-runsvdir stop
  8. 次のコマンドを入力して、Lego クライアントを使って Let's Encrypt SSL/TLS 証明書を要求します。

    sudo /opt/bitnami/letsencrypt/lego --tls --email="EmailAddress" --domains="RootDomain" --domains="WwwSubDomain" --path="/opt/bitnami/letsencrypt" run

    コマンド内の次のサンプルテキストを独自のテキストに置き換えます。

    • EmailAddress — 登録通知用のメールアドレスです。

    • RootDomain — GitLab CE ウェブサイトにトラフィックをルーティングするプライマリルートドメイン (例: example.com)。

    • WwwSubDomain — GitLab CE ウェブサイトにトラフィックをルーティングするプライマリルートドメインのwwwサブドメイン (例: www.example.com)。

      コマンドに --domains パラメータを追加して指定することで、証明書に複数のドメインを指定することができます。複数のドメインを指定すると、Lego はサブジェクト別名 (SAN) 証明書を作成します。これにより、指定したすべてのドメインに対する有効な証明書が 1 つのみになります。リストの最初のドメインは証明書のCommonName「」として追加され、残りは「DNSNames」として証明書内の SAN 拡張に追加されます。

    例:

    sudo /opt/bitnami/letsencrypt/lego --tls --email="user@example.com" --domains="example.com" --domains="www.example.com" --path="/opt/bitnami/letsencrypt" run
  9. プロンプトが表示されたら、YEnter を押して利用規約に同意します。

    次の例に示すようなレスポンスが表示されます。

    
                        証明書リクエストに対する Lego クライアントからの成功したレスポンス

    成功した場合、一連の証明書が /opt/bitnami/letsencrypt/certificates ディレクトリに保存されます。このセットには、サーバー証明書ファイル (例: example.com.crt) とサーバ証明書キーファイル(例: example.com.key) が含まれています。

  10. 次のコマンドを 1 つずつ入力して、インスタンス上の既存の証明書の名前を変更します。後で、これらの既存の証明書は新しい Let's Encrypt 証明書に置き換えます。

    sudo mv /etc/gitlab/ssl/server.crt /etc/gitlab/ssl/server.crt.old sudo mv /etc/gitlab/ssl/server.key /etc/gitlab/ssl/server.key.old sudo mv /etc/gitlab/ssl/server.csr /etc/gitlab/ssl/server.csr.old
  11. 次のコマンドを 1 つずつ入力して、 GitLab CE インスタンスのデフォルトの証明書ディレクトリである /etc/gitlab/ssl ディレクトリに新しい Let's Encript 証明書のシンボリックリンクを作成します。

    sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.crt /etc/gitlab/ssl/server.crt

    コマンド内の Domain を Let's Encrypt 証明書を要求するときに指定したプライマリルートドメインに置き換えます。

    例:

    sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.crt /etc/gitlab/ssl/server.crt
  12. 次のコマンドを 1 つずつ入力して、移動先のディレクトリにある新しい Let's Encrypt 証明書のアクセス許可を変更します。

    sudo chown root:root /etc/gitlab/ssl/server* sudo chmod 600 /etc/gitlab/ssl/server*
  13. 次のコマンドを入力して、CE インスタンス上のアプリケーションサービスを再起動します GitLab。

    sudo service bitnami start

次回、設定したドメインを使用して GitLab CE ウェブサイトを参照すると、HTTPS 接続にリダイレクトされます。 GitLab CE インスタンスが新しい証明書を認識するまでに最大 1 時間かかる場合があることに注意してください。 GitLab CE ウェブサイトが接続を拒否した場合は、インスタンスを停止して起動し、もう一度試してください。

ステップ 7: GitLab CE ドキュメントを読み、引き続きウェブサイトを設定する

ウェブサイトを管理およびカスタマイズする方法については、 GitLab CE ドキュメントを参照してください。詳細については、「 GitLab ドキュメント」を参照してください。

ステップ 8: インスタンスのスナップショットを作成する

GitLab CE ウェブサイトを希望どおりに設定したら、インスタンスの定期的なスナップショットを作成してバックアップします。スナップショットを手動で作成することも、自動スナップショットを有効にして Lightsail に毎日のスナップショットを作成させることもできます。インスタンスに問題が発生した場合は、スナップショットを使用して新しい代替インスタンスを作成できます。詳細については、「スナップショット」を参照してください。

インスタンス管理ページの [スナップショット] タブで [スナップショットを作成する] を選択するか、[自動スナップショットを有効にする] を選択します。


                Lightsail コンソールでインスタンススナップショットを作成する

詳細については、「Amazon Lightsail での Linux または Unix インスタンスのスナップショットの作成」または「Amazon Lightsail でのインスタンスまたはディスクの自動スナップショットの有効化または無効化」を参照してください。