Tutorial: Buat sistem EFS file dan pasang pada EC2 instance menggunakan AWS CLI - Amazon Elastic File System

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Buat sistem EFS file dan pasang pada EC2 instance menggunakan AWS CLI

Buat sistem EFS file terenkripsi, pasang pada EC2 instance di AndaVPC, dan uji penyiapannya menggunakan file. AWS CLI

catatan

Dalam Memulai tutorial, Anda menggunakan konsol untuk membuat Amazon EC2 dan EFS sumber daya. Dalam tutorial ini, Anda menggunakan AWS CLI untuk melakukan hal yang sama—terutama untuk membiasakan diri dengan Amazon. EFS API

Dalam tutorial ini, Anda membuat AWS sumber daya berikut di akun Anda:

  • EC2Sumber daya Amazon:

    • Dua grup keamanan (untuk EC2 contoh dan sistem EFS file Anda).

      Anda menambahkan aturan ke grup keamanan ini untuk mengotorisasi akses masuk/keluar yang sesuai. Melakukan hal ini memungkinkan Anda EC2instance untuk terhubung ke sistem file melalui target mount dengan menggunakan TCP port NFSv4 .1 standar.

    • Sebuah EC2 contoh di AndaVPC.

  • EFSSumber daya Amazon:

    • Sebuah sistem file.

    • Target mount untuk sistem file Anda.

      Untuk me-mount sistem file Anda pada sebuah EC2 instance, Anda perlu membuat target mount di file AndaVPC. Anda dapat membuat satu target pemasangan di setiap Availability Zone diVPC. Untuk informasi selengkapnya, lihat Bagaimana Amazon EFS bekerja.

Kemudian, Anda menguji sistem file pada EC2 instance Anda. Langkah pembersihan di akhir tutorial memberikan informasi bagi Anda untuk menghapus sumber daya ini.

Tutorial membuat semua sumber daya ini di Wilayah AS Barat (Oregon) (us-west-2). Apapun yang Wilayah AWS Anda gunakan, pastikan untuk menggunakannya secara konsisten. Semua sumber daya Anda — sumber daya, sumber EC2 dayaVPC, dan EFS sumber daya Anda — harus sama. Wilayah AWS

Prasyarat

  • Anda dapat menggunakan kredensi root Anda Akun AWS untuk masuk ke konsol dan mencoba latihan memulai. Namun, AWS Identity and Access Management (IAM) merekomendasikan agar Anda tidak menggunakan kredensi root Anda. Akun AWS Sebagai gantinya, buat pengguna administrator di akun Anda dan gunakan kredensialnya untuk mengelola sumber daya di akun Anda. Sebagai gantinya, buat pengguna administrator di akun Anda dan gunakan kredensialnya untuk mengelola sumber daya di akun Anda. Untuk informasi selengkapnya, lihat Menetapkan Akun AWS akses untuk pengguna Pusat IAM Identitas di Panduan AWS IAM Identity Center Pengguna.

  • Anda dapat menggunakan default VPC atau kustom VPC yang telah Anda buat di akun Anda. Untuk panduan ini, VPC konfigurasi default berfungsi. Namun, jika Anda menggunakan kustomVPC, verifikasi hal berikut:

  • Anda perlu mengatur AWS CLI dan menambahkan profil adminuser.

Menyiapkan AWS CLI

Gunakan petunjuk berikut untuk mengatur AWS CLI dan profil pengguna.

