Skip to main content

AWS 上の Bitrise: クラウド コントローラー

概要

The Cloud Controller enables you to enjoy the benefits of a Bitrise-managed infrastructure on your AWS environment. With the Cloud Controller, you can manage your build infrastructure even without deep knowledge about AWS.

AWS オファリングのタイプ

AWS AMI には、2 つの基本的なタイプの Bitrise があります。

  • ベアメタル: ビルドは AWS マシン上で直接実行されます。これは、自分のコンピュータ上にある場合と同じように、ビルド環境が永続的であることを意味します。環境をクリーンアップしない限り、ビルドのアーティファクトまたはキャッシュ アイテムが後続のビルドに影響を与える可能性があります。

  • 仮想化/VMベース: Bitrise と同様に、すべてのビルドは独自の仮想マシンで実行され、ビルドが完了すると破棄されます。これは、Apple の仮想化フレームワーク上に構築された Bitrise 管理のマシン上で何百万ものビルドを実行してきた Bitrise の仮想化ソリューションを利用しています。仮想化ソリューションを含む当社の macOS 製品は、Apple シリコン マシンでのみ利用できます。

AMI の更新

Bitrise AMI は、プリインストールされたツールの最新バージョンで常に更新されます。ただし、AWS AMI のレビュー プロセスのため、Xcode および Android Studio の最新バージョンを AMI の形式で提供すると、Bitrise が管理するマシンよりも時間がかかります。現在利用可能なバージョンは、 AWSスタックレポート

Mac 専用ホストの AWS 料金

macOS インスタンスの場合は、専用ホストを割り当てる必要があります。オンデマンド EC2 Mac D dedicated Host の最小ホスト割り当てと請求期間は 24 時間です。詳細については、AWS の公式ドキュメントを参照してください。 Amazon EC2 専用ホストの料金

ベアメタル Linux

ベアメタル Linux AMI は、次の AWS インスタンス タイプで利用できます。

  • t2.2xlarge

  • t2.xlarge

  • c5n.metal

  • c5.xlarge

  • c5.metal

  • c5.4xlarge

  • c5.2xlarge

インスタンスの種類が異なれば、コンピューティングのニーズも異なります。さまざまなインスタンス タイプの機能と機能の詳細については、次を確認してください。 AWS の公式ドキュメント

Androidエミュレータを実行できるのは、 metal インスタンスタイプのみ。他のインスタンス タイプはエミュレータの使用をサポートしていません。

ベアメタル macOS

ベアメタル macOS AMI は、次のインスタンス タイプの Apple Silicon マシンでのみ使用できます。

  • mac2.metal

  • mac2-m2.metal

  • mac2-m2pro.metal

Android エミュレーターは、上記のすべてのインスタンス タイプでサポートされています。

仮想化された macOS

仮想化された macOS AMI は、次のインスタンス タイプの Apple Silicon マシンでのみ使用できます。

  • mac2.metal

  • mac2-m2.metal

  • mac2-m2pro.metal

仮想化は一時的なビルド環境を提供します。仮想マシンはビルドが完了するたびに破棄されます。これは、すべてのビルドが完全にクリーンな環境で実行され、以前のビルドは影響を受けないことを意味します。

ビルドごとに 1 つまたは 2 つの VM を実行するオプションがあります。ビルドのリソース集中度に応じて、2 つの VM を実行すると、ハードウェア コストが大幅に節約される可能性があります。

Androidエミュレーションなし

Apple シリコン アーキテクチャはネストされた仮想化をサポートしていないため、Android エミュレーションは利用できません。

AWS オプションを選択する場合

お客様が管理するインフラストラクチャ上で Bitrise ビルドを実行する必要がある場合、AWS EC2 インスタンスを使用するか、オンプレミス オプションを使用するかの 2 つのオプションが提供されます。

あなたまたはあなたの会社が重要なインフラストラクチャを運用するための AWS アカウントをすでに持っている場合は、AWS インスタンスを使用して Bitrise ビルドを実行することをお勧めします。 AWS インスタンスを使用すると、次のようないくつかの利点があります。

  • プラグアンドプレイ: 必要なツールがすべてプリインストールされた、Amazon Machine Image (AMI) をモバイル固有のビルド環境として提供します。特別な設定は必要ありません。EC2 インスタンスを設定するだけで済みます。

  • 環境の制御: インスタンスの起動時にネットワークとストレージの設定を構成でき (たとえば、Bitrise ビルド用に別のサブネットを構成できます)、すべてのビルド マシンが独自の AWS 環境で実行され、企業のセキュリティに従って動作するようにすることができます。ポリシー。

  • セキュリティ: コードベースは完全に制御下に残ります。

    AWS 環境から流出する情報

    特定の機能を使用することは、AWS 環境を離れることを意味します。たとえば、ビルド キャッシュの使用、ビルド アーティファクトやテスト結果の生成などです。

AWS アカウントをお持ちでない場合、他のクラウドプロバイダーを使用している場合、またはすでに独自のマシンを管理している場合は、こちらを確認することをお勧めします。 当社のオンプレミス ランナー製品

Cloud controller overview

クラウド コントローラーを使用すると、AWS 環境で Bitrise が管理するインフラストラクチャの利点を享受できます。クラウド コントローラーを使用すると、AWS に関する深い知識がなくてもビルド インフラストラクチャを管理できます。

クラウド コントローラーを使用すると、Bitrise on AWS ユーザーは EC2 インフラストラクチャを大規模に運用できるようになります。

  • 自動化は、ベア メタルと VM ベースの macOS 製品の両方をサポートし、macOS 専用ホストの予約、選択した AMI でのインスタンスの起動、Bitrise プールへの接続を完全に自動化します。

  • コントローラーの自動化により、モバイル DevOps チームの時間が節約され、特定のインスタンス数を超えて拡張できないエラーが発生しやすい手動プロセスが排除されます。

  • エージェント プール定義内のインスタンスの数を変更すると、EC2 のコストを節約できます。週末に備えてより大規模な macOS マシン プールをスケールダウンすることも、構成内の 1 つの数値を変更するのと同じくらい簡単です。

  • Bitrise によって AMI の形式で提供される新しいビルド環境へのマシンの更新はシームレスであり、モバイル開発者の邪魔をすることはありません。構成では、いつでも更新の影響を受けるマシンの割合を定義できます。

  • 各 Bitrise プール内のインスタンスを監視し、その状態と現在実行中のビルドを確認できます。

controller-diagram.png

Manual setup

We recommend using the Cloud Controller to run Bitrise builds on AWS. However, if you want full control and customization options, you can choose the manual setup.