Instal perangkat lunak inti AWS IoT Greengrass 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 inti AWS IoT Greengrass dengan penyediaan sumber daya manual

Perangkat lunak inti AWS IoT Greengrass mencakup penginstal yang mengatur perangkat Anda sebagai perangkat inti Greengrass. Untuk mengatur perangkat secara manual, Anda dapat membuat AWS IoT dan sumber daya IAM untuk perangkat yang akan digunakan. Jika Anda membuat sumber daya ini secara manual, Anda tidak perlu menyediakan kredensial AWS untuk installer.

Ketika Anda secara manual menginstal perangkat lunak inti AWS IoT Greengrass, Anda juga dapat mengonfigurasi perangkat tersebut untuk menggunakan proksi jaringan atau terhubung ke AWS pada 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 lunakAWS IoT Greengrass inti untuk menggunakan hardware security module (HSM) melalui antarmuka PKCS #11. Fitur ini memungkinkan Anda menyimpan kunci pribadi dan file sertifikat dengan aman sehingga tidak terpapar 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 inti AWS IoT Greengrass, periksa apakah perangkat inti Anda memenuhi persyaratan untuk menginstal dan menjalankan perangkat lunak inti v2.0 AWS IoT Greengrass.

Ambil titik akhir AWS IoT

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

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

    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 kredensial AWS IoT untuk Akun AWS Anda.

    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 objek AWS IoT

Objek AWS IoT mewakili perangkat dan entitas logis yang terhubung ke AWS IoT. Perangkat inti Greengrass merupakan objek AWS IoT. Saat Anda mendaftarkan suatu perangkat sebagai objek AWS IoT, perangkat itu dapat menggunakan sertifikat digital untuk diautentikasi dengan AWS.

Di bagian ini, Anda akan membuatAWS IoT objek yang mewakili perangkat Anda.

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

    • Ganti MyGreengrassCoredengan nama objek 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 pada grup objek baru atau yang sudah ada. Anda menggunakan grup objek untuk mengelola armada perangkat inti Greengrass. Saat men-deploy 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 berikut:

    1. (Opsional) Buat grup objek AWS IoT.

      • Ganti MyGreengrassCoreGroupdengan nama grup objek 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 objek AWS IoT pada grup objek.

      • Ganti MyGreengrassCoredengan nama objekAWS IoT Anda.

      • Ganti MyGreengrassCoreGroupdengan nama grup objek.

      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 objek

Saat Anda mendaftarkan perangkat sebagai objek AWS IoT, perangkat itu dapat menggunakan sertifikat digital untuk diautentikasi dengan AWS. Sertifikat ini memungkinkan perangkat untuk berkomunikasi dengan AWS IoT dan AWS IoT Greengrass.

Di bagian ini, Anda akan membuat dan mengunduh sertifikat yang dapat digunakan oleh perangkat Anda untuk tersambung keAWS.

Jika Anda ingin mengkonfigurasi perangkat lunakAWS 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 dalamAWS 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.

Untuk membuat sertifikat hal
  1. Buat folder di mana Anda mengunduh sertifikat untuk objek AWS IoT.

    mkdir greengrass-v2-certs
  2. Buat dan unduh sertifikat tersebut untuk objek AWS IoT.

    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-----\nMIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\nMMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\n59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\nhJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\nFQIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nkey omitted for security reasons\n-----END RSA PRIVATE KEY-----\n" } }

    Simpan Amazon Resource Name (ARN) sertifikat yang akan digunakan untuk mengonfigurasi sertifikat nanti.

catatan

Fitur ini tersedia untuk v2.5.3 dan versi kemudian dari komponen inti Greengrass. AWS IoT GreengrassSaat ini tidak mendukung fitur ini pada perangkat inti Windows.

Untuk membuat sertifikat hal
  1. Pada perangkat inti, inisialisasi token PKCS #11 di HSM, dan buat kunci pribadi. Kunci privat 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 menggunakannya) 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 lunakAWS IoT Greengrass inti.

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

  3. Salin CSR dari perangkat ke komputer pengembangan. Jika SSH dan SCP diaktifkan di komputer pengembangan dan perangkat, Anda dapat menggunakanscp perintah di komputer pengembangan Anda untuk mentransfer CSR. Ganti device-ip-addressdengan 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 untukAWS IoT objek.

    mkdir greengrass-v2-certs
  5. Gunakan file CSR untuk membuat dan mengunduh sertifikat untukAWS IoT hal tersebut 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 yang akan digunakan untuk mengonfigurasi sertifikat nanti.

