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
“EC2Instance 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.AWS 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 SSH ke instance-nya. Jika Anda menggunakan AWS Systems Manager Session Manager, Anda dapat mengakses EC2 instans Amazon SSM tanpa membuka port masuk (tanpa ingress). 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 SSH login 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 instance AWS Identity and Access Management (IAM). (Profil instance adalah wadah yang meneruskan informasi IAM peran ke EC2 instance saat peluncuran.)
Saat Anda membuat EC2 instance no-ingress menggunakan AWS Cloud9 konsol, service role (AWSCloud9SSMAccessRole
) dan IAM instance profile (AWSCloud9SSMInstanceProfile
) akan dibuat secara otomatis untuk Anda. (Anda dapat melihat AWSCloud9SSMAccessRole
di konsol IAM Manajemen. Profil instance tidak ditampilkan di IAM konsol.)
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 IAM izin tertentu, lihatIAMKebijakan khusus untuk pembuatan SSM lingkungan. Ini karena masalah izin dengan AWSCloud9User
kebijakan AWSCloud9Administrator
dan.
Untuk perlindungan keamanan tambahan, peran AWS Cloud9 terkait layananAWSServiceRoleforAWSCloud9
, menampilkan PassRole
pembatasan dalam kebijakannya. AWSCloud9ServiceRolePolicy
Ketika Anda meneruskan IAM peran ke layanan, layanan tersebut 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 selengkapnya, lihat Menghapus peran atau profil instance di Panduan IAM Pengguna.
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
AWSCloud9SSMAccessRole
layanan danAWSCloud9SSMInstanceProfile
dibuat 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 instans melalui Systems Manager, pengguna harus memiliki izin untuk API operasi tersebutStartSession
. 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 IAM kebijakan 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 IAM entitas. Semua kebijakan terkelola juga menyertakan izin untuk menjalankan
pentingJika Anda membuat AWS Cloud9 lingkungan dan menggunakan Amazon EC2 Systems Manager dengan Untuk informasi selengkapnya, lihat AWS kebijakan terkelola untuk AWS Cloud9. |
Mengedit IAM kebijakan 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 memungkinkan |
Anda dapat menggunakan izin berikut untuk menjalankan StartSession
API operasi. 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 AWS CloudFormation untuk membuat lingkungan tanpa masuknya EC2
Saat menggunakan AWS CloudFormation template untuk menentukan lingkungan EC2 pengembangan Amazon tanpa masuk, lakukan hal berikut sebelum membuat tumpukan:
-
Buat peran layanan
AWSCloud9SSMAccessRole
dan profil instansAWSCloud9SSMInstanceProfile
. Untuk informasi selengkapnya, lihat Membuat peran layanan dan profil instance dengan AWS CloudFormation template. -
Perbarui kebijakan untuk pemanggilan IAM entitas AWS CloudFormation. 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 AWS CloudFormation template
Anda perlu membuat peran layanan AWSCloud9SSMAccessRole
dan profil instans AWSCloud9SSMInstanceProfile
untuk mengaktifkan Systems Manager mengelola EC2 instans 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 AWS 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 AWSCloud9SSMInstanceProfile tidak ada di akun.
Saat membuat EC2 lingkungan no-ingress untuk pertama kalinya menggunakan AWS CloudFormation, Anda dapat menentukan AWSCloud9SSMAccessRole
dan AWSCloud9SSMInstanceProfile
sebagai IAM sumber daya dalam template.
Kutipan dari template sampel ini menunjukkan cara mendefinisikan sumber daya ini. AssumeRole
Tindakan mengembalikan kredensi keamanan yang menyediakan akses ke AWS Cloud9 lingkungan dan instance-nyaEC2.
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 AWS CloudFormation template, pastikan bahwa IAM entitas 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 IAM entitas dengan menelepon AWS 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/*" ] }
Mengkonfigurasi VPC titik akhir untuk Amazon S3 untuk mengunduh dependensi
Jika EC2 instans AWS Cloud9 lingkungan Anda tidak memiliki akses ke internet, buat VPC titik akhir untuk bucket Amazon S3 tertentu. Bucket ini berisi dependensi yang diperlukan untuk menjaga Anda. IDE up-to-date
Menyiapkan VPC titik akhir 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 titik akhir menggunakan AWS Management Console, AWS CLI, atau Amazon VPCAPI. Prosedur berikut menunjukkan cara membuat VPC titik akhir dengan menggunakan antarmuka konsol.
Membuat dan mengonfigurasi VPC titik akhir untuk Amazon S3
-
Di AWS Management Console, buka halaman konsol untuk AmazonVPC.
-
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 EC2 instance lingkungan Anda.
-
Sekarang pilih VPC tabel rute. Dengan cara ini, subnet terkait dapat mengakses titik akhir. EC2Contoh lingkungan Anda ada di salah satu subnet ini.
-
Di bagian Kebijakan, pilih opsi Kustom, 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 bucket yang tersedia di Anda Wilayah AWS. Misalnya, jika Anda menggunakan AWS Cloud9 di Wilayah Eropa (Irlandia), Anda menentukan yang 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-1c3sfcvf9hy4m
AS Timur (Virginia Utara)
static-us-east-1-prod-static-mft1klnkc4hl
AS Barat (Oregon)
static-us-west-2-prod-static-p21mksqx9zlr
AS Barat (California Utara)
static-us-west-1-prod-static-16d59zrrp01z0
Afrika (Cape Town)
static-af-south-1-prod-static-v6v7i5ypdppv
Asia Pasifik (Hong Kong)
static-ap-east-1-prod-static-171xhpfkrorh6
Asia Pasifik (Mumbai) static-ap-south-1-prod-static-ykocre202i9d
Asia Pasifik (Osaka) static-ap-northeast-3-prod-static-ivmxqzrx2ioi
Asia Pasifik (Seoul) static-ap-northeast-2-prod-static-1wxyctlhwiajm
Asia Pasifik (Singapura) static-ap-southeast-1-prod-static-13ibpyrx4vk6d
Asia Pasifik (Sydney)
static-ap-southeast-2-prod-static-1cjsl8bx27rfu
Asia Pasifik (Tokyo)
static-ap-northeast-1-prod-static-4fwvbdisquj8
Kanada (Pusat)
static-ca-central-1-prod-static-g80lpejy486c
Eropa (Frankfurt)
static-eu-central-1-prod-static-14lbgls2vrkh
Eropa (Irlandia)
static-eu-west-1-prod-static-hld3vzaf7c4h
Eropa (London)
static-eu-west-2-prod-static-36lbg202837x
Eropa (Milan)
static-eu-south-1-prod-static-1379tzkd3ni7d
Eropa (Paris)
static-eu-west-3-prod-static-1rwpkf766ke58
Eropa (Stockholm)
static-eu-north-1-prod-static-1qzw982y7yu7e
Timur Tengah (Bahrain)
static-me-south-1-prod-static-gmljex38qtqx
Amerika Selatan (Sao 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 Anda IDE dapat mengakses bucket Amazon S3, mulailah sesi terminal dengan memilih Window, 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.
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 Anda IDE dapat mengakses bucket dan dependensinya.
Untuk informasi selengkapnya tentang fitur ini, lihat Titik Akhir untuk Amazon S3 di AWS PrivateLink Panduan.
Mengkonfigurasi VPC titik akhir untuk konektivitas pribadi
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 tetap AWS Cloud9 IDE up to date.
Untuk mencegah lalu lintas keluar dan masuk misalnya, buat dan konfigurasikan VPC titik akhir Amazon untuk Systems Manager. Dengan VPC titik akhir 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 titik akhir 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 Anda AWS Cloud9 IDE tidak memiliki akses internet. Anda perlu membuat endpoint Amazon S3 agar Anda dapat mengizinkan akses VPC 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 VPC akhir. Ini terlepas dari sumber lalu lintas atau tujuan. Untuk informasi lebih lanjut, lihat Harga AWS PrivateLink