AWS Cloud9 tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Cloud9 dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya
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 dengan AWS Systems Manager
“Instans EC2 tanpa masuk” yang dibuat untuk lingkungan EC2 memungkinkan untuk terhubung AWS Cloud9 ke instans Amazon EC2-nya tanpa perlu membuka port masuk apa pun pada instance itu. Anda dapat memilih opsi no-ingress saat membuat lingkungan EC2 menggunakan konsol, antarmuka baris perintah, atau tumpukan.CloudFormation Untuk informasi selengkapnya tentang cara membuat lingkungan menggunakan konsol atau antarmuka baris perintah, lihatLangkah 1: Buat lingkungan.
penting
Tidak ada biaya tambahan untuk menggunakan Pengelola Sesi Systems Manager untuk mengelola koneksi ke instans EC2 Anda.
Saat memilih jenis lingkungan di halaman Buat lingkungan konsol, Anda dapat memilih instans EC2 baru yang memerlukan konektivitas masuk atau instans EC2 tanpa masuk baru yang tidak memerlukan hal berikut:
-
Instans EC2 baru — Dengan pengaturan ini, grup keamanan untuk instance memiliki aturan untuk mengizinkan lalu lintas jaringan masuk. Lalu lintas jaringan masuk dibatasi untuk alamat IP yang disetujui untuk koneksi AWS Cloud9. Sebuah port inbound terbuka memungkinkan AWS Cloud9 untuk terhubung melalui SSH ke instance-nya. Jika menggunakan AWS Systems Manager Session Manager, 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 penyiapan 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:
-
Systems Manager Session Manager memiliki izin untuk melakukan tindakan pada instans EC2 atas nama Anda. Untuk informasi selengkapnya, lihat Mengelola izin Systems Manager.
-
AWS Cloud9 pengguna 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 Session Manager untuk 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 no-ingress menggunakan AWS Cloud9 konsol, service role (AWSCloud9SSMAccessRole) dan IAM instance profile (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 no-ingress untuk pertama kalinya AWS CLI, Anda harus secara eksplisit menentukan peran layanan dan profil instance yang diperlukan. Untuk informasi selengkapnya, lihat Mengelola profil instans untuk Systems Manager dengan AWS CLI.
penting
Jika Anda membuat AWS Cloud9 lingkungan dan menggunakan Amazon EC2 Systems Manager dengan kebijakan AWSCloud9User atau kebijakan yang dilampirkan, Anda juga harus melampirkan kebijakan khusus yang memiliki izin IAM tertentu, lihat. AWSCloud9Administrator Kebijakan IAM khusus untuk pembuatan lingkungan SSM Hal ini disebabkan masalah izin dengan AWSCloud9User kebijakan AWSCloud9Administrator dan kebijakan.
Untuk perlindungan keamanan tambahan, peran AWS Cloud9 terkait layananAWSServiceRoleforAWSCloud9, menampilkan PassRole pembatasan dalam kebijakannya. AWSCloud9ServiceRolePolicy Saat Anda meneruskan IAM role ke layanan, itu memungkinkan layanan tersebut untuk mengambil peran dan melakukan tindakan atas nama Anda. Dalam hal ini, PassRole izin memastikan bahwa hanya AWS Cloud9 dapat meneruskan AWSCloud9SSMAccessRole peran (dan izinnya) ke instans EC2. Ini membatasi tindakan yang dapat dilakukan pada instans EC2 hanya yang diperlukan oleh. AWS 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
AWSCloud9SSMAccessRoledanAWSCloud9SSMInstanceProfiledibuat secara otomatis sesudahnya. Setelah dibuat, peran layanan dan profil instans tersedia untuk Lingkungan EC2 tambahan yang dibuat menggunakan AWS CLI. -
Jalankan AWS CLI perintah berikut untuk membuat peran layanan dan profil instance.
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 AWS Cloud9 lingkungan 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 memberi pengguna akses dengan menggunakan kebijakan terkelola AWS Cloud9 tertentu (disarankan) atau dengan mengedit kebijakan IAM dan menambahkan izin yang diperlukan.
| Metode | Deskripsi |
|---|---|
|
Gunakan kebijakan AWS Cloud9 terkelola -spesifik |
Sebaiknya gunakan kebijakan AWS terkelola untuk memungkinkan pengguna mengakses instans EC2 yang dikelola oleh Systems Manager. Kebijakan terkelola menyediakan serangkaian izin untuk kasus AWS Cloud9 penggunaan standar dan dapat dengan mudah dilampirkan ke entitas IAM. Semua kebijakan terkelola juga menyertakan izin untuk menjalankan operasi API
pentingJika Anda membuat AWS Cloud9 lingkungan dan menggunakan Amazon EC2 Systems Manager dengan kebijakan Untuk informasi selengkapnya, lihat AWS kebijakan terkelola 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 menjalankan operasi StartSession API. Kunci ssm:resourceTag kondisi menentukan bahwa sesi Session Manager dapat dimulai untuk setiap instance (Resource: arn:aws:ec2:*:*:instance/*) dengan syarat bahwa instance 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 CloudFormation untuk membuat lingkungan EC2 tanpa masuk
Saat menggunakan templat CloudFormation untuk menentukan lingkungan pengembangan Amazon EC2 tanpa masuk, lakukan hal berikut sebelum membuat tumpukan:
-
Buat peran layanan
AWSCloud9SSMAccessRoledan profil instansAWSCloud9SSMInstanceProfile. Untuk informasi selengkapnya, lihat Membuat peran layanan dan profil instance dengan CloudFormation template. -
Perbarui kebijakan untuk pemanggilan CloudFormation entitas IAM. 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 instance dengan CloudFormation template
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 membuat AWSCloud9SSMAccessRole dan AWSCloud9SSMInstanceProfile dengan membuat lingkungan EC2 no-ingress with the console atau menjalankan AWS CLI perintah, peran layanan dan profil instance sudah tersedia untuk digunakan.
catatan
Misalkan Anda mencoba membuat CloudFormation tumpukan 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 instans AWSCloud9 SSMInstance Profil tidak ada di akun.
Saat membuat lingkungan EC2 no-ingress untuk pertama kalinya menggunakan CloudFormation, Anda dapat menentukan AWSCloud9SSMAccessRole dan AWSCloud9SSMInstanceProfile sebagai sumber daya IAM dalam template.
Kutipan dari template sampel ini menunjukkan cara mendefinisikan sumber daya ini. AssumeRoleTindakan mengembalikan kredensyal keamanan yang menyediakan akses ke AWS Cloud9 lingkungan 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
Setelah mendefinisikan peran layanan dan profil instance dalam CloudFormation template, 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 menelepon. 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 instans EC2 AWS Cloud9 lingkungan Anda tidak memiliki akses ke internet, buat titik akhir VPC untuk bucket Amazon S3 tertentu. Bucket ini berisi dependensi yang diperlukan untuk menyimpan IDE Anda. up-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 titik akhir VPC menggunakan Konsol Manajemen AWS,, 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 Konsol Manajemen AWS, buka halaman konsol untuk Amazon VPC.
-
Pilih Titik akhir di bilah navigasi.
-
Di halaman Titik Akhir, pilih Buat Titik Akhir.
-
Di halaman Buat Titik Akhir, masukkan “s3" di bidang pencarian dan tekan Kembali untuk mencantumkan titik akhir yang tersedia untuk Amazon S3 saat ini. Wilayah 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.
-
Di bagian Kebijakan, pilih opsi Kustom, dan ganti kebijakan standar dengan yang berikut ini.
Untuk
Resourceelemen, ganti{bucket_name}dengan nama sebenarnya dari bucket yang tersedia di Anda Wilayah AWS. Misalnya, jika Anda menggunakan AWS Cloud9 di Wilayah Eropa (Irlandia), Anda menentukan hal berikut"Resource": "arn:aws:s3:::static-eu-west-1-prod-static-hld3vzaf7c4h/content/dependencies/:.Tabel berikut mencantumkan nama bucket untuk Wilayah AWS tempat AWS Cloud9 tersedia.
Ember Amazon S3 di Wilayah AWS Cloud9 Wilayah AWS Nama Bucket AS Timur (Ohio)
static-us-east-2-prod-static-1c3sfcvf9hy4mAS Timur (Virginia Utara)
static-us-east-1-prod-static-mft1klnkc4hlAS Barat (Oregon)
static-us-west-2-prod-static-p21mksqx9zlrAS Barat (California Utara)
static-us-west-1-prod-static-16d59zrrp01z0Afrika (Cape Town)
static-af-south-1-prod-static-v6v7i5ypdppvAsia Pasifik (Hong Kong)
static-ap-east-1-prod-static-171xhpfkrorh6Asia Pasifik (Mumbai) static-ap-south-1-prod-static-ykocre202i9dAsia Pasifik (Osaka) static-ap-northeast-3-prod-static-ivmxqzrx2ioiAsia Pasifik (Seoul) static-ap-northeast-2-prod-static-1wxyctlhwiajmAsia Pasifik (Singapura) static-ap-southeast-1-prod-static-13ibpyrx4vk6dAsia Pasifik (Sydney)
static-ap-southeast-2-prod-static-1cjsl8bx27rfuAsia Pasifik (Tokyo)
static-ap-northeast-1-prod-static-4fwvbdisquj8Kanada (Pusat)
static-ca-central-1-prod-static-g80lpejy486cEropa (Frankfurt)
static-eu-central-1-prod-static-14lbgls2vrkhEropa (Irlandia)
static-eu-west-1-prod-static-hld3vzaf7c4hEropa (London)
static-eu-west-2-prod-static-36lbg202837xEropa (Milan)
static-eu-south-1-prod-static-1379tzkd3ni7dEropa (Paris)
static-eu-west-3-prod-static-1rwpkf766ke58Eropa (Stockholm)
static-eu-north-1-prod-static-1qzw982y7yu7eTimur Tengah (Bahrain)
static-me-south-1-prod-static-gmljex38qtqxAmerika Selatan (Sao Paulo)
static-sa-east-1-prod-static-1cl8k0y7opidtIsrael (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 bucket untuk Region Anda.ping {bucket_name}.s3.{region}.amazonaws.com.rproxy.govskope.ca.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.rproxy.govskope.caJika ping mendapat respons, ini mengonfirmasi bahwa IDE Anda dapat mengakses bucket dan dependensinya.
Untuk informasi selengkapnya tentang fitur ini, lihat Titik Akhir untuk Amazon S3 di AWS PrivateLink Panduan.
Mengonfigurasi VPC endpoint untuk konektivitas privat
Saat Anda meluncurkan instance ke subnet dengan opsi akses menggunakan Systems Manager, 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 up to date.
Untuk mencegah lalu lintas keluar dan masuk misalnya, buat dan konfigurasikan titik akhir Amazon VPC untuk Systems Manager. Dengan titik akhir VPC antarmuka (titik akhir antarmuka), Anda dapat terhubung ke layanan yang didukung oleh. AWS PrivateLink AWS PrivateLink adalah teknologi yang dapat digunakan untuk mengakses Amazon EC2 dan Systems APIs Manager 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 mendukung AWS Cloud9 IDE Anda tidak memiliki akses internet. Anda perlu membuat endpoint Amazon S3 untuk VPC Anda agar memungkinkan akses ke dependensi yang terdapat dalam bucket S3 tepercaya. Selain itu, beberapa Layanan AWS, seperti AWS Lambda, mungkin tidak berfungsi sebagaimana dimaksud tanpa akses internet.
Dengan AWS 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