Instal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya manual - AWS IoT Greengrass

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

Instal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya manual

Perangkat lunak AWS IoT Greengrass Core mencakup penginstal yang mengatur perangkat Anda sebagai perangkat inti Greengrass. Untuk mengatur perangkat secara manual, Anda dapat membuat sumber daya yang diperlukan AWS IoT dan IAM untuk digunakan perangkat. Jika Anda membuat sumber daya ini secara manual, Anda tidak perlu memberikan AWS kredensi kepada penginstal.

Saat Anda menginstal perangkat lunak AWS IoT Greengrass Core secara manual, Anda juga dapat mengonfigurasi perangkat untuk menggunakan proxy jaringan atau terhubung ke AWS port 443. Anda mungkin perlu menentukan opsi konfigurasi ini jika perangkat berjalan di belakang firewall atau proksi jaringan, misalnya. Untuk informasi selengkapnya, lihat Hubungkan pada port 443 atau melalui proksi jaringan.

Anda juga dapat mengonfigurasi perangkat lunak AWS IoT Greengrass Core untuk menggunakan modul keamanan perangkat keras (HSM) melalui antarmuka PKCS #11. Fitur ini memungkinkan Anda menyimpan file kunci pribadi dan sertifikat dengan aman sehingga tidak terekspos atau digandakan dalam perangkat lunak. Anda dapat menyimpan kunci pribadi dan sertifikat pada modul perangkat keras seperti HSM, Trusted Platform Module (TPM), atau elemen kriptografi lainnya. Fitur ini hanya tersedia di perangkat Linux. Untuk informasi selengkapnya tentang keamanan perangkat keras dan persyaratan untuk menggunakannya, lihatIntegrasi keamanan perangkat keras.

penting

Sebelum Anda mengunduh perangkat lunak AWS IoT Greengrass Core, periksa apakah perangkat inti Anda memenuhi persyaratan untuk menginstal dan menjalankan perangkat lunak AWS IoT Greengrass Core v2.0.

Ambil titik akhir AWS IoT

Dapatkan AWS IoT titik akhir untuk Anda Akun AWS, dan simpan untuk digunakan nanti. Perangkat Anda menggunakan titik akhir ini untuk tersambung ke AWS IoT. Lakukan hal-hal berikut:

  1. Dapatkan titik akhir AWS IoT data untuk Anda Akun AWS.

    aws iot describe-endpoint --endpoint-type iot:Data-ATS

    Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

    { "endpointAddress": "device-data-prefix-ats.iot.us-west-2.amazonaws.com" }
  2. Dapatkan titik akhir AWS IoT kredensial untuk Anda. Akun AWS

    aws iot describe-endpoint --endpoint-type iot:CredentialProvider

    Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

    { "endpointAddress": "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" }

Buat AWS IoT sesuatu

AWS IoT hal-hal mewakili perangkat dan entitas logis yang terhubung ke AWS IoT. Perangkat inti Greengrass adalah benda. AWS IoT Saat Anda mendaftarkan perangkat sebagai AWS IoT sesuatu, perangkat tersebut dapat menggunakan sertifikat digital untuk mengautentikasi. AWS

Di bagian ini, Anda membuat AWS IoT sesuatu yang mewakili perangkat Anda.

Untuk menciptakan AWS IoT sesuatu
  1. Buat AWS IoT sesuatu untuk perangkat Anda. Pada komputer pengembangan Anda, jalankan perintah berikut.

    • Ganti MyGreengrassCore dengan nama benda yang akan digunakan. Nama ini juga merupakan nama perangkat inti Greengrass Anda.

      catatan

      Nama objek tidak dapat berisi karakter titik dua (:).

    aws iot create-thing --thing-name MyGreengrassCore

    Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

    { "thingName": "MyGreengrassCore", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "thingId": "8cb4b6cd-268e-495d-b5b9-1713d71dbf42" }
  2. (Opsional) Tambahkan AWS IoT benda ke grup hal baru atau yang sudah ada. Anda menggunakan grup objek untuk mengelola armada perangkat inti Greengrass. Saat menerapkan komponen perangkat lunak ke perangkat, Anda dapat menargetkan perangkat individual atau grup perangkat. Anda dapat menambahkan suatu perangkat ke grup objek dengan deployment Greengrass aktif untuk men-deploy komponen perangkat lunak grup objek tersebut ke perangkat. Lakukan hal-hal berikut:

    1. (Opsional) Buat grup AWS IoT benda.

      • Ganti MyGreengrassCoreGroupdengan nama grup benda yang akan dibuat.

        catatan

        Nama grup objek tidak dapat berisi karakter titik dua (:).

      aws iot create-thing-group --thing-group-name MyGreengrassCoreGroup

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      { "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" }
    2. Tambahkan AWS IoT benda itu ke grup benda.

      • Ganti MyGreengrassCore dengan nama AWS IoT barang Anda.

      • Ganti MyGreengrassCoreGroupdengan nama grup benda.

      aws iot add-thing-to-thing-group --thing-name MyGreengrassCore --thing-group-name MyGreengrassCoreGroup

      Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

Buat sertifikat benda

Saat Anda mendaftarkan perangkat sebagai AWS IoT sesuatu, perangkat tersebut dapat menggunakan sertifikat digital untuk mengautentikasi. AWS Sertifikat ini memungkinkan perangkat untuk berkomunikasi dengan AWS IoT dan AWS IoT Greengrass.

Di bagian ini, Anda membuat dan mengunduh sertifikat yang dapat digunakan perangkat Anda untuk terhubung AWS.

