LoginSignup
1
0

More than 3 years have passed since last update.

AMI作成時に直前のファイル操作が反映されていない場合の対応

Posted at

前回

前回の記事でEC2インスタンスへのリリース時に自動でAMIを取得できるようにしました。実際はCodeDeployのAfterinstallフックで行っています。

発生した問題

aws ec2 create-imageコマンドの直前に行っていたファイル操作がAMIに反映されていませんでした。具体的にはmvcp とごくごく一般的なコマンドかと思います。
最初はスクリプトのバグを疑ったのですが、aws ec2 create-imageの直前までは間違いなく正しく動作していることが確認できたため、AMIの取得についてAWSサポートに問い合わせました。AMIの仕様として直前の状態を保存する場合があるのかななど確認したかったからです。

結果

もろもろログを渡した結果AWSからは

ファイルシステムへの変更がディスクに書き込まれる前に AMI の作成が開始されたことがこの度の事象の原因ではないかと推察しております。
恐れ入りますが、AMI 作成前にファイルシステムバッファをディスクに書き込むため、aws ec2 create-image の実行直前に sync コマンドを実行するように AfterInstall フックスクリプトを修正して、改めてデプロイをお試しいただけますでしょうか。

との指摘だったので
aws ec2 create-imageの前にたった一行syncコマンドを入れるだけで解決しました。
おそらくインスタンス外部からの操作になるのでまだ書き込まれていないバッファを考慮せずAMIが取得されたのだと思います。

1
0
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
1
0