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.
“ 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.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 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
Koneksi aman antara AWS Cloud9 dan EC2 instance-nya ditangani oleh Session Manager. Session Manager adalah kemampuan Systems Manager yang dikelola sepenuhnya yang memungkinkan AWS Cloud9 untuk terhubung ke EC2 instance-nya tanpa perlu membuka port masuk.
penting
Opsi untuk menggunakan Systems Manager untuk koneksi tanpa masuk saat ini hanya tersedia saat membuat lingkungan baru EC2 .
Dengan dimulainya sesi Pengelola Sesi, koneksi dibuat ke instans target. Dengan koneksi yang ada, lingkungan sekarang dapat berinteraksi dengan instans melalui layanan Systems Manager. Layanan Systems Manager berkomunikasi dengan instans melalui Systems Manager Agent (SSM Agent).
Secara default, Agen SSM diinstal pada semua instance yang digunakan oleh EC2 lingkungan.
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
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 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 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 AWS 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 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 AWSCloud9 SSMInstance Profil tidak ada di akun.
Saat membuat EC2 lingkungan no-ingress untuk pertama kalinya menggunakan AWS CloudFormation, Anda dapat menentukan AWSCloud9SSMAccessRole
dan AWSCloud9SSMInstanceProfile
sebagai sumber daya IAM dalam template.
Kutipan dari template sampel ini menunjukkan cara mendefinisikan sumber daya ini. AssumeRole
Tindakan 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 AWS 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. 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/*"
]
}
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 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.
-
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.
{ "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 ini"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 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.
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, 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 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