

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

# Kustomisasi instance SageMaker notebook menggunakan skrip LCC
<a name="notebook-lifecycle-config"></a>

**penting**  
Kebijakan IAM khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika kebijakan IAM memungkinkan Studio dan Studio Classic membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat [Berikan izin untuk menandai sumber daya AI SageMaker](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS kebijakan terkelola untuk Amazon SageMaker AI](security-iam-awsmanpol.md)yang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.

*Konfigurasi siklus hidup* (LCC) menyediakan skrip shell yang berjalan hanya saat Anda membuat instance notebook atau kapan pun Anda memulainya. Saat membuat instance notebook, Anda dapat membuat LCC baru atau melampirkan LCC yang sudah Anda miliki. Skrip konfigurasi siklus hidup berguna untuk kasus penggunaan berikut:
+ Menginstal paket atau contoh notebook pada instance notebook
+ Mengkonfigurasi jaringan dan keamanan untuk instance notebook
+ Menggunakan skrip shell untuk menyesuaikan instance notebook

Anda juga dapat menggunakan skrip konfigurasi siklus hidup untuk mengakses AWS layanan dari buku catatan Anda. Misalnya, Anda dapat membuat skrip yang memungkinkan Anda menggunakan buku catatan untuk mengontrol AWS sumber daya lain, seperti instans EMR Amazon.

[Kami memelihara repositori publik skrip konfigurasi siklus hidup notebook yang menangani kasus penggunaan umum untuk menyesuaikan instance notebook di -. https://github.com/aws-samples/ amazon-sagemaker-notebook-instance lifecycle-config-samples](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples)

**catatan**  
Setiap skrip memiliki batas 16384 karakter.  
Nilai variabel `$PATH` lingkungan yang tersedia untuk kedua skrip adalah`/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin`. Direktori kerja, yang merupakan nilai variabel `$PWD` lingkungan, adalah`/`.  
Lihat CloudWatch Log untuk konfigurasi siklus hidup instance notebook di grup `/aws/sagemaker/NotebookInstances` log dalam aliran log. `[notebook-instance-name]/[LifecycleConfigHook]`  
Skrip tidak dapat berjalan lebih dari 5 menit. Jika skrip berjalan lebih dari 5 menit, skrip gagal dan instance notebook tidak dibuat atau dimulai. Untuk membantu mengurangi waktu berjalan skrip, coba yang berikut ini:  
Kurangi langkah-langkah yang diperlukan. Misalnya, batasi lingkungan conda mana untuk menginstal paket besar.
Jalankan tugas dalam proses paralel.
Gunakan `nohup` perintah dalam skrip Anda.

Anda dapat melihat daftar konfigurasi siklus hidup instans notebook yang sebelumnya dibuat dengan memilih konfigurasi **Siklus Hidup** di konsol AI. SageMaker Anda dapat melampirkan LCC instance notebook saat membuat instance notebook baru. Untuk informasi selengkapnya tentang membuat instance notebook, lihat[Membuat instance SageMaker notebook Amazon](howitworks-create-ws.md).

## Praktik Terbaik Konfigurasi Siklus Hidup
<a name="nbi-lifecycle-config-bp"></a>

Berikut ini adalah praktik terbaik untuk menggunakan konfigurasi siklus hidup:

**penting**  
Kami tidak menyarankan untuk menyimpan informasi sensitif dalam skrip konfigurasi siklus hidup Anda.

**penting**  
Skrip konfigurasi siklus hidup berjalan dengan akses root dan hak istimewa peran eksekusi IAM instance notebook, terlepas dari pengaturan akses root untuk pengguna notebook. Prinsipal dengan izin untuk membuat atau memodifikasi konfigurasi siklus hidup dan memperbarui instance notebook dapat mengeksekusi kode dengan kredensyal peran eksekusi. Untuk informasi selengkapnya, lihat [Kontrol akses root ke instance SageMaker notebook](nbi-root-access.md).
+ Konfigurasi siklus hidup berjalan sebagai pengguna. `root` Jika skrip Anda membuat perubahan dalam `/home/ec2-user/SageMaker` direktori, (misalnya, menginstal paket dengan`pip`), gunakan perintah `sudo -u ec2-user` untuk menjalankan sebagai `ec2-user` pengguna. Ini adalah pengguna yang sama yang dijalankan Amazon SageMaker AI.
+ SageMaker Instans notebook AI menggunakan `conda` lingkungan untuk mengimplementasikan kernel yang berbeda untuk notebook Jupyter. Jika Anda ingin menginstal paket yang tersedia untuk satu atau lebih kernel notebook, lampirkan perintah untuk menginstal paket dengan perintah `conda` lingkungan yang mengaktifkan lingkungan conda yang berisi kernel tempat Anda ingin menginstal paket.

  Misalnya, jika Anda ingin menginstal paket hanya untuk `python3` lingkungan, gunakan kode berikut:

  ```
  #!/bin/bash
  sudo -u ec2-user -i <<EOF
  
  # This will affect only the Jupyter kernel called "conda_python3".
  source activate python3
  
  # Replace {{myPackage}} with the name of the package you want to install.
  pip install {{myPackage}}
  # You can also perform "conda install" here as well.
  
  source deactivate
  
  EOF
  ```

  Jika Anda ingin menginstal paket di semua lingkungan conda dalam instance notebook, gunakan kode berikut:

  ```
  #!/bin/bash
  sudo -u ec2-user -i <<EOF
  
  # Note that "base" is special environment name, include it there as well.
  for env in base /home/ec2-user/anaconda3/envs/*; do
      source /home/ec2-user/anaconda3/bin/activate $(basename "$env")
  
      # Installing packages in the Jupyter system environment can affect stability of your SageMaker
      # Notebook Instance.  You can remove this check if you'd like to install Jupyter extensions, etc.
      if [ $env = 'JupyterSystemEnv' ]; then
        continue
      fi
  
      # Replace {{myPackage}} with the name of the package you want to install.
      pip install --upgrade --quiet {{myPackage}}
      # You can also perform "conda install" here as well.
  
      source /home/ec2-user/anaconda3/bin/deactivate
  done
  
  EOF
  ```
+ Anda harus menyimpan semua lingkungan conda di folder lingkungan default (/home/user/anaconda3/envs).

**penting**  
Saat Anda membuat atau mengubah skrip, sebaiknya gunakan editor teks yang menyediakan jeda baris bergaya Unix, seperti editor teks yang tersedia di konsol saat Anda membuat buku catatan. Menyalin teks dari sistem operasi non-Linux mungkin menyebabkan jeda baris yang tidak kompatibel dan mengakibatkan kesalahan yang tidak terduga.