質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

2回答

3674閲覧

EC2インスタンスのshutdown時に、S3へのアップロードが出来ない。

kawasin73

総合スコア8

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2016/02/21 08:57

編集2016/02/21 09:08

AWSのEC2インスタンスシャットダウン時の挙動についてです。
Auto ScalingグループのダウンスケールなどによるEC2インスタンスのシャットダウン時に、EC2インスタンスがネットワークから切り離され、S3へのアップロードが出来ません。
EC2インスタンスは、Amazon Linux AMI を元に作成しています。

http://blog.suz-lab.com/2012/04/ec2s3centos-62.html
このサイトを参考にして作成しました。

/etc/init.d/logbackupに

bash

1#!/bin/sh 2# chkconfig: 2345 99 10 3# description: log file backup when system shutdown 4# processname: logbackup 5case "$1" in 6 start) 7 echo "start!" 8 touch /var/lock/subsys/logbackup 9 ;; 10 stop) 11 su - hoge -c '/home/hoge/shell/logbackup.sh shutdown' 12 rm /var/lock/subsys/logbackup 13 ;; 14 *) break ;; 15esac

インスタンスを立ち上げた後に、

bash

1sudo chkconfig --level 023456 logbackup on 2sudo service logbackup start

としています。

ログを確認して、logbackup.shはシャットダウン時に呼ばれていることは確認しました。しかし、ネットワークから切り離されていた(privateIPが見つからなかったことから確認)ため、ファイルのアップロードに失敗していました。

EC2インスタンスがネットワークから切り離される前にログのバックアップスクリプトを呼び出すためには、どうしたらいいでしょうか?

bash

1# chkconfig: 2345 99 10

の値を変えればいいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

sudo chkconfig --level 023456 logbackup on は 0(シャットダウン), 6(再起動)のときも
"start" で実行されませんでしょうか。--level 2345 でいいと思います。

# chkconfig: 2345 99 10 は stop は K10 でネットワーク停止よりも前に実行されると思うので、問題ないと思います。
より、早く実行したいのであれば、# chkconfig: 2345 99 1 とするといいと思います。

下記コマンドで、一旦リセットし、/etc/rc.d/rc0.d/K10logbackup (または K01logbackup) が存在することを確認してください。

sudo chkconfig --del logbackup sudo chkconfig --add logbackup ls -l /etc/rc.d/rc0.d/K*logbackup

しかし、AutoScaling からシャットダウンされる場合、AWS 側(OS の外側)から先にネットワークが切れてしまうかもしれません。その場合は、OS の内側でどう工夫してもダメだと思います。
代替方法として、CloudWatch Logs や fluentd などで、一定の間隔で外部にログを送る方法が考えられます。

投稿2016/02/22 03:22

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

初めに、手動で stop して動くかどうか、次は、その値を変えてみて、挙動が変わるか見てみることだと思います。

LifeCycleHook を使ってみることはできるでしょうか。(私は使ったことがないので、機能については詳しくありません。)

投稿2016/02/21 14:26

takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問