AWS EKSでEFSを使用したPVの削除方法

印刷

Overview

EBS の場合は、AWS コンソールで EC2 サービスの Elastic Block Store で参照、変更、削除が可能です。

EFS の場合でも、AWS コンソールで Elastic File System (EFS) サービスがありますが、ユニットは file system です。

EFS storage classを利用して生成したPV(Persistent Volume)の場合には、該当ファイルシステム内に特定のパスのフォルダで構成されているため、直接ファイルシステムにアクセスして削除する必要があります。

この資料では、EFSを使用して作成されたPVを削除する方法について説明します。

ノードに接続

AWSコンソールでEC2サービスのInstanceを介してインスタンスを選択し、[接続]ボタンを押してsessions managerにアクセスします。

インスタンスにEFSファイルシステムをマウント

https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html

1. Amazon EFS クライアントのインストール

以下の例ではyumを使ってインストールしました。

https://docs.aws.amazon.com/efs/latest/ug/installing-amazon-efs-utils.html

# sudo yum install -y amazon-efs-utils Loaded plugins: priorities, update-motd amzn2-core                                                                            | 3.7 kB  00:00:00 Resolving Dependencies --> Running transaction check ---> Package amazon-efs-utils.noarch 0:1.31.2-1.amzn2 will be installed --> Processing Dependency: stunnel >= 4.56 for package: amazon-efs-utils-1.31.2-1.amzn2.noarch --> Processing Dependency: python3 for package: amazon-efs-utils-1.31.2-1.amzn2.noarch --> Running transaction check ---> Package python3.x86_64 0:3.7.10-1.amzn2.0.1 will be installed --> Processing Dependency: python3-libs(x86-64) = 3.7.10-1.amzn2.0.1 for package: python3-3.7.10-1.amzn2.0.1.x86_64 --> Processing Dependency: python3-setuptools for package: python3-3.7.10-1.amzn2.0.1.x86_64 --> Processing Dependency: python3-pip for package: python3-3.7.10-1.amzn2.0.1.x86_64 --> Processing Dependency: libpython3.7m.so.1.0()(64bit) for package: python3-3.7.10-1.amzn2.0.1.x86_64 ---> Package stunnel.x86_64 0:4.56-6.amzn2.0.3 will be installed --> Running transaction check ---> Package python3-libs.x86_64 0:3.7.10-1.amzn2.0.1 will be installed ---> Package python3-pip.noarch 0:20.2.2-1.amzn2.0.3 will be installed ---> Package python3-setuptools.noarch 0:49.1.3-1.amzn2.0.2 will be installed --> Finished Dependency Resolution  
Dependencies Resolved  
=============================================================================================================  Package                       Arch              Version                         Repository             Size ============================================================================================================= Installing:  amazon-efs-utils              noarch            1.31.2-1.amzn2                  amzn2-core             46 k Installing for dependencies:  python3                       x86_64            3.7.10-1.amzn2.0.1              amzn2-core             72 k  python3-libs                  x86_64            3.7.10-1.amzn2.0.1              amzn2-core            9.2 M  python3-pip                   noarch            20.2.2-1.amzn2.0.3              amzn2-core            2.0 M  python3-setuptools            noarch            49.1.3-1.amzn2.0.2              amzn2-core            1.1 M  stunnel                       x86_64            4.56-6.amzn2.0.3                amzn2-core            149 k  
Transaction Summary ============================================================================================================= Install  1 Package (+5 Dependent packages)  
Total download size: 12 M Installed size: 54 M Downloading packages: (1/6): python3-3.7.10-1.amzn2.0.1.x86_64.rpm                                          |  72 kB  00:00:00 (2/6): amazon-efs-utils-1.31.2-1.amzn2.noarch.rpm                                     |  46 kB  00:00:00 (3/6): python3-pip-20.2.2-1.amzn2.0.3.noarch.rpm                                      | 2.0 MB  00:00:00 (4/6): python3-libs-3.7.10-1.amzn2.0.1.x86_64.rpm                                     | 9.2 MB  00:00:00 (5/6): python3-setuptools-49.1.3-1.amzn2.0.2.noarch.rpm                               | 1.1 MB  00:00:00 (6/6): stunnel-4.56-6.amzn2.0.3.x86_64.rpm                                            | 149 kB  00:00:00 ------------------------------------------------------------------------------------------------------------- Total                                                                         46 MB/s |  12 MB  00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction   Installing : python3-pip-20.2.2-1.amzn2.0.3.noarch                                                     1/6   Installing : python3-setuptools-49.1.3-1.amzn2.0.2.noarch                                              2/6   Installing : python3-3.7.10-1.amzn2.0.1.x86_64                                                         3/6   Installing : python3-libs-3.7.10-1.amzn2.0.1.x86_64                                                    4/6   Installing : stunnel-4.56-6.amzn2.0.3.x86_64                                                           5/6   Installing : amazon-efs-utils-1.31.2-1.amzn2.noarch                                                    6/6   Verifying  : python3-libs-3.7.10-1.amzn2.0.1.x86_64                                                    1/6   Verifying  : python3-pip-20.2.2-1.amzn2.0.3.noarch                                                     2/6   Verifying  : python3-setuptools-49.1.3-1.amzn2.0.2.noarch                                              3/6   Verifying  : stunnel-4.56-6.amzn2.0.3.x86_64                                                           4/6   Verifying  : python3-3.7.10-1.amzn2.0.1.x86_64                                                         5/6   Verifying  : amazon-efs-utils-1.31.2-1.amzn2.noarch                                                    6/6  
Installed:   amazon-efs-utils.noarch 0:1.31.2-1.amzn2  
Dependency Installed:   python3.x86_64 0:3.7.10-1.amzn2.0.1               python3-libs.x86_64 0:3.7.10-1.amzn2.0.1   python3-pip.noarch 0:20.2.2-1.amzn2.0.3           python3-setuptools.noarch 0:49.1.3-1.amzn2.0.2   stunnel.x86_64 0:4.56-6.amzn2.0.3  
Complete!

