Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengakses instans EC2 no-ingress denganAWS Systems Manager
"Instans EC2 tanpa masuk" yang dibuat untuk lingkungan EC2 memungkinkan AWS Cloud9 untuk terhubung ke instans Amazon EC2-nya tanpa perlu membuka port masuk apa pun pada instans tersebut. Anda dapat memilih opsi tanpa-masuk saat membuat lingkungan EC2 menggunakan konsol, antarmuka baris perintah, atau tumpukan AWS CloudFormation.
penting
Tidak ada biaya tambahan untuk menggunakan Pengelola Sesi Systems Manager untuk mengelola koneksi ke instans EC2 Anda.
Saat memilih jenis lingkungan diCiptakan lingkunganhalaman darikonsol, Anda dapat memilih instans EC2 baru yang memerlukan konektivitas masuk atau instans EC2 tanpa masuk baru yang tidak memerlukan yang berikut ini:
-
Instans EC2 baru— Dengan pengaturan ini, grup keamanan misalnya memiliki aturan untuk mengizinkan lalu lintas jaringan masuk. Lalu lintas jaringan masuk dibatasi untuk alamat IP yang disetujui untuk koneksi AWS Cloud9. Port masuk terbuka memungkinkan AWS Cloud9 terhubung melalui SSH ke instansnya. Jika Anda menggunakanAWSManajer Sesi Manajer Sistem, Anda dapat mengakses instans Amazon EC2 melalui SSM tanpa membuka port masuk (tanpa masuk). Metode ini hanya berlaku untuk instans Amazon EC2 baru. Untuk informasi selengkapnya, lihat Manfaat menggunakan Systems Manager untuk lingkungan EC2.
-
Komputasi yang ada— Dengan pengaturan ini, instans Amazon EC2 yang ada diakses yang memerlukan detail login SSH yang harus memiliki aturan grup keamanan masuk. Jika Anda memilih opsi ini, peran layanan dibuat secara otomatis. Anda dapat melihat nama peran layanan dalam catatan di bagian bawah layar pengaturan.
Jika membuat lingkungan menggunakan AWS CLI, Anda dapat mengonfigurasi instans EC2 tanpa masuk dengan mengatur opsi --connection-type CONNECT_SSM
ketika memanggil perintah create-environment-ec2
. Untuk informasi selengkapnya tentang membuat peran layanan dan profil instans yang diperlukan, lihat Mengelola profil instans untuk Systems Manager dengan AWS CLI.
Setelah Anda selesai membuat lingkungan yang menggunakan instans EC2 no-ingress, konfirmasikan hal berikut:
-
Manajer Sesi Manajer Sistem memiliki izin untuk melakukan tindakan pada instans EC2 atas nama Anda. Untuk informasi selengkapnya, lihat Mengelola izin Systems Manager.
-
AWS Cloud9pengguna dapat mengakses instance yang dikelola oleh Session Manager. Untuk informasi selengkapnya, lihat Memberi pengguna akses ke instans yang dikelola oleh Pengelola Sesi.
Manfaat menggunakan Systems Manager untuk lingkungan EC2
Mengizinkan Pengelola Sesi menangani koneksi aman antara AWS Cloud9 dan instans EC2-nya menawarkan dua manfaat utama:
-
Tidak ada persyaratan untuk membuka port masuk untuk instans
-
Opsi untuk meluncurkan instans ke subnet privat atau publik
Mengelola izin Systems Manager
Secara default, Systems Manager tidak memiliki izin untuk melakukan tindakan pada instans EC2. Akses disediakan melalui profil instans AWS Identity and Access Management (IAM). (Profil instans adalah kontainer yang meneruskan informasi IAM role ke instans EC2 saat peluncuran.)
Saat Anda membuat instans EC2 tanpa-masuk menggunakan konsol AWS Cloud9, baik peran layanan (AWSCloud9SSMAccessRole
) dan profil instans IAM (AWSCloud9SSMInstanceProfile
) dibuat secara otomatis untuk Anda. (Anda dapat melihat AWSCloud9SSMAccessRole
di konsol manajemen IAM. Profil instans tidak ditampilkan di konsol IAM.)
penting
Jika Anda membuat lingkungan EC2 tanpa masuk untuk pertama kalinya dengan AWS CLI, Anda harus secara eksplisit menentukan peran layanan dan profil instans yang diperlukan. Untuk informasi selengkapnya, lihat Mengelola profil instans untuk Systems Manager dengan AWS CLI.
penting
Jika Anda membuatAWS Cloud9lingkungan dan menggunakan Manajer Sistem Amazon EC2 denganAWSCloud9Administrator
atauAWSCloud9User
kebijakan terlampir, Anda juga harus melampirkan kebijakan khusus yang memiliki izin IAM tertentu, lihatKebijakan IAM khusus untuk pembuatan lingkungan SSM. Ini karena masalah izin denganAWSCloud9Administrator
danAWSCloud9User
kebijakan.
Untuk perlindungan keamanan tambahan,AWS Cloud9peran terkait layanan,AWSServiceRoleforAWSCloud9
, fiturPassRole
pembatasan dalamAWSCloud9ServiceRolePolicy
kebijakan. Saat Anda meneruskan IAM role ke layanan, itu memungkinkan layanan tersebut untuk mengambil peran dan melakukan tindakan atas nama Anda. Dalam hal ini, izin PassRole
memastikan bahwa AWS Cloud9 hanya dapat meneruskan peran AWSCloud9SSMAccessRole
(dan izinnya) ke instans EC2. Ini membatasi tindakan yang dapat dilakukan pada instans EC2 hanya yang diperlukan olehAWS Cloud9.
catatan
Jika Anda tidak perlu lagi menggunakan Systems Manager untuk mengakses instans, Anda dapat menghapus peran layanan AWSCloud9SSMAccessRole
. Untuk informasi lebih lanjut, lihat Menghapus peran atau profil instans dalam Panduan Pengguna IAM.
Mengelola profil instans untuk Systems Manager dengan AWS CLI
Anda juga dapat membuat lingkungan EC2 tanpa masuk dengan AWS CLI. Ketika Anda memanggil create-environment-ec2
, atur opsi --connection-type
ke CONNECT_SSM
.
Jika Anda menggunakan opsi ini, peran layanan AWSCloud9SSMAccessRole
dan AWSCloud9SSMInstanceProfile
tidak dibuat secara otomatis. Jadi, untuk membuat profil layanan dan profil instance yang diperlukan, lakukan salah satu hal berikut:
-
Buat lingkungan EC2 menggunakan konsol setelah memiliki peran layanan
AWSCloud9SSMAccessRole
danAWSCloud9SSMInstanceProfile
dibuat secara otomatis sesudahnya. Setelah dibuat, peran layanan dan profil instans tersedia untuk Lingkungan EC2 tambahan yang dibuat menggunakan AWS CLI. -
Jalankan perintah AWS CLI berikut untuk membuat peran layanan dan profil instans.
aws iam create-role --role-name AWSCloud9SSMAccessRole --path /service-role/ --assume-role-policy-document '{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com","cloud9.amazonaws.com"] },"Action": "sts:AssumeRole"}]}' aws iam attach-role-policy --role-name AWSCloud9SSMAccessRole --policy-arn arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile aws iam create-instance-profile --instance-profile-name AWSCloud9SSMInstanceProfile --path /cloud9/ aws iam add-role-to-instance-profile --instance-profile-name AWSCloud9SSMInstanceProfile --role-name AWSCloud9SSMAccessRole
Memberi pengguna akses ke instans yang dikelola oleh Pengelola Sesi
Untuk membuka lingkungan AWS Cloud9 yang terhubung ke instans EC2 melalui Systems Manager, pengguna harus memiliki izin untuk operasi API, StartSession
. Operasi ini memulai koneksi ke instans EC2 terkelola untuk sesi Pengelola Sesi. Anda dapat memberikan akses kepada pengguna dengan menggunakan kebijakan terkelola khusus AWS Cloud9 (disarankan) atau dengan mengedit kebijakan IAM dan menambahkan izin yang diperlukan.
Metode | Deskripsi |
---|---|
Menggunakan kebijakan terkelola khusus AWS Cloud9 |
Kami merekomendasikan penggunaan kebijakan terkelola AWS untuk mengizinkan pengguna mengakses instans EC2 yang dikelola oleh Systems Manager. Kebijakan terkelola memberikan serangkaian izin untuk kasus penggunaan AWS Cloud9 standar dan dapat dengan mudah dilampirkan ke entitas IAM. Semua kebijakan terkelola juga menyertakan izin untuk menjalankan operasi API
pentingJika Anda membuatAWS Cloud9lingkungan dan menggunakan Manajer Sistem Amazon EC2 dengan Untuk informasi selengkapnya, lihat Kebijakan yang dikelola oleh AWS untuk AWS Cloud9. |
Mengedit kebijakan IAM dan menambahkan pernyataan kebijakan yang diperlukan |
Untuk mengedit kebijakan yang ada, Anda dapat menambahkan izin untuk Saat mengedit kebijakan, tambahkan policy statement (lihat berikut ini) yang mengizinkan operasi API |
Anda dapat menggunakan izin berikut untuk menjalankanStartSession
Operasi API. Kunci syarat ssm:resourceTag
menentukan bahwa sesi Pengelola Sesi dapat dimulai untuk setiap instans (Resource: arn:aws:ec2:*:*:instance/*
) dengan syarat bahwa instans adalah lingkungan pengembangan AWS Cloud9 EC2 (aws:cloud9:environment
).
catatan
Kebijakan terkelola berikut juga mencakup pernyataan kebijakan ini: AWSCloud9Administrator
, AWSCloud9User
, dan AWSCloud9EnvironmentMember
.
{ "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }
Menggunakan AWS CloudFormation untuk membuat lingkungan EC2 tanpa masuk
Saat menggunakan templat AWS CloudFormation untuk menentukan lingkungan pengembangan Amazon EC2 tanpa masuk, lakukan hal berikut sebelum membuat tumpukan:
-
Buat peran layanan
AWSCloud9SSMAccessRole
dan profil instansAWSCloud9SSMInstanceProfile
. Untuk informasi selengkapnya, lihat Membuat peran layanan dan profil instans dengan templat AWS CloudFormation. -
Memperbarui kebijakan untuk pemanggilan entitas IAMAWS CloudFormation. Dengan cara ini, entitas dapat memulai sesi Session Manager yang terhubung ke instans EC2. Untuk informasi selengkapnya, lihat Menambahkan izin Systems Manager ke kebijakan IAM.
Membuat peran layanan dan profil instans dengan templat AWS CloudFormation
Anda perlu membuat peran layanan AWSCloud9SSMAccessRole
dan profil instans AWSCloud9SSMInstanceProfile
untuk memungkinkan Systems Manager mengelola instans EC2 yang mendukung lingkungan pengembangan Anda.
Jika sebelumnya Anda membuatAWSCloud9SSMAccessRole
danAWSCloud9SSMInstanceProfile
dengan membuat lingkungan EC2 tanpa masuknyawith the consoleatauberlariAWS CLIperintah, peran layanan dan profil instance sudah tersedia untuk digunakan.
catatan
Misalkan Anda mencoba membuatAWS CloudFormationtumpukan untuk lingkungan EC2 tanpa masuk tetapi Anda tidak terlebih dahulu membuat peran layanan dan profil instance yang diperlukan. Kemudian, tumpukan tidak dibuat dan pesan kesalahan berikut ditampilkan:
Profil contohAWSCloud9SSMInstanceProfiletidak ada di akun.
Saat membuat lingkungan EC2 tanpa masuk untuk pertama kalinya menggunakan AWS CloudFormation, Anda dapat menentukan AWSCloud9SSMAccessRole
dan AWSCloud9SSMInstanceProfile
sebagai sumber daya IAM dalam templat.
Kutipan dari template sampel ini menunjukkan cara mendefinisikan sumber daya ini. TheAssumeRole
action mengembalikan kredensyal keamanan yang menyediakan akses ke keduaAWS Cloud9lingkungan dan instans EC2-nya.
AWSTemplateFormatVersion: 2010-09-09 Resources: AWSCloud9SSMAccessRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: - cloud9.amazonaws.com - ec2.amazonaws.com Action: - 'sts:AssumeRole' Description: 'Service linked role for AWS Cloud9' Path: '/service-role/' ManagedPolicyArns: - arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile RoleName: 'AWSCloud9SSMAccessRole' AWSCloud9SSMInstanceProfile: Type: "AWS::IAM::InstanceProfile" Properties: InstanceProfileName: AWSCloud9SSMInstanceProfile Path: "/cloud9/" Roles: - Ref: AWSCloud9SSMAccessRole
Menambahkan izin Systems Manager ke kebijakan IAM
Setelahmendefinisikan peran layanan dan profil instancediAWS CloudFormationtemplat, pastikan bahwa entitas IAM yang membuat tumpukan memiliki izin untuk memulai sesi Session Manager. Sesi adalah koneksi yang dibuat ke instans EC2 menggunakan Session Manager.
catatan
Jika Anda tidak menambahkan izin untuk memulai sesi Pengelola Sesi sebelum membuat tumpukan untuk lingkungan EC2 tanpa masuk, kesalahan AccessDeniedException
dikembalikan.
Tambahkan izin berikut ke kebijakan untuk entitas IAM dengan memanggilAWS CloudFormation.
{ "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloudformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }
Mengonfigurasi VPC endpoint untuk Amazon S3 guna mengunduh dependensi
Jika AndaAWS Cloud9instans EC2 lingkungan tidak memiliki akses ke internet, buat titik akhir VPC untuk bucket Amazon S3 yang ditentukan. Bucket ini berisi dependensi yang diperlukan untuk menyimpan IDE Andaup-to-date.
Menyiapkan titik akhir VPC untuk Amazon S3 juga melibatkan penyesuaian kebijakan akses. Anda ingin kebijakan akses mengizinkan akses hanya ke bucket S3 tepercaya yang berisi dependensi yang akan diunduh.
catatan
Anda dapat membuat dan mengonfigurasi VPC endpoint menggunakan AWS Management Console, AWS CLI, atau Amazon VPC API. Prosedur berikut menunjukkan cara membuat titik akhir VPC dengan menggunakan antarmuka konsol.
Membuat dan mengonfigurasi VPC endpoint untuk Amazon S3
-
Di AWS Management Console, buka halaman konsol untuk Amazon VPC.
-
Pilih Titik akhir di bilah navigasi.
-
Di halaman Titik Akhir, pilih Buat Titik Akhir.
-
DiBuat Endpointhalaman, masukkan “s3" di bidang pencarian dan tekanKembaliuntuk mencantumkan titik akhir yang tersedia untuk Amazon S3 saat iniWilayah AWS.
-
Dari daftar titik akhir Amazon S3 yang dikembalikan, pilih jenis Gateway.
-
Selanjutnya, pilih VPC yang berisi instans EC2 lingkungan Anda.
-
Sekarang pilih tabel rute VPC. Dengan cara ini, subnet terkait dapat mengakses titik akhir. Instans EC2 lingkungan Anda ada di salah satu subnet ini.
-
DiKebijakanbagian, pilihKustomopsi, dan ganti kebijakan standar dengan yang berikut ini.
{ "Version": "2008-10-17", "Statement": [ { "Sid": "Access-to-C9-bucket-only", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::{bucket_name}/content/dependencies/*" } ] }
Untuk
Resource
elemen, ganti{bucket_name}
dengan nama sebenarnya dari ember yang tersedia di AndaWilayah AWS. Misalnya, jika Anda menggunakan AWS Cloud9 di Wilayah Europe (Ireland), Anda menentukan hal berikut:"Resource": "arn:aws:s3:::static-eu-west-1-prod-static-hld3vzaf7c4h/content/dependencies/
.Tabel berikut mencantumkan nama bucket untukWilayah AWSdi manaAWS Cloud9tersedia.
Bucket Amazon S3 di Wilayah AWS Cloud9Wilayah AWS Nama bucket AS Timur (Ohio)
static-us-east-2-prod-static-1c3sfcvf9hy4m
US East (N. Virginia)
static-us-east-1-prod-static-mft1klnkc4hl
US West (Oregon)
static-us-west-2-prod-static-p21mksqx9zlr
US West (N. California)
static-us-west-1-prod-static-16d59zrrp01z0
Africa (Cape Town)
static-af-south-1-prod-static-v6v7i5ypdppv
Asia Pacific (Hong Kong)
static-ap-east-1-prod-static-171xhpfkrorh6
Asia Pacific (Mumbai) static-ap-south-1-prod-static-ykocre202i9d
Asia Pacific (Osaka) static-ap-northeast-3-prod-static-ivmxqzrx2ioi
Asia Pacific (Seoul) static-ap-northeast-2-prod-static-1wxyctlhwiajm
Asia Pacific (Singapore) static-ap-southeast-1-prod-static-13ibpyrx4vk6d
Asia Pacific (Sydney)
static-ap-southeast-2-prod-static-1cjsl8bx27rfu
Asia Pacific (Tokyo)
static-ap-northeast-1-prod-static-4fwvbdisquj8
Canada (Central)
static-ca-central-1-prod-static-g80lpejy486c
Europe (Frankfurt)
static-eu-central-1-prod-static-14lbgls2vrkh
Europe (Ireland)
static-eu-west-1-prod-static-hld3vzaf7c4h
Europe (London)
static-eu-west-2-prod-static-36lbg202837x
Europe (Milan)
static-eu-south-1-prod-static-1379tzkd3ni7d
Europe (Paris)
static-eu-west-3-prod-static-1rwpkf766ke58
Europe (Stockholm)
static-eu-north-1-prod-static-1qzw982y7yu7e
Middle East (Bahrain)
static-me-south-1-prod-static-gmljex38qtqx
South America (São Paulo)
static-sa-east-1-prod-static-1cl8k0y7opidt
Israel (Tel Aviv)
static-il-central-1-prod-static-k02vrnhcesue
-
Pilih Buat Titik Akhir.
Jika Anda memberikan informasi konfigurasi yang benar, pesan akan menampilkan ID titik akhir yang dibuat.
-
Untuk memeriksa apakah IDE Anda dapat mengakses bucket Amazon S3, mulai sesi terminal dengan memilih Jendela, Terminal Baru pada bilah menu. Kemudian jalankan perintah berikut, ganti
{bucket_name}
dengan nama sebenarnya dari ember untuk Wilayah Anda.ping {bucket_name}.s3.{region}.amazonaws.com.
Misalnya, jika Anda membuat endpoint untuk bucket S3 di Wilayah AS Timur (Virginia N.), jalankan perintah berikut.
ping static-us-east-1-prod-static-mft1klnkc4hl.s3.us-east-1.amazonaws.com
Jika ping mendapat respons, ini mengonfirmasi bahwa IDE Anda dapat mengakses bucket dan dependensinya.
Untuk informasi selengkapnya tentang fitur ini, lihatTitik akhir untuk Amazon S3diAWS PrivateLinkPanduan.
Mengonfigurasi VPC endpoint untuk konektivitas privat
Saat Anda meluncurkan instance ke subnet denganakses menggunakan Manajer Sistemopsi, grup keamanannya tidak memiliki aturan masuk untuk mengizinkan lalu lintas jaringan masuk. Namun, kelompok keamanan memiliki aturan keluar yang memungkinkan lalu lintas keluar dari instance. Ini diperlukan untuk mengunduh paket dan pustaka yang diperlukan agar AWS Cloud9 IDE tetap mutakhir.
Untuk mencegah lalu lintas keluar dan masuk misalnya, buat dan konfigurasikan titik akhir Amazon VPC untuk Manajer Sistem. Dengan titik akhir VPC antarmuka (titik akhir antarmuka), Anda dapat terhubung ke layanan yang didukung olehAWS PrivateLink.AWS PrivateLinkadalah teknologi yang dapat digunakan untuk mengakses Amazon EC2 dan API Manajer Sistem secara pribadi dengan menggunakan alamat IP pribadi. Untuk mengonfigurasi VPC endpoint agar menggunakan Systems Manager, ikuti petunjuk yang diberikan oleh sumber daya Pusat Pengetahuan
Awas
Misalnya Anda mengonfigurasi grup keamanan yang tidak mengizinkan lalu lintas jaringan masuk atau keluar. Kemudian, instans EC2 yang mendukungAWS Cloud9IDE tidak memiliki akses internet. Anda perlu membuatTitik akhir Amazon S3 untuk VPC Andauntuk mengizinkan akses ke dependensi yang terkandung dalam bucket S3 tepercaya. Selain itu, beberapaLayanan AWS, sepertiAWS Lambda, mungkin tidak berfungsi sebagaimana dimaksud tanpa akses internet.
denganAWS PrivateLink, ada biaya pemrosesan data untuk setiap gigabyte yang diproses melalui titik akhir VPC. Ini terlepas dari sumber lalu lintas atau tujuan. Untuk informasi lebih lanjut, lihat Harga AWS PrivateLink