2016-10-13 5 views
1

私はマスターノードのために1として望ましい数を自動スケーリングを使用しています。インスタンスが終了する場合、高可用性を維持するために、以前に終了したインスタンスから同じEBSボリュームを新しく作成したインスタンスに接続する必要があります。EC2のユーザーデータにCLIコマンドを渡して、EBSボリュームを自動接続してマウントできますか?

提供されたCLIが自分のAMIで設定されている場合、私は以下のことをユーザーデータで試しましたが、動作しませんでした。

#!/bin/bash 
EC2_INSTANCE_ID=$(ec2metadata --instance-id) 
aws ec2 attach-volume --volume-id vol-777099d8 --instance-id $EC2_INSTANCE_ID --device /dev/sdk 


#!/bin/bash 
echo "aws ec2 attach-volume --volume-id vol-777099d8 --instance-id $(ec2metadata --instance-id) --device /dev/sdk" > /tmp/xyz.sh 
sudo chmod 755 /tmp/xyz.sh 
sudo sh /tmp/xyz.sh 2>> 


#!/bin/bash 
var='ec2 attach-volume --volume-id vol-777099d8 --instance-id $(ec2metadata --instance-id) --device /dev/sdk' 
aws "$var" 


aws ec2 attach-volume --volume-id vol-777099d8 --instance-id $(ec2metadata --instance-id) --device /dev/sdk 

あなたのお手伝いをよろしくお願いします。

答えて

0

EBSボリュームは、一度に1つのインスタンスにしかアタッチできないため、おそらく動作しませんでした。動作しなかった場合は、CLIコマンドに応答してエラーメッセージが表示され、動作しなかった理由を理解して、インスタンスのログを確認してください。

私はあなたのアーキテクチャーをもう一度見直すべきだと思います。これをやろうとすると、私のために赤い旗が送られるからです。まず、HAアーキテクチャでは1つのインスタンスを実行するべきではありません。インスタンスが拡大縮小されるので、良いアーキテクチャはHAのままです。複数のインスタンスで使用可能なデータがある場合は、S3またはEFSを使用してEBSボリュームではなくそのデータを保存する必要があります。

関連する問題