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 mengonfigurasiAWS IoT GreengrassPerangkat lunak inti untuk menggunakan modul keamanan perangkat keras (HSM) melaluiAntarmuka 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.

Dalam bagian ini, Anda akan membuatAWS IoThal yang mewakili perangkat Anda.

Untuk membuat objek AWS IoT

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

    • GantiMyGreengrassCoredengan 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.

      • GantiMyGreengrassCoreGroupdengan nama kebijakan 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.

      • GantiMyGreengrassCoredengan namaAWS IoTHal

      • GantiMyGreengrassCoreGroupdengan 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 mengkonfigurasiAWS IoT GreengrassPerangkat lunak inti 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 diAWS IoTlayanan 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) untuk digunakan untuk mengonfigurasi sertifikat nanti.

catatan

Fitur ini tersedia untuk v2.5.3 dan versi kemudian dariKomponen 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 menggunakanInti Greengrassv2.5.6 atau yang lebih baru.

    Untuk menggunakan modul keamanan perangkat keras danmanager 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 mengimpor sertifikat objek ke HSM dan mengonfigurasiAWS IoT GreengrassPerangkat Perangkat Perangkat

  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 Anda. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakanscpperintah pada komputer pengembangan Anda untuk mentransfer CSR. Gantidevice-ip-addressdengan alamat IP perangkat Anda, dan ganti~/iotdevicekey.csrdengan jalur menuju file CSR pada perangkat tersebut.

    scp device-ip-address:~/iotdevicekey.csr iotdevicekey.csr
  4. Di komputer pengembangan Anda, buat folder tempat Anda mengunduh sertifikat untukAWS IoTHal

    mkdir greengrass-v2-certs
  5. Gunakan file CSR untuk membuat dan mengunduh sertifikat untukAWS IoThal untuk 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 mengkonfigurasi sertifikat nanti.

Konfigurasikan sertifikat hal

Lampirkan sertifikat hal keAWS IoThal yang Anda buat sebelumnya, dan tambahkanAWS IoTkebijakan untuk sertifikat untuk menentukanAWS IoTizin untuk perangkat inti.

Untuk mengkonfigurasi sertifikat benda

  1. Lampirkan sertifikat pada objek AWS IoT.

    • GantiMyGreengrassCoredengan namaAWS IoTHal

    • 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 berisiAWS IoTdokumen 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 tersebut.

      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 IoTkebijakan dari dokumen kebijakan.

      • GantiGreenGrassv2IoTThingPolicydengan 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.

      • GantiGreenGrassv2IoTThingPolicydengan 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 menggunakanAWS IoTpenyedia mandat untuk mendapatkan sementaraAWSkredensi untuk peran ini, yang memungkinkan perangkat untuk berinteraksi denganAWS IoT, kirim log ke Amazon CloudWatch Log, dan download artefak komponen kustom dari Amazon S3. Untuk informasi selengkapnya, lihat Otorisasi perangkat inti untuk berinteraksi dengan AWS layanan.

Anda menggunakanAWS IoT alias peranuntuk 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 tersebut.

      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.

      • GantiGreenGrassV2TokenExchangeRoledengan 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 tersebut.

      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.

      • GantiGreenGrassV2TokenExchangeRoleAccessdengan 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.

      • GantiGreenGrassV2TokenExchangeRoledengan 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. BuatAWS IoTalias peran yang menunjuk ke peran pertukaran token.

    • GantiGreengrassCoreTokenExchangeRoleAliasdengan 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 bahwaAWSpengguna 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 tersebut.

      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 IoTkebijakan dari dokumen kebijakan.

      • GantiGreengrassCoreTokenExchangeRoleAliasPolicydengan namaAWS IoTkebijakan untuk membuat.

      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.

      • GantiGreengrassCoreTokenExchangeRoleAliasPolicydengan nama alias peranAWS IoTkebijakan

      • 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 menyambung keAWS IoT. Anda juga mengunduh sertifikat otoritas sertifikat (CA) akar Amazon. Jika Anda menggunakan HSM, Anda juga mengimpor file sertifikat ke HSM di bagian ini.

  • Jika Anda membuat hal sertifikat dan kunci pribadi diAWS IoTlayanan 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 IoTsertifikat objek dari komputer pengembangan Anda ke perangkat. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakanscpperintah pada komputer pengembangan Anda untuk mentransfer sertifikat. Gantidevice-ip-addressdengan alamat IP perangkat Anda.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Buat folder akar Greengrass pada perangkat tersebut. Anda nantinya akan menginstalAWS IoT GreengrassPerangkat lunak inti pada folder ini.

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

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • GantiC:\greengrass\v2dengan folder yang akan digunakan.

    mkdir C:\greengrass\v2
    PowerShell
    • GantiC:\greengrass\v2dengan 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
    • GantiC:\greengrass\v2dengan folder yang akan digunakan.

    robocopy %USERPROFILE%\greengrass-v2-certs C:\greengrass\v2 /E
    PowerShell
    • GantiC:\greengrass\v2dengan 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 dariKomponen inti Greengrass.AWS IoT GreengrassSaat ini tidak mendukung fitur ini pada perangkat inti Windows.