Untuk mengatur AWS CLI
  1. Unduh dan konfigurasikan AWS CLI. Untuk petunjuk, lihat Memulai dengan AWS CLI di Panduan AWS Command Line Interface Pengguna.

  2. Tetapkan profil.

    Anda menyimpan kredensi pengguna dalam file. AWS CLI config Contoh CLI perintah dalam tutorial ini menentukan profil adminuser. Buat profil adminuser dalam file. config Anda juga dapat mengatur profil pengguna administrator sebagai default dalam config file seperti yang ditunjukkan.

    [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

    Profil sebelumnya juga menetapkan default. Wilayah AWS Jika Anda tidak menentukan Region dalam CLI perintah, wilayah us-west-2 diasumsikan.

  3. Verifikasi pengaturan dengan memasukkan perintah berikut pada prompt perintah. Kedua perintah ini tidak memberikan kredensi secara eksplisit, sehingga kredensi profil default digunakan.

    • Coba perintah bantuan

      Anda juga dapat menentukan profil pengguna secara eksplisit dengan menambahkan parameter. --profile

      aws help
      aws help \ --profile adminuser

Langkah 1: Buat EC2 sumber daya

Dalam langkah ini, Anda melakukan hal berikut:

  • Buat dua grup keamanan.

  • Tambahkan aturan ke grup keamanan untuk mengotorisasi akses tambahan.

  • Luncurkan sebuah instans EC2. Anda membuat dan memasang sistem EFS file pada instance ini di langkah berikutnya.

Langkah 1.1: Buat dua grup keamanan

Di bagian ini, Anda membuat grup keamanan di EC2 instans Anda dan EFS memasang target. VPC Kemudian dalam tutorial, Anda menetapkan grup keamanan ini ke EC2 instance dan target EFS mount. Untuk informasi tentang grup keamanan, lihat Grup EC2 keamanan Amazon untuk instans Linux.

Untuk membuat grup keamanan
  1. Buat dua grup keamanan menggunakan create-security-group CLI perintah:

    1. Buat grup keamanan (efs-walkthrough1-ec2-sg) untuk EC2 instans Anda, dan berikan VPC ID Anda.

      $ 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

      Tuliskan ID grup keamanan. Berikut ini adalah contoh respons.

      { "GroupId": "sg-aexample" }

      Anda dapat menemukan VPC ID menggunakan perintah berikut.

      $ aws ec2 describe-vpcs

    2. Buat grup keamanan (efs-walkthrough1-mt-sg) untuk target EFS pemasangan Anda. Anda harus memberikan VPC ID Anda.

      $ 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

      Tuliskan ID grup keamanan. Berikut ini adalah contoh respons.

      { "GroupId": "sg-aexample" }
  2. Verifikasi grup keamanan.

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

    Keduanya seharusnya hanya memiliki satu aturan keluar yang memungkinkan semua lalu lintas pergi.

    Di bagian selanjutnya, Anda mengotorisasi akses tambahan yang memungkinkan hal berikut:

    • Memungkinkan Anda untuk terhubung ke EC2 instans Anda.

    • Aktifkan lalu lintas antara EC2 instance dan target EFS mount (yang dengannya Anda mengaitkan grup keamanan ini nanti dalam tutorial ini).

Langkah 1.2: Tambahkan aturan ke grup keamanan untuk mengotorisasi akses masuk/keluar

Pada langkah ini, Anda menambahkan aturan ke grup keamanan untuk mengotorisasi akses masuk/keluar.

Untuk menambahkan aturan
  1. Otorisasi koneksi Secure Shell (SSH) yang masuk ke grup keamanan untuk EC2 instance (efs-walkthrough1-ec2-sg) Anda sehingga Anda dapat terhubung ke EC2 instans menggunakan SSH dari host mana pun.

    $ 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

    Verifikasi bahwa grup keamanan memiliki aturan masuk dan keluar yang Anda tambahkan.

    aws ec2 describe-security-groups \ --region us-west-2 \ --profile adminuser \ --group-id security-group-id
  2. Otorisasi akses masuk ke grup keamanan untuk target EFS mount ()efs-walkthrough1-mt-sg.

    Pada prompt perintah, jalankan AWS CLI authorize-security-group-ingress perintah berikut menggunakan profil adminuser untuk menambahkan aturan masuk.

    $ 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
  3. Verifikasi bahwa kedua grup keamanan sekarang mengotorisasi akses masuk.

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

Langkah 1.3: Luncurkan sebuah EC2 instance

Pada langkah ini, Anda meluncurkan sebuah EC2 instance.

Untuk meluncurkan sebuah EC2 instance
  1. Kumpulkan informasi berikut yang perlu Anda berikan saat meluncurkan EC2 instance:

    • Nama pasangan kunci. Untuk petunjuk membuat key pair, lihat Membuat key pair untuk EC2 instans Amazon Anda di Panduan EC2 Pengguna Amazon.

    • ID Amazon Machine Image (AMI) yang ingin Anda luncurkan.

      AWS CLI Perintah yang Anda gunakan untuk meluncurkan EC2 instance memerlukan ID Amazon Machine Image (AMI) yang ingin Anda gunakan sebagai parameter. Latihan ini menggunakan Amazon Linux HVMAMI.

      catatan

      Anda dapat menggunakan sebagian besar tujuan umum berbasis LinuxAMIs. Jika Anda menggunakan Linux lainAMI, pastikan Anda menggunakan manajer paket distribusi Anda untuk menginstal NFS klien pada instance. Juga, Anda mungkin perlu menambahkan paket perangkat lunak saat Anda membutuhkannya.

      Untuk Amazon Linux HVMAMI, Anda dapat menemukan yang terbaru IDs di Amazon Linux AMI. Anda memilih nilai ID dari AMI IDs tabel Amazon Linux sebagai berikut:

      • Pilih wilayah Oregon Barat AS. Panduan ini mengasumsikan Anda membuat semua sumber daya di Wilayah AS Barat (Oregon) (us-west-2).

      • Pilih tipe HVM64-bit yang EBS didukung (karena dalam CLI perintah Anda menentukan jenis t2.micro instance, yang tidak mendukung penyimpanan instance).

    • ID grup keamanan yang Anda buat untuk sebuah EC2 instance.

    • Wilayah AWS. Panduan ini menggunakan wilayah us-west-2.

    • ID VPC subnet Anda di mana Anda ingin meluncurkan instance. Anda bisa mendapatkan daftar subnet menggunakan describe-subnets perintah.

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

      Setelah Anda memilih ID subnet, tuliskan nilai berikut dari describe-subnets hasilnya:

      • Subnet ID - Anda memerlukan nilai ini saat membuat target mount. Dalam latihan ini, Anda membuat target mount di subnet yang sama tempat Anda meluncurkan EC2 instance.

      • Availability Zone dari subnet — Anda memerlukan nilai ini untuk membangun DNS nama target mount Anda, yang Anda gunakan untuk me-mount sistem file pada EC2 instance.

  2. Jalankan AWS CLI run-instances perintah berikut untuk meluncurkan sebuah EC2 instance.

    $ 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
  3. Tuliskan ID instance yang dikembalikan oleh run-instances perintah.

  4. EC2Instance yang Anda buat harus memiliki DNS nama publik yang Anda gunakan untuk terhubung ke EC2 instance dan memasang sistem file di atasnya. DNSNama publik adalah dari bentuk:

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

    Jalankan CLI perintah berikut dan tuliskan DNS nama publik.

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

    Jika Anda tidak menemukan DNS nama publik, periksa konfigurasi VPC tempat Anda meluncurkan EC2 instance. Untuk informasi selengkapnya, lihat Prasyarat.

  5. (Opsional) Tetapkan nama ke EC2 instance yang Anda buat. Untuk melakukannya, tambahkan tag dengan nama kunci dan nilai yang disetel ke nama yang ingin Anda tetapkan ke instance. Anda melakukan ini dengan menjalankan AWS CLI create-tags perintah berikut.

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

Langkah 2: Buat EFS sumber daya

Dalam langkah ini, Anda melakukan hal berikut:

  • Buat sistem EFS file terenkripsi.

  • Aktifkan manajemen siklus hidup.

  • Buat target pemasangan di Availability Zone tempat EFS instans Anda diluncurkan.

Langkah 2.1: Buat sistem EFS file

Pada langkah ini, Anda membuat sistem EFS file. Tuliskan FileSystemId yang akan digunakan nanti saat Anda membuat target mount untuk sistem file di langkah berikutnya.

Untuk membuat sistem file
  • Buat sistem file dengan Name tag opsional.

    1. Pada prompt perintah, jalankan AWS CLI create-file-system perintah berikut.

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

      Anda mendapatkan tanggapan berikut.

      { "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" } ] }
    2. Perhatikan FileSystemId nilainya. Anda memerlukan nilai ini saat Anda membuat target mount untuk sistem file ini diLangkah 2.3: Buat target mount.

