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.
AWS CDK tutorial untuk AWS Cloud9
Tutorial ini menunjukkan cara bekerja dengan lingkungan AWS Cloud9 pengembangan. AWS Cloud Development Kit (AWS CDK) AWS CDK Ini adalah seperangkat perangkat perangkat lunak dan perpustakaan yang dapat digunakan pengembang untuk memodelkan komponen AWS infrastruktur sebagai kode.
AWS CDK Termasuk AWS Construct Library yang dapat Anda gunakan untuk menyelesaikan banyak tugas dengan cepat. AWS Misalnya, Anda dapat menggunakan konstruksi Fleet
untuk men-deploy kode secara penuh dan aman ke armada host. Anda dapat membuat konstruksi Anda sendiri untuk memodelkan berbagai elemen arsitektur Anda, membaginya dengan orang lain, atau mempublikasikannya ke komunitas. Untuk informasi selengkapnya, lihat Panduan Developer AWS Cloud Development Kit.
Mengikuti tutorial ini dan membuat sampel ini dapat mengakibatkan biaya ke AWS
akun Anda. Ini termasuk kemungkinan biaya untuk layanan seperti AmazonEC2, AmazonSNS, dan AmazonSQS. Untuk informasi selengkapnya, lihat EC2Harga Amazon
Topik
Prasyarat
Sebelum Anda menggunakan sampel ini, pastikan pengaturan Anda memenuhi persyaratan berikut:
-
Anda harus memiliki lingkungan AWS Cloud9 EC2 pengembangan yang ada. Contoh ini mengasumsikan bahwa Anda sudah memiliki EC2 lingkungan yang terhubung ke EC2 instans Amazon yang menjalankan Amazon Linux atau Ubuntu Peladen. Jika Anda memiliki jenis lingkungan atau sistem operasi yang berbeda, Anda mungkin perlu menyesuaikan petunjuk sampel ini untuk menyiapkan alat terkait. Untuk informasi selengkapnya, lihat Menciptakan lingkungan di AWS Cloud9.
-
Anda memiliki AWS Cloud9 IDE untuk lingkungan yang ada sudah terbuka. Ketika Anda membuka lingkungan, AWS Cloud9 buka IDE untuk lingkungan itu di browser web Anda. Untuk informasi selengkapnya, lihat Membuka lingkungan di AWS Cloud9.
Langkah 1: Pasang alat yang diperlukan
Pada langkah ini, Anda menginstal semua alat di lingkungan Anda yang AWS CDK perlu menjalankan sampel yang ditulis dalam bahasa TypeScript pemrograman.
-
Node Version Manager, atau
nvm
, yang Anda gunakan untuk memasang Node.js nanti. -
Node.js, yang diperlukan oleh sampel dan berisi Node Package Manager
npm
, atau, yang Anda gunakan untuk menginstal TypeScript dan AWS CDK nanti. -
TypeScript, yang dibutuhkan oleh sampel ini. (Ini AWS CDK juga menyediakan dukungan untuk beberapa bahasa pemrograman lainnya.)
-
Itu AWS CDK.
Langkah 1.1: Pasang Node Version Manager (nvm)
-
Dalam sesi terminal di AWS Cloud9 IDE, pastikan pembaruan keamanan terbaru dan perbaikan bug diinstal. Untuk melakukan ini, jalankan perintah
yum update
(untuk Amazon Linux) atauapt update
(untuk Server Ubuntu). (Untuk memulai sesi terminal baru, pada bilah menu, pilih Jendela, Terminal Baru.)Untuk Amazon Linux:
sudo yum -y update
Untuk Ubuntu Server:
sudo apt update
-
Konfirmasi apakah
nvm
sudah terpasang. Untuk melakukan ini, jalankan perintahnvm
dengan opsi--version
.nvm --version
Jika berhasil, output berisi nomor versi
nvm
, dan Anda dapat langsung melanjutkan ke Langkah 1.2: Pasang Node.js. -
Unduh dan pasang
nvm
. Untuk melakukan ini, jalankan skrip pemasangan. Dalam contoh ini, v0.33.0 terpasang, tetapi Anda dapat memeriksa versi terbarunvm
di sini. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
-
Mulai menggunakan
nvm
. Anda dapat menutup sesi terminal dan kemudian memulai kembali, atau cari file~/.bashrc
yang berisi perintah untuk memuatnvm
... ~/.bashrc
Langkah 1.2: Pasang Node.js
-
Konfirmasikan apakah Anda sudah menginstal Node.js, dan jika Anda melakukannya, konfirmasikan bahwa versi yang diinstal adalah 16.17.0 atau lebih tinggi. Sampel ini telah diuji dengan Node.js 16.17.0. Untuk memeriksa, dengan sesi terminal masih terbuka diIDE, jalankan
node
perintah dengan--version
opsi.node --version
Jika Anda telah memasang Node.js, output berisi nomor versi. Jika nomor versinya adalah v16.17.0, lompat ke depan. Langkah 1.3: Instal TypeScript
-
Instal Node.js 16 dengan menjalankan
nvm
perintah denganinstall
tindakan.catatan
Anda juga dapat menjalankan
nvm install node
untuk menginstal versi support (LTS) jangka panjang dari Node.js. AWS Cloud9 dukungan melacak LTS versi Node.js.nvm install v16
-
Mulai gunakan Node.js 16. Untuk melakukannya, jalankan perintah
nvm
dengan tindakanalias
, nomor versi ke alias, dan versi yang digunakan untuk alias itu, sebagai berikut.nvm alias default 16
catatan
Perintah sebelumnya menetapkan Node.js 16 sebagai versi default Node.js. Atau, Anda dapat menjalankan perintah
nvm
bersama dengan tindakanuse
alih-alih tindakanalias
(misalnya,nvm use 16.17.0
). Namun, tindakanuse
menyebabkan versi Node.js tersebut hanya berjalan saat sesi terminal saat ini sedang berjalan. -
Untuk mengonfirmasi bahwa Anda menggunakan Node.js 16 jalankan
node --version
perintah lagi. Jika versi yang benar diinstal, output berisi versi v16.
Langkah 1.3: Instal TypeScript
-
Konfirmasikan apakah Anda sudah TypeScript menginstal. Untuk melakukan ini, dengan sesi terminal masih terbuka diIDE, jalankan TypeScript kompiler baris perintah dengan
--version
opsi.tsc --version
Jika Anda telah TypeScript menginstal, output berisi nomor TypeScript versi. Jika TypeScript diinstal, lewati ke depanLangkah 1.4: Instal AWS CDK.
-
Instal TypeScript. Untuk melakukan ini, jalankan
npm
perintah denganinstall
tindakan,-g
opsi, dan nama TypeScript paket. Ini diinstal TypeScript sebagai paket global di lingkungan.npm install -g typescript
-
Konfirmasikan bahwa TypeScript sudah diinstal. Untuk melakukan ini, jalankan TypeScript compiler baris perintah dengan
--version
opsi.tsc --version
Jika TypeScript diinstal, output berisi nomor TypeScript versi.
Langkah 1.4: Instal AWS CDK
-
Konfirmasikan apakah Anda sudah AWS CDK menginstal. Untuk melakukan ini, dengan sesi terminal masih terbuka diIDE, jalankan
cdk
perintah dengan--version
opsi.cdk --version
Jika AWS CDK diinstal, output berisi AWS CDK versi dan nomor build. Lewati ke Langkah 2: Menambahkan kode.
-
Instal AWS CDK dengan menjalankan
npm
perintah bersama denganinstall
tindakan, nama AWS CDK paket yang akan diinstal, dan-g
opsi untuk menginstal paket secara global di lingkungan.npm install -g aws-cdk
-
Konfirmasikan bahwa AWS CDK sudah diinstal dan direferensikan dengan benar. Untuk melakukan ini, jalankan perintah
cdk
dengan opsi--version
.cdk --version
Jika berhasil, AWS CDK versi dan nomor build akan ditampilkan.
Langkah 2: Menambahkan kode
Pada langkah ini, Anda membuat TypeScript proyek sampel yang berisi semua kode sumber yang Anda butuhkan untuk menyebarkan AWS CDK tumpukan secara terprogram. AWS CloudFormation Tumpukan ini membuat SNS topik Amazon dan SQS antrian Amazon di AWS akun Anda dan kemudian berlangganan antrian ke topik tersebut.
-
Dengan sesi terminal masih terbuka diIDE, buat direktori untuk menyimpan kode sumber proyek, misalnya
~/environment/hello-cdk
direktori di lingkungan Anda. Kemudian beralih ke direktori itu.rm -rf ~/environment/hello-cdk # Remove this directory if it already exists. mkdir ~/environment/hello-cdk # Create the directory. cd ~/environment/hello-cdk # Switch to the directory.
-
Siapkan direktori sebagai proyek TypeScript bahasa untuk file AWS CDK. Untuk melakukan ini, jalankan perintah
cdk
dengan tindakaninit
, templatsample-app
, dan opsi--language
bersama dengan nama bahasa pemrograman.cdk init sample-app --language typescript
Ini membuat file dan subdirektori berikut di direktori.
-
Subdirektori
.git
tersembunyi dan file.gitignore
tersembunyi, yang membuat proyek kompatibel dengan alat pengendali sumber seperti Git. -
Subdirektori
lib
, yang menyertakan filehello-cdk-stack.ts
. File ini berisi kode untuk AWS CDK tumpukan Anda. Kode ini dijelaskan pada langkah berikutnya dalam prosedur ini. -
Subdirektori
bin
, yang menyertakan filehello-cdk.ts
. File ini berisi titik masuk untuk AWS CDK aplikasi Anda. -
Subdirektori
node_modules
, yang berisi paket kode pendukung yang dapat digunakan aplikasi dan tumpukan sesuai kebutuhan. -
File
.npmignore
tersembunyi, yang mencantumkan jenis subdirektori dan file yang tidak dibutuhkannpm
saat membuat kode. -
File
cdk.json
, yang berisi informasi untuk membuat menjalankan perintahcdk
lebih mudah. -
File
package-lock.json
, yang berisi informasi yang dapat digunakannpm
untuk mengurangi kemungkinan kesalahan pembangunan dan pelaksanaan. -
File
package.json
, yang berisi informasi untuk membuat menjalankan perintahnpm
lebih mudah dan dengan kemungkinan kesalahan pembangunan dan pelaksanaan yang lebih sedikit. -
README.md
File, yang mencantumkan perintah berguna yang dapat Anda jalankannpm
dan file AWS CDK. -
File
tsconfig.json
, yang berisi informasi untuk membuat menjalankan perintahtsc
lebih mudah dan dengan kemungkinan kesalahan pembangunan dan pelaksanaan yang lebih sedikit.
-
-
Di jendela Lingkungan, buka file
lib/hello-cdk-stack.ts
, dan telusuri kode berikut di file itu.import sns = require('@aws-cdk/aws-sns'); import sqs = require('@aws-cdk/aws-sqs'); import cdk = require('@aws-cdk/cdk'); export class HelloCdkStack extends cdk.Stack { constructor(parent: cdk.App, name: string, props?: cdk.StackProps) { super(parent, name, props); const queue = new sqs.Queue(this, 'HelloCdkQueue', { visibilityTimeoutSec: 300 }); const topic = new sns.Topic(this, 'HelloCdkTopic'); topic.subscribeQueue(queue); } }
-
Topic
KelasStack
,App
,StackProps
,Queue
, dan mewakili AWS CloudFormation tumpukan dan propertinya, program yang dapat dieksekusi, SQS antrian Amazon, dan SNS topik Amazon, masing-masing. -
HelloCdkStack
Kelas mewakili AWS CloudFormation tumpukan untuk aplikasi ini. Tumpukan ini berisi SQS antrian Amazon baru dan SNS topik Amazon untuk aplikasi ini.
-
-
Di jendela Lingkungan, buka file
bin/hello-cdk.ts
, dan telusuri kode berikut di file itu.#!/usr/bin/env node import cdk = require('@aws-cdk/cdk'); import { HelloCdkStack } from '../lib/hello-cdk-stack'; const app = new cdk.App(); new HelloCdkStack(app, 'HelloCdkStack'); app.run();
Kode ini memuat, membuat instans, dan kemudian menjalankan kelas
HelloCdkStack
dari filelib/hello-cdk-stack.ts
. -
Gunakan
npm
untuk menjalankan TypeScript compiler untuk memeriksa kesalahan coding, dan kemudian mengaktifkan AWS CDK untuk mengeksekusibin/hello-cdk.js
file proyek. Untuk melakukannya, dari direktori root proyek, jalankan perintahnpm
dengan tindakanrun
, dengan menetapkan nilai perintahbuild
dalam filepackage.json
, sebagai berikut.npm run build
Perintah sebelumnya menjalankan TypeScript kompiler, yang menambahkan dukungan
bin/hello-cdk.d.ts
dan file.lib/hello-cdk-stack.d.ts
Kompiler juga mentranspilasikan filehello-cdk.ts
danhello-cdk-stack.ts
menjadi filehello-cdk.js
danhello-cdk-stack.js
.
Langkah 3: Jalankan kode
Pada langkah ini, Anda menginstruksikan AWS CDK untuk membuat template AWS CloudFormation tumpukan berdasarkan kode dalam bin/hello-cdk.js
file. Anda kemudian menginstruksikan AWS CDK untuk menyebarkan tumpukan, yang membuat SNS topik Amazon dan SQS antrian Amazon dan kemudian berlangganan antrian ke topik tersebut. Anda kemudian mengonfirmasi bahwa topik dan antrean berhasil ter-deploy dengan mengirimkan pesan dari topik ke antrean.
-
Minta template AWS CDK buat AWS CloudFormation tumpukan. Untuk melakukan ini, dengan sesi terminal masih terbuka diIDE, dari direktori root proyek, jalankan
cdk
perintah dengansynth
tindakan dan nama tumpukan.cdk synth HelloCdkStack
Jika berhasil, output menampilkan
Resources
bagian template AWS CloudFormation tumpukan. -
Pertama kali Anda menerapkan AWS CDK aplikasi ke lingkungan untuk AWS akun tertentu dan kombinasi AWS Wilayah, Anda harus menginstal tumpukan bootstrap. Tumpukan ini mencakup berbagai sumber daya yang AWS CDK dibutuhkan untuk menyelesaikan berbagai operasinya. Misalnya, tumpukan ini menyertakan bucket Amazon S3 yang AWS CDK digunakan untuk menyimpan templat dan aset selama proses penerapannya. Untuk memasang tumpukan bootstrap, jalankan perintah
cdk
dengan tindakanbootstrap
.cdk bootstrap
catatan
Jika Anda menjalankan
cdk bootstrap
tanpa menentukan opsi apa pun, AWS akun default dan AWS Wilayah digunakan. Anda juga dapat mem-bootstrap lingkungan tertentu dengan menentukan profil dan kombinasi akun/Wilayah. Sebagai contoh:cdk bootstrap --profile test 123456789012/us-east-1
-
AWS CDK Jalankan template AWS CloudFormation tumpukan untuk menyebarkan tumpukan. Untuk melakukan ini, dari direktori root proyek, jalankan perintah
cdk
dengan tindakandeploy
dan nama tumpukan.cdk deploy HelloCdkStack
Jika berhasil, output menampilkan bahwa tumpukan
HelloCdkStack
di-deploy tanpa kesalahan.catatan
Jika output menampilkan pesan bahwa tumpukan tidak mendefinisikan lingkungan dan AWS kredensialnya tidak dapat diperoleh dari lokasi standar atau tidak ada wilayah yang dikonfigurasi, pastikan AWS kredenal Anda disetel dengan benar diIDE, lalu jalankan perintah lagi.
cdk deploy
Untuk informasi selengkapnya, lihat Menelepon Layanan AWS dari lingkungan di AWS Cloud9. -
Untuk mengonfirmasi bahwa SNS topik Amazon dan SQS antrian Amazon berhasil diterapkan, kirim pesan ke topik, lalu periksa antrian untuk pesan yang diterima. Untuk melakukan ini, Anda dapat menggunakan alat seperti AWS Command Line Interface (AWS CLI) atau AWS CloudShell. Untuk informasi lebih lanjut tentang alat ini, lihat AWS CLI dan tutorial aws-shell untuk AWS Cloud9.
Misalnya, untuk mengirim pesan ke topik, dengan sesi terminal masih terbuka diIDE, gunakan SNS
publish
perintah AWS CLI untuk menjalankan Amazon, memasok subjek dan isi pesan, AWS Wilayah untuk topik, dan Nama Sumber Daya Amazon topik (ARN).aws sns publish --subject "Hello from the AWS CDK" --message "This is a message from the AWS CDK." --topic-arn arn:aws:sns:us-east-2:123456789012:HelloCdkStack-HelloCdkTopic1A234567-8BCD9EFGHIJ0K
Dalam perintah sebelumnya, ganti
arn:aws:sns:us-east-2:123456789012:HelloCdkStack-HelloCdkTopic1A234567-8BCD9EFGHIJ0K
dengan ARN yang AWS CloudFormation menetapkan ke topik. Untuk mendapatkan ID, Anda dapat menjalankan SNSlist-topics
perintah Amazon.aws sns list-topics --output table --query 'Topics[*].TopicArn'
Jika berhasil, output dari perintah
publish
menampilkan nilaiMessageId
untuk pesan yang dipublikasikan.Untuk memeriksa antrian untuk pesan yang diterima, jalankan SQS
receive-message
perintah Amazon, berikan antrean. URLaws sqs receive-message --queue-url https://queue.amazonaws.com/123456789012/HelloCdkStack-HelloCdkQueue1A234567-8BCD9EFGHIJ0K
Pada perintah sebelumnya, ganti
https://queue.amazonaws.com/123456789012/HelloCdkStack-HelloCdkQueue1A234567-8BCD9EFGHIJ0K
dengan ARN yang AWS CloudFormation menetapkan ke antrian. Untuk mendapatkanURL, Anda dapat menjalankan SQSlist-queues
perintah Amazon.aws sqs list-queues --output table --query 'QueueUrls[*]'
Jika berhasil, output dari perintah
receive-message
menampilkan informasi tentang pesan yang diterima.
Langkah 4: Membersihkan
Untuk mencegah tagihan yang sedang berlangsung ke AWS akun Anda setelah selesai menggunakan sampel ini, Anda harus menghapus AWS CloudFormation tumpukan. Ini menghapus SNS topik Amazon dan SQS antrian Amazon. Anda juga harus menghapus lingkungan.
Langkah 4.1: Hapus tumpukan
Dengan sesi terminal masih terbuka diIDE, dari direktori root proyek, jalankan cdk
perintah dengan destroy
tindakan dan nama tumpukan.
cdk destroy HelloCdkStack
Saat diminta untuk menghapus tumpukan, ketik y
, lalu tekan Enter
.
Jika berhasil, output menampilkan bahwa tumpukan HelloCdkStack
dihapus tanpa kesalahan.
Langkah 4.2: Hapus lingkungan
Untuk menghapus lingkungan, lihat Menghapus lingkungan di AWS Cloud9.