Untuk mengunduh sertifikat ke perangkat

  1. SalinAWS IoTsertifikat objek dari komputer pengembangan Anda ke perangkat. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakanscpperintah pada komputer pengembangan Anda untuk mentransfer sertifikat. Gantidevice-ip-addressdengan alamat IP perangkat Anda.

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. Buat folder akar Greengrass pada perangkat tersebut. Anda nantinya akan menginstalAWS IoT GreengrassPerangkat lunak inti pada folder ini.

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

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • GantiC:\greengrass\v2dengan folder yang akan digunakan.

    mkdir C:\greengrass\v2
    PowerShell
    • GantiC:\greengrass\v2dengan 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 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 sebagaiAWS IoT Greengrassperangkat inti

Mengatur perangkat Linux untukAWS IoT Greengrass V2

  1. Pasang waktu aktif Java, yang diperlukan oleh perangkat lunak inti AWS IoT Greengrass agar berjalan. Kami rekomendasikan agar Anda menggunakanAmazon Corretto 11atauOpenJDK 11. Perintah berikut menunjukkan kepada Anda bagaimana menginstal OpenJDK pada 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 penginstalan 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 membiarkanAWS IoT GreengrassPenginstal perangkat lunak inti membuat pengguna dan grup ini selama instalasi dengan--component-default-userargumen installer Untuk informasi selengkapnya, lihat Argumen penginstal.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Verifikasi bahwa pengguna yang menjalankanAWS IoT GreengrassPerangkat lunak inti (biasanyaroot), memiliki izin untuk menjalankansudodengan pengguna dan grup apa pun.

    1. Jalankan perintah berikut untuk membuka/etc/sudoersberkas

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

      root ALL=(ALL:ALL) ALL
  4. (Opsional) Untukmenjalankan fungsi Lambda terkontainerisasi, Anda harus mengaktifkancgroupv1, dan Anda harus mengaktifkan dan memasangmemoridanpesawatCgroup. Jika Anda tidak berencana untuk menjalankan fungsi Lambda yang dikontainer, 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.

    Tips: Atur parameter kernel pada Raspberry Pi

    Jika perangkat Anda adalah Raspberry Pi, Anda dapat menyelesaikan langkah-langkah berikut untuk melihat dan memperbarui parameter kernel Linux-nya:

    1. Buka file /boot/cmdline.txt. File ini menentukan parameter kernel Linux untuk diterapkan saat Raspberry Pi melakukan boot.

      Sebagai contoh, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuka file tersebut.

      sudo nano /boot/cmdline.txt
    2. Verifikasi bahwa/boot/cmdline.txtberisi parameter kernel berikut. Klastersystemd.unified_cgroup_hierarchy=0parameter menentukan untuk menggunakan cgroups v1 bukan cgroups v2.

      cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

      Jika/boot/cmdline.txtfile tidak berisi parameter ini, atau berisi parameter ini dengan nilai yang berbeda, memperbarui file untuk berisi parameter dan nilai-nilai ini.

    3. Jika Anda memperbarui/boot/cmdline.txtfile, reboot Raspberry Pi untuk menerapkan perubahan.

      sudo reboot
  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 dariKomponen inti Greengrass.