Konfigurasikan sertifikat hal

Lampirkan sertifikat hal keAWS IoT hal yang Anda buat sebelumnya, dan tambahkanAWS IoT kebijakan ke sertifikat untuk menentukanAWS IoT izin untuk perangkat inti.

Untuk mengkonfigurasi sertifikat benda
  1. Lampirkan sertifikat pada objek AWS IoT.

    • Ganti MyGreengrassCoredengan nama objekAWS IoT 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 kebijakan AWS IoT yang menentukan izin AWS IoT 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 kebijakan AWS IoT alih-alih menciptakan kebijakan baru.

    Lakukan hal berikut:

    1. Buat file yang berisi dokumenAWS IoT kebijakan yang diperlukan oleh perangkat inti Greengrass.

      Sebagai contoh, 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. BuatAWS IoT kebijakan dari dokumen kebijakan.

      • Ganti GreengrassV2IoTThingPolicy 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 kebijakan AWS IoT ke sertifikat objek AWS IoT.

      • Ganti GreengrassV2IoTThingPolicy dengan nama kebijakan yang akan dibuat.

      • 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 tersebut menggunakan penyediaAWS IoT kredenial untuk mendapatkanAWS kredensitas sementara untuk peranan ini, yang membolehkan perangkat berinteraksi denganAWS IoT, mengirim log ke AmazonCloudWatch Logs, dan mengunduh artefak komponen khusus dari Amazon S3. Untuk informasi selengkapnya, lihat Otorisasi perangkat inti untuk berinteraksi dengan AWS layanan.

Anda menggunakan aliasAWS 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.

Pada bagian ini, Anda membuat pertukaran token IAM role dan alias peran AWS IoT 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 IAM role yang dapat digunakan oleh perangkat Anda sebagai peran pertukaran token. Lakukan hal berikut:

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

      Sebagai contoh, 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 GreengrassV2TokenExchangeRole dengan nama IAM role 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.

      Sebagai contoh, 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 GreengrassV2TokenExchangeRoleAccess 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 GreengrassV2TokenExchangeRole dengan nama IAM role.

      • 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 aliasAWS 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 kesalahan saat Anda mencoba membuat alias peran, periksa bahwaAWS pengguna memiliki izin ini. Untuk informasi lebih lanjut, lihat Memberikan izin pengguna untuk meneruskan peran ke layanan AWS di Panduan Pengguna AWS Identity and Access Management.

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

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

      Sebagai contoh, 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. BuatAWS IoT kebijakan dari dokumen kebijakan.

      • Ganti GreengrassCoreTokenExchangeRoleAliasPolicydengan namaAWS 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 kebijakan AWS IoT ke sertifikat objek AWS IoT.

      • Ganti GreengrassCoreTokenExchangeRoleAliasPolicydengan namaAWS IoT kebijakan yang akan dibuat.

      • 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 telah mengunduh sertifikat perangkat ke komputer pengembangan. Di bagian ini, Anda akan menyalin sertifikat ke perangkat inti untuk mengatur perangkat dengan sertifikat yang digunakan untuk tersambung keAWS IoT. Anda juga akan mengunduh sertifikat otoritas sertifikat (CA) akar Amazon. Jika Anda menggunakan HSM, Anda juga mengimpor file sertifikat ke HSM di bagian ini.

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

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

Untuk mengunduh sertifikat ke perangkat
  1. SalinAWS IoT sertifikat objek dari komputer pengembangan Anda ke perangkat. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakanscp perintah di komputer pengembangan Anda untuk mentransfer sertifikat. Ganti device-ip-addressdengan alamat IP perangkat Anda.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Buat folder akar Greengrass pada perangkat tersebut. Anda nanti akan menginstal perangkat lunakAWS IoT Greengrass inti pada 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 dari induk dari folder akar Greengrass.

    • Ganti /greengrass dengan induk dari folder akar.

    sudo chmod 755 /greengrass
  4. Salin sertifikat objek AWS IoT ke folder akar Greengrass.

    Linux or Unix
    • Ganti /greengrass/v2 dengan folder akar 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 (CA) akar Amazon. AWS IoTsertifikat terkait dengan sertifikat CA akar 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
catatan

Fitur ini tersedia untuk v2.5.3 dan versi kemudian dari komponen inti Greengrass. AWS IoT GreengrassSaat ini tidak mendukung fitur ini pada perangkat inti Windows.

