Skip to main content

コントローラーの作成と構成

概要

Bitrise ビルドを実行するための AWS クラウド コントローラーを作成して設定するには、まず Bitrise で設定し、次に AWS でコントローラー エージェントを実行するインスタンスをセットアップする必要があります。

コントローラー管理の AWS サービスを活用するには、クラウド コントローラーを作成して接続する必要があります。プロセスには 2 つの段階があります。

  1. Bitrise でコントローラーを構成します。

  2. AWS 上でコントローラーエージェントを実行するインスタンスを設定します。

Bitriseでコントローラーを構成する

  1. Bitrise チームから AWS コントローラー機能にアクセスします。

  2. ワークスペース所有者として Bitrise ワークスペースにログインします。

    この機能にアクセスして構成できるのは、ワークスペースの所有者のみです。

  3. 開く ワークスペース設定 ワークスペースのページ。

  4. 選択する セルフホスト型インフラストラクチャ そして、 AWS 上の Bitrise タブ。

    create-controller-1.png
  5. クリック AWS とつながるダイアログボックスが表示されます。

  6. コントローラーの名前を設定し、コントローラーをエアギャップ ネットワークで使用するかどうかを指定します。

    エアギャップモードの詳細については、 コントローラのエアギャップモード

    connect-with-aws-dialog.png
  7. トークンをコピーして保存します。

    トークンを保存する

    このトークンは、作成直後にのみアクセスできます。トークンが失われた場合は、コントローラーを削除して新しいトークンを生成する新しいコントローラーを作成する必要があります。

作成が成功すると、Bitrise on AWS 画面に、Bitrise 側のコントローラーが準備され、AWS 接続を待機していることが表示されます。いずれの場合も、コントローラーとビルド マシンは Bitrise コントロール プレーンへのネットワーク呼び出しを開始するため、外部からの着信トラフィックは必要ありません。

AWS でのコントローラーインスタンスの設定

Bitrise でコントローラーの作成に成功したら、AWS に移動して、コントローラー エージェントを実行するインスタンスを作成します。

新規または既存の VPC

設定には仮想プライベートクラウド (VPC) が必要です。すべての AWS リージョンにはデフォルトの VPC が含まれていますが、必要に応じて各リージョン内に独自の VPC を作成できます。Bitrise 固有のリソースと他のリソース間で VPC を共有する場合は、既存の設定済み VPC を再利用できます。リソースを分離したい場合は、提供されているテンプレートを使用して新しい VPC を作成できます。

詳細については、 VPCに関する公式AWSドキュメント

既存のVPCでのセットアップ