Mengatur perangkat Windows untukAWS IoT Greengrass V2

  1. Pasang waktu aktif Java, yang diperlukan oleh perangkat lunak inti AWS IoT Greengrass agar berjalan. Kami rekomendasikan agar Anda menggunakanAmazon Corretto 11atauOpenJDK 11.

  2. Periksa apakah Java tersedia padaJALANvariabel sistem, dan menambahkannya jika tidak. Klaster LocalSystem akun menjalankanAWS IoT GreengrassPerangkat lunak inti, 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. Jenisenvironment variablesuntuk mencari opsi sistem dari menu mulai.

    3. Dalam hasil pencarian menu mulai, pilihMengedit variabel lingkungan sistemmembukaProperti sistemjendela

    4. PilihVariabel lingkungan...membukaVariabel Lingkunganjendela

    5. Di bawahVariabel sistem, pilihJalur, dan kemudian pilihedit. DiVariabel lingkungan editjendela, Anda dapat melihat setiap jalur pada baris terpisah.

    6. Periksa apakah path ke instalasi Javabinfolder ada Path mungkin terlihat serupa dengan contoh berikut.

      C:\Program Files\Amazon Corretto\jdk11.0.13_8\bin
    7. Jika instalasi Javabinfolder hilang dariJalur, pilihBaruuntuk menambahkannya, lalu pilihOKE.

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

  4. Buat default pengguna di LocalSystem akun pada perangkat Windows. Gantikata sandidengan 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 instalPsExecutilitasdari Microsoft pada perangkat.

  6. Gunakan PsExec utilitas untuk menyimpan nama pengguna dan kata sandi untuk pengguna default di instans Manajer Kredensi untuk LocalSystem akun Gantikata sandidengan kata sandi pengguna yang Anda tetapkan sebelumnya.

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

    JikaPsExec License Agreementterbuka, pilihAcceptuntuk menyetujui lisensi dan menjalankan perintah.

    catatan

    Pada perangkat Windows, LocalSystem akun menjalankan inti Greengrass, dan Anda harus menggunakan PsExec utilitas untuk menyimpan informasi pengguna default di LocalSystem akun Menggunakan aplikasi Credential Manager menyimpan informasi ini di akun Windows pengguna yang saat ini masuk, bukan LocalSystem 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 mengunduhAWS IoT GreengrassPerangkat lunak inti

  1. Di perangkat inti Anda, unduhAWS IoT GreengrassPerangkat lunak 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. GantiGreengrassInstallerdengan 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 menginstalAWS IoT GreengrassPerangkat Perangkat Perangkat Perangkat lunak inti AWS IoT Greengrass menggunakan file di folder ini yang akan dijalankan.

Jika Anda mengunduh versi terbaru perangkat lunak, Anda menginstal v2.4.0 atau versi kemudian, dan Anda dapat menghapus folder ini setelah menginstalAWS IoT GreengrassPerangkat Perangkat Perangkat

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 menggunakanggc_userpengguna sistem untuk menjalankan komponen perangkat lunak pada perangkat core. Pada perangkat Linux, perintah ini juga menentukan untuk menggunakanggc_groupgrup sistem, dan penginstal membuat pengguna dan grup sistem untuk Anda.

  • SiapkanAWS IoT GreengrassPerangkat lunak inti sebagai layanan sistem yang berjalan saat boot. Pada perangkat Linux, ini membutuhkanSystemdsistem init

    penting

    Pada perangkat inti Windows, Anda harus mengaturAWS IoT GreengrassPerangkat lunak 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 hal sertifikat dan kunci pribadi diAWS IoTlayanan sebelumnya, ikuti langkah-langkah untuk menginstalAWS IoT GreengrassPerangkat lunak 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 menginstalAWS IoT GreengrassPerangkat lunak inti dengan kunci pribadi dan sertifikat dalam HSM.

Untuk menginstal AWS IoT Greengrass perangkat lunak Core

  1. Periksa versi perangkat lunak inti AWS IoT Greengrass.

    • GantiGreengrassInstallerdengan jalur menuju folder yang berisi perangkat lunak tersebut.

    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 tersebut.

    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.7.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.

    • GantiMyGreengrassCoredengan namaAWS IoTHal

    • Ganti2.7.0dengan versiAWS IoT GreengrassPerangkat Perangkat Perangkat

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

    • GantiGreengrassCoreTokenExchangeRoleAliasdengan 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.7.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/v2atauC:\greengrass\v2dengan folder akar Greengrass.

    • Ganti setiap contohGreengrassInstallerdengan folder tempat Anda membongkar penginstal tersebut.

    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 trueuntuk mengaturAWS IoT GreengrassPerangkat lunak 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 dariKomponen 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.

    • GantiGreengrassInstallerdengan jalur menuju folder yang berisi perangkat lunak tersebut.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Untuk mengaktifkanAWS IoT GreengrassPerangkat lunak inti untuk menggunakan kunci pribadi dan sertifikat di HSM, instalKomponen penyedia PKCS #11ketika Anda menginstalAWS IoT GreengrassPerangkat Perangkat Perangkat 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. GantiGreengrassInstallerdengan 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 tersebut.

    nano GreengrassInstaller/config.yaml

    Salin konten YAML berikut ke dalam file. File konfigurasi parsi 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.7.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 contohiotdevicekeydi URI PKCS #11 dengan label objek tempat Anda membuat kunci pribadi dan mengimpor sertifikat.

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

    • GantiMyGreengrassCoredengan namaAWS IoTHal

    • Ganti2.7.0dengan versiAWS IoT GreengrassPerangkat Perangkat Perangkat

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

    • GantiGreengrassCoreTokenExchangeRoleAliasdengan 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.Pkcs11Providerkomponen dengan nilai-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.7.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 contohGreengrassInstallerdengan 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 trueuntuk mengaturAWS IoT GreengrassPerangkat lunak 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: