Amazon EFSの使い方


# チュートリアルの目的

次のアーキテクチャをどのように構築するかを見ていきます。

![00c3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/d51b9e78-34fb-e917-5601-f09db62c44f1.png)


同じEFSボリュームを使用する3つのインスタンスを作成します。

## セキュリティグループの作成

「**EC2 ダッシュボード**」にアクセスしてください。

![Screenshot 2024-01-01 at 19.10.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/1a095170-3a60-9c6c-5760-1e6e0010d229.png)

「**セキュリティグループ**」をクリックしてください。

![Screenshot 2024-01-01 at 19.10.30 copy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/ad0c0fb4-2b7f-2d68-ae91-59765f6047f3.png)

強くお勧めします、あなたが持っているセキュリティグループをメモしておくことを。多くのセキュリティグループが作成され、このチュートリアルのためにどれが作成されたかが分からなくなる可能性があります。

「**セキュリティグループを作成**」をクリックしてください。

![Screenshot 2024-01-01 at 19.17.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/f5adc5d4-c979-99b0-bd9a-7bd9d710a84d.png)

セキュリティグループを「**MyEFSSecurityGroup**」と名前を付けてください。

![Screenshot 2024-01-01 at 19.21.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/0ce9bbec-4f58-ccfe-55bd-76837ab12b60.png)

「**セキュリティグループを作成**」をクリックしてください。

![Screenshot 2024-01-01 at 19.24.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/83a34ac3-bce1-967f-c839-5a7817b09994.png)

## Amazon EFSの作成

検索フィールドに「**EFS**」と入力してください。

![Screenshot 2024-01-01 at 19.27.44_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/a208c84c-c6ad-a7c0-b1ed-def01e4e3a69.png)

「**EFS**」を選択してください。

![Screenshot 2024-01-01 at 19.27.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/b14388bc-ccfc-8677-dd93-b78ad668ea4a.png)

Elastic File System画面に「**ファイルシステムの作成**」をクリックしてください。

![Screenshot 2024-01-01 at 19.34.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/349ed126-66bb-ea86-a291-48cbf4e013e5.png)

モーダルが開くはずです。「**カスタマイズ**」ボタンをクリックしてください。

![Screenshot 2024-01-01 at 19.34.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/74d9bfe7-5288-9e08-2c86-7e502470bace.png)

「**MyEFS**」というボリュームに名前を付けてください。

![Screenshot 2024-01-01 at 19.43.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/b151b36c-e5ba-74ec-719c-fc4c38de4f2e.png)

「**次へ**」をクリックしてください。

![Screenshot 2024-01-01 at 19.44.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/7e4e7fd1-c109-f375-83e2-ad8b5ddbb291.png)

ネットワークアクセス画面の「**マウントターゲット**」セクションに移動してください。

![Screenshot 2024-01-01 at 19.49.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/70b488b4-762c-a44e-0814-3fb5b1c450c8.png)

デフォルトのセキュリティグループを「**MyEFSSecurityGroup**」に置き換えてください。

![Screenshot 2024-01-01 at 19.54.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/4cfd62b8-dadb-3ba8-909e-e1d0686b1d65.png)

「**次へ**」をクリックしてください。

![Screenshot 2024-01-01 at 19.57.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/1242e68a-efae-4181-d13d-02a01ef9b533.png)

もう一回「**次へ**」をクリックしてください。

![Screenshot 2024-01-01 at 20.01.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/829f9e59-cfa9-c006-225c-cb50e63d3aff.png)

「**作成**」ボタンをクリックしてください。

![Screenshot 2024-01-01 at 20.03.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/5c92e6f9-7e5c-9a54-ee11-bc0484ad5bd5.png)

## EC2インスタンスの作成

「**EC2 ダッシュボード**」に戻ってください。「**インスタンスを起動**」をクリックしてください。

![Screenshot 2024-01-01 at 20.09.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/e487126f-c7ec-1044-27dc-9b4d536f12ee.png)

「**MyInstance A**」というボリュームに名前を付けてください。

![Screenshot 2024-01-01 at 20.14.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/092b9db7-a62e-1c13-9233-aca7683a9618.png)

**Amazon Linux**を使用していることを確認ください。


<img alt="mojikyo45_640-2.gif" src="https://camo.qiitausercontent.com/a241367d6ec420b59bd54351260a55d28aee24e0/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632303136312f37363338623739312d316339392d366566352d363731632d3961353532383538396439652e706e67">

また、**t2.micro**を使用していることを確認してください。

<img alt="mojikyo45_640-2.gif" src="https://camo.qiitausercontent.com/ed85de72654002b6b64a38075887f45fea77006d/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632303136312f31643037646531642d333362642d656665642d613530372d6537613365613233343963312e706e67">

このチュートリアルでは、キーペアが要らないので使用しません。

「**キーペアなしで続行 (推奨されません)**」を選択してください。

<img alt="mojikyo45_640-2.gif" src="https://camo.qiitausercontent.com/e5bdddd8f9909a8c90f7b16fd7305c8c4e9459e8/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632303136312f32333335366633622d313236642d666339312d663830312d3565643837323335326233302e706e67">

「**ネットワーク設定**」セクションに移動してください。

<img alt="mojikyo45_640-2.gif" src="https://camo.qiitausercontent.com/7f9e6e111f469ebc2615dfaacc51644d70d0a18f/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632303136312f35316331353833642d333236342d663666652d653464362d6635623863656632353365362e706e67">

AWSは、セキュリティグループを作成すると書いています。

