プラットフォームフックを使用して Elastic Beanstalk 環境をカスタマイズする方法を教えてください。

所要時間1分
0

プラットフォームフックを使用してカスタムスクリプトやその他の実行ファイルを作成し、AWS Elastic Beanstalk 環境をカスタマイズしたいと考えています。これらのファイルを、環境内で稼働する Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにデプロイしたいです。

解決策

注: プラットフォームフックは、Amazon Linux 2 より前の Amazon マシンイメージ (AMI) プラットフォームバージョンではサポートされていません。Elastic Beanstalk は、Amazon AL2023 と Amazon Linux 2 用のすべてのプラットフォームフックスクリプトに実行アクセス許可を自動的に付与します。

.platform ディレクトリのセットアップ

次の手順を実行します。

  1. アプリケーションバンドルのルートに、アプリケーションデプロイプラットフォームフックの場合は .platform/hooks構成デプロイプラットフォームフックの場合は .platform/confighooks という名前の隠しディレクトリを作成します。
  2. プラットフォームフックファイルを実行するインスタンスのプロビジョニング段階に基づいて、フックファイルをサブディレクトリ prebuildpredeploypostdeploy のいずれかに配置する必要があります。
    各サブディレクトリの詳細については、「アプリケーションデプロイプラットフォームフック」を参照してください。
  3. アプリケーションソースバンドルは、次のバンドルのようにする必要があります。
    ~/workspace/my-application/|-- .platform
        |--hooks
           |--prebuild
              |-- custom-prebuild-script.sh
           |--predeploy
              |-- custom-predeploy-script.sh
           |--postdeploy
              |-- custom-postdeploy-script.sh
    |-- .ebextensions
    |-- index.php
             `-- styles.css

フックファイルを指定する

フックファイルには、バイナリファイルまたは、#! 行で始まり、インタプリタパス (#!/bin/bash など) を含むスクリプトファイルを使用できます。

custom-postdeploy-script.sh スクリプトファイルの内容例:

#!/bin/bash
sudo su
cd /var/app/current
echo "Hello from AWS hook" >> 'test.txt'

詳細については、「.ebextensions を使用して Elastic Beanstalk 環境をカスタマイズする方法を教えてください」を参照してください。

プラットフォームフックをアプリケーションに適用する

次の手順を実行します。

  1. 上記のプラットフォームフックと設定ファイルを含むアプリケーションソースバンドルを作成します。
    注: ファイルブラウザでは、.platform.ebextensions などの、ピリオドで始まるフォルダが非表示になる場合があります。そのようなフォルダを表示させるには、アプリケーションソースバンドルの作成時に、アプリケーションバンドルのルートにフォルダを含めます。
  2. 更新した Elastic Beanstalk アプリケーションをデプロイします
AWS公式
AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