翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の Amazon Elastic File System のサンプル AWS CodeBuild
Amazon EC2インスタンス用のスケーラブルな共有ファイルサービスである Amazon Elastic File System 上に AWS CodeBuild ビルドを作成することもできます。Amazon のストレージ容量EFSは伸縮自在であるため、ファイルの追加や削除に伴って拡張または縮小されます。また、ファイルシステムを作成、設定するために使用できるシンプルなウェブサービスインターフェイスを提供します。さらに、ファイルストレージインフラストラクチャも自動的に管理されるため、ファイルシステム設定のデプロイ、パッチ適用、保守について心配する必要がありません。詳細については、Amazon Elastic File System ユーザーガイドの「Amazon Elastic File System とは」を参照してください。
このサンプルでは、 CodeBuild プロジェクトをマウントして Amazon EFS ファイルシステムに Java アプリケーションをビルドするように設定する方法を示します。開始する前に、S3 入力バケット、、 GitHub エンタープライズサーバー AWS CodeCommit GitHub、または Bitbucket リポジトリにアップロードされる Java アプリケーションを構築できる状態になっている必要があります。
ファイルシステムの転送中のデータは暗号化されます。別のイメージを使用して転送中のデータを暗号化するには、「転送中のデータの暗号化」を参照してください。
Amazon Elastic File System AWS CodeBuild で を使用する
このサンプルでは、 EFSで Amazon を使用するために必要な 4 つの大まかな手順について説明します AWS CodeBuild。具体的には次の 2 つです。
-
AWS アカウントに仮想プライベートクラウド (VPC) を作成します。
-
この を使用するファイルシステムを作成しますVPC。
-
を使用する CodeBuild プロジェクトを作成して構築しますVPC。 CodeBuild プロジェクトでは、以下を使用してファイルシステムを識別します。
-
一意のファイルシステム識別子。ビルドプロジェクトでファイルシステムを指定するときに識別子を選択します。
-
ファイルシステム ID。ID は、Amazon EFSコンソールでファイルシステムを表示すると表示されます。
-
マウントポイント。ファイルシステムをマウントする Docker コンテナ内のディレクトリです。
-
マウントオプション。ファイルシステムのマウント方法に関する詳細が含まれます。
-
-
ビルドプロジェクトを確認して、正しいプロジェクトファイルと変数が生成されていることを確認します。
注記
Amazon で作成されたファイルシステムはEFS、Linux プラットフォームでのみサポートされています。
トピック
ステップ 1: VPCを使用して を作成する AWS CloudFormation
AWS CloudFormation テンプレートVPCを使用して を作成します。
-
の手順に従ってAWS CloudFormation VPC テンプレート、 AWS CloudFormation を使用して を作成しますVPC。
注記
この AWS CloudFormation テンプレートによってVPC作成された には、2 つのプライベートサブネットと 2 つのパブリックサブネットがあります。プライベートサブネットは、 AWS CodeBuild を使用して Amazon で作成したファイルシステムをマウントする場合にのみ使用する必要がありますEFS。いずれかのパブリックサブネットを使用する場合、ビルドに失敗します。
にサインイン AWS Management Console し、 で Amazon VPCコンソールを開きますhttps://console.aws.amazon.com/vpc/
。 -
でVPC作成した を選択します AWS CloudFormation。
-
説明タブで、 の名前VPCとその ID を書き留めます。どちらも、このサンプルの後半で AWS CodeBuild プロジェクトを作成するときに必要になります。
ステップ 2: を使用して Amazon Elastic File System ファイルシステムを作成する VPC
前にVPC作成した を使用して、このサンプル用のシンプルな Amazon EFS ファイルシステムを作成します。
にサインイン AWS Management Console し、 で Amazon https://console.aws.amazon.com/efs/
EFSコンソールを開きます。 -
ファイルシステムを作成する を選択します。
-
からVPC、このサンプルで前に書き留めたVPC名前を選択します。
-
サブネットに関連付けられているアベイラビリティーゾーンの選択したままにしておきます。
-
[Next Step] (次のステップ) をクリックします。
-
タグの追加 で、デフォルトの名前キー で、値 で、Amazon EFS ファイルシステムの名前を入力します。
-
デフォルトのパフォーマンスモードおよびスループットモードとして [General Purpose (汎用)] および [Bursting (バースト)] を選択したまま [Next Step (次のステップ)] を選択します。
-
[Configure client access (クライアントアクセスの設定)] で、[Next Step (次のステップ)] を選択します。
-
[Create File System (ファイルシステムの作成)] を選択します。
-
(オプション) 転送中のデータの暗号化を強制するポリシーを Amazon EFS ファイルシステムに追加することをお勧めします。Amazon EFSコンソールで、ファイルシステムポリシー を選択し、編集 を選択し、すべてのクライアントに対して転送中の暗号化を強制 というラベルが付いたボックスを選択し、保存 を選択します。
ステップ 3: Amazon で使用する CodeBuild プロジェクトを作成する EFS
このサンプルで先ほどVPC作成した を使用する AWS CodeBuild プロジェクトを作成します。ビルドを実行すると、前に作成した Amazon EFS ファイルシステムがマウントされます。次に、Java アプリケーションによって作成された .jar ファイルがファイルシステムのマウントポイントディレクトリに保存されます。
https://console.aws.amazon.com/codesuite/codebuild/home
で AWS CodeBuild コンソールを開きます。 -
ナビゲーションペインで [ビルドプロジェクト] を選択し、次に [ビルドプロジェクトの作成] を選択します。
-
[Project name (プロジェクト名)] にプロジェクトの名前を入力します。
-
[ソースプロバイダー] で、構築する Java アプリケーションが含まれているリポジトリを選択します。
-
URLがアプリケーションを見つけるために CodeBuild 使用するリポジトリ などの情報を入力します。オプションはソースプロバイダーごとに異なります。詳細については、「Choose source provider」を参照してください。
-
[環境イメージ] で、[Managed image (マネージド型イメージ)] を選択します。
-
[オペレーティングシステム] で、[Amazon Linux 2] を選択します。
-
[ランタイム] で、[Standard (標準)] を選択します。
-
[イメージ] で、[aws/codebuild/amazonlinux2-x86_64-standard:4.0] を選択します。
-
[環境タイプ] で、[Linux] を選択します。
-
[Service role (サービスロール)] で、[New service role (新しいサービスロール)] を選択します。ロール名 に、ロールが CodeBuild 作成する名前を入力します。
-
追加設定] を展開します。
-
[Enable this flag if you want to build Docker images or want your builds to get elevated privileges (Docker イメージを構築する場合、またはビルドで昇格された権限を取得する場合は、このフラグを有効にする)] を選択します。
注記
デフォルトでは、Docker デーモンは VPC以外のビルドで有効になっています。VPC ビルドに Docker コンテナを使用する場合は、Docker Docs ウェブサイトの「ランタイム権限と Linux 機能
」を参照して、特権モードを有効にします。また、Windows は特権モードをサポートしていません。 -
から VPC ID VPCを選択します。
-
サブネット から、 に関連付けられているプライベートサブネットを 1 つ以上選択しますVPC。Amazon EFS ファイルシステムをマウントするビルドでは、プライベートサブネットを使用する必要があります。パブリックサブネットを使用している場合、ビルドに失敗します。
-
[Security groups (セキュリティグループ)] で、デフォルトのセキュリティグループを選択します。
-
[ファイルシステム] で、以下の情報を入力します。
-
[識別子] に、一意のファイルシステム識別子を入力します。識別子の長さは 129 文字未満である必要があります。英数字とアンダースコアのみを使用できます。 CodeBuild は、この識別子を使用して、エラスティックファイルシステムを識別する環境変数を作成します。環境変数の形式は大文字の
CODEBUILD_
です。たとえば、<file_system_identifier>
my_efs
と入力すると、環境変数はCODEBUILD_MY_EFS
になります。 -
[ID] で、ファイルシステム ID を選択します。
-
(オプション) ファイル system. CodeBuild mounts このディレクトリにディレクトリを入力します。ディレクトリパスを空白のままにすると、 CodeBuild はファイルシステム全体をマウントします。パスはファイルシステムのルートからの相対です。
-
[マウントポイント] に、ファイルシステムをマウントするディレクトリの絶対パスを入力します。このディレクトリが存在しない場合、 はビルド中にディレクトリ CodeBuild を作成します。
-
(オプション) マウントオプションを入力します。マウントオプションを空白のままにすると、 はデフォルトのマウントオプション CodeBuild を使用します。
nfsvers=4.1 rsize=1048576 wsize=1048576 hard timeo=600 retrans=2
詳細については、「Amazon Elastic File System ユーザーガイド」の「推奨NFSマウントオプション」を参照してください。 Amazon Elastic File System
-
-
[ビルド仕様] で、[ビルドコマンドの挿入]、[Switch to editor (エディタに切り替え)] の順に選択します。
-
エディタに次のビルド仕様コマンドを入力します。
をステップ 17 で入力した識別子に置き換えます。大文字を使用します (<file_system_identifier>
CODEBUILD_MY_EFS
など)。version: 0.2 phases: install: runtime-versions: java: corretto11 build: commands: - mvn compile -Dgpg.skip=true -Dmaven.repo.local=$CODEBUILD_
<file_system_identifier>
-
他のすべての設定にはデフォルト値を使用し、[Create build project (ビルドプロジェクトの作成)] を選択します。ビルドが完了すると、プロジェクトのコンソールページが表示されます。
-
[Start build] を選択します。
ステップ 4: ビルドプロジェクトを確認する
AWS CodeBuild プロジェクトの構築後:
-
Java アプリケーションによって作成された .jar ファイルがあり、マウントポイントディレクトリの Amazon EFS ファイルシステムに構築されます。
-
ファイルシステムを識別する環境変数は、プロジェクトの作成時に入力したファイルシステム識別子を使用して作成されます。
詳細については、Amazon Elastic File System ユーザーガイドの「ファイルシステムのマウント」を参照してください。