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 instance no-ingress EC2 dengan AWS Systems Manager
“ EC2 Instance no-ingress” yang dibuat untuk EC2 lingkungan memungkinkan untuk terhubung AWS Cloud9 ke EC2 instance Amazon-nya tanpa perlu membuka port masuk apa pun pada instance itu. Anda dapat memilih opsi no-ingress saat membuat EC2 lingkungan 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 Systems Manager Session Manager untuk mengelola koneksi ke EC2 instans Anda.
Saat memilih jenis lingkungan di halaman Buat lingkungan konsol, Anda dapat memilih EC2 instance baru yang memerlukan konektivitas masuk atau EC2 instance tanpa masuk baru yang tidak memerlukan hal berikut:
-
EC2Instans 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 EC2 instans Amazon melalui SSM tanpa membuka port masuk (tanpa masuk). Metode ini hanya berlaku untuk EC2 instans Amazon baru. Untuk informasi selengkapnya, lihat Manfaat menggunakan Systems Manager untuk EC2 lingkungan.
-
Komputasi yang ada — Dengan penyiapan ini, EC2 instans Amazon 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 EC2 instance no-ingress dengan menyetel --connection-type CONNECT_SSM opsi saat 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 EC2 instance no-ingress, konfirmasikan hal berikut:
-
Systems Manager Session Manager memiliki izin untuk melakukan tindakan atas EC2 instans 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 EC2 lingkungan
Mengizinkan Session Manager untuk menangani koneksi aman antara AWS Cloud9 dan EC2 instance-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 EC2 instance. Akses disediakan melalui profil instans AWS Identity and Access Management (IAM). (Profil instance adalah wadah yang meneruskan informasi peran IAM ke EC2 instance saat peluncuran.)
Saat Anda membuat EC2 instance 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 EC2 lingkungan 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 AWSCloud9User kebijakan AWSCloud9Administrator atau kebijakan yang dilampirkan, Anda juga harus melampirkan kebijakan khusus yang memiliki izin IAM tertentu, lihat. 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 sebuah EC2 instance. Ini membatasi tindakan yang dapat dilakukan pada EC2 instance hanya untuk 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 EC2 lingkungan tanpa masuknya 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 EC2 lingkungan menggunakan konsol setelah memiliki peran
AWSCloud9SSMAccessRolelayanan danAWSCloud9SSMInstanceProfiledibuat secara otomatis sesudahnya. Setelah dibuat, peran layanan dan profil instance tersedia untuk EC2 Lingkungan tambahan apa pun 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 EC2 instance melalui Systems Manager, pengguna harus memiliki izin untuk operasi APIStartSession. Operasi ini memulai koneksi ke EC2 instance terkelola untuk sesi Session Manager. 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 EC2 instans 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 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 AWS Cloud9 EC2 pengembangan (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 tanpa masuknya EC2
Saat menggunakan CloudFormation template untuk menentukan lingkungan EC2 pengembangan Amazon 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 EC2 instance. 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 mengaktifkan Systems Manager mengelola EC2 instance yang mendukung lingkungan pengembangan Anda.
Jika sebelumnya Anda membuat AWSCloud9SSMAccessRole dan AWSCloud9SSMInstanceProfile dengan membuat EC2 lingkungan 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 EC2 lingkungan 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 EC2 lingkungan 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 instance-nya EC2 .
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 EC2 instance menggunakan Session Manager.
catatan
Jika Anda tidak menambahkan izin untuk memulai sesi Pengelola Sesi sebelum membuat tumpukan untuk EC2 lingkungan tanpa masuknya, AccessDeniedException kesalahan akan ditampilkan.
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 EC2 instans 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 instance lingkungan Anda. EC2
-
Sekarang pilih tabel rute VPC. Dengan cara ini, subnet terkait dapat mengakses titik akhir. EC2 Contoh 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 Manager secara pribadi APIs 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, EC2 instance yang mendukung AWS Cloud9 IDE Anda tidak memiliki akses internet. Anda perlu membuat endpoint Amazon S3 untuk VPC 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 selengkapnya, lihat harga AWS PrivateLink