<img alt="mojikyo45_640-2.gif" src="https://camo.qiitausercontent.com/28541c3aaa477039161872bb12063e5075232e4b/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632303136312f34663531356264322d363735302d636330342d306365612d3036623134656437376134352e706e67">

私の場合、セキュリティグループの名前は**launch-wizard-2**となります。ただし、注意してください。あなたの場合、異なる名前になる可能性があります。

次に、「**インターネットからの HTTP トラフィックを許可**」にチェックを入れて、インスタンスがインターネットにアクセスできるようにします。

<img alt="mojikyo45_640-2.gif" src="https://camo.qiitausercontent.com/1250b060d5c3961d8911f2849786deb1c551bac1/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632303136312f66363930653437312d633638382d383030382d313462322d3263303331623666313362382e706e67">

「**編集**」ボタンをクリックしてください。

![Screenshot 2024-01-01 at 20.24.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/97f59bc7-e25e-eea9-eb47-e521078c21f3.png)


「**サブネット**」サブセクションに移動してください。

![Screenshot 2024-01-01 at 20.26.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/c64bdeac-5fd1-a0fd-5f60-b9ba60ec2c2e.png)

「**ap-northeast-1a**」を選んでください。

![Screenshot 2024-01-01 at 20.26.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/74062d21-8b49-34f5-4f46-6278118ed131.png)


:::note warn
**MyInstance B**を作成する際には、**ap-northeast-1c**を選択し、**MyInstance C**を作成する際には**ap-northeast-1d**を選択する必要があります。気をつけてください。
:::

![Screenshot 2024-01-01 at 20.37.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/ca8db07d-3c18-db11-a03c-5e0ae246ea4b.png)

「**ストレージを設定**」セクションに移動してください。

![Screenshot 2024-01-01 at 20.40.40 copy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/6200c541-dd1a-3e0a-bc2a-332b51c09753.png)

「**編集**」リックをクリックしてください。

![Screenshot 2024-01-01 at 20.40.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/10414cc8-8fe9-2a8d-5439-937bbaa2f8ea.png)

「**共有ファイルシステムを追加**」ボタンをクリックしてください。

![Screenshot 2024-01-01 at 20.45.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/f6b606a5-ad5f-bdad-8c3c-2db252efe5e6.png)

作成したEFS ボリュームが表示されるはずです。

![Screenshot 2024-01-01 at 20.45.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/87bb970a-e1ed-ce9f-4bea-bf2bdd141d5e.png)

「**インスタンスを起動**」をクリックしてください。

![Screenshot 2024-01-01 at 20.45.58 copy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/1c2fa808-924b-2561-0640-24d74a76cd34.png)

## 「MyInstance B」と「MyInstance C」を作成

インスタンスBとCを作成する際には、以前にインスタンスAを作成する際に行われたすべての手順を再現してください。ただし、インスタンスBとCがインスタンスAと同じセキュリティグループを使用するように注意してください。また、インスタンスBがサブネット**ap-northeast-1c**を使用し、インスタンスCがサブネット**ap-northeast-1d**を使用するようにも注意してください。

:::note warn
疑問があれば、このチュートリアルに関連する動画をご覧ください。
:::

![Screenshot 2024-01-01 at 20.57.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/cdbe16b0-18a8-e810-9ea8-9b0639b7d897.png)

すべてが順調に進むなら、3インスタンスがあるはずです。

![Screenshot 2024-01-01 at 21.10.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/da517c32-ef0c-6507-ef5f-57e69e874f59.png)

## EC2インスタンスの設定

接続して、3つのインスタンスにログインし、次のコマンドを実行してください。

```bash
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に次のコマンドを実行してください。

```bash
echo "MyInstance A" > index.php
```

IPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです

![Screenshot 2024-01-01 at 21.25.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/a7ce83ce-d2ec-c8e6-2126-b2ca3527fa3f.png)


- MyInstance Bに次のコマンドを実行してください。

```bash
echo "MyInstance B" > index.php
```

IPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです

![Screenshot 2024-01-01 at 21.25.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/9d21c45e-3101-8f46-3f11-b24e35ba6d40.png)

- MyInstance Cに次のコマンドを実行してください。

```bash
echo "MyInstance C" > index.php
```

IPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです

![Screenshot 2024-01-01 at 21.25.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/b2fb40af-ebf0-34da-036c-460c59faf24b.png)


## Amazon EFSの確認

3つのインスタンスが正しく同じEFSボリュームを使用しているかどうかを確認するには、インスタンスの1つにログインして次のコマンドを実行してください：

```bash
echo "Hello World" > /mnt/efs/fs1/hello.txt
```

ファイルhello.txtが他のインスタンスからアクセス可能かどうかを確認するには、次のコマンドを実行してください：

```bash
cat /mnt/efs/fs1/hello.txt
```

次のコードを使用して3つのインスタンスのindex.phpファイルを編集してください：

```php
<?php
$path = "/mnt/efs/fs1/";
$content = file_get_contents("{$path}hello.txt");
echo $content;
```

もしすべてがうまくいけば、3つのインスタンスはまったく同じコンテンツを表示するはずです。具体的には、hello.txtファイルの内容がそれに該当します。

![Screenshot 2024-01-01 at 21.49.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/de4946a7-7945-e0a8-dacb-f5d331162c9a.png)


# 動画

必要なら、Youtubeで動画を作成しました。

<iframe width="1062" height="606" src="https://www.youtube.com/embed/MfnEK96_S5k" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>