Untuk mengunduh sertifikat ke perangkat
  1. SalinAWS IoT sertifikat objek dari komputer pengembangan Anda ke perangkat. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakanscp perintah di komputer pengembangan Anda untuk mentransfer sertifikat. Ganti device-ip-addressdengan alamat IP perangkat Anda.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Buat folder akar Greengrass pada perangkat tersebut. Anda nanti akan menginstal perangkat lunakAWS IoT Greengrass inti pada 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 dari induk dari folder akar Greengrass.

    • Ganti /greengrass dengan induk dari folder akar.

    sudo chmod 755 /greengrass
  4. Impor file sertifikat hal,~/greengrass-v2-certs/device.pem.crt, ke dalam 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 privat di HSM sebelumnya.

    catatan

    Jika Anda membuat kunci pribadi sebelumnya tanpa ID objek, dan sertifikat memiliki ID objek, setel 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 hal, sehingga hanya ada di HSM.

    rm ~/greengrass-v2-certs/device.pem.crt
  6. Unduh sertifikat otoritas sertifikat (CA) akar Amazon. AWS IoTsertifikat terkait dengan sertifikat CA akar 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

Siapkan Lingkungan perangkat

Ikuti langkah-langkah di bagian ini untuk mengatur perangkat Linux atau Windows yang akan digunakan sebagai perangkatAWS IoT Greengrass inti Anda.

Mengatur perangkat LinuxAWS IoT Greengrass V2
  1. Pasang waktu aktif Java, yang diperlukan oleh perangkat lunak inti AWS IoT Greengrass agar berjalan. Kami menyarankan Anda menggunakan Amazon Corretto 11 atau OpenJDK 11. Perintah berikut menunjukkan kepada Anda bagaimana 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

    Saat 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 sistem default dan grup yang menjalankan komponen pada perangkat. Anda juga dapat memilih untuk membiarkan penginstal perangkat lunakAWS IoT Greengrass inti membuat pengguna dan grup ini selama instalasi dengan argumen--component-default-user penginstal. 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 lunakAWS IoT Greengrass inti (biasanyaroot) memiliki izin untuk menjalankansudo 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 dalam kontainer, Anda harus mengaktifkan cgroup v1, dan Anda harus mengaktifkan dan me-mount cgroup memori dan perangkat. Jika Anda tidak berencana untuk menjalankan fungsi Lambda yang terkemas, 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 mengatur parameter kernel untuk perangkat Anda, lihat dokumentasi untuk sistem operasi dan boot loader Anda. Ikuti petunjuk untuk mengatur parameter kernel secara permanen.

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

catatan

Fitur ini tersedia untuk v2.5.0 dan versi kemudian dari komponen inti Greengrass.

Mengatur perangkat WindowsAWS IoT Greengrass V2
  1. Pasang waktu aktif Java, yang diperlukan oleh perangkat lunak inti AWS IoT Greengrass agar berjalan. Kami menyarankan Anda menggunakan Amazon Corretto 11 atau OpenJDK 11.

  2. Periksa apakah Java tersedia pada variabel sistem PATH, dan menambahkannya jika tidak. LocalSystemAkun menjalankan perangkat lunakAWS IoT Greengrass Core, jadi Anda harus menambahkan Java ke variabel sistem PATH, bukan variabel pengguna PATH untuk pengguna Anda. Lakukan hal berikut:

    1. Tekan tombol Windows untuk membuka menu mulai.

    2. Ketikenvironment 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 Jalur, lalu pilih Edit. Di jendela variabel lingkungan Edit, Anda dapat melihat setiap jalur pada baris terpisah.

    6. Periksa apakah path kebin folder instalasi Java hadir. Path akan terlihat serupa dengan contoh berikut.

      C:\Program Files\Amazon Corretto\jdk11.0.13_8\bin
    7. Jikabin folder instalasi Java hilang dari Path, pilih New untuk menambahkannya, dan kemudian pilih OK.

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

  4. Buat pengguna default diLocalSystem akun pada perangkat Windows. Ganti kata sandi dengan kata sandi yang aman.

    net user /add ggc_user password
    Tip

    Tergantung pada konfigurasi Windows Anda, kata sandi pengguna mungkin diatur untuk kedaluwarsa pada tanggal di masa future. 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
  5. Unduh dan instal PsExecutilitas dari Microsoft pada perangkat.

  6. GunakanPsExec utilitas untuk menyimpan nama pengguna dan kata sandi untuk pengguna default di instance Credential Manager untukLocalSystem 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 menggunakanPsExec utilitas untuk menyimpan informasi pengguna default diLocalSystem akun. Menggunakan aplikasi Credential Manager menyimpan informasi ini di akun Windows pengguna yang saat ini masuk, bukanLocalSystem akun.

