EFSの10分チュートリアルに挑戦

· ☕ 3
🏷️
  • #aws
  • #EFS
  • EFSが前々分からなかったので、10分チュートリアルをやってみた

    ちなみに、記事書きながらっていうのもあるけど、1時間くらいかかりましたww

    「Amazon Elastic File System (EFS) を使用してNetwork File System を作成する」ってやつ

    EFSを使った事がない方は、EFSを開くと↓のような画面になります。

    スタート

    その、「入門ガイド」からチュートリアルが始められます。※↓のリンクからでもOK

    EFS 10分チュートリアル

    やってみた

    手順は↑に細かく書いてあるので、それぞれの確認画面だけ貼っておきます。

    ステップ1:ファイルシステムを作成する

    スタート

    ステップ 2:Amazon EC2 で仮想マシンを作成して設定する

    スタート

    スタート

    ステップ 3: インスタンスに接続する

    pemのパスが間違っていると、こんな感じになります。

    お恥ずかしながらec2触るのも初めてだったから、この辺りも普通に勉強になったww

    $ ssh -i ~/.ssh/EFStutorial.pem ec2-user@3.113.32.xxx
    Warning: Identity file /home/lisa/.ssh/EFStutorial.pem not accessible: No such file or directory.
    The authenticity of host '3.113.32.xxx (3.113.32.xxx)' can't be established.
    ECDSA key fingerprint is SHA256:pmKgufGRGQCjDy41nASwP+380CKj4Ds/Nx2Z7QDZ1jQ.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '3.113.32.xxx' (ECDSA) to the list of known hosts.
    ec2-user@3.113.32.xxx: Permission denied (publickey).
    

    pemファイルのパーミッションがオープンすぎると、こんなエラーが出るみたい。

    ワーニングとか言ってるけど、接続させてくれないからもはやエラーだよね…www

    パーミッションを600にすればいいみたい

    $ ssh -i ./EFStutorial.pem ec2-user@3.113.32.xxx
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0777 for './EFStutorial.pem' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    Load key "./EFStutorial.pem": bad permissions
    ec2-user@3.113.32.xxx: Permission denied (publickey).
    

    場所移動して、パーミッション変えた

    $ mv EFStutorial.pem ~/.ssh/
    $ chmod 0600 ~/.ssh/EFStutorial.pem
    

    確認

    $ ll ~/.ssh/
    total 3
    drwx------ 1 lisa lisa  512 Mar  9 22:55 ./
    drwxr-xr-x 1 lisa lisa  512 Mar  9 22:44 ../
    -rw------- 1 lisa lisa 1692 Mar  9 22:55 EFStutorial.pem*
    

    -rw-------になってればOK

    $ ssh -i ~/.ssh/EFStutorial.pem ec2-user@3.113.32.xxx
    
           __|  __|_  )
           _|  (     /   Amazon Linux AMI
          ___|\___|___|
    
    https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
    4 package(s) needed for security, out of 10 available
    Run "sudo yum update" to apply all updates.
    [ec2-user@ip-172-31-44-xxx ~]$ 
    

    わーい!動いたww

    ステップ4:ファイルシステムをマウントする

    [ec2-user@ip-172-31-44-xxx ~]$ sudo yum install -y amazon-efs-utils
    Failed to set locale, defaulting to C
    Loaded plugins: priorities, update-motd, upgrade-helper
    amzn-main                                                                           | 2.1 kB  00:00:00     
    amzn-updates                                                                        | 2.5 kB  00:00:00     
    Resolving Dependencies
    --> Running transaction check
    ---> Package amazon-efs-utils.noarch 0:1.21-2.amzn1 will be installed
    --> Processing Dependency: stunnel >= 4.56 for package: amazon-efs-utils-1.21-2.amzn1.noarch
    --> Running transaction check
    ---> Package stunnel.x86_64 0:4.56-4.13.amzn1 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===========================================================================================================
     Package                     Arch              Version                       Repository               Size
    ===========================================================================================================
    Installing:
     amazon-efs-utils            noarch            1.21-2.amzn1                  amzn-updates             33 k
    Installing for dependencies:
     stunnel                     x86_64            4.56-4.13.amzn1               amzn-updates            155 k
    
    Transaction Summary
    ===========================================================================================================
    Install  1 Package (+1 Dependent package)
    
    Total download size: 188 k
    Installed size: 399 k
    Downloading packages:
    (1/2): amazon-efs-utils-1.21-2.amzn1.noarch.rpm                                     |  33 kB  00:00:00     
    (2/2): stunnel-4.56-4.13.amzn1.x86_64.rpm                                           | 155 kB  00:00:00     
    -----------------------------------------------------------------------------------------------------------
    Total                                                                      513 kB/s | 188 kB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : stunnel-4.56-4.13.amzn1.x86_64                                                          1/2 
      Installing : amazon-efs-utils-1.21-2.amzn1.noarch                                                    2/2 
      Verifying  : stunnel-4.56-4.13.amzn1.x86_64                                                          1/2 
      Verifying  : amazon-efs-utils-1.21-2.amzn1.noarch                                                    2/2 
    
    Installed:
      amazon-efs-utils.noarch 0:1.21-2.amzn1                                                                   
    
    Dependency Installed:
      stunnel.x86_64 0:4.56-4.13.amzn1                                                                         
    
    Complete!
    

    ↑で、EFSマウントヘルパーをインストール。

    [ec2-user@ip-172-31-44-xxx ~]$ sudo mkdir efs
    [ec2-user@ip-172-31-44-xxx ~]$ sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-88f2dea9.efs.ap-northeast-1.amazonaws.com:/ efs
    

    で、マウント。

    確認。

    [ec2-user@ip-172-31-44-xxx ~]$ df -h
    Filesystem                                      Size  Used Avail Use% Mounted on
    devtmpfs                                        483M   64K  483M   1% /dev
    tmpfs                                           493M     0  493M   0% /dev/shm
    /dev/xvda1                                      7.9G  1.1G  6.7G  15% /
    fs-88f2dea9.efs.ap-northeast-1.amazonaws.com:/  8.0E     0  8.0E   0% /home/ec2-user/efs
    

    テストファイル作成

    [ec2-user@ip-172-31-44-xxx ~]$ sudo dd if=/dev/zero of=~/efs/1GiB bs=1M count=1024 status=progress
    1037041664 bytes (1.0 GB) copied, 7.508118 s, 138 MB/s
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 9.38278 s, 114 MB/s
    

    ファイル確認

    [ec2-user@ip-172-31-44-xxx ~]$ ll efs
    total 1048576
    -rw-r--r-- 1 root root 1073741824 Mar  9 14:06 1GiB
    

    EFSの方を確認

    一番下の行のusedが1.0Gになっているのが分かると思います。成功!

    [ec2-user@ip-172-31-44-xxx ~]$ df -h 
    Filesystem                                      Size  Used Avail Use% Mounted on
    devtmpfs                                        483M   64K  483M   1% /dev
    tmpfs                                           493M     0  493M   0% /dev/shm
    /dev/xvda1                                      7.9G  1.1G  6.7G  15% /
    fs-88f2dea9.efs.ap-northeast-1.amazonaws.com:/  8.0E  1.0G  8.0E   1% /home/ec2-user/efs
    

    一応EFSのコンソールからも確認。

    before

    スタート

    after

    スタート

    ちゃんと1.0Gになっているのが分かります!わーい//

    ステップ 5:リソースを終了する

    後片付け。それぞれ消して終了//

    色々ログも貼っちゃったしね。怖いから直ぐ消しますww

    途中で強制終了すると、こんな感じのログが出て、コンソールも勝手に閉じてくれました。

    Broadcast message from root@ip-172-31-44-xxx
            (unknown) at 14:18 ...
    
    The system is going down for power off NOW!
    Connection to 3.113.32.103 closed by remote host.
    Connection to 3.113.32.103 closed.
    

    独り言

    ちなみに…

    sudo mount -t efs fs-88f2dea9:/ efsではマウントできませんでした…。

    なんでだったんだろう…。

    あと、すごいどうでもいいけど、コンソール環境を作るのに、git bashを使うのはなるほどなと思いましたww

    私はUbuntu 18.04のLTSを使ってるんですが、そういうのが入ってない人に、いつもどう環境を作ってもらうか悩むので、使わせてもらおうかなって思いましたww


    るな
    るな
    エンジニア