新しいVPCでのセットアップ

  1. AWS アカウントにログインします。

  2. 必要なテンプレートオプションを選択すると、テンプレートへのHTTPリンクが表示されます。テンプレートの詳細については、 AWS CloudFormation テンプレート ページ。

    追加の手動設定

    エアギャップサポートには、CloudFormationでは自動化されていないAWSでの手動設定が必要です。詳細については、 AWS CloudFormation テンプレート ページ。

  3. CloudFormationに移動して選択 新しいリソースでスタックを作成する (標準)

    controller-create-stack.png
  4. スタックを作成するには テンプレートの準備ができました そして Amazon S3 URL オプション。

  5. の中に Amazon S3 URL フィールドに前の手順で収集したURLを入力してクリックします

    create-stack-template.png
  6. 次のプロンプトで、次のフィールドを指定します。

    • スタック名: ここでは任意の値を使用できます。複数のスタックがある場合にスタックを識別するのに役立ちます。

    • 最新のAMI ID: この AMI ID は、クラウド コントローラーを実行するためのベース AMI として使用されます。

    • Bitrise コントローラートークン: トークンは Bitrise のコントローラー作成の一部として生成されます。 Bitriseでコントローラーを構成する

    • Bitrise ワークスペース ID: スラグでワークスペースとプロジェクトを識別する

    • コントローラロググループクラス : クラウドコントローラはAWSで顧客がアクセスできるログを生成します。この設定は、顧客がログ分析中に使用したい機能を指定します。デフォルトは アクセス頻度が低い、低コストで限定的なログ分析機能を提供します。

    • コントローラログの保存期間(日数) : AWS が Cloud Controller ログを保存する期間を決定します。

    • コントローラー SSH キー : 以前に設定した SSH キーを 1 つ選択します。このキーを使用して、作成されたインスタンスにログインし、必要に応じて調査することができます。

    • サブネットID : 以前に構成したサブネットから、2 つの異なるアベイラビリティ ゾーンで少なくとも 2 つのサブネットを選択しますが、同じアベイラビリティ ゾーンから複数のサブネットを選択しないようにしてください。選択したサブネットは、選択した VPC に属している必要があります。サブネットには、作成されたインスタンスが Bitrise サービスと通信できるようにするルート テーブル構成が必要です。コントローラーに必要な着信通信はありません。

    • VPC CIDR ブロック : デフォルト値が提供されています。VPCのCIDRブロックと一致するCIDRブロックを選択してください。詳細については、 公式AWSドキュメント

    • VPCID : 以前に設定した VPC から選択します。

    VPC/リージョンごとにコントローラーは 1 つだけ

    1 つの VPC / 1 つのリージョンで複数のコントローラーを実行することはお勧めしません。これらのコントローラーは必要以上に多くのリソースを起動する可能性があり、コストがかかる可能性があります。

  7. その他のスタックオプションの設定はオプションです。詳細については、 AWSの公式ドキュメント

  8. 以前の設定を確認する レビュー 画面が表示されます。すべてが正しい場合は、下部にある CloudFormation 機能を確認してから、リクエストを送信します。

  9. AWS CloudFormationがコントローラーを実行するインスタンスを正常に作成したら(このプロセスには5〜7分かかる場合があります)、Bitriseのワークスペースページに戻り、インスタンスとAWS間の接続を確認します。コントローラーのステータスが 接続、接続は正常に機能します。

    controller-ready.png
  1. AWS アカウントにログインします。

  2. 必要なテンプレートオプションを選択すると、テンプレートへのHTTPリンクが表示されます。テンプレートの詳細については、 AWS CloudFormation テンプレート ページ。

    追加の手動設定

    エアギャップサポートには、CloudFormationでは自動化されていないAWSでの手動設定が必要です。詳細については、 AWS CloudFormation テンプレート ページ。

  3. CloudFormationに移動して選択 新しいリソースでスタックを作成する (標準)

    controller-create-stack.png
  4. スタックを作成するには テンプレートの準備ができました そして Amazon S3 URL オプション。

  5. の中に Amazon S3 URL フィールドに前の手順で収集したURLを入力してクリックします

    create-stack-template.png
  6. 次のプロンプトで、次のフィールドを指定します (特に指定がない限り、記載されているフィールドはすべて必須です)。

    • スタック名: ここでは任意の値を使用できます。複数のスタックがある場合にスタックを識別するのに役立ちます。

    • 最新のAMI ID: この AMI ID は、クラウド コントローラーを実行するためのベース AMI として使用されます。

    • Bitrise コントローラートークン: トークンは、Bitrise でのコントローラー作成の一部として生成されます。 Bitriseでコントローラーを構成する

    • Bitrise ワークスペース ID: スラグでワークスペースとプロジェクトを識別する

    • コントローラロググループクラス : クラウドコントローラはAWSで顧客がアクセスできるログを生成します。この設定は、顧客がログ分析中に使用したい機能を指定します。デフォルトは アクセス頻度が低い、低コストで限定的なログ分析機能を提供します。

    • コントローラログの保存期間(日数) : AWS が Cloud Controller ログを保存する期間を決定します。

    • コントローラー SSH キー : 以前に設定した SSH キーを 1 つ選択します。このキーを使用して、作成されたインスタンスにログインし、必要に応じて調査することができます。

    • 環境名: オプション。指定された値は、作成された VPC、サブネット、ルートテーブルの名前に表示されます。

    • プライベートサブネット 1 CIDR: デフォルト値が提供されます。最初のアベイラビリティーゾーンにある新しい VPC のプライベートサブネットの IP 範囲 (CIDR 表記)。値は /28 ネットマスクから /16 ネットマスクまでの範囲でなければなりません。

    • プライベートサブネット 2 CIDR: デフォルト値が提供されます。2 番目のアベイラビリティーゾーンにある新しい VPC のプライベートサブネットの IP 範囲 (CIDR 表記)。値は /28 ネットマスクから /16 ネットマスクまでの範囲でなければなりません。

    • パブリックサブネット 1 CIDR: デフォルト値が提供されます。最初のアベイラビリティーゾーンにある新しい VPC のパブリックサブネットの IP 範囲 (CIDR 表記)。値は /28 ネットマスクから /16 ネットマスクまでの範囲でなければなりません。

    • パブリックサブネット 2 CIDR: デフォルト値が提供されます。2 番目のアベイラビリティーゾーンにある新しい VPC のパブリックサブネットの IP 範囲 (CIDR 表記)。値は /28 ネットマスクから /16 ネットマスクまでの範囲でなければなりません。

    • VPC CIDR: デフォルト値が提供されます。新しい VPC のクラスレス ドメイン間ルーティング (CIDR) を選択します。

  7. その他のスタックオプションの設定はオプションです。詳細については、 AWSの公式ドキュメント

  8. 以前の設定を確認する レビュー 画面が表示されます。すべてが正しい場合は、下部にある CloudFormation 機能を確認してから、リクエストを送信します。

  9. AWS CloudFormationがコントローラーを実行するインスタンスを正常に作成したら(このプロセスには5〜7分かかる場合があります)、Bitriseのワークスペースページに戻り、インスタンスとAWS間の接続を確認します。コントローラーのステータスが 接続、接続は正常に機能します。

    controller-ready.png

CloudWatch Bitrise Agent のログ記録を有効にする

CloudWatch の設定はオプションですが、設定することをお勧めします。これにより、ビルドのトラブルシューティング機能が向上します。Bitrise は、CloudWatch 設定から Bitrise Agent ログを共有すると、問題が発生した場合に迅速なサポートを提供できます。

EC2インスタンスなどのAWSリソースがCloudWatchにログを送信できるようにするには、 AWS クラウドフォーメーション以下の設定が必要です。

  • BitriseAgent ログが作成されました: この設定を有効にすると、ログストリームのCloudWatchロググループの作成が開始され、必要なロールとインスタンスプロファイルが作成されます。 bitrise-agent-log-instance-profile

  • Bitrise エージェント ログ グループ クラス: Bitrise AgentはAWSで顧客がアクセスできるログを生成します。この設定は、顧客がログ分析中に使用したい機能を指定します。デフォルトは アクセス頻度が低い、低コストで限定的なログ分析機能を提供します。

  • Bitrise Agent は日数で保持をログに記録します (必須): AWS が Bitrise Agent ログを保存するまでの日数。

agent-logging.png