Jika Anda ingin mengonfigurasi perangkat lunak AWS IoT Greengrass Core untuk menggunakan modul keamanan perangkat keras (HSM) untuk menyimpan kunci pribadi dan sertifikat dengan aman, ikuti langkah-langkah untuk membuat sertifikat dari kunci pribadi di HSM. Jika tidak, ikuti langkah-langkah untuk membuat sertifikat dan kunci pribadi dalam AWS IoT layanan. Fitur keamanan perangkat keras hanya tersedia di perangkat Linux. Untuk informasi selengkapnya tentang keamanan perangkat keras dan persyaratan untuk menggunakannya, lihatIntegrasi keamanan perangkat keras.

Buat sertifikat dan kunci pribadi dalam AWS IoT layanan

Untuk membuat sertifikat benda
  1. Buat folder tempat Anda mengunduh sertifikat untuk AWS IoT benda itu.

    mkdir greengrass-v2-certs
  2. Buat dan unduh sertifikat untuk AWS IoT benda itu.

    aws iot create-keys-and-certificate --set-as-active --certificate-pem-outfile greengrass-v2-certs/device.pem.crt --public-key-outfile greengrass-v2-certs/public.pem.key --private-key-outfile greengrass-v2-certs/private.pem.key

    Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

    { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\ MIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\ MMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\ 59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\ hJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\ FQIDAQAB\ -----END PUBLIC KEY-----\ ", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\ key omitted for security reasons\ -----END RSA PRIVATE KEY-----\ " } }

    Simpan Nama Sumber Daya Amazon (ARN) sertifikat yang akan digunakan untuk mengonfigurasi sertifikat nanti.

Buat sertifikat dari kunci pribadi di HSM

catatan

Fitur ini tersedia untuk v2.5.3 dan yang lebih baru dari komponen inti Greengrass. AWS IoT Greengrass saat ini tidak mendukung fitur ini di perangkat inti Windows.

