6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Elastic Beanstalkの.platform/hooksと.platform/confighooksの違い

Posted at

Elastic Beanstalk(以下EB)のプラットフォームフックとして.platform/hooks.platform/confighooksが用意されています。ドキュメントサンプルなどでは、両ディレクトリに同じスクリプトファイルを設置しており違いがよくわからなかったため、両者の違いについての学んだことを残しておきます

プラットフォームフックとは?

  • EBプラットフォームを拡張するために特別に設計された機能
    • プラットフォーム:オペレーティングシステム (OS)、ランタイム、ウェブサーバーなど
  • アプリケーションのソースコードに設置することによって、カスタムスクリプトをインスタンスプロビジョニングのあらゆるタイミングで実行できる
    • カスタムスクリプト(フックファイル) : バイナリファイルなど#!で始まるスクリプトファイル (#!/bin/bash など)
  • 設置したサブディレクトリによって実行するタイミングを指定できる
  • Amazon Linux 2 より前のバージョンでは使用できない

.platform/hooks.platform/confighooksの違いは?

▼簡潔に言うと
.platform/hooksはアプリケーションデプロイ時、.platform/confighooksは設定変更時

.platform/hooks : アプリケーションのデプロイプラットフォームフック

eb deployなどインスタンスの終了や再起動が必要な場合に発生する

.platform/confighooks : 設定デプロイプラットフォームフック

AWS CLIやEBコンソールから設定を変更した時など、インスタンスの再作成せずに更新だけする設定変更を行った場合に発生する

おまけ

両ディレクトリで同じスクリプトを使用したい場合はシンボリックリンクを貼る

.platform/hooksと.platform/confighooksで同じスクリプトを使用したい場合はシンボリックリンクを貼っても動作する

cd .platform/hooks/predeploy
ln -s /.platform/confighooks/predeploy/01_extension.sh 01_extension.sh

設定を更新したときのローリング設定

アプリケーションデプロイと同じように設定デプロイ時にもローリングを設定できる。何も設定しないで設定を更新するとアプリケーションサーバーの再起動などでダウンタイムが発生する可能性があるので、忘れずに設定を行う

▼設定方法
EBコンソールで対象の環境へ行き、ナビゲーションペインから設定 > ローリング更新とデプロイを選択。設定の更新セクションにてローリングデプロイ設定をする

参考

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?