翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Lightsail で GitLab CE インスタンスをセットアップおよび設定する
GitLab CE インスタンスが Amazon Lightsail で起動および実行された後に開始するために実行する必要があるいくつかのステップを次に示します。
目次
ステップ 1: Bitnami のドキュメントを確認する
GitLab CE アプリケーションの設定方法については、Bitnami のドキュメントを参照してください。詳細については、 の GitLab Bitnami によってパッケージ化された CE AWS クラウド
ステップ 2: GitLab CE 管理エリアにアクセスするためのデフォルトのアプリケーションパスワードを取得する
GitLab CE ウェブサイトの管理領域にアクセスするために必要なデフォルトのアプリケーションパスワードを取得するには、以下の手順を実行します。詳細については、Amazon Lightsail」を参照してください。
-
インスタンス管理ページの接続タブで、 を使用して接続を選択しますSSH。
-
接続後に、次のコマンドを入力してアプリケーションのパスワードを取得します。
cat $HOME/bitnami_application_password
アプリケーションのデフォルトパスワードを含んだ、次の例のようなレスポンスが表示されます。
ステップ 3: インスタンスに静的 IP アドレスをアタッチする
インスタンスを最初に作成した際に割り当てられたパブリック IP アドレスは、インスタンスを停止してスタートするたびに変更されます。パブリック IP アドレスが変更されないように、静的 IP アドレスを作成してインスタンスにアタッチする必要があります。後で、インスタンスexample.com
で などの登録済みドメイン名を使用する場合、インスタンスを停止および起動するたびにドメインのDNSレコードを更新する必要はありません。1 つの静的 IP を 1 つのインスタンスにアタッチできます。
インスタンス管理ページの [ネットワーク] タブで、[静的 IP の作成] または [静的 IP のアタッチ] (インスタンスにアタッチできる静的 IP を既に作成している場合) を選択して、ページの手順に従います。詳細については、「静的 IP を作成してインスタンスにアタッチする」を参照してください。
新しい静的 IP アドレスがインスタンスに添付されたら、次の手順を実行して、アプリケーションに新しい静的 IP アドレスを認識させる必要があります。
-
インスタンスの静的 IP アドレスは書き留めておきます。このIP アドレスはインスタンス管理ページの ヘッダーセクションに表示されます。
-
インスタンス管理ページの接続タブで、 を使用して接続を選択しますSSH。
-
接続後に、次のコマンドを入力します。置換
<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 ドキュメントを読み、ウェブサイトの設定を続行する」セクションを参照してください。
-
インスタンス管理ページの [Connect] (接続) タブにあるパブリック IP アドレスを書き留めます。パブリック IP アドレスは、インスタンス管理ページのヘッダーセクションにも表示されます。
-
インスタンスのパブリック IP アドレスを参照します (例:
http://203.0.113.0
に移動します)。GitLab CE ウェブサイトのホームページが表示されます。接続がプライベートではない、セキュリティで保護されていない、またはセキュリティ上のリスクがある、などの警告がブラウザに表示されることがあります。これは、 GitLab CE インスタンスに SSL/TLS 証明書がまだ適用されていないために発生します。ブラウザウィンドウで、[Advanced] (詳細設定)、[Details] (詳細)、または [More information] (詳細情報) を選択して、使用可能なオプションを表示します。次に、プライベートまたは安全でない場合でも、ウェブサイトにアクセスすることを選択します。
-
デフォルトのユーザー名 (
root
) と、先ほど取得したデフォルトのパスワードを使用してサインインします。Gitlab CE の管理ダッシュボードが表示されます。
ステップ 5: 登録済みドメイン名のトラフィックを GitLab CE ウェブサイトにルーティングする
などの登録済みドメイン名のトラフィックを GitLab CE ウェブサイトexample.com
にルーティングするには、ドメインのドメインネームシステム (DNS) にレコードを追加します。DNS レコードは通常、ドメインを登録したレジストラで管理およびホストされます。ただし、ドメインのDNSレコードの管理を Lightsail に転送して、Lightsail コンソールを使用して管理できるようにすることをお勧めします。
Lightsail コンソールのホームページのネットワークタブで、DNSゾーン の作成 を選択し、ページの指示に従います。詳細については、「ドメインのDNSレコードを管理するDNSゾーンを作成する」を参照してください。
ドメイン名がインスタンスにトラフィックをルーティングしたら、次の手順を実行して、 GitLab CE にドメイン名を認識させる必要があります。
-
インスタンス管理ページの接続タブで、 を使用して接続を選択しますSSH。
-
接続後に、次のコマンドを入力します。置換
<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
次に、 GitLab CE ウェブサイトHTTPSの接続を有効にする SSL/TLS 証明書を生成して設定する必要があります。詳細については、このガイドの次の「ステップ 6: GitLab CE ウェブサイト用に を設定するHTTPS」セクションに進んでください。
ステップ 6: CE ウェブサイトHTTPS用に を設定する GitLab
GitLab CE ウェブサイトHTTPSで を設定するには、以下の手順を実行します。これらのステップでは、Let's Encrypt / 証明書をリクエストするためのコマンドラインツールである Lego クライアント
重要
この手順を開始する前に、トラフィックを GitLab CE インスタンスにルーティングするようにドメインが設定されていることを確認してください。そうしないと、SSL/TLS 証明書の検証プロセスが失敗します。登録済みドメイン名のトラフィックをルーティングするには、ドメインDNSの にレコードを追加します。DNS レコードは通常、ドメインを登録したレジストラで管理およびホストされます。ただし、ドメインのDNSレコードの管理を Lightsail に転送して、Lightsail コンソールを使用して管理できるようにすることをお勧めします。
Lightsail コンソールのホームページのドメインとDNSタブで、DNSゾーンの作成 を選択し、ページの手順に従ってください。詳細については、「Lightsail でドメインのDNSレコードを管理するDNSゾーンの作成」を参照してください。
-
インスタンス管理ページの接続タブで、 を使用して接続を選択しますSSH。
-
接続したら、次のコマンドを入力して、ディレクトリを一時ディレクトリ (/tmp) に変更します。
cd /tmp
-
次のコマンドを入力して、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 -
-
次のコマンドを入力して tar ファイルからファイルを抽出します。置換
X.Y.Z
ダウンロードした Lego クライアントのバージョン。tar xf lego_v
X.Y.Z
_linux_amd64.tar.gz例:
tar xf lego_v
4.7.0
_linux_amd64.tar.gz -
以下のコマンドを入力して、Lego クライアントファイルを移動させる
/opt/bitnami/letsencrypt
ディレクトリを作成します。sudo mkdir -p /opt/bitnami/letsencrypt
-
以下のコマンドを入力して、Lego クライアントファイルを作成したディレクトリに移動します。
sudo mv lego /opt/bitnami/letsencrypt/lego
-
次のコマンドを 1 つずつ入力して、インスタンスで実行されているアプリケーションサービスを停止します。
sudo service bitnami stop sudo service gitlab-runsvdir stop
-
次のコマンドを入力して、Lego クライアントを使用して Let's Encrypt SSL/TLS 証明書をリクエストします。
sudo /opt/bitnami/letsencrypt/lego --tls --email="
EmailAddress
" --domains="RootDomain
" --domains="WwwSubDomain
" --path="/opt/bitnami/letsencrypt" runコマンド内の次のサンプルテキストを独自のテキストに置き換えます。
-
— 登録通知用のメールアドレスです。EmailAddress
-
— GitLab CE ウェブサイトにトラフィックをルーティングするプライマリルートドメイン (例:RootDomain
example.com
)。 -
— GitLab CE ウェブサイトにトラフィックをルーティングするプライマリルートドメインのWwwSubDomain
www
サブドメイン (例:www.example.com
)。コマンドに
--domains
パラメータを追加して指定することで、証明書に複数のドメインを指定することができます。複数のドメインを指定すると、Lego はサブジェクト代替名 (SAN) 証明書を作成します。これにより、指定したすべてのドメインに対して有効な証明書は 1 つだけになります。リストの最初のドメインは証明書のCommonName「」として追加され、残りは証明書内のSAN拡張機能にDNSNames「」として追加されます。
例:
sudo /opt/bitnami/letsencrypt/lego --tls --email="
user@example.com
" --domains="example.com
" --domains="www.example.com
" --path="/opt/bitnami/letsencrypt" run -
-
プロンプトが表示されたら、Y と Enter を押して利用規約に同意します。
次の例に示すようなレスポンスが表示されます。
成功した場合、一連の証明書が
/opt/bitnami/letsencrypt/certificates
ディレクトリに保存されます。このセットには、サーバー証明書ファイル (例:example.com.crt
) とサーバ証明書キーファイル(例:example.com.key
) が含まれています。 -
次のコマンドを 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
-
次のコマンドを 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 -
次のコマンドを 1 つずつ入力して、移動先のディレクトリにある新しい Let's Encrypt 証明書のアクセス許可を変更します。
sudo chown root:root /etc/gitlab/ssl/server* sudo chmod 600 /etc/gitlab/ssl/server*
-
次のコマンドを入力して、CE インスタンスのアプリケーションサービスを再起動します GitLab。
sudo service bitnami start
次回、設定したドメインを使用して GitLab CE ウェブサイトを参照すると、HTTPS接続にリダイレクトされるはずです。 GitLab CE インスタンスが新しい証明書を認識するまでに最大 1 時間かかる場合があることに注意してください。 GitLab CE ウェブサイトが接続を拒否した場合は、インスタンスを停止して起動し、もう一度試してください。
ステップ 7: GitLab CE ドキュメントを読み、ウェブサイトの設定を続ける
ウェブサイトを管理およびカスタマイズする方法については、 GitLab CE ドキュメントを参照してください。詳細については、「 GitLab ドキュメント
ステップ 8: インスタンスのスナップショットを作成する
GitLab CE ウェブサイトを希望どおりに設定したら、インスタンスの定期的なスナップショットを作成してバックアップします。スナップショットを手動で作成することも、自動スナップショットを有効にして Lightsail に毎日のスナップショットを作成させることもできます。インスタンスに問題が発生した場合は、スナップショットを使用して新しい代替インスタンスを作成できます。詳細については、「スナップショット」を参照してください。
インスタンス管理ページの [スナップショット] タブで [スナップショットを作成する] を選択するか、[自動スナップショットを有効にする] を選択します。
詳細については、Amazon Lightsail での Linux または Unix インスタンスのスナップショットの作成」またはAmazon Lightsail でのインスタンスまたはディスクの自動スナップショットの有効化または無効化」を参照してください。