Langkah 2.2: Aktifkan manajemen siklus hidup

Pada langkah ini, Anda mengaktifkan manajemen siklus hidup pada sistem file Anda untuk menggunakan kelas penyimpanan Akses EFS Jarang (IA). Untuk mempelajari selengkapnya, lihat Mengelola siklus hidup penyimpanan untuk sistem file EFS dan EFSkelas penyimpanan.

Untuk mengaktifkan manajemen siklus hidup
  • Pada prompt perintah, jalankan AWS CLI put-lifecycle-configuration perintah berikut.

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

    Anda mendapatkan tanggapan berikut.

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

Langkah 2.3: Buat target mount

Pada langkah ini, Anda membuat target mount untuk sistem file Anda di Availability Zone tempat EC2 instans Anda diluncurkan.

  1. Pastikan Anda memiliki informasi berikut:

    • ID sistem file (misalnya,fs-example) tempat Anda membuat target mount.

    • VPCsubnet ID tempat Anda meluncurkan EC2 instance. Langkah 1: Buat EC2 sumber daya

      Untuk tutorial ini, Anda membuat target mount di subnet yang sama di mana Anda meluncurkan EC2 instance, jadi Anda memerlukan ID subnet (misalnya,subnet-example).

    • ID grup keamanan yang Anda buat untuk target pemasangan pada langkah sebelumnya.

  2. Pada prompt perintah, jalankan AWS CLI create-mount-target perintah berikut.

    $ 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

    Anda mendapatkan tanggapan berikut.

    { "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" }
  3. Anda juga dapat menggunakan describe-mount-targets perintah untuk mendapatkan deskripsi target mount yang Anda buat pada sistem file.

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

