

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

# Lightsail で GitLab CE インスタンスを設定および構成する
<a name="amazon-lightsail-quick-start-guide-gitlab"></a>

**知っていましたか?**  
 Lightsail は毎日 7 つのスナップショットを保存し、インスタンスの自動スナップショットを有効にすると、最も古いスナップショットを最新のスナップショットに自動的に置き換えます。詳細については、[Lightsail「インスタンスとディスクの自動スナップショットを設定する](https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-configuring-automatic-snapshots.html)」を参照してください。

Amazon Lightsail で起動した GitLab CE インスタンスの使用を開始するステップについて説明します。

目次
+ [ステップ 1: Bitnami のドキュメントを確認する](#amazon-lightsail-read-the-bitnami-documentation-gitlab)
+ [ステップ 2: GitLab CE の管理エリアにアクセスするため、デフォルトのアプリケーションパスワードを取得する](#amazon-lightsail-get-the-default-user-password-gitlab)
+ [ステップ 3: インスタンスに静的 IP アドレスをアタッチする](#amazon-lightsail-attach-static-ip-gitlab)
+ [ステップ 4: GitLab CE ウェブサイトの管理エリアにサインインする](#amazon-lightsail-sign-in-gitlab)
+ [ステップ 5: 登録済みドメイン名へのトラフィックを GitLab CE ウェブサイトに送信する](#amazon-lightsail-map-your-domain-to-your-instance-gitlab)
+ [ステップ 6: GitLab CE ウェブサイトの HTTPS を設定する](#amazon-lightsail-https-gitlab)
+ [ステップ 7: GitLab CE のドキュメントを読み、引き続きウェブサイトの設定を続行する](#amazon-lightsail-read-documentation-gitlab)
+ [ステップ 8: インスタンスのスナップショットを作成する](#amazon-lightsail-create-a-snapshot-gitlab)

## ステップ 1: Bitnami のドキュメントを確認する
<a name="amazon-lightsail-read-the-bitnami-documentation-gitlab"></a>

GitLab CE アプリケーションの設定方法については、Bitnami ドキュメントを参照してください。詳細については、「[AWS クラウド用に Bitnami がパッケージ化した GitLab CE](https://docs.bitnami.com/aws/apps/gitlab/)」を参照してください。

## ステップ 2: GitLab CE の管理エリアにアクセスするため、デフォルトのアプリケーションパスワードを取得する
<a name="amazon-lightsail-get-the-default-user-password-gitlab"></a>

次の手順を完了して、GitLab CE ウェブサイトの管理エリアにアクセスする際に必要となるデフォルトのアプリケーションパスワードを取得します。詳細については、「[Amazon Lightsailの Bitnami インスタンス向けにアプリケーションのユーザー名とパスワードを取得する](log-in-to-your-bitnami-application-running-on-amazon-lightsail.md)」を参照してください。

1. インスタンス管理ページの [**接続**] タブで、[**SSH を使用して接続**] を選択します。  
![\[Lightsail コンソールの SSH を使用して接続する\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-connect-to-your-instance.png)

1. 接続後に、次のコマンドを入力してアプリケーションのパスワードを取得します。

   ```
   cat $HOME/bitnami_application_password
   ```

   アプリケーションのデフォルトパスワードを含んだ、次の例のようなレスポンスが表示されます。  
![\[Bitnami アプリケーションのデフォルトパスワード。\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bitnami-application-password.png)

## ステップ 3: インスタンスに静的 IP アドレスをアタッチする
<a name="amazon-lightsail-attach-static-ip-gitlab"></a>

インスタンスにアタッチしたデフォルトの動的なパブリック IP アドレスは、インスタンスを停止して開始するたびに変わります。静的 IP アドレスを作成してインスタンスにアタッチし、パブリック IP アドレスの変更を防止します。その後にドメイン名をインスタンスで使用すると、インスタンスを停止して開始するたびにドメインの DNS レコードを更新する必要がなくなります。各インスタンスには、1 つの静的 IP アドレスしか追加できません。

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

![\[Lightsail コンソールで静的 IP アドレスを添付する\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-static-ip-address.png)


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

1. インスタンスの静的 IP アドレスは書き留めておきます。このIP アドレスはインスタンス管理ページの ヘッダーセクションに表示されます。  
![\[Lightsail インスタンスのパブリックまたは静的 IP アドレス\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-public-static-ip.png)

1. インスタンス管理ページの [**Connect**] (接続) タブで、[**SSH を使用して接続**] を選択します。  
![\[SSH を使用したインスタンスへの接続\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-connect-using-ssh.png)

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

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

   例:

   ```
   sudo /opt/bitnami/configure_app_domain --domain 203.0.113.0
   ```

   次の例のようなレスポンスが表示されます。これで、インスタンス上のアプリケーションが新しい静的 IP アドレスを認識するようになります。  
![\[ドメイン設定ツールの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-configure-domain-ip-gitlab.png)

## ステップ 4: GitLab CE ウェブサイトの管理エリアにサインインする
<a name="amazon-lightsail-sign-in-gitlab"></a>

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

1. インスタンス管理ページの [**Connect**] (接続) タブにあるパブリック IP アドレスを書き留めます。パブリック IP アドレスは、インスタンス管理ページのヘッダーセクションにも表示されます。  
![\[インスタンスのパブリック IP アドレス\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-public-ip.png)

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

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

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

   Gitlab CE の管理ダッシュボードが表示されます。  
![\[Gitlab CE の管理ダッシュボード\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-gitlab-dashboard.png)

## ステップ 5: 登録済みドメイン名へのトラフィックを GitLab CE ウェブサイトに送信する
<a name="amazon-lightsail-map-your-domain-to-your-instance-gitlab"></a>

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

Lightsail コンソールのホームページの [**ネットワーク**] タブで、[**DNS ゾーンの作成**] を選択し、ページに記載される手順に従います。詳細については、「[DNS ゾーンを作成してドメインの DNS レコードを管理する](lightsail-how-to-create-dns-entry.md)」を参照してください。

![\[Lightsail コンソールで DNS ゾーンを作成する\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-create-dns-zone.png)


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

1. インスタンス管理ページの [**Connect**] (接続) タブで、[**SSH を使用して接続**] を選択します。  
![\[SSH を使用したインスタンスへの接続\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-connect-using-ssh.png)

1. 接続後に、次のコマンドを入力します。*<DomainName>* は、インスタンスにトラフィックをルーティングするドメイン名に置き換えてください。

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

   **例**:

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

   次の例のようなレスポンスが表示されます。これで、GitLab CE インスタンスがドメイン名を認識するようになります。  
![\[ドメイン設定ツールの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-configure-domain-example-gitlab.png)
**注記**  
このコマンドが失敗した場合、古いバージョンの 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 を設定する](#amazon-lightsail-https-gitlab)」のセクションを参照してください。

## ステップ 6: GitLab CE ウェブサイトの HTTPS を設定する
<a name="amazon-lightsail-https-gitlab"></a>

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

**重要**  
この手順を開始する前に、GitLab CE インスタンスにトラフィックがルーティングされるようにドメインが設定済みであることを確認してください。設定されていない場合、SSL/TLS 証明書の検証プロセスが失敗します。登録したドメイン名のトラフィックをルーティングするために、ドメインの DNS にレコードを追加します。DNS レコードは、通常、ドメインの登録先であるレジストラが管理またはホストします。ただし、ドメインの DNS レコードの管理を Lightsail に引き渡して、Lightsail コンソールで管理できるようにすることをお勧めします。  
Lightsail コンソールのホームページの **[Domains & DNS]** (ドメインと DNS) タブで、**[Create DNS zone]** (DNS ゾーンの作成) を選択し、ページに記載される手順に従います。詳細については、「[Lightsail で DNS ゾーンを作成し、ドメインの DNS レコードを管理する](lightsail-how-to-create-dns-entry.md)」を参照してください。

1. インスタンス管理ページの [**接続**] タブで、[**SSH を使用して接続**] を選択します。  
![\[Lightsail コンソールの SSH を使用して接続する\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-connect-to-your-instance.png)

1. 接続したら、次のコマンドを入力して、ディレクトリを一時ディレクトリ (/tmp) に変更します。

   ```
   cd /tmp
   ```

1. 次のコマンドを入力して、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 -
   ```

1. 次のコマンドを入力して 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
   ```

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

   ```
   sudo mkdir -p /opt/bitnami/letsencrypt
   ```

1. 以下のコマンドを入力して、Lego クライアントファイルを作成したディレクトリに移動します。

   ```
   sudo mv lego /opt/bitnami/letsencrypt/lego
   ```

1. インスタンスで実行されているアプリケーションサービスを停止するには、次のコマンドを入力します。

   ```
   sudo service bitnami stop && \
   sudo service gitlab-runsvdir stop
   ```

1. 次のコマンドを入力して、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
   ```

1. プロンプトが表示されたら、**Y** と **Enter** を押して利用規約に同意します。

   次の例に示すようなレスポンスが表示されます。  
![\[証明書リクエストに対する Lego クライアントからの成功したレスポンス\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-configure-domain-cert-response-gitlab.png)

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

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

   ```
   sudo mv /etc/gitlab/ssl/tls.crt /etc/gitlab/ssl/tls.crt.old && \
   sudo mv /etc/gitlab/ssl/tls.key /etc/gitlab/ssl/tls.key.old
   ```

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

   ```
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.key /etc/gitlab/ssl/tls.key && \
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.crt /etc/gitlab/ssl/tls.crt
   ```

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

   **例**:

   ```
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.key /etc/gitlab/ssl/tls.key && \
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.crt /etc/gitlab/ssl/tls.crt
   ```

1. 次のコマンドを入力して、移動先のディレクトリにある新しい Let's Encrypt 証明書のアクセス許可を変更します。

   ```
   sudo chown root:root /etc/gitlab/ssl/tls* && \
   sudo chmod 600 /etc/gitlab/ssl/tls*
   ```

1. 次のコマンドを入力して、GitLab CE インスタンス上のアプリケーションサービスを再起動します。

   ```
   sudo service bitnami start && \
   sudo service gitlab-runsvdir start
   ```

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

## ステップ 7: GitLab CE のドキュメントを読み、引き続きウェブサイトの設定を続行する
<a name="amazon-lightsail-read-documentation-gitlab"></a>

GitLab CE のドキュメントを読み、ウェブサイトを管理およびカスタマイズする方法を確認します。詳細については、「[GitLab ドキュメント](https://docs.gitlab.com/ee/index.html)」を参照してください。

## ステップ 8: インスタンスのスナップショットを作成する
<a name="amazon-lightsail-create-a-snapshot-gitlab"></a>

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

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

![\[Lightsail コンソールでインスタンススナップショットを作成する\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/quick-start-instance-snapshots.png)


詳細については、「[Amazon Lightsail で Linux または Unix インスタンスのスナップショットを作成](lightsail-how-to-create-a-snapshot-of-your-instance.md)」および「[Amazon Lightsail のインスタンスまたはディスクの自動スナップショットの有効化と無効化](amazon-lightsail-configuring-automatic-snapshots.md)」を参照してください。