All Products
Search
Document Center

E-MapReduce:Gunakan peran aplikasi ECS kustom untuk mengakses sumber daya cloud lainnya di Akun Alibaba Cloud Anda

Last Updated:Mar 26, 2026

Dengan menyambungkan peran aplikasi ECS kustom ke kluster EMR, node-node kluster tersebut dapat mengakses sumber daya cloud lainnya — seperti Object Storage Service (OSS) dan Simple Log Service (SLS) — di Akun Alibaba Cloud Anda tanpa menyimpan kredensial. Kebijakan yang ditautkan pada peran tersebut secara tepat menentukan sumber daya dan operasi yang dapat diakses oleh kluster, sehingga memberikan kontrol detail halus.

Penting

Jika Anda membuat kluster yang menjalankan EMR V5.x atau versi lebih baru, versi minor yang lebih baru dari EMR V4.5, atau versi minor yang lebih baru dari EMR V3.32, pembaruan kebijakan kepercayaan pada Langkah 2 tidak diperlukan. Untuk versi sebelumnya, Anda harus mengubah layanan tepercaya dari ECS ke EMR — lihat Langkah 2, sub-langkah 4.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Ikhtisar

Pengaturan ini mencakup tiga langkah:

  1. Buat kebijakan — tentukan sumber daya yang dapat diakses oleh kluster dan operasi yang dapat dilakukannya.

  2. Buat RAM role — buat role yang dapat diasumsikan oleh ECS dan tautkan kebijakan dari langkah 1.

  3. Buat kluster dan verifikasi akses — tautkan RAM role saat membuat kluster, lalu konfirmasi bahwa akses berfungsi.

Langkah 1: Buat kebijakan

  1. Login ke Konsol RAM menggunakan Akun Alibaba Cloud Anda.

  2. Di panel navigasi kiri, pilih Permissions > Policies, lalu klik Create Policy.

  3. Pada halaman Create Policy, klik tab JSON dan masukkan isi kebijakan di editor. Contoh berikut memberikan akses read-only ke bucket OSS tertentu:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "oss:GetObject",
                    "oss:ListObjects"
                ],
                "Resource": [
                    "acs:oss:*:*:examplebucket",
                    "acs:oss:*:*:examplebucket/*"
                ],
                "Effect": "Allow"
            }
        ]
    }

    Ganti examplebucket dengan nama bucket OSS Anda yang sebenarnya. Bidang Resource memerlukan dua entri: satu untuk bucket itu sendiri (examplebucket) dan satu untuk semua objek di dalamnya (examplebucket/*). Bidang Action memberikan akses read-only — oss:GetObject untuk mengunduh objek dan oss:ListObjects untuk menampilkannya. Untuk detail tentang sintaksis kebijakan dan aksi yang tersedia, lihat Elemen kebijakan.

  4. Klik OK, lalu isi bidang Name di bagian Basic information. Pada contoh ini, namanya adalah test-emr.

  5. Klik OK.

Langkah 2: Buat RAM role

  1. Di panel navigasi kiri Konsol RAM, pilih Identities > Roles, lalu klik Create Role.

  2. Pada langkah Select Role Type, atur Select Trusted Entity menjadi Alibaba Cloud Service dan klik Next.

  3. Pada langkah Configure Role, atur parameter berikut: Klik OK.

    ParameterNilai
    RAM Role NameMasukkan nama untuk role tersebut. Pada contoh ini: test-emr
    Select Trusted ServicePilih Elastic Compute Service
  4. (Opsional) Perbarui kebijakan kepercayaan. Untuk versi sebelumnya, layanan tepercaya harus diubah dari ECS ke EMR. Tanpa perubahan ini, pembuatan kluster akan gagal dengan error NoPermission.

    Penting

    Lewati langkah ini jika Anda membuat kluster yang menjalankan EMR V5.x atau versi lebih baru, versi minor yang lebih baru dari EMR V4.5, atau versi minor yang lebih baru dari EMR V3.32. Versi-versi tersebut tidak memerlukan perubahan ini.

    1. Pada halaman Roles, klik nama RAM role yang telah Anda buat.

    2. Klik tab Trust Policy, lalu klik Edit Trust Policy.

    3. Ubah ecs.aliyuncs.com menjadi emr.aliyuncs.com. Trust policy edit

    4. Klik Save trust policy document.

  5. Berikan izin yang diperlukan kepada role tersebut:

    1. Pada halaman Roles, temukan role yang telah Anda buat dan klik Grant Permission di kolom Actions.

    2. Di panel Grant Permission, pilih Custom Policy dari daftar drop-down di bagian Policy, lalu pilih kebijakan yang telah Anda buat di Langkah 1.

    3. Klik Grant permissions, lalu klik Close.

Langkah 3: Buat kluster dan verifikasi akses

  1. Login ke Konsol EMR. Di panel navigasi kiri, klik EMR on ECS.

  2. Di bilah navigasi atas, pilih wilayah tempat kluster Anda akan berada dan pilih kelompok sumber daya.

  3. Klik Create Cluster. Di bagian Advanced Settings pada langkah Basic Configuration, masukkan nama RAM role yang telah Anda buat di Langkah 2. Untuk opsi konfigurasi kluster lainnya, lihat Buat kluster.

    Advanced settings for ECS application role

  4. Setelah kluster dibuat, login ke kluster menggunakan SSH. Lihat Login ke kluster.

  5. Jalankan perintah berikut untuk memverifikasi bahwa kluster dapat mengakses bucket OSS yang ditentukan dalam kebijakan:

    hdfs dfs -ls oss://<yourBucketName>/

    Ganti <yourBucketName> dengan nama bucket OSS Anda yang sebenarnya.

    • Jika isi bucket ditampilkan, akses berfungsi dengan benar.

    • Jika akses ditolak, kluster tidak memiliki izin untuk mengakses bucket tersebut — lihat FAQ di bawah ini.

FAQ

Mengapa muncul error NoPermission saat saya membuat kluster?

Periksa hal berikut secara berurutan:

  1. RAM user yang membuat kluster harus memiliki AliyunEMRFullAccess. Jika pengguna memiliki AliyunEMRDevelopAccess, ubah menjadi AliyunEMRFullAccess.

  2. Periksa apakah nama peran aplikasi ECS yang Anda tentukan valid dan sesuai dengan RAM role yang telah Anda buat.

  3. Jika Anda menggunakan versi EMR yang memerlukan pembaruan kebijakan kepercayaan (lebih lama dari EMR V5.x, EMR V4.5, atau EMR V3.32), pastikan bahwa ecs.aliyuncs.com telah diubah menjadi emr.aliyuncs.com dalam kebijakan kepercayaan.

Mengapa saya tidak dapat mengakses bucket OSS dari Hadoop Distributed File System (HDFS)?

Periksa hal berikut secara berurutan:

  1. Bucket OSS harus berada di wilayah yang sama dengan kluster EMR. Jika berada di wilayah berbeda, tambahkan titik akhir bucket tersebut ke string koneksi.

  2. Bucket tersebut harus tercantum sebagai resource dalam kebijakan. Jika tidak, perbarui bidang Resource dalam kebijakan agar mencakup bucket tersebut.

  3. Jika izin tingkat bucket dikonfigurasi langsung di Konsol OSS, pengaturan tersebut mungkin bertentangan dengan kebijakan. Hapus izin di Konsol OSS dan kelola akses secara eksklusif melalui bidang Action dalam kebijakan RAM.