Untuk membuat sertifikat benda
  1. Pada perangkat inti, inisialisasi token PKCS #11 di HSM, dan buat kunci pribadi. Kunci pribadi harus berupa kunci RSA dengan ukuran kunci RSA-2048 (atau lebih besar) atau kunci ECC.

    catatan

    Untuk menggunakan modul keamanan perangkat keras dengan kunci ECC, Anda harus menggunakan Greengrass nucleus v2.5.6 atau yang lebih baru.

    Untuk menggunakan modul keamanan perangkat keras dan manajer rahasia, Anda harus menggunakan modul keamanan perangkat keras dengan kunci RSA.

    Periksa dokumentasi untuk HSM Anda untuk mempelajari cara menginisialisasi token dan menghasilkan kunci pribadi. Jika HSM Anda mendukung ID objek, tentukan ID objek saat Anda membuat kunci pribadi. Simpan ID slot, PIN pengguna, label objek, ID objek (jika HSM Anda menggunakan satu) yang Anda tentukan saat Anda menginisialisasi token dan menghasilkan kunci pribadi. Anda menggunakan nilai-nilai ini nanti ketika Anda mengimpor sertifikat hal ke HSM dan mengkonfigurasi perangkat lunak AWS IoT Greengrass Core.

  2. Buat permintaan penandatanganan sertifikat (CSR) dari kunci pribadi. AWS IoT menggunakan CSR ini untuk membuat sertifikat sesuatu untuk kunci pribadi yang Anda buat di HSM. Untuk informasi tentang cara membuat CSR dari kunci pribadi, lihat dokumentasi untuk HSM Anda. CSR adalah file, sepertiiotdevicekey.csr.

  3. Salin CSR dari perangkat ke komputer pengembangan Anda. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakan scp perintah di komputer pengembangan Anda untuk mentransfer CSR. Ganti device-ip-address dengan alamat IP perangkat Anda, dan ganti ~/iotdevicekey.csr dengan path ke file CSR di perangkat.

    scp device-ip-address:~/iotdevicekey.csr iotdevicekey.csr
  4. Di komputer pengembangan Anda, buat folder tempat Anda mengunduh sertifikat untuk AWS IoT benda itu.

    mkdir greengrass-v2-certs
  5. Gunakan file CSR untuk membuat dan mengunduh sertifikat untuk AWS IoT hal itu ke komputer pengembangan Anda.

    aws iot create-certificate-from-csr --set-as-active --certificate-signing-request=file://iotdevicekey.csr --certificate-pem-outfile greengrass-v2-certs/device.pem.crt

    Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

    { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----" }

    Simpan ARN sertifikat untuk digunakan untuk mengonfigurasi sertifikat nanti.

Konfigurasikan sertifikat benda

Lampirkan sertifikat benda ke AWS IoT benda yang Anda buat sebelumnya, dan tambahkan AWS IoT kebijakan ke sertifikat untuk menentukan AWS IoT izin untuk perangkat inti.

Untuk mengkonfigurasi sertifikat benda
  1. Lampirkan sertifikat ke AWS IoT benda itu.

    • Ganti MyGreengrassCore dengan nama AWS IoT barang Anda.

    • Ganti Amazon Resource Name (ARN) sertifikat dengan ARN sertifikat yang Anda buat pada langkah sebelumnya.

    aws iot attach-thing-principal --thing-name MyGreengrassCore --principal arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

    Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

  2. Buat dan lampirkan AWS IoT kebijakan yang menentukan AWS IoT izin untuk perangkat inti Greengrass Anda. Kebijakan berikut memungkinkan akses ke semua topik MQTT dan operasi Greengrass, sehingga perangkat Anda bekerja dengan aplikasi kustom dan perubahan di masa mendatang yang memerlukan operasi Greengrass baru. Anda dapat membatasi kebijakan ini berdasarkan kasus penggunaan Anda. Untuk informasi selengkapnya, lihat Kebijakan AWS IoT minimal untuk perangkat inti AWS IoT Greengrass V2.

    Jika Anda telah menyiapkan perangkat inti Greengrass sebelumnya, Anda dapat melampirkan AWS IoT kebijakannya alih-alih membuat yang baru.

    Lakukan hal-hal berikut:

    1. Buat file yang berisi dokumen AWS IoT kebijakan yang dibutuhkan perangkat inti Greengrass.

      Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      nano greengrass-v2-iot-policy.json

      Salin JSON berikut ke dalam file.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect", "greengrass:*" ], "Resource": [ "*" ] } ] }
    2. Buat AWS IoT kebijakan dari dokumen kebijakan.

      • Ganti GreenGrassV2IoT ThingPolicy dengan nama kebijakan yang akan dibuat.

      aws iot create-policy --policy-name GreengrassV2IoTThingPolicy --policy-document file://greengrass-v2-iot-policy.json

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      { "policyName": "GreengrassV2IoTThingPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassV2IoTThingPolicy", "policyDocument": "{ \\"Version\\": \\"2012-10-17\\", \\"Statement\\": [ { \\"Effect\\": \\"Allow\\", \\"Action\\": [ \\"iot:Publish\\", \\"iot:Subscribe\\", \\"iot:Receive\\", \\"iot:Connect\\", \\"greengrass:*\\" ], \\"Resource\\": [ \\"*\\" ] } ] }", "policyVersionId": "1" }
    3. Lampirkan AWS IoT kebijakan ke sertifikat AWS IoT benda itu.

      • Ganti GreenGrassV2IoT ThingPolicy dengan nama kebijakan yang akan dilampirkan.

      • Ganti ARN target dengan ARN sertifikat untuk objek AWS IoT Anda.

      aws iot attach-policy --policy-name GreengrassV2IoTThingPolicy --target arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

      Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

Buat peran pertukaran token

Perangkat inti Greengrass menggunakan peran layanan IAM, yang disebut peran pertukaran token, untuk mengotorisasi panggilan ke layanan. AWS Perangkat menggunakan penyedia AWS IoT kredensional untuk mendapatkan AWS kredensi sementara untuk peran ini, yang memungkinkan perangkat berinteraksi, mengirim log ke Amazon Log AWS IoT, dan mengunduh CloudWatch artefak komponen khusus dari Amazon S3. Untuk informasi selengkapnya, lihat Otorisasi perangkat inti untuk berinteraksi dengan AWS layanan.

Anda menggunakan alias AWS IoT peran untuk mengonfigurasi peran pertukaran token untuk perangkat inti Greengrass. Alias peran memungkinkan Anda mengubah peran pertukaran token untuk suatu perangkat tetapi menjaga konfigurasi perangkat tetap sama. Untuk informasi selengkapnya, lihat Mengotorisasi panggilan langsung ke layanan AWS di Panduan Developer AWS IoT Core .

Di bagian ini, Anda membuat peran IAM pertukaran token dan alias AWS IoT peran yang menunjuk ke peran tersebut. Jika Anda telah menyiapkan perangkat inti Greengrass, Anda dapat menggunakan peran pertukaran token dan alias peran alih-alih membuat yang baru. Kemudian, Anda mengonfigurasi objek AWS IoT untuk menggunakan peran dan alias itu.

Buat peran pertukaran token IAM role
  1. Buat peran IAM yang dapat digunakan perangkat Anda sebagai peran pertukaran token. Lakukan hal-hal berikut:

    1. Buat file yang berisi dokumen kebijakan kepercayaan yang memerlukan peran pertukaran token.

      Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      nano device-role-trust-policy.json

      Salin JSON berikut ke dalam file.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Buat peran pertukaran token dengan dokumen kebijakan kepercayaan.

      • Ganti GreenGrassV2 TokenExchange Role dengan nama peran IAM yang akan dibuat.

      aws iam create-role --role-name GreengrassV2TokenExchangeRole --assume-role-policy-document file://device-role-trust-policy.json

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      { "Role": { "Path": "/", "RoleName": "GreengrassV2TokenExchangeRole", "RoleId": "AROAZ2YMUHYHK5OKM77FB", "Arn": "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole", "CreateDate": "2021-02-06T00:13:29+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } }
    3. Buat file yang berisi dokumen kebijakan akses yang diperlukan oleh peran pertukaran token.

      Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      nano device-role-access-policy.json

      Salin JSON berikut ke dalam file.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "s3:GetBucketLocation" ], "Resource": "*" } ] }
      catatan

      Kebijakan akses ini tidak mengizinkan akses ke artefak komponen dalam bucket S3. Untuk men-deploy komponen kustom yang menentukan artefak di Amazon S3, Anda harus menambahkan izin untuk peran tersebut untuk memungkinkan perangkat inti Anda untuk mengambil artefak komponen. Untuk informasi selengkapnya, lihat Izinkan akses ke bucket S3 untuk artefak komponen.

      Jika Anda belum memiliki bucket S3 untuk artefak komponen, Anda dapat menambahkan izin ini nanti setelah membuat bucket.

    4. Buat kebijakan IAM dari dokumen kebijakan.

      • Ganti GreenGrassV2 TokenExchange RoleAccess dengan nama kebijakan IAM yang akan dibuat.

      aws iam create-policy --policy-name GreengrassV2TokenExchangeRoleAccess --policy-document file://device-role-access-policy.json

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      { "Policy": { "PolicyName": "GreengrassV2TokenExchangeRoleAccess", "PolicyId": "ANPAZ2YMUHYHACI7C5Z66", "Arn": "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2021-02-06T00:37:17+00:00", "UpdateDate": "2021-02-06T00:37:17+00:00" } }
    5. Lampirkan kebijakan IAM untuk peran pertukaran token.

      • Ganti GreenGrassV2 TokenExchange Role dengan nama peran IAM.

      • Ganti ARN peran dengan ARN dari kebijakan IAM yang Anda buat di langkah sebelumnya.

      aws iam attach-role-policy --role-name GreengrassV2TokenExchangeRole --policy-arn arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess

      Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

  2. Buat alias AWS IoT peran yang menunjuk ke peran pertukaran token.

    • Ganti GreengrassCoreTokenExchangeRoleAliasdengan nama alias peran yang akan dibuat.

    • Ganti ARN peran dengan ARN dari IAM role yang Anda buat di langkah sebelumnya.

    aws iot create-role-alias --role-alias GreengrassCoreTokenExchangeRoleAlias --role-arn arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole

    Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

    { "roleAlias": "GreengrassCoreTokenExchangeRoleAlias", "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias" }
    catatan

    Untuk membuat alias peran, Anda harus memiliki izin untuk melewati IAM role pertukaran token ke AWS IoT. Jika Anda menerima pesan galat saat mencoba membuat alias peran, periksa apakah AWS pengguna Anda memiliki izin ini. Untuk informasi selengkapnya, lihat Memberikan izin pengguna untuk meneruskan peran ke AWS layanan di AWS Identity and Access Management Panduan Pengguna.

  3. Buat dan lampirkan AWS IoT kebijakan yang memungkinkan perangkat inti Greengrass Anda menggunakan alias peran untuk mengambil peran pertukaran token. Jika Anda telah menyiapkan perangkat inti Greengrass sebelumnya, Anda dapat melampirkan kebijakan AWS IoT alias perannya alih-alih membuat yang baru. Lakukan hal-hal berikut:

    1. (Opsional) Buat file yang berisi dokumen AWS IoT kebijakan yang diperlukan alias peran.

      Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      nano greengrass-v2-iot-role-alias-policy.json

      Salin JSON berikut ke dalam file.

      • Ganti ARN sumber daya dengan ARN alias peran Anda.

      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:AssumeRoleWithCertificate", "Resource": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias" } ] }
    2. Buat AWS IoT kebijakan dari dokumen kebijakan.

      • Ganti GreengrassCoreTokenExchangeRoleAliasKebijakan dengan nama AWS IoT kebijakan yang akan dibuat.

      aws iot create-policy --policy-name GreengrassCoreTokenExchangeRoleAliasPolicy --policy-document file://greengrass-v2-iot-role-alias-policy.json

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      { "policyName": "GreengrassCoreTokenExchangeRoleAliasPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassCoreTokenExchangeRoleAliasPolicy", "policyDocument": "{ \\"Version\\":\\"2012-10-17\\", \\"Statement\\": [ { \\"Effect\\": \\"Allow\\", \\"Action\\": \\"iot:AssumeRoleWithCertificate\\", \\"Resource\\": \\"arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias\\" } ] }", "policyVersionId": "1" }
    3. Lampirkan AWS IoT kebijakan ke sertifikat AWS IoT benda itu.

      • Ganti GreengrassCoreTokenExchangeRoleAliasKebijakan dengan nama AWS IoT kebijakan alias peran.

      • Ganti ARN target dengan ARN sertifikat untuk objek AWS IoT Anda.

      aws iot attach-policy --policy-name GreengrassCoreTokenExchangeRoleAliasPolicy --target arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

      Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

Unduh sertifikat ke perangkat

Sebelumnya, Anda mengunduh sertifikat perangkat ke komputer pengembangan Anda. Di bagian ini, Anda menyalin sertifikat ke perangkat inti Anda untuk mengatur perangkat dengan sertifikat yang digunakan untuk terhubung AWS IoT. Anda juga mengunduh sertifikat otoritas sertifikat root Amazon (CA). Jika Anda menggunakan HSM, Anda juga mengimpor file sertifikat ke HSM di bagian ini.

  • Jika Anda membuat sertifikat benda dan kunci pribadi di AWS IoT layanan sebelumnya, ikuti langkah-langkah untuk mengunduh sertifikat dengan kunci pribadi dan file sertifikat.

  • Jika Anda membuat sertifikat benda dari kunci pribadi dalam modul keamanan perangkat keras (HSM) sebelumnya, ikuti langkah-langkah untuk mengunduh sertifikat dengan kunci pribadi dan sertifikat di HSM.

Unduh sertifikat dengan kunci pribadi dan file sertifikat

Untuk mengunduh sertifikat ke perangkat
  1. Salin sertifikat AWS IoT benda dari komputer pengembangan Anda ke perangkat. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakan scp perintah di komputer pengembangan Anda untuk mentransfer sertifikat. Ganti device-ip-address dengan alamat IP perangkat Anda.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Buat folder akar Greengrass pada perangkat tersebut. Anda nantinya akan menginstal perangkat lunak AWS IoT Greengrass Core ke folder ini.

    Linux or Unix
    • Ganti /greengrass/v2 dengan folder yang akan digunakan.

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Ganti C:\greengrass\v2 dengan folder yang akan digunakan.

    mkdir C:\greengrass\v2
    PowerShell
    • Ganti C:\greengrass\v2 dengan folder yang akan digunakan.

    mkdir C:\greengrass\v2
  3. (Hanya Linux) Atur izin induk folder root Greengrass.

    • Ganti /greengrass dengan induk dari folder akar.

    sudo chmod 755 /greengrass
  4. Salin sertifikat AWS IoT benda ke folder root Greengrass.

    Linux or Unix
    • Ganti /greengrass/v2 dengan folder root Greengrass.

    sudo cp -R ~/greengrass-v2-certs/* /greengrass/v2
    Windows Command Prompt
    • Ganti C:\greengrass\v2 dengan folder yang akan digunakan.

    robocopy %USERPROFILE%\greengrass-v2-certs C:\greengrass\v2 /E
    PowerShell
    • Ganti C:\greengrass\v2 dengan folder yang akan digunakan.

    cp -Path ~\greengrass-v2-certs\* -Destination C:\greengrass\v2
  5. Unduh sertifikat otoritas sertifikat root Amazon (CA). AWS IoT sertifikat dikaitkan dengan sertifikat CA root Amazon secara default.

    Linux or Unix
    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\\AmazonRootCA1.pem

Unduh sertifikat dengan kunci pribadi dan sertifikat di HSM

catatan

Fitur ini tersedia untuk v2.5.3 dan yang lebih baru dari komponen inti Greengrass. AWS IoT Greengrass saat ini tidak mendukung fitur ini di perangkat inti Windows.

Untuk mengunduh sertifikat ke perangkat
  1. Salin sertifikat AWS IoT benda dari komputer pengembangan Anda ke perangkat. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakan scp perintah di komputer pengembangan Anda untuk mentransfer sertifikat. Ganti device-ip-address dengan alamat IP perangkat Anda.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Buat folder akar Greengrass pada perangkat tersebut. Anda nantinya akan menginstal perangkat lunak AWS IoT Greengrass Core ke folder ini.

    Linux or Unix
    • Ganti /greengrass/v2 dengan folder yang akan digunakan.

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Ganti C:\greengrass\v2 dengan folder yang akan digunakan.

    mkdir C:\greengrass\v2
    PowerShell
    • Ganti C:\greengrass\v2 dengan folder yang akan digunakan.

    mkdir C:\greengrass\v2
  3. (Hanya Linux) Atur izin induk folder root Greengrass.

    • Ganti /greengrass dengan induk dari folder akar.

    sudo chmod 755 /greengrass
  4. Impor file sertifikat benda,~/greengrass-v2-certs/device.pem.crt, ke HSM. Periksa dokumentasi untuk HSM Anda untuk mempelajari cara mengimpor sertifikat ke dalamnya. Impor sertifikat menggunakan token, ID slot, PIN pengguna, label objek, dan ID objek yang sama (jika HSM Anda menggunakannya) tempat Anda membuat kunci pribadi di HSM sebelumnya.

    catatan

    Jika Anda membuat kunci pribadi sebelumnya tanpa ID objek, dan sertifikat memiliki ID objek, atur ID objek kunci pribadi ke nilai yang sama dengan sertifikat. Periksa dokumentasi untuk HSM Anda untuk mempelajari cara mengatur ID objek untuk objek kunci pribadi.

  5. (Opsional) Hapus file sertifikat benda, sehingga hanya ada di HSM.

    rm ~/greengrass-v2-certs/device.pem.crt
  6. Unduh sertifikat otoritas sertifikat root Amazon (CA). AWS IoT sertifikat dikaitkan dengan sertifikat CA root Amazon secara default.

    Linux or Unix
    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\\AmazonRootCA1.pem

Mengatur lingkungan perangkat

Ikuti langkah-langkah di bagian ini untuk menyiapkan perangkat Linux atau Windows untuk digunakan sebagai perangkat AWS IoT Greengrass inti Anda.

Siapkan perangkat Linux

Untuk mengatur perangkat Linux untuk AWS IoT Greengrass V2
  1. Instal runtime Java, yang dibutuhkan perangkat lunak AWS IoT Greengrass Core untuk dijalankan. Kami menyarankan Anda menggunakan versi dukungan jangka panjang Amazon Corretto atau OpenJDK. Versi 8 atau lebih tinggi diperlukan. Perintah berikut menunjukkan cara menginstal OpenJDK di perangkat Anda.

    • Untuk distribusi berbasis Debian atau berbasis Ubuntu:

      sudo apt install default-jdk
    • Untuk distribusi berbasis Red Hat:

      sudo yum install java-11-openjdk-devel
    • Untuk Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11
    • Untuk Amazon Linux 2023:

      sudo dnf install java-11-amazon-corretto -y

    Ketika instalasi selesai, jalankan perintah berikut untuk memverifikasi bahwa Java berjalan pada perangkat Linux Anda.

    java -version

    Perintah mencetak versi Java yang berjalan pada perangkat. Misalnya, pada distribusi berbasis Debian, output mungkin terlihat mirip dengan sampel berikut.

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (Opsional) Buat pengguna dan grup sistem default yang menjalankan komponen pada perangkat. Anda juga dapat memilih untuk membiarkan penginstal perangkat lunak AWS IoT Greengrass Core membuat pengguna dan grup ini selama instalasi dengan argumen --component-default-user installer. Untuk informasi selengkapnya, lihat Argumen penginstal.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Verifikasi bahwa pengguna yang menjalankan perangkat lunak AWS IoT Greengrass Core (biasanyaroot), memiliki izin untuk menjalankan sudo dengan pengguna dan grup apa pun.

    1. Jalankan perintah berikut untuk membuka /etc/sudoers file.

      sudo visudo
    2. Verifikasi bahwa izin untuk pengguna terlihat seperti contoh berikut.

      root ALL=(ALL:ALL) ALL
  4. (Opsional) Untuk menjalankan fungsi Lambda kontainer, Anda harus mengaktifkan cgroups v1, dan Anda harus mengaktifkan dan memasang memori dan perangkat cgroups. Jika Anda tidak berencana untuk menjalankan fungsi Lambda kontainer, Anda dapat melewati langkah ini.

    Untuk mengaktifkan opsi cgroups ini, boot perangkat dengan parameter kernel Linux berikut.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    Untuk informasi tentang melihat dan menyetel parameter kernel untuk perangkat Anda, lihat dokumentasi untuk sistem operasi dan boot loader Anda. Ikuti instruksi untuk mengatur parameter kernel secara permanen.

  5. Instal semua dependensi lain yang diperlukan pada perangkat Anda seperti yang ditunjukkan oleh daftar persyaratan di. Persyaratan perangkat

Siapkan perangkat Windows

Untuk mengatur perangkat Windows untuk AWS IoT Greengrass V2
  1. Instal runtime Java, yang dibutuhkan perangkat lunak AWS IoT Greengrass Core untuk dijalankan. Kami menyarankan Anda menggunakan versi dukungan jangka panjang Amazon Corretto atau OpenJDK. Versi 8 atau lebih tinggi diperlukan.

  2. Periksa apakah Java tersedia pada variabel sistem PATH, dan tambahkan jika tidak. LocalSystem Akun menjalankan perangkat lunak AWS IoT Greengrass Core, jadi Anda harus menambahkan Java ke variabel sistem PATH alih-alih variabel pengguna PATH untuk pengguna Anda. Lakukan hal-hal berikut:

    1. Tekan tombol Windows untuk membuka menu mulai.

    2. Ketik environment variables untuk mencari opsi sistem dari menu mulai.

    3. Di hasil pencarian menu mulai, pilih Edit variabel lingkungan sistem untuk membuka jendela Properti sistem.

    4. Pilih variabel Lingkungan... untuk membuka jendela Variabel Lingkungan.

    5. Di bawah Variabel sistem, pilih Path, lalu pilih Edit. Di jendela variabel Edit lingkungan, Anda dapat melihat setiap jalur pada baris terpisah.

    6. Periksa apakah jalur ke bin folder instalasi Java ada. Jalannya mungkin terlihat mirip dengan contoh berikut.

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. Jika bin folder instalasi Java hilang dari Path, pilih Baru untuk menambahkannya, lalu pilih OK.

  3. Buka Windows Command Prompt (cmd.exe) sebagai administrator.

  4. Buat pengguna default di LocalSystem akun di perangkat Windows. Ganti kata sandi dengan kata sandi yang aman.

    net user /add ggc_user password
    Tip

    Bergantung pada konfigurasi Windows Anda, kata sandi pengguna mungkin diatur untuk kedaluwarsa pada tanggal di masa mendatang. Untuk memastikan aplikasi Greengrass Anda terus beroperasi, lacak kapan kata sandi kedaluwarsa, dan perbarui sebelum kedaluwarsa. Anda juga dapat mengatur kata sandi pengguna agar tidak pernah kedaluwarsa.

    • Untuk memeriksa kapan pengguna dan kata sandinya kedaluwarsa, jalankan perintah berikut.

      net user ggc_user | findstr /C:expires
    • Untuk mengatur kata sandi pengguna agar tidak pernah kedaluwarsa, jalankan perintah berikut.

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • Jika Anda menggunakan Windows 10 atau yang lebih baru di mana wmicperintah tidak digunakan lagi, jalankan perintah berikut. PowerShell

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Unduh dan instal PsExecutilitas dari Microsoft pada perangkat.

  6. Gunakan PsExec utilitas untuk menyimpan nama pengguna dan kata sandi untuk pengguna default dalam contoh Credential Manager untuk LocalSystem akun tersebut. Ganti kata sandi dengan kata sandi pengguna yang Anda tetapkan sebelumnya.

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    Jika PsExec License Agreementterbuka, pilih Acceptuntuk menyetujui lisensi dan jalankan perintah.

    catatan

    Pada perangkat Windows, LocalSystem akun menjalankan inti Greengrass, dan Anda harus menggunakan utilitas untuk menyimpan PsExec informasi pengguna default di akun. LocalSystem Menggunakan aplikasi Credential Manager menyimpan informasi ini di akun Windows dari pengguna yang saat ini masuk, bukan LocalSystem akun.

Unduh perangkat lunak AWS IoT Greengrass Inti

Anda dapat mengunduh versi terbaru perangkat lunak AWS IoT Greengrass Core dari lokasi berikut:

catatan

Anda dapat mengunduh versi tertentu dari perangkat lunak AWS IoT Greengrass Core dari lokasi berikut. Ganti versi dengan versi yang akan diunduh.

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Untuk mengunduh perangkat lunak AWS IoT Greengrass Core
  1. Di perangkat inti Anda, unduh perangkat lunak AWS IoT Greengrass Core ke file bernamagreengrass-nucleus-latest.zip.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

    Dengan mengunduh perangkat lunak ini, Anda menyetujui Perjanjian Lisensi Perangkat Lunak Greengrass Core.

  2. (Opsional) Untuk memverifikasi tanda tangan perangkat lunak inti Greengrass

    catatan

    Fitur ini tersedia dengan Greengrass nucleus versi 2.9.5 dan yang lebih baru.

    1. Gunakan perintah berikut untuk memverifikasi tanda tangan artefak inti Greengrass Anda:

      Linux or Unix
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      Windows Command Prompt (CMD)

      Nama file mungkin terlihat berbeda tergantung pada versi JDK yang Anda instal. Ganti jdk17.0.6_10dengan versi JDK yang Anda instal.

      "C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      PowerShell

      Nama file mungkin terlihat berbeda tergantung pada versi JDK yang Anda instal. Ganti jdk17.0.6_10dengan versi JDK yang Anda instal.

      'C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
    2. jarsignerPemanggilan menghasilkan output yang menunjukkan hasil verifikasi.

      1. Jika file zip inti Greengrass ditandatangani, output berisi pernyataan berikut:

        jar verified.
      2. Jika file zip inti Greengrass tidak ditandatangani, output berisi pernyataan berikut:

        jar is unsigned.
    3. Jika Anda memberikan -certs opsi Jarsigner bersama dengan -verify dan -verbose opsi, output juga menyertakan informasi sertifikat penandatangan terperinci.

  3. Buka zip perangkat lunak AWS IoT Greengrass Core ke folder di perangkat Anda. Ganti GreengrassInstallerdengan folder yang ingin Anda gunakan.

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\GreengrassInstaller rm greengrass-nucleus-latest.zip
  4. (Opsional) Jalankan perintah berikut untuk melihat versi perangkat lunak AWS IoT Greengrass Core.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
penting

Jika Anda menginstal versi inti Greengrass lebih awal dari v2.4.0, jangan hapus folder ini setelah Anda menginstal perangkat lunak Core. AWS IoT Greengrass Perangkat lunak AWS IoT Greengrass Core menggunakan file dalam folder ini untuk dijalankan.

Jika Anda mengunduh versi terbaru perangkat lunak, Anda menginstal v2.4.0 atau yang lebih baru, dan Anda dapat menghapus folder ini setelah Anda menginstal perangkat lunak AWS IoT Greengrass Core.

Instal perangkat lunak AWS IoT Greengrass Inti

Jalankan penginstal dengan argumen yang menentukan tindakan berikut:

  • Instal dari file konfigurasi sebagian yang menetapkan untuk menggunakan AWS sumber daya dan sertifikat yang Anda buat sebelumnya. Perangkat lunak AWS IoT Greengrass Core menggunakan file konfigurasi yang menentukan konfigurasi setiap komponen Greengrass pada perangkat. Installer membuat file konfigurasi lengkap dari file konfigurasi parsial yang Anda berikan.

  • Tentukan untuk menggunakan pengguna ggc_user sistem untuk menjalankan komponen perangkat lunak pada perangkat inti. Pada perangkat Linux, perintah ini juga menentukan untuk menggunakan grup ggc_group sistem, dan penginstal membuat pengguna dan grup sistem untuk Anda.

  • Siapkan perangkat lunak AWS IoT Greengrass Core sebagai layanan sistem yang berjalan saat boot. Pada perangkat Linux, ini membutuhkan sistem init Systemd.

    penting

    Pada perangkat inti Windows, Anda harus mengatur perangkat lunak AWS IoT Greengrass inti sebagai layanan sistem.

Untuk informasi lebih lanjut tentang argumen yang dapat Anda tentukan, lihat Argumen penginstal.

catatan

Jika Anda menjalankan AWS IoT Greengrass perangkat dengan memori terbatas, Anda dapat mengontrol jumlah memori yang digunakan perangkat lunak AWS IoT Greengrass Core. Untuk mengontrol alokasi memori, Anda dapat mengatur pilihan ukuran tumpukan JVM di konfigurasi parameter jvmOptions dalam komponen nukleus anda. Untuk informasi selengkapnya, lihat Kontrol alokasi memori dengan opsi JVM.

  • Jika Anda membuat sertifikat benda dan kunci pribadi di AWS IoT layanan sebelumnya, ikuti langkah-langkah untuk menginstal perangkat lunak AWS IoT Greengrass inti dengan kunci pribadi dan file sertifikat.

  • Jika Anda membuat sertifikat benda dari kunci pribadi dalam modul keamanan perangkat keras (HSM) sebelumnya, ikuti langkah-langkah untuk menginstal perangkat lunak AWS IoT Greengrass Core dengan kunci pribadi dan sertifikat di HSM.

Instal perangkat lunak AWS IoT Greengrass Core dengan kunci pribadi dan file sertifikat

Untuk menginstal perangkat lunak AWS IoT Greengrass Core
  1. Periksa versi perangkat lunak AWS IoT Greengrass inti.

    • Ganti GreengrassInstallerdengan path ke folder yang berisi perangkat lunak.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Gunakan editor teks untuk membuat file konfigurasi bernama config.yaml yang akan disediakan ke penginstal.

    Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

    nano GreengrassInstaller/config.yaml

    Salin konten YAML berikut ke dalam file. File konfigurasi parsial ini menentukan parameter sistem dan parameter inti Greengrass.

    --- system: certificateFilePath: "/greengrass/v2/device.pem.crt" privateKeyPath: "/greengrass/v2/private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.12.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"

    Kemudian, lakukan hal berikut:

    • Ganti setiap instance /greengrass/v2 dengan folder root Greengrass.

    • Ganti MyGreengrassCore dengan nama AWS IoT benda itu.

    • Ganti 2.12.6 dengan versi perangkat lunak AWS IoT Greengrass Core.

    • Ganti us-west-2 dengan Wilayah AWS tempat Anda membuat sumber daya.

    • Ganti GreengrassCoreTokenExchangeRoleAliasdengan nama alias peran pertukaran token.

    • Ganti iotDataEndpoint dengan titik akhir AWS IoT data Anda.

    • Ganti iotCredEndpoint dengan titik akhir AWS IoT kredensial Anda.

    catatan

    Dalam file konfigurasi ini, Anda dapat menyesuaikan opsi konfigurasi nukleus lain seperti port dan proksi jaringan yang akan digunakan, seperti yang ditunjukkan dalam contoh berikut. Untuk informasi selengkapnya, lihat konfigurasi nukleus Greengrass.

    --- system: certificateFilePath: "/greengrass/v2/device.pem.crt" privateKeyPath: "/greengrass/v2/private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.12.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357"
  3. Jalankan penginstal, dan tentukan --init-config untuk menyediakan file konfigurasi.

    • Ganti /greengrass/v2 atau C:\greengrass\v2 dengan folder root Greengrass.

    • Ganti setiap instance GreengrassInstallerdengan folder tempat Anda membongkar penginstal.

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --init-config ./GreengrassInstaller/config.yaml ^ --component-default-user ggc_user ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true
    penting

    Pada perangkat inti Windows, Anda harus menentukan --setup-system-service true untuk mengatur perangkat lunak AWS IoT Greengrass inti sebagai layanan sistem.

    Jika Anda menentukan --setup-system-service true, penginstal akan mencetak Successfully set up Nucleus as a system service jika ia mengatur dan menjalankan perangkat lunak sebagai layanan. Jika tidak, installer tersebut tidak akan menghasilkan pesan apa pun jika ia berhasil menginstal perangkat lunak tersebut.

    catatan

    Anda tidak dapat menggunakan argumen deploy-dev-tools untuk men-deploy alat pengembangan lokal ketika Anda menjalankan penginstal tersebut tanpa argumen --provision true. Untuk informasi tentang cara men-deploy Greengrass CLI secara langsung pada perangkat Anda, lihat Antarmuka Baris Perintah Greengrass.

  4. Verifikasi instalasi dengan melihat file di folder root.

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    Jika penginstalan berhasil, folder akar berisi beberapa folder, seperti config, packages, dan logs.

Instal perangkat lunak AWS IoT Greengrass Core dengan kunci pribadi dan sertifikat di HSM

catatan

Fitur ini tersedia untuk v2.5.3 dan yang lebih baru dari komponen inti Greengrass. AWS IoT Greengrass saat ini tidak mendukung fitur ini di perangkat inti Windows.

Untuk menginstal perangkat lunak AWS IoT Greengrass Core
  1. Periksa versi perangkat lunak AWS IoT Greengrass inti.

    • Ganti GreengrassInstallerdengan path ke folder yang berisi perangkat lunak.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Untuk mengaktifkan perangkat lunak AWS IoT Greengrass Core menggunakan kunci pribadi dan sertifikat di HSM, instal komponen penyedia PKCS #11 saat Anda menginstal perangkat lunak Core. AWS IoT Greengrass Komponen penyedia PKCS #11 adalah plugin yang dapat Anda konfigurasi selama instalasi. Anda dapat mengunduh versi terbaru komponen penyedia PKCS #11 dari lokasi berikut:

    Unduh plugin penyedia PKCS #11 ke file bernama. aws.greengrass.crypto.Pkcs11Provider.jar Ganti GreengrassInstallerdengan folder yang ingin Anda gunakan.

    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar > GreengrassInstaller/aws.greengrass.crypto.Pkcs11Provider.jar

    Dengan mengunduh perangkat lunak ini, Anda menyetujui Perjanjian Lisensi Perangkat Lunak Greengrass Core.

  3. Gunakan editor teks untuk membuat file konfigurasi bernama config.yaml yang akan disediakan ke penginstal.

    Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

    nano GreengrassInstaller/config.yaml

    Salin konten YAML berikut ke dalam file. File konfigurasi sebagian ini menentukan parameter sistem, parameter inti Greengrass, dan parameter penyedia PKCS #11.

    --- system: certificateFilePath: "pkcs11:object=iotdevicekey;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey;type=private" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.12.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so" slot: 1 userPin: "1234"

    Kemudian, lakukan hal berikut:

    • Ganti setiap instance iotdevicekey di URI PKCS #11 dengan label objek tempat Anda membuat kunci pribadi dan mengimpor sertifikat.

    • Ganti setiap instance /greengrass/v2 dengan folder root Greengrass.

    • Ganti MyGreengrassCore dengan nama AWS IoT benda itu.

    • Ganti 2.12.6 dengan versi perangkat lunak AWS IoT Greengrass Core.

    • Ganti us-west-2 dengan Wilayah AWS tempat Anda membuat sumber daya.

    • Ganti GreengrassCoreTokenExchangeRoleAliasdengan nama alias peran pertukaran token.

    • Ganti iotDataEndpoint dengan titik akhir AWS IoT data Anda.

    • Ganti iotCredEndpoint dengan titik akhir AWS IoT kredensial Anda.

    • Ganti parameter konfigurasi untuk aws.greengrass.crypto.Pkcs11Provider komponen dengan nilai untuk konfigurasi HSM pada perangkat inti.

    catatan

    Dalam file konfigurasi ini, Anda dapat menyesuaikan opsi konfigurasi nukleus lain seperti port dan proksi jaringan yang akan digunakan, seperti yang ditunjukkan dalam contoh berikut. Untuk informasi selengkapnya, lihat konfigurasi nukleus Greengrass.

    --- system: certificateFilePath: "pkcs11:object=iotdevicekey;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey;type=private" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.12.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so" slot: 1 userPin: "1234"
  4. Jalankan penginstal, dan tentukan --init-config untuk menyediakan file konfigurasi.

    • Ganti /greengrass/v2 dengan folder root Greengrass.

    • Ganti setiap instance GreengrassInstallerdengan folder tempat Anda membongkar penginstal.

    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin ./GreengrassInstaller/aws.greengrass.crypto.Pkcs11Provider.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    penting

    Pada perangkat inti Windows, Anda harus menentukan --setup-system-service true untuk mengatur perangkat lunak AWS IoT Greengrass inti sebagai layanan sistem.

    Jika Anda menentukan --setup-system-service true, penginstal akan mencetak Successfully set up Nucleus as a system service jika ia mengatur dan menjalankan perangkat lunak sebagai layanan. Jika tidak, installer tersebut tidak akan menghasilkan pesan apa pun jika ia berhasil menginstal perangkat lunak tersebut.

    catatan

    Anda tidak dapat menggunakan argumen deploy-dev-tools untuk men-deploy alat pengembangan lokal ketika Anda menjalankan penginstal tersebut tanpa argumen --provision true. Untuk informasi tentang cara men-deploy Greengrass CLI secara langsung pada perangkat Anda, lihat Antarmuka Baris Perintah Greengrass.

  5. Verifikasi instalasi dengan melihat file di folder root.

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    Jika penginstalan berhasil, folder akar berisi beberapa folder, seperti config, packages, dan logs.

Jika Anda menginstal perangkat lunak AWS IoT Greengrass Core sebagai layanan sistem, penginstal menjalankan perangkat lunak untuk Anda. Jika tidak, Anda harus menjalankan perangkat lunak itu secara manual. Untuk informasi selengkapnya, lihat Jalankan perangkat lunak inti AWS IoT Greengrass.

Untuk informasi selengkapnya tentang cara mengkonfigurasi dan menggunakan perangkat lunak dan AWS IoT Greengrass, lihat berikut ini: