Aktifkan Wawasan Lambda pada penerapan gambar kontainer Lambda - Amazon CloudWatch

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

Aktifkan Wawasan Lambda pada penerapan gambar kontainer Lambda

Untuk mengaktifkan Wawasan Lambda pada fungsi Lambda yang di-deploy sebagai image kontainer, tambahkan baris di Dockerfile Anda. Baris-baris ini akan melakukan instalasi agen Wawasan Lambda sebagai sebuah ekstensi dalam image kontainer Anda. Garis yang akan ditambahkan berbeda untuk wadah dan wadah x86-64. ARM64

catatan

Agen Wawasan Lambda hanya didukung pada runtime Lambda yang menggunakan Amazon Linux 2.

Deployment image kontainer x86-64

Untuk mengaktifkan Wawasan Lambda pada fungsi Lambda yang di-deploy sebagai image kontainer yang berjalan pada kontainer x86-64, tambahkan baris di bawah ini ke Dockfire Anda. Baris-baris ini akan melakukan instalasi agen Wawasan Lambda sebagai sebuah ekstensi dalam image kontainer Anda.

RUN curl -O https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm && \ rpm -U lambda-insights-extension.rpm && \ rm -f lambda-insights-extension.rpm

Setelah Anda membuat fungsi Lambda, tetapkan CloudWatchLambdaInsightsExecutionRolePolicyIAMkebijakan ke peran eksekusi fungsi, dan Lambda Insights diaktifkan pada fungsi Lambda berbasis gambar container.

catatan

Untuk menggunakan versi lama ekstensi Lambda Insights, ganti perintah sebelumnya dengan ini:. URL URL https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.1.0.111.0.rpm Saat ini, hanya Wawasan Lambda versi 1.0.111.0 dan versi selanjutnya yang tersedia. Untuk informasi selengkapnya, lihat Versi yang tersedia untuk ekstensi Wawasan lambda..

Verifikasi ciri khas paket agen Wawasan Lambda pada sebuah server Linux
  1. Masukkan perintah berikut untuk mengunduh kunci publik.

    shell$ wget https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/lambda-insights-extension.gpg
  2. Masukkan perintah berikut untuk mengimpor kunci publik ke dalam keyring Anda.

    shell$ gpg --import lambda-insights-extension.gpg

    Hasil akhirnya akan serupa dengan yang berikut ini. Catat nilai key, Anda akan membutuhkannya pada langkah berikutnya. Dalam contoh hasil akhir ini, nilai kunci adalah 848ABDC8.

    gpg: key 848ABDC8: public key "Amazon Lambda Insights Extension" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
  3. Verifikasi sidik jari dengan memasukkan perintah berikut. Ganti key-value dengan nilai kunci dari langkah sebelumnya.

    shell$ gpg --fingerprint key-value

    String sidik jari di hasil akhir perintah ini seharusnya E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8. Jika string sidik jari tidak cocok, jangan instal agen dan hubungi AWS.

  4. Setelah Anda memverifikasi sidik jari, Anda dapat menggunakannya untuk memverifikasi paket agen Wawasan Lambda. Unduh berkas tanda pembeda standar paket dengan memasukkan perintah berikut.

    shell$ wget https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm.sig
  5. Verifikasi tanda pembeda dengan memasukkan perintah berikut.

    shell$ gpg --verify lambda-insights-extension.rpm.sig lambda-insights-extension.rpm

    Output-nya akan terlihat seperti berikut ini:

    gpg: Signature made Thu 08 Apr 2021 06:41:00 PM UTC using RSA key ID 848ABDC8 gpg: Good signature from "Amazon Lambda Insights Extension" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8

    Dalam output yang diharapkan, mungkin ada peringatan tentang tanda pembeda yang terpercaya. Kunci hanya dapat dipercaya jika Anda atau seseorang yang Anda percaya telah menandatanganinya. Ini tidak berarti bahwa tanda pembeda Anda tidak valid, hanya saja Anda belum memverifikasi kunci publiknya.

    Jika outputnya berisi BAD signature, periksa apakah Anda melakukan langkah-langkahnya dengan benar. Jika Anda terus mendapatkan BAD signature respons, hubungi AWS dan hindari menggunakan file yang diunduh.

Contoh x86-64

Bagian ini mencakup satu contoh pengaktifan Wawasan Lambda pada fungsi Lambda Python berbasis citra kontainer.

Contoh pengaktifan Wawasan Lambda pada citra kontainer Lambda
  1. Buat sebuah Dockerfile yang mirip dengan berikut ini:

    FROM public.ecr.aws/lambda/python:3.8 // extra lines to install the agent here RUN curl -O https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm && \ rpm -U lambda-insights-extension.rpm && \ rm -f lambda-insights-extension.rpm COPY index.py ${LAMBDA_TASK_ROOT} CMD [ "index.handler" ]
  2. Buat sebuah file Python bernama index.py yang serupa dengan yang berikut ini:

    def handler(event, context): return { 'message': 'Hello World!' }
  3. Masukan Dockerfile dan index.py dalam direktori yang sama. Kemudian, di direktori itu, jalankan langkah-langkah berikut untuk membangun image docker dan mengunggahnya ke Amazon. ECR

    // create an ECR repository aws ecr create-repository --repository-name test-repository // build the docker image docker build -t test-image . // sign in to AWS aws ecr get-login-password | docker login --username AWS --password-stdin "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com // tag the image docker tag test-image:latest "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest // push the image to ECR docker push "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
  4. Gunakan ECR gambar Amazon yang baru saja Anda buat untuk membuat fungsi Lambda.

  5. Tetapkan CloudWatchLambdaInsightsExecutionRolePolicyIAMkebijakan ke peran eksekusi fungsi.

ARM64penyebaran gambar kontainer

Untuk mengaktifkan Lambda Insights pada fungsi Lambda yang diterapkan sebagai gambar kontainer yang berjalan pada wadah AL2 _aarch64 (yang menggunakan ARM64 arsitektur), tambahkan baris berikut di Dockerfile Anda. Baris-baris ini akan melakukan instalasi agen Wawasan Lambda sebagai sebuah ekstensi dalam image kontainer Anda.

RUN curl -O https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm && \ rpm -U lambda-insights-extension-arm64.rpm && \ rm -f lambda-insights-extension-arm64.rpm

Setelah Anda membuat fungsi Lambda, tetapkan CloudWatchLambdaInsightsExecutionRolePolicyIAMkebijakan ke peran eksekusi fungsi, dan Lambda Insights diaktifkan pada fungsi Lambda berbasis gambar container.

catatan

Untuk menggunakan versi lama ekstensi Lambda Insights, ganti perintah sebelumnya dengan ini:. URL URL https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.1.0.229.0.rpm Saat ini, hanya Wawasan Lambda versi 1.0.229.0 dan versi selanjutnya yang tersedia. Untuk informasi selengkapnya, lihat Versi yang tersedia untuk ekstensi Wawasan lambda..

Verifikasi ciri khas paket agen Wawasan Lambda pada sebuah server Linux
  1. Masukkan perintah berikut untuk mengunduh kunci publik.

    shell$ wget https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/lambda-insights-extension.gpg
  2. Masukkan perintah berikut untuk mengimpor kunci publik ke dalam keyring Anda.

    shell$ gpg --import lambda-insights-extension.gpg

    Hasil akhirnya akan serupa dengan yang berikut ini. Catat nilai key, Anda akan membutuhkannya pada langkah berikutnya. Dalam contoh hasil akhir ini, nilai kunci adalah 848ABDC8.

    gpg: key 848ABDC8: public key "Amazon Lambda Insights Extension" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
  3. Verifikasi sidik jari dengan memasukkan perintah berikut. Ganti key-value dengan nilai kunci dari langkah sebelumnya.

    shell$ gpg --fingerprint key-value

    String sidik jari di hasil akhir perintah ini seharusnya E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8. Jika string sidik jari tidak cocok, jangan instal agen dan hubungi AWS.

  4. Setelah Anda memverifikasi sidik jari, Anda dapat menggunakannya untuk memverifikasi paket agen Wawasan Lambda. Unduh berkas tanda pembeda standar paket dengan memasukkan perintah berikut.

    shell$ wget https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm.sig
  5. Verifikasi tanda pembeda dengan memasukkan perintah berikut.

    shell$ gpg --verify lambda-insights-extension-arm64.rpm.sig lambda-insights-extension-arm64.rpm

    Output-nya akan terlihat seperti berikut ini:

    gpg: Signature made Thu 08 Apr 2021 06:41:00 PM UTC using RSA key ID 848ABDC8 gpg: Good signature from "Amazon Lambda Insights Extension" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8

    Dalam output yang diharapkan, mungkin ada peringatan tentang tanda pembeda yang terpercaya. Kunci hanya dapat dipercaya jika Anda atau seseorang yang Anda percaya telah menandatanganinya. Ini tidak berarti bahwa tanda pembeda Anda tidak valid, hanya saja Anda belum memverifikasi kunci publiknya.

    Jika outputnya berisi BAD signature, periksa apakah Anda melakukan langkah-langkahnya dengan benar. Jika Anda terus mendapatkan BAD signature respons, hubungi AWS dan hindari menggunakan file yang diunduh.

ARM64Contoh

Bagian ini mencakup satu contoh pengaktifan Wawasan Lambda pada fungsi Lambda Python berbasis citra kontainer.

Contoh pengaktifan Wawasan Lambda pada citra kontainer Lambda
  1. Buat sebuah Dockerfile yang mirip dengan berikut ini:

    FROM public.ecr.aws/lambda/python:3.8 // extra lines to install the agent here RUN curl -O https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm && \ rpm -U lambda-insights-extension-arm64.rpm && \ rm -f lambda-insights-extension-arm64.rpm COPY index.py ${LAMBDA_TASK_ROOT} CMD [ "index.handler" ]
  2. Buat sebuah file Python bernama index.py yang serupa dengan yang berikut ini:

    def handler(event, context): return { 'message': 'Hello World!' }
  3. Masukan Dockerfile dan index.py dalam direktori yang sama. Kemudian, di direktori itu, jalankan langkah-langkah berikut untuk membangun image docker dan mengunggahnya ke Amazon. ECR

    // create an ECR repository aws ecr create-repository --repository-name test-repository // build the docker image docker build -t test-image . // sign in to AWS aws ecr get-login-password | docker login --username AWS --password-stdin "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com // tag the image docker tag test-image:latest "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest // push the image to ECR docker push "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
  4. Gunakan ECR gambar Amazon yang baru saja Anda buat untuk membuat fungsi Lambda.

  5. Tetapkan CloudWatchLambdaInsightsExecutionRolePolicyIAMkebijakan ke peran eksekusi fungsi.