2016-07-12 5 views
-2

1つのLBの下にある複数のec2 instaceに更新されたファイルをアップロードする必要があります。私の問題は、ec2のインスタンスをいくつか見逃してしまい、ウェブページが壊れてしまったことです。 ワンクリックで複数のファイルを複数のEC2ウィンドウサーバーにアップロードするツールはありますか?Amazon AWS - 1つのLBの下にある複数のインスタンスにファイルをアップロード

ファイルを毎週更新するか、毎日何回か更新します。 Elastic beanstalk、Amazon Code Deploy、Amazon EFSで確認しました。しかし、使用するのは難しいです。誰でも助けてください

+0

どのようにファイルをec2インスタンスに転送しますか? –

+0

現在、ファイルのアップロードにWinSCPクライアントを使用しています。 – Rahmathullah

答えて

2

AWS S3とAWS CLIの使用をお勧めします。あなたができることは、すべてのEC2インスタンスにAWS CLIをインストールすることです。 AWS S3でバケットを作成します。

以下の構文で各EC2インスタンスでCronジョブを開始します。

aws s3 sync s3://bucket-name/folder-on-bucket /path/to/local/folder 

だから何が起こるだろうと、あなたはすべての画像が自動的にロードバランサの背後にあるすべてのEC2インスタンスと同期されますS3バケットに新しい画像をアップロードする場合です。また、AWS s3は、画像をアップロードおよび削除する中央ディレクトリになります。

0

robocopyコマンドを含むスクリプトを作成し、サーバー上のファイルを更新するときに実行します。このようなもの:

robocopy Source Destination1 files 
robocopy Source Destination2 files 

また、コピー先のフォルダをマシン上のユーザーと共有する必要があります。あなたはAWS CLIを活用することができ

1

、あなたが

aws elb describe-load-balancers --load-balancer-name <name_of_your_lb> --query LoadBalancerDescriptions[].Instances --output text |\ 
xargs -I {} aws ec2 describe-instances --instance-id {} --query Reservations[].Instances[].PublicIpAddress |\ 
xargs -I {} scp <name_of_your_file> <your_username>@{}:/some/remote/directory 

のようなものを実行することができ、基本的にはこのように書きます:

  1. は、それぞれのロードバランサ
  2. に接続されているすべてのEC2インスタンスを見つけますec2インスタンスのうち、PublicIPAddressを見つけてください(おそらくscp経由で接続しているはずです)
  3. rあなたは多くのファイルをプッシュする必要がある場合、あなたが、アマゾンElasticFileSystemはおそらく今最も簡単な選択肢だろう

    方が簡単な場合がありますまた、copy folderをコピーすることができEC2サーバ

上のどこかに1つのファイルをコピーする国連scpコマンドファイルシステムを作成し、Load Balancerに接続されているすべてのec2インスタンスに接続します。ファイルをEFSに転送すると、EFSが接続されているすべてのec2インスタンスで使用できるようになります。 あなたのec2インスタンスに一度だけマウントする必要があります)

関連する問題