Unduh perangkat lunak inti AWS IoT Greengrass

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

catatan

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

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Untuk mengunduh perangkat lunakAWS IoT Greengrass Inti
  1. Di perangkat inti Anda, unduh perangkat lunakAWS IoT Greengrass inti 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. Unzip perangkat lunak inti AWS IoT Greengrass 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
  3. (Opsional) Jalankan perintah berikut untuk melihat versi perangkat lunak inti AWS IoT Greengrass.

    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 lunakAWS IoT Greengrass Core. Perangkat lunak inti AWS IoT Greengrass menggunakan file di folder ini yang akan dijalankan.

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

(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 Greengrass nucleus artefak 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.

Instal perangkat lunak inti AWS IoT Greengrass

Jalankan penginstal dengan argumen yang menentukan tindakan berikut:

  • Instal dari file konfigurasi parsial yang menentukan untuk menggunakan sumber daya AWS dan sertifikat yang Anda buat sebelumnya. Perangkat lunak inti AWS IoT Greengrass 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 penggunaggc_user sistem untuk menjalankan komponen perangkat lunak pada perangkat inti. Pada perangkat Linux, perintah ini juga menentukan untuk menggunakan grupggc_group sistem, dan installer membuat pengguna sistem dan grup untuk Anda.

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

    penting

    Di perangkat inti Windows, Anda harus mengatur perangkat lunakAWS 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 pada perangkat dengan memori terbatas, Anda dapat mengontrol jumlah memori yang digunakan oleh perangkat lunak inti AWS IoT Greengrass. 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 dan kunci pribadi dalamAWS IoT layanan sebelumnya, ikuti langkah-langkah untuk menginstal perangkat lunakAWS IoT Greengrass Inti dengan kunci pribadi dan file sertifikat.

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

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

    • Ganti GreengrassInstallerdengan jalur menuju 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.

    Sebagai contoh, 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.10.0" 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 instans /greengrass/v2 dengan folder akar Greengrass.

    • Ganti MyGreengrassCoredengan namaAWS IoT objek.

    • Ganti 2.10.0 dengan versi perangkat lunakAWS IoT Greengrass inti.

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

    • Ganti GreengrassCoreTokenExchangeRoleAliasdengan nama alias peran pertukaran token.

    • Ganti iotDataEndpoint dengan titik akhir data AWS IoT Anda.

    • Ganti iotCredEndpoint dengan titik akhir kredensial AWS IoT 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.10.0" 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 akar Greengrass.

    • Ganti setiap instans 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

    Di perangkat inti Windows, Anda harus menentukan--setup-system-service true untuk mengatur perangkat lunakAWS 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 penginstalan dengan melihat file di folder akar.

    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.

catatan

Fitur ini tersedia untuk v2.5.3 dan versi kemudian dari komponen inti Greengrass. AWS IoT GreengrassSaat ini tidak mendukung fitur ini pada perangkat inti Windows.

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

    • Ganti GreengrassInstallerdengan jalur menuju folder yang berisi perangkat lunak.

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

    Unduh plugin penyedia PKCS #11 ke file bernamaaws.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.

    Sebagai contoh, 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 paral 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.10.0" 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 privat dan mengimpor sertifikat.

    • Ganti setiap instans /greengrass/v2 dengan folder akar Greengrass.

    • Ganti MyGreengrassCoredengan namaAWS IoT objek.

    • Ganti 2.10.0 dengan versi perangkat lunakAWS IoT Greengrass inti.

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

    • Ganti GreengrassCoreTokenExchangeRoleAliasdengan nama alias peran pertukaran token.

    • Ganti iotDataEndpoint dengan titik akhir data AWS IoT Anda.

    • Ganti iotCredEndpoint dengan titik akhir kredensial AWS IoT Anda.

    • Ganti parameter konfigurasi untukaws.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.10.0" 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 akar Greengrass.

    • Ganti setiap instans 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

    Di perangkat inti Windows, Anda harus menentukan--setup-system-service true untuk mengatur perangkat lunakAWS 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 penginstalan dengan melihat file di folder akar.

    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 telah menginstal perangkat lunak inti AWS IoT Greengrass sebagai layanan sistem, installer akan menjalankan perangkat lunak tersebut 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 lebih lanjut tentang cara mengonfigurasi dan menggunakan perangkat lunak dan AWS IoT Greengrass, lihat hal berikut: