

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: EFS ファイルシステムを作成し、 を使用して EC2 インスタンスにマウントする AWS CLI
<a name="wt1-getting-started"></a>

暗号化された EFS ファイルシステムを作成し、VPC 内の EC2 インスタンスにマウントし、 AWS CLIを使用してセットアップをテストします。

**注記**  
「[開始方法](getting-started.md)」チュートリアルでは、コンソールを使用して Amazon EC2 および EFS リソースを作成します。このチュートリアルでは、 AWS CLI を使用して同じことを行います。主に Amazon EFS API に慣れるために使用します。

このチュートリアルでは、アカウントに次の AWS リソースを作成します。
+ Amazon EC2 リソース。
  + 2 つのセキュリティグループ (EC2 インスタンスおよび EFS ファイルシステム用)。

    セキュリティグループにルールを追加して、適切なインバウンド/アウトバウンドアクセスを許可します。これにより、EC2 インスタンスは、標準の NFSv4.1 TCP ポートを使用して、マウントターゲットを通じてファイルシステムに接続できます。
  + VPC 内の EC2 インスタンス。
+ Amazon EFS のリソース
  + ファイルシステム。
  + ファイルシステムのマウントターゲット。

    ファイルシステムを EC2 インスタンスにマウントするには、VPC にマウントターゲットを作成する必要があります。VPC 内の各アベイラビリティーゾーンに 1 つのマウントターゲットを作成できます。詳細については、「[Amazon EFS の仕組み](how-it-works.md)」を参照してください。

次に、EC2 インスタンス上のファイルシステムをテストします。チュートリアルの最後のクリーンアップの手順には、これらのリソースを削除するための情報が記載されています。

このチュートリアルでは、これらのリソースをすべて米国西部 (オレゴン) リージョン (`us-west-2`) に作成します。どちら AWS リージョン を使用する場合でも、常に使用してください。VPC、EC2 リソース、EFS リソースなどのすべてのリソースは、同じ AWS リージョン内になければなりません。

**Topics**
+ [前提条件](#wt1-prepare)
+ [のセットアップ AWS CLI](#wt1-setup-awscli)
+ [ステップ 1: EC2 リソースを作成する](#wt1-create-ec2-resources)
+ [ステップ 2: EFS リソースを作成する](#wt1-create-efs-resources)
+ [ステップ 3: ファイルシステムを EC2 インスタンスにマウントしてテストする](#wt1-test)
+ [ステップ 4: クリーンアップする](#wt1-clean-up)

## 前提条件
<a name="wt1-prepare"></a>
+ のルート認証情報を使用して AWS アカウント コンソールにサインインし、入門演習を試すことができます。ただし、 AWS Identity and Access Management (IAM) では、 のルート認証情報を使用しないことをお勧めします AWS アカウント。代わりに、アカウントに管理者ユーザーを作成し、それらの認証情報を使用してアカウントのリソースを管理します。詳細については、「 *AWS IAM アイデンティティセンター ユーザーガイド*[」の「IAM Identity Center ユーザーに AWS アカウント アクセス権を割り当てる](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-assign-account-access-user.html)」を参照してください。
+ アカウントで作成したデフォルトの VPC またはカスタム VPC を使用できます。このウォークスルーでは、デフォルトの VPC 設定が機能します。ただし、カスタム VPC を使用する場合は、次の点を確認してください。
  + DNS ホスト名は有効です。詳細については、「*Amazon VPC ユーザーガイド*」の「[DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)」(VPC の DNS 属性) を参照してください。
  + インターネットゲートウェイが VPC にアタッチされています。詳細については、「*Amazon VPC ユーザーガイド*」の「[インターネットゲートウェイを使用してインターネットに接続する](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。
  + VPC サブネットは、VPC サブネットで起動されたインスタンスのパブリック IP アドレスを要求するように設定されています。詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC とサブネットの IP アドレス指定](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html)」を参照してください。
  + VPC ルートテーブルには、インターネット経由のすべてのトラフィックをインターネットゲートウェイに送信するルールが含まれています。
+ をセットアップ AWS CLI し、管理者ユーザープロファイルを追加する必要があります。

## のセットアップ AWS CLI
<a name="wt1-setup-awscli"></a>

以下の手順を使用して、 AWS CLI および ユーザープロファイルを設定します。

**を設定するには AWS CLI**

1.  AWS CLIをダウンロードして設定します。手順については、「*AWS Command Line Interface ユーザーガイド*」の「[AWS CLIの開始方法](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」を参照してください。

1. プロファイルを設定します。

   ユーザー認証情報を AWS CLI `config` ファイルに保存します。このチュートリアルの CLI コマンドの例では、adminuser プロファイルを指定します。configuser ファイルを `config` ファイルに作成します。以下のように、管理者ユーザープロファイルを `config` ファイルのデフォルトとして設定することもできます。

   ```
   [profile adminuser]
   aws_access_key_id = {{admin user access key ID}}
   aws_secret_access_key = {{admin user secret access key}}
   region = us-west-2
   
   [default]
   aws_access_key_id = {{admin user access key ID}}
   aws_secret_access_key = {{admin user secret access key}}
   region = us-west-2
   ```

   前述のプロファイルもデフォルトを設定します AWS リージョン。CLI コマンドでリージョンを指定しない場合、us-west-2 リージョンが使用されます。

1. コマンドプロンプトで以下のコマンドを入力して、セットアップを確認します。これらのコマンドの両方は、いずれも認証情報を明示的に提供しないため、デフォルトプロファイルの認証情報が使用されます。
   + help コマンドを試してみます。

     `--profile` パラメータを追加することで、明示的にユーザープロファイルを指定することもできます。

     ```
     aws help
     ```

     ```
     aws help \
     --profile adminuser
     ```

## ステップ 1: EC2 リソースを作成する
<a name="wt1-create-ec2-resources"></a>

このステップでは、次の作業を行います。
+ 2 つのセキュリティグループを作成します。
+ セキュリティグループにルールを追加して、追加のアクセスを許可します。
+ EC2 インスタンスの起動 その次の手順で EFS ファイルシステムを作成し、このインスタンス上にマウントします。

### ステップ 1.1: 2 つのセキュリティグループを作成する
<a name="wt1-create-sg"></a>

このセクションでは、EC2 インスタンスと EFS マウントターゲットの VPC にセキュリティグループを作成します。チュートリアルの後の手順で、これらのセキュリティグループを EC2 インスタンスと EFS マウントターゲットに割り当てます。セキュリティグループについては、「[Linux インスタンス用の Amazon EC2 セキュリティグループ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html#vpc-security-groups)」を参照してください。

**セキュリティグループを作成するには**

1. `create-security-group` CLI コマンドを使用して、2 つのセキュリティグループを作成します。

   1. EC2 インスタンス用のセキュリティグループ (`efs-walkthrough1-ec2-sg`) を作成し、VPC ID を指定します。

      ```
      $ aws ec2 create-security-group \
      --region us-west-2 \
      --group-name efs-walkthrough1-ec2-sg \
      --description "Amazon EFS walkthrough 1, SG for EC2 instance" \
      --vpc-id {{vpc-id-in-us-west-2}} \
      --profile adminuser
      ```

      セキュリティグループ ID を書き留めます。以下に、応答の例を示します。

      ```
      {
          "GroupId": "sg-aexample"
      }
      ```

      次のコマンドを使用して、VPC ID を見つけることができます。

      ```
      $ aws  ec2 describe-vpcs    
      ```

      

   1. EFS マウントターゲット用のセキュリティグループ (`efs-walkthrough1-mt-sg`) を作成します。VPC ID を指定する必要があります。

      ```
      $ aws ec2 create-security-group \
      --region us-west-2 \
      --group-name efs-walkthrough1-mt-sg \
      --description "Amazon EFS walkthrough 1, SG for mount target" \
      --vpc-id {{vpc-id-in-us-west-2}} \
      --profile adminuser
      ```

      セキュリティグループ ID を書き留めます。以下に、応答の例を示します。

      ```
      {
          "GroupId": "sg-aexample"
      }
      ```

1. セキュリティグループを確認します。

   ```
   aws ec2 describe-security-groups \
   --group-ids {{list of security group IDs separated by space}} \
   --profile {{adminuser}} \
   --region us-west-2
   ```

   両方には、すべてのトラフィックを残すことができるアウトバウンドルールが 1 つだけ必要です。

   次のセクションでは、以下を可能にする追加アクセスを承認します。
   + EC2 インスタンスに接続できるようにします。
   + EC2 インスタンスと EFS マウントターゲットの間のトラフィックを有効にします (このチュートリアルの後の手順で、これらにセキュリティグループを関連付けます)。

### ステップ 1.2: セキュリティグループにルールを追加してインバウンド/アウトバウンドアクセスを承認する
<a name="wt1-update-sg"></a>

このステップでは、セキュリティグループにルールを追加して、インバウンド/アウトバウンドアクセスを許可します。

**ルールを追加するには**

1. 任意のホストからの Secure Shell (SSH) を使用して EC2 インスタンスに接続できるように、EC2 インスタンス (`efs-walkthrough1-ec2-sg`) のセキュリティグループへの受信 SSH 接続を認可します。

   ```
   $ aws ec2 authorize-security-group-ingress \
   --group-id {{id of the security group created for EC2 instance}} \
   --protocol tcp \
   --port 22 \
   --cidr 0.0.0.0/0 \
   --profile adminuser \
   --region us-west-2
   ```

   セキュリティグループに追加したインバウンドおよびアウトバウンドのルールがあることを確認します。

   ```
   aws ec2 describe-security-groups \
   --region us-west-2 \
   --profile adminuser \
   --group-id {{security-group-id}}
   ```

1. EFS マウントターゲット (`efs-walkthrough1-mt-sg`) のセキュリティグループへのインバウンドアクセスを許可します。

   コマンドプロンプトで、adminuser プロファイルを使用して次の AWS CLI `authorize-security-group-ingress`コマンドを実行し、インバウンドルールを追加します。

   ```
   $ aws ec2 authorize-security-group-ingress \
   --group-id {{ID of the security group created for Amazon EFS mount target}} \
   --protocol tcp \
   --port 2049 \
   --source-group {{ID of the security group created for EC2 instance}} \
   --profile adminuser \
   --region us-west-2
   ```

1. 両方のセキュリティグループがインバウンドアクセスを許可することを確認します。

   ```
   aws ec2 describe-security-groups \
   --group-names efs-walkthrough1-ec2-sg   efs-walkthrough1-mt-sg \
   --profile adminuser \
   --region us-west-2
   ```

### ステップ 1.3: EC2 インスタンスを起動する
<a name="wt1-create-ec2-instance"></a>

このステップでは、EC2 インスタンスを起動します。

**EC2 インスタンスを起動するには**

1. EC2 インスタンスを起動するときに必要な次の情報を収集します。
   + [キーペア名]。キーペアを作成する手順については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 インスタンスのキーペアを作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)」を参照してください。
   + インスタンスの起動に使用する Amazon マシンイメージ (AMI) の ID。

     EC2 インスタンスを起動するために使用する AWS CLI コマンドには、パラメータとしてデプロイする Amazon マシンイメージ (AMI) の ID が必要です。この演習では、Amazon Linux HVM AMI を使用しています。
**注記**  
ほとんどの汎用の Linux ベースの AMI を使用することができます。別の Linux AMI を使用する場合は、必ずご使用のディストリビューションのパッケージマネージャーを使用して、インスタンスに NFS クライアントをインストールします。また、必要に応じてソフトウェアパッケージを追加する必要がある場合もあります。

     Amazon Linux HVM AMI では、[Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/) で最新の ID を見つけることができます。Amazon Linux AMI ID テーブルから次のように ID 値を選択します。
     + [**US West Oregon (米国西部オレゴン)**] リージョンを選択します。このチュートリアルでは、米国西部 (オレゴン) リージョン (us-west-2) 内にすべてのリソースを作成していることを前提としています。
     + [**EBS-backed HVM 64-bit**] タイプを選択します (CLI コマンドでインスタンスストアをサポートしない `t2.micro` インスタンスタイプを指定するため)。

     
   + EC2 インスタンス用に作成したセキュリティグループの ID。
   + AWS リージョン。このチュートリアルでは、us-west-2 リージョンを使用しています。
   + インスタンスを起動する VPC サブネット ID。サブネットのリストを取得するには、`describe-subnets` コマンドを使用します。

     ```
     $ aws ec2 describe-subnets \
     --region us-west-2 \
     --filters "Name=vpc-id,Values={{vpc-id}}" \
     --profile adminuser
     ```

     サブネット ID を選択した後、`describe-subnets` の結果から次の値を書き留めます。
     + **サブネット ID** – マウントターゲットを作成するときにこの値が必要です。この練習では、EC2 インスタンスを起動するのと同じサブネットにマウントターゲットを作成します。
     + **サブネットのアベイラビリティーゾーン** - この値は、マウントターゲットの DNS 名を構成するために必要です。この名前は、EC2 インスタンスにファイルシステムをマウントするために使用します。

1. 次の AWS CLI `run-instances`コマンドを実行して EC2 インスタンスを起動します。

   ```
   $ aws ec2 run-instances \
   --image-id {{AMI ID}} \
   --count 1 \
   --instance-type t2.micro \
   --associate-public-ip-address \
   --key-name {{key-pair-name}} \
   --security-group-ids {{ID of the security group created for EC2 instance}} \
   --subnet-id {{VPC subnet ID}} \
   --region us-west-2 \
   --profile adminuser
   ```

1. `run-instances` コマンドによって返されるインスタンス ID を書き留めます。

1. 作成した EC2 インスタンスには、EC2 インスタンスに接続してファイルシステムをマウントするために使用するパブリック DNS 名が必要です。パブリック DNS 名の形式は次のとおりです。

   ```
   ec2-xx-xx-xx-xxx.compute-1.amazonaws.com
   ```

   次の CLI コマンドを実行して、パブリック DNS 名を書き留めます。

   ```
   aws ec2 describe-instances \
   --instance-ids {{EC2 instance ID}} \
   --region us-west-2 \ 
   --profile adminuser
   ```

   パブリック DNS 名が見つからない場合は、EC2 インスタンスを起動した VPC の設定を確認してください。詳細については、「[前提条件](#wt1-prepare)」を参照してください。

1. (オプション) 作成した EC2 インスタンスに名前を割り当てます。これを行うには、インスタンスに割り当てる名前にキー名と値を設定したタグを追加します。これを行うには、次の AWS CLI `create-tags`コマンドを実行します。

   ```
   $  aws ec2 create-tags \
   --resources  {{EC2-instance-ID}} \
   --tags Key=Name,Value={{Provide-instance-name}}  \
   --region us-west-2 \
   --profile adminuser
   ```

## ステップ 2: EFS リソースを作成する
<a name="wt1-create-efs-resources"></a>

このステップでは、次の作業を行います。
+ 暗号化された EFS ファイルシステムを作成します。
+ ライフサイクル管理を有効にします。
+ EFS インスタンスを起動したアベイラビリティーゾーンにマウントターゲットを作成します。

### ステップ 2.1: EFS ファイルシステムを作成する
<a name="wt1-create-file-system"></a>

このステップでは、EFS ファイルシステムを作成します。次のステップで、ファイルシステムのマウントターゲットを作成するときに使用する `FileSystemId` を書き留めます。

**ファイルシステムを作成するには**
+ オプションの `Name` タグを使用してファイルシステムを作成します。

  1. コマンドプロンプトで、次の AWS CLI `create-file-system` コマンドを実行します。

     ```
     $  aws efs create-file-system \
     --encrypted \
     --creation-token FileSystemForWalkthrough1 \
     --tags Key=Name,Value=SomeExampleNameValue \
     --region us-west-2 \
     --profile adminuser
     ```

     次のレスポンスが返されます。

     ```
     {
         "OwnerId": "111122223333",
         "CreationToken": "FileSystemForWalkthrough1",
         "FileSystemId": "fs-c657c8bf",
         "CreationTime": 1548950706.0,
         "LifeCycleState": "creating",
         "NumberOfMountTargets": 0,
         "SizeInBytes": {
             "Value": 0,
             "ValueInIA": 0,
             "ValueInStandard": 0
         },
         "PerformanceMode": "generalPurpose",
         "Encrypted": true,
         "KmsKeyId": "arn:aws:kms:us-west-2:111122223333:a5c11222-7a99-43c8-9dcc-abcdef123456",
         "ThroughputMode": "bursting",
         "Tags": [
             {
                 "Key": "Name",
                 "Value": "SomeExampleNameValue"
             }
         ]
     }
     ```

  1. [`FileSystemId`] の値を書き留めます。「[ステップ2.3: マウントターゲットを作成する](#wt1-create-mount-target)」でこのファイルシステムのマウントターゲットを作成するときに、この値が必要になります。

### ステップ 2.2:ライフサイクル管理を有効にする
<a name="wt1-lifecycle-management"></a>

このステップでは、EFS 低頻度アクセス (IA) ストレージクラスを使用するために、ファイルシステムでライフサイクル管理を有効にします。詳細については、「[ストレージライフサイクルを管理する](lifecycle-management-efs.md)」および「[EFS ストレージクラス](features.md#storage-classes)」を参照してください。

**ライフサイクル管理を有効にするには**
+ コマンドプロンプトで、次の AWS CLI `put-lifecycle-configuration`コマンドを実行します。

  ```
  $  aws efs put-lifecycle-configuration \
  --file-system-id fs-c657c8bf \
  --lifecycle-policies TransitionToIA=AFTER_30_DAYS \
  --region us-west-2 \
  --profile adminuser
  ```

  次のレスポンスが返されます。

  ```
  {
    "LifecyclePolicies": [
      {
          "TransitionToIA": "AFTER_30_DAYS"
      }
    ]
  }
  ```

### ステップ2.3: マウントターゲットを作成する
<a name="wt1-create-mount-target"></a>

このステップでは、EC2 インスタンスを起動したアベイラビリティーゾーンにファイルシステムのマウントターゲットを作成します。

1. 以下の情報があることを確認してください。
   + マウント対象を作成するファイルシステムの ID (例: `fs-example`)。
   + [ステップ 1: EC2 リソースを作成する](#wt1-create-ec2-resources) で EC2 インスタンスを起動した VPC サブネット ID。

     このチュートリアルでは、EC2 インスタンスを起動したサブネットと同じサブネットにマウントターゲットを作成するため、サブネット ID (例えば `subnet-example`) が必要です。
   + 前のステップでマウントターゲット用に作成したセキュリティグループの ID。

1. コマンドプロンプトで、次の AWS CLI `create-mount-target`コマンドを実行します。

   ```
   $ aws efs create-mount-target \
   --file-system-id {{file-system-id}} \
   --subnet-id  {{subnet-id}} \
   --security-group {{ID-of-the security-group-created-for-mount-target}} \
   --region us-west-2 \
   --profile adminuser
   ```

   次のレスポンスが返されます。

   ```
   {
       "MountTargetId": "fsmt-example",
       "NetworkInterfaceId": "eni-example",
       "FileSystemId": "fs-example",
       "PerformanceMode" : "generalPurpose",
       "LifeCycleState": "available",
       "SubnetId": "fs-subnet-example",
       "OwnerId": "account-id",
       "IpAddress": "xxx.xx.xx.xxx"
   }
   ```

1. また、`describe-mount-targets` コマンドを使用して、ファイルシステムで作成したマウントターゲットの説明を取得することもできます。

   ```
   $ aws efs describe-mount-targets \
   --file-system-id {{file-system-id}} \
   --region us-west-2 \
   --profile adminuser
   ```

## ステップ 3: ファイルシステムを EC2 インスタンスにマウントしてテストする
<a name="wt1-test"></a>

このステップでは、次の作業を行います。
+ 必要な情報を収集します。
+ EC2 インスタンスに NFS クライアントをインストール。
+ EC2 インスタンスにファイルシステムをマウントしてテストします。

**Topics**
+ [ステップ 3.1: 情報を収集する](#wt1-connect-test-gather-info)
+ [ステップ 3.2: EC2 インスタンスに NFS クライアントをインストールする](#wt1-connect-install-nfs-client)
+ [ステップ 3.3: ファイルシステムを EC2 インスタンスにマウントしてテストする](#wt1-mount-fs-and-test)

### ステップ 3.1: 情報を収集する
<a name="wt1-connect-test-gather-info"></a>

このセクションの手順に従って、次の情報を確認してください。
+ EC2 インスタンスのパブリック DNS 名の形式は以下のとおりです。

  ```
  ec2-xx-xxx-xxx-xx.{{aws-region}}.compute.amazonaws.com 
  ```
+ ファイルシステムの DNS 名。この DNS 名は、次の一般的な形式を使用して作成できます。

  ```
  {{file-system-id}}.efs.{{aws-region}}.amazonaws.com
  ```

  マウントターゲットを使用してファイルシステムをマウントする EC2 インスタンスは、ファイルシステムの DNS 名をマウントターゲットの IP アドレスに解決できます。

**注記**  
Amazon EFS は、EC2 インスタンスがパブリック IP アドレスまたはパブリック DNS 名を持つことを要求するものではありません。前述の要件は、SSH を使用して VPC 外のインスタンスに接続するための、このチュートリアルでの一例です。

### ステップ 3.2: EC2 インスタンスに NFS クライアントをインストールする
<a name="wt1-connect-install-nfs-client"></a>

Windows または Linux、macOS X、またはその他の Unix バリアントを実行しているコンピュータから、EC2 インスタンスに接続できます。

**NFS クライアントをインストールするには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

1. SSH セッションを使用して、EC2 インスタンスで次のコマンドを実行します。

   1. (オプション) アップデートを入手して再起動します。

      ```
      $  sudo yum -y update  
      $  sudo reboot
      ```

      再起動後、EC2 インスタンスに再接続します。

   1. NFS クライアントをインストールします。

      ```
      $ sudo yum -y install nfs-utils
      ```
**注記**  
EC2 インスタンスの起動時に **Amazon Linux AMI 2016.03.0** という Amazon Linux AMI を選択した場合、`nfs-utils` はデフォルトで既に AMI に組み込まれているため、インストールする必要はありません。

### ステップ 3.3: ファイルシステムを EC2 インスタンスにマウントしてテストする
<a name="wt1-mount-fs-and-test"></a>

これで、EC2 インスタンスにファイルシステムをマウントします。

1. ディレクトリを作成します (「efs-mount-point」)。

   ```
   $ mkdir ~/efs-mount-point 
   ```

1. EFS ファイルシステムをマウントします。

   ```
   $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport {{mount-target-DNS}}:/   ~/efs-mount-point  
   ```

   EC2 インスタンスは、マウントターゲットの DNS 名を IP アドレスに解決できます。オプションでマウントターゲットの IP アドレスを直接指定することもできます。

   ```
   $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport {{mount-target-ip}}:/  ~/efs-mount-point
   ```

1. これで EC2 インスタンスに EFS ファイルシステムがマウントされたので、ファイルを作成することができます。

   1. ディレクトリを変更します。

      ```
      $ cd ~/efs-mount-point  
      ```

   1. ディレクトリの内容を一覧表示します。

      ```
      $ ls -al
      ```

      これは空である必要があります。

      ```
      drwxr-xr-x 2 root     root     4096 Dec 29 22:33 .
      drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
      ```

      

   1. ファイルシステムのルートディレクトリは、作成時に root ユーザーが所有し、root ユーザーによって書き込みが可能なため、ファイルを追加する権限を変更する必要があります。

      ```
      $ sudo chmod go+rw .
      ```

      `ls -al` コマンドを実行すると、権限が変更されたことがわかります。

      ```
      drwxrwxrwx 2 root     root     4096 Dec 29 22:33 .
      drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
      ```

   1.  テキストファイルを作成します。

      ```
      $ touch test-file.txt 
      ```

   1. ディレクトリのコンテンツを一覧表示します。

      ```
      $ ls -l
      ```

これで、EFS ファイルシステムが正常に作成され、VPC 内の EC2 インスタンスにマウントされました。

マウントしたファイルシステムは、再起動後も保持されません。ディレクトリを自動的に再マウントするには、`fstab` ファイルを使用します。Auto Scaling グループを使用して EC2 インスタンスを起動する場合は、起動設定でスクリプトを設定することもできます。

## ステップ 4: クリーンアップする
<a name="wt1-clean-up"></a>

作成したリソースが不要になった場合は、削除する必要があります。これは CLI で行うことができます。
+ EC2 リソース (EC2 インスタンスと 2 つのセキュリティグループ) を削除します。マウントターゲットを削除すると、Amazon EFS はネットワークインタフェースを削除します。
+ EFS リソース (ファイルシステム、マウントターゲット) を削除します。

**このチュートリアルで作成した AWS リソースを削除するには**

1. このチュートリアルのために作成した EC2 インスタンスを終了します。

   ```
   $ aws ec2 terminate-instances \
   --instance-ids {{instance-id}} \
   --profile adminuser
   ```

   コンソールを使用して EC2 リソースを削除することもできます。手順については、[「インスタンスの終了」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#terminating-instances-console)を参照してください。

1. マウントターゲットを削除します。

   ファイルシステムを削除する前に、そのファイルシステム用に作成されたマウントターゲットを削除する必要があります。マウントターゲットのリストを取得するには、`describe-mount-targets` CLI コマンドを使用します。

   ```
   $  aws efs describe-mount-targets \
   --file-system-id {{file-system-ID}} \
   --profile adminuser \
   --region {{aws-region}}
   ```

   次に、`delete-mount-target` CLI コマンドを使用してマウントターゲットを削除します。

   ```
   $ aws efs delete-mount-target \
   --mount-target-id {{ID-of-mount-target-to-delete}} \
   --profile adminuser \
   --region {{aws-region}}
   ```

1. (オプション) 作成した 2 つのセキュリティグループを削除します。セキュリティグループを作成するための料金はかかりません。

   EC2 インスタンスのセキュリティグループを削除する前に、まずマウントターゲットのセキュリティグループを削除する必要があります。マウントターゲットのセキュリティグループには、EC2 セキュリティグループを参照するルールがあります。したがって、EC2 インスタンスのセキュリティグループを最初に削除することはできません。

   手順については、「*Amazon EC2 ユーザーガイド*」の「[セキュリティグループを削除する](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-ec2-sg.html#deleting-a-security-group)」を参照してください。

1. `delete-file-system` CLI コマンドを使用してファイルシステムを削除します。`describe-file-systems` CLI コマンドを使用すると、ファイルシステムのリストを取得できます。レスポンスからファイルシステム ID を取得できます。

   ```
   aws efs describe-file-systems \
   --profile adminuser \
   --region {{aws-region}}
   ```

   ファイルシステム ID を指定してファイルシステムを削除します。

   ```
   $ aws efs delete-file-system \
   --file-system-id {{ID-of-file-system-to-delete}} \
   --region {{aws-region}} \
   --profile adminuser
   ```