2. Amazon EC2 Linux インスタンスへの EFS マウント

3つの方法のいずれかを選択してマウントしてください。

# file system : ID를 이용한 방법 # sudo mount -t efs file-system-id efs-mount-point/ ex) sudo mount -t efs fs-12345678 efs/  
  # file system : DNS를 이용한 방법 # sudo mount -t -efs -o tls file-system-dns-name efs-mount-point/ ex) sudo mount -t -efs -o tls fs-12345678.efs.us-east-2.amazonaws.com efs/  
# file system : IP address를 이용한 방법 sudo mount -t efs -o tls,mounttargetip=mount-target-ip file-system-id efs-mount-point/ ex) sudo mount -t efs -o tls,mounttargetip=192.0.2.0 fs-12345678 efs/

アクセスしたいEFSのパスの確認

# file system : ID를 이용한 방법 [ec2-user@ip-10-0-0-185 ~]$ sudo mount -t nfs fs-12345678.efs.ap-northeast-2.amazonaws.com:/ ~/efs-mount-point 
# 정상적으로 mount되었는지 확인 [ec2-user@ip-10-0-0-185 ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 482M 0 482M 0% /dev tmpfs 492M 0 492M 0% /dev/shm tmpfs 492M 404K 492M 1% /run tmpfs 492M 0 492M 0% /sys/fs/cgroup /dev/xvda1 8.0G 1.5G 6.6G 19% / tmpfs 99M 0 99M 0% /run/user/1000 fs-12345678.efs.ap-northeast-2.amazonaws.com:/ 8.0E 52G 8.0E 1% /home/ec2-user/efs-mount-point 
# mount한 directory에 접근 $ cd /home/ec2-user/efs-mount-point  
# directory 내용 확인 [ec2-user@ip-10-0-0-185 efs-mount-point]$ ll 합계 12 drwxr-xr-x 99 root root 14336 8월 12 06:16 zcp  
[ec2-user@ip-10-0-0-185 efs-mount-point]$ cd zcp/  
# [PVC name]-[PV name] 형태로 directory name인 것을 확인 [ec2-user@ip-10-0-0-185 zcp]$ ll 합계 392 ... drwxrws--x 14 root 40002 6144 8월 24 05:06 zcp-jenkins-pvc-989eddc5-271d-48a9-89c0-5df551589e47 drwxrws--x 2 root 40004 6144 9월 29 2020 zcp-registry-harbor-jobservice-pvc-119bd214-0bee-4885-8c42-0a121b90abe1 drwxr-xr-x 2 root root 6144 9월 9 05:32 zcp-test-pvc-119bd214-0bee-4885-8c42-0a121b90abe1

EFS directoryの削除

以下のようにディレクトリを削除してから、EFSを使用して作成されたPVとPVCを削除してください。

# test directory 삭제 후 확인 [ec2-user@ip-10-0-0-185 zcp]$ sudo rm -rf zcp-test-pvc-119bd214-0bee-4885-8c42-0a121b90abe1 [ec2-user@ip-10-0-0-185 zcp]$ ll 합계 388 ... drwxrws--x  2 root 40003 6144  8월 11  2020 zcp-jenkins-mvn-repo-pvc-8846add2-14ee-4fb7-bbe6-5beb473d6420 drwxrws--x 14 root 40002 6144  8월 24 05:06 zcp-jenkins-pvc-989eddc5-271d-48a9-89c0-5df551589e47 drwxrws--x  2 root 40004 6144  9월 29  2020 zcp-registry-harbor-jobservice-pvc-119bd214-0bee-4885-8c42-0a121b90abe1


作業完了後のEFS umount

# device 이름으로 umount [ec2-user@ip-10-0-0-185 zcp]$ sudo umount fs-12345678.efs.ap-northeast-2.amazonaws.com:/ 
# mount한 directory 이름으로 unmount [ec2-user@ip-10-0-0-185 zcp]$ sudo umount /home/ec2-user/efs-mount-point

オンライン相談

問い合わせ

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てずに申し訳ございません。この記事を向上させるためにフィードバックをお願い致します。