Langkah 3: Pasang sistem file pada EC2 instance dan uji

Dalam langkah ini, Anda melakukan hal berikut:

  • Kumpulkan informasi yang diperlukan.

  • Instal NFS klien pada EC2 instance Anda.

  • Pasang sistem file pada EC2 instance dan uji Anda.

Langkah 3.1: Kumpulkan Informasi

Pastikan Anda memiliki informasi berikut saat Anda mengikuti langkah-langkah di bagian ini:

  • DNSNama publik EC2 instans Anda dalam format berikut:

    ec2-xx-xxx-xxx-xx.aws-region.compute.amazonaws.com
  • DNSnama sistem file Anda. Anda dapat membuat DNS nama ini menggunakan formulir generik berikut:

    file-system-id.efs.aws-region.amazonaws.com

    EC2Contoh di mana Anda memasang sistem file dengan menggunakan target mount dapat menyelesaikan DNS nama sistem file ke alamat IP target mount.

catatan

Amazon EFS tidak mengharuskan EC2 instans Anda memiliki alamat IP publik atau DNS nama publik. Persyaratan yang tercantum sebelumnya hanya untuk contoh panduan ini untuk memastikan bahwa Anda dapat terhubung dengan menggunakan SSH instance dari luar. VPC

Langkah 3.2: Instal NFS klien pada EC2 instans Anda

Anda dapat terhubung ke EC2 instans Anda dari Windows atau dari komputer yang menjalankan Linux, atau macOS X, atau varian Unix lainnya.

Untuk menginstal NFS klien
  1. Terhubung ke instans EC2 Anda. Untuk informasi selengkapnya, lihat Connect ke EC2 instans Anda di Panduan EC2 Pengguna Amazon.

  2. Jalankan perintah berikut pada EC2 instance dengan menggunakan SSH sesi:

    1. (Opsional) Dapatkan pembaruan dan reboot.

      $ sudo yum -y update $ sudo reboot

      Setelah reboot, sambungkan kembali ke EC2 instans Anda.

    2. Instal NFS klien.

      $ sudo yum -y install nfs-utils
      catatan

      Jika Anda memilih Amazon Linux AMI 2016.03.0 Amazon AMI Linux saat meluncurkan instans EC2 Anda, Anda tidak perlu nfs-utils menginstal karena sudah termasuk dalam secara defaultAMI.

