チュートリアルの目的
次のアーキテクチャをどのように構築するかを見ていきます。
同じEFSボリュームを使用する3つのインスタンスを作成します。
セキュリティグループの作成
「EC2 ダッシュボード」にアクセスしてください。
「セキュリティグループ」をクリックしてください。
強くお勧めします、あなたが持っているセキュリティグループをメモしておくことを。多くのセキュリティグループが作成され、このチュートリアルのためにどれが作成されたかが分からなくなる可能性があります。
「セキュリティグループを作成」をクリックしてください。
セキュリティグループを「MyEFSSecurityGroup」と名前を付けてください。
「セキュリティグループを作成」をクリックしてください。
Amazon EFSの作成
検索フィールドに「EFS」と入力してください。
「EFS」を選択してください。
Elastic File System画面に「ファイルシステムの作成」をクリックしてください。
モーダルが開くはずです。「カスタマイズ」ボタンをクリックしてください。
「MyEFS」というボリュームに名前を付けてください。
「次へ」をクリックしてください。
ネットワークアクセス画面の「マウントターゲット」セクションに移動してください。
デフォルトのセキュリティグループを「MyEFSSecurityGroup」に置き換えてください。
「次へ」をクリックしてください。
もう一回「次へ」をクリックしてください。
「作成」ボタンをクリックしてください。
EC2インスタンスの作成
「EC2 ダッシュボード」に戻ってください。「インスタンスを起動」をクリックしてください。
「MyInstance A」というボリュームに名前を付けてください。
Amazon Linuxを使用していることを確認ください。
また、t2.microを使用していることを確認してください。
このチュートリアルでは、キーペアが要らないので使用しません。
「キーペアなしで続行 (推奨されません)」を選択してください。
「ネットワーク設定」セクションに移動してください。
AWSは、セキュリティグループを作成すると書いています。
私の場合、セキュリティグループの名前はlaunch-wizard-2となります。ただし、注意してください。あなたの場合、異なる名前になる可能性があります。
次に、「インターネットからの HTTP トラフィックを許可」にチェックを入れて、インスタンスがインターネットにアクセスできるようにします。
「編集」ボタンをクリックしてください。
「サブネット」サブセクションに移動してください。
「ap-northeast-1a」を選んでください。
MyInstance Bを作成する際には、ap-northeast-1cを選択し、MyInstance Cを作成する際にはap-northeast-1dを選択する必要があります。気をつけてください。
「ストレージを設定」セクションに移動してください。
「編集」リックをクリックしてください。
「共有ファイルシステムを追加」ボタンをクリックしてください。
作成したEFS ボリュームが表示されるはずです。
「インスタンスを起動」をクリックしてください。
「MyInstance B」と「MyInstance C」を作成
インスタンスBとCを作成する際には、以前にインスタンスAを作成する際に行われたすべての手順を再現してください。ただし、インスタンスBとCがインスタンスAと同じセキュリティグループを使用するように注意してください。また、インスタンスBがサブネットap-northeast-1cを使用し、インスタンスCがサブネットap-northeast-1dを使用するようにも注意してください。
疑問があれば、このチュートリアルに関連する動画をご覧ください。
すべてが順調に進むなら、3インスタンスがあるはずです。
EC2インスタンスの設定
接続して、3つのインスタンスにログインし、次のコマンドを実行してください。
sudo su
yum update -y
yum install -y httpd
yum install -y php
systemctl start httpd
systemctl enable httpd
cd /var/www/html/
- MyInstance Aに次のコマンドを実行してください。
echo "MyInstance A" > index.php
IPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです
- MyInstance Bに次のコマンドを実行してください。
echo "MyInstance B" > index.php
IPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです
- MyInstance Cに次のコマンドを実行してください。
echo "MyInstance C" > index.php
IPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです
Amazon EFSの確認
3つのインスタンスが正しく同じEFSボリュームを使用しているかどうかを確認するには、インスタンスの1つにログインして次のコマンドを実行してください:
echo "Hello World" > /mnt/efs/fs1/hello.txt
ファイルhello.txtが他のインスタンスからアクセス可能かどうかを確認するには、次のコマンドを実行してください:
cat /mnt/efs/fs1/hello.txt
次のコードを使用して3つのインスタンスのindex.phpファイルを編集してください:
<?php
$path = "/mnt/efs/fs1/";
$content = file_get_contents("{$path}hello.txt");
echo $content;
もしすべてがうまくいけば、3つのインスタンスはまったく同じコンテンツを表示するはずです。具体的には、hello.txtファイルの内容がそれに該当します。
動画
必要なら、Youtubeで動画を作成しました。