Langkah 3.3: Pasang sistem file pada EC2 instans Anda dan uji

Sekarang Anda me-mount sistem file pada EC2 instance Anda.

  1. Buat direktori (” efs-mount-point “).

    $ mkdir ~/efs-mount-point
  2. Pasang sistem EFS file.

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

    EC2Instance dapat menyelesaikan DNS nama target mount ke alamat IP. Anda dapat secara opsional menentukan alamat IP dari target mount secara langsung.

    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point
  3. Sekarang setelah Anda memiliki sistem EFS file yang terpasang pada EC2 instance Anda, Anda dapat membuat file.

    1. Ubah direktori.

      $ cd ~/efs-mount-point
    2. Daftar isi direktori.

      $ ls -al

      Itu harus kosong.

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

    3. Direktori root dari sistem file, setelah pembuatan, dimiliki oleh dan dapat ditulis oleh pengguna root, jadi Anda perlu mengubah izin untuk menambahkan file.

      $ sudo chmod go+rw .

      Sekarang, jika Anda mencoba ls -al perintah, Anda melihat bahwa izin telah berubah.

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

      $ touch test-file.txt
    5. Daftar konten direktori.

      $ ls -l

Anda sekarang telah berhasil membuat dan memasang sistem EFS file pada EC2 instance Anda di file AndaVPC.

Sistem file yang Anda pasang tidak bertahan selama reboot. Untuk secara otomatis memasang kembali direktori, Anda dapat menggunakan file tersebut. fstab Jika Anda menggunakan grup Auto Scaling untuk meluncurkan EC2 instance, Anda juga dapat mengatur skrip dalam konfigurasi peluncuran.

Langkah 4: Membersihkan

Jika Anda tidak lagi membutuhkan sumber daya yang Anda buat, Anda harus menghapusnya. Anda dapat melakukan ini denganCLI.

  • Hapus EC2 sumber daya (EC2contoh dan dua kelompok keamanan). Amazon EFS menghapus antarmuka jaringan saat Anda menghapus target pemasangan.

  • Hapus EFS sumber daya (sistem file, pasang target).

Untuk menghapus AWS sumber daya yang dibuat dalam panduan ini
  1. Hentikan EC2 instance yang Anda buat untuk tutorial ini.

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

    Anda juga dapat menghapus EC2 sumber daya menggunakan konsol. Untuk petunjuk, lihat Mengakhiri instance.

  2. Hapus target pemasangan.

    Anda harus menghapus target mount yang dibuat untuk sistem file sebelum menghapus sistem file. Anda bisa mendapatkan daftar target mount dengan menggunakan describe-mount-targets CLI perintah.

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

    Kemudian hapus target mount dengan menggunakan delete-mount-target CLI perintah.

    $ aws efs delete-mount-target \ --mount-target-id ID-of-mount-target-to-delete \ --profile adminuser \ --region aws-region
  3. (Opsional) Hapus dua grup keamanan yang Anda buat. Anda tidak membayar untuk membuat grup keamanan.

    Anda harus menghapus grup keamanan target mount terlebih dahulu, sebelum menghapus grup keamanan EC2 instans. Grup keamanan target mount memiliki aturan yang mereferensikan grup EC2 keamanan. Oleh karena itu, Anda tidak dapat menghapus grup keamanan EC2 instans terlebih dahulu.

    Untuk petunjuknya, lihat Menghapus grup keamanan Anda di Panduan EC2 Pengguna Amazon.

  4. Hapus sistem file dengan menggunakan delete-file-system CLI perintah. Anda bisa mendapatkan daftar sistem file Anda dengan menggunakan describe-file-systems CLI perintah. Anda bisa mendapatkan ID sistem file dari respons.

    aws efs describe-file-systems \ --profile adminuser \ --region aws-region

    Hapus sistem file dengan memberikan ID sistem file.

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