Jelajahi pengembangan aplikasi web cloud-native full-stack dengan Green Boost - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jelajahi pengembangan aplikasi web cloud-native full-stack dengan Green Boost

Ben Stickley dan Amiin Samatar, Amazon Web Services

Ringkasan

Menanggapi kebutuhan pengembang yang terus berkembang, Amazon Web Services (AWS) mengakui permintaan kritis untuk pendekatan yang efisien untuk mengembangkan aplikasi web cloud-native. Fokus AWS adalah membantu Anda mengatasi hambatan umum yang terkait dengan penerapan aplikasi web di AWS Cloud. Dengan memanfaatkan kemampuan teknologi modern seperti AWS Cloud Development Kit ( TypeScriptAWS CDK), React, dan Node.js, pola ini bertujuan untuk merampingkan dan mempercepat proses pengembangan.

Didukung oleh toolkit Green Boost (GB), pola ini menawarkan panduan praktis untuk membangun aplikasi web yang sepenuhnya menggunakan kemampuan AWS yang luas. Ini bertindak sebagai peta jalan yang komprehensif, menuntun Anda melalui proses penerapan aplikasi web CRUD (Buat, Baca, Perbarui, Hapus) mendasar yang terintegrasi dengan Amazon Aurora PostgreSQL Edisi yang kompatibel. Ini dicapai dengan menggunakan antarmuka baris perintah Green Boost (Green Boost CLI) dan membangun lingkungan pengembangan lokal.

Setelah keberhasilan penerapan aplikasi, pola menggali komponen kunci dari aplikasi web, termasuk desain infrastruktur, pengembangan backend dan frontend, dan alat-alat penting seperti cdk-dia untuk visualisasi, memfasilitasi manajemen proyek yang efisien.

Prasyarat dan batasan

Prasyarat

Versi produk

  • AWS SDK untuk JavaScript versi 3

  • AWS CDK versi 2

  • AWS CLI versi 2.2

  • Node.js versi 18

  • Bereaksi versi 18

Arsitektur

Tumpukan teknologi target

  • Edisi yang Kompatibel dengan Amazon Aurora PostgreSQL

  • Amazon CloudFront

  • Amazon CloudWatch

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • AWS Lambda

  • AWS Secrets Manager

  • Amazon Simple Notification Service (Amazon SNS)

  • Amazon Simple Storage Service (Amazon S3)

  • AWS WAF

Arsitektur Target

Diagram berikut menunjukkan bahwa permintaan pengguna melewati Amazon CloudFront, AWS WAF, dan AWS Lambda sebelum berinteraksi dengan bucket S3, database Aurora, instans EC2 , dan akhirnya menjangkau pengembang. Administrator, di sisi lain, menggunakan Amazon SNS dan CloudWatch Amazon untuk tujuan notifikasi dan pemantauan.

Proses untuk menerapkan aplikasi web CRUD yang terintegrasi dengan Amazon Aurora PostgreSQL dengan menggunakan Green Boost CLI.

Untuk mendapatkan tampilan yang lebih mendalam pada aplikasi setelah penerapan, Anda dapat membuat diagram dengan menggunakan cdk-dia, seperti yang ditunjukkan pada contoh berikut.

Diagram pertama menunjukkan tampilan yang berpusat pada pengguna; diagram cdk-dia menunjukkan tampilan infrastruktur teknis.

Diagram ini menampilkan arsitektur aplikasi web dari dua sudut yang berbeda. Diagram cdk-dia menawarkan tampilan teknis terperinci tentang infrastruktur AWS CDK, menyoroti layanan AWS tertentu seperti Amazon Aurora PostgreSQL yang kompatibel dengan dan AWS Lambda. Sebaliknya, diagram lain mengambil perspektif yang lebih luas, menekankan aliran logis data dan interaksi pengguna. Perbedaan utama terletak pada tingkat detail: CDK-dia menggali seluk-beluk teknis, sedangkan diagram pertama memberikan tampilan yang lebih berpusat pada pengguna.

Pembuatan diagram cdk-dia tercakup dalam epik Memahami infrastruktur aplikasi dengan menggunakan AWS CDK.

Alat

Layanan AWS

  • Amazon Aurora PostgreSQL Compatible Edition adalah mesin database relasional yang dikelola sepenuhnya dan sesuai dengan ACID yang membantu Anda mengatur, mengoperasikan, dan menskalakan penerapan PostgreSQL.

  • AWS Cloud Development Kit (AWS CDK) adalah kerangka kerja pengembangan perangkat lunak yang membantu Anda menentukan dan menyediakan infrastruktur AWS Cloud dalam kode.

  • AWS Command Line Interface (AWS CLI) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.

  • Amazon CloudFront mempercepat distribusi konten web Anda dengan mengirimkannya melalui jaringan pusat data di seluruh dunia, yang menurunkan latensi dan meningkatkan kinerja.

  • Amazon CloudWatch membantu Anda memantau metrik sumber daya AWS Anda dan aplikasi yang Anda jalankan di AWS secara real time.

  • Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.

  • AWS Lambda adalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.

  • AWS Secrets Manager membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram.

  • AWS Systems Manager membantu Anda mengelola aplikasi dan infrastruktur yang berjalan di AWS Cloud. Ini menyederhanakan manajemen aplikasi dan sumber daya, mempersingkat waktu untuk mendeteksi dan menyelesaikan masalah operasional, dan membantu Anda mengelola sumber daya AWS Anda dengan aman dalam skala besar. Pola ini menggunakan AWS Systems Manager Session Manager.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data. Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.

  • AWS WAF adalah firewall aplikasi web yang membantu Anda memantau permintaan HTTP dan HTTPS yang diteruskan ke sumber daya aplikasi web Anda yang dilindungi

Alat-alat lainnya

  • Git adalah sistem kontrol versi terdistribusi open-source.

  • Green Boost adalah toolkit untuk membangun aplikasi web di AWS.

  • Next.js adalah framework React untuk menambahkan fitur dan optimasi.

  • Node.js adalah lingkungan JavaScript runtime berbasis peristiwa yang dirancang untuk membangun aplikasi jaringan yang dapat diskalakan.

  • pgAdmin adalah alat manajemen sumber terbuka untuk PostgreSQL. Ini menyediakan antarmuka grafis yang membantu Anda membuat, memelihara, dan menggunakan objek database.

  • pnpm adalah manajer paket untuk dependensi proyek Node.js.

Praktik terbaik

Lihat bagian Epik untuk informasi lebih lanjut tentang rekomendasi berikut:

  • Pantau infrastruktur dengan menggunakan CloudWatch Dasbor Amazon dan alarm.

  • Menerapkan praktik terbaik AWS dengan menggunakan cdk-nag untuk menjalankan analisis infrastruktur statis sebagai kode (IAc).

  • Buat penerusan port DB melalui tunneling SSH (Secure Shell) dengan Systems Manager Session Manager, yang lebih aman daripada memiliki alamat IP yang terbuka secara publik.

  • Kelola kerentanan dengan menjalankanpnpm audit.

  • Terapkan praktik terbaik dengan menggunakan ESLintuntuk melakukan analisis TypeScript kode statis, dan Prettier untuk membakukan pemformatan kode.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Instal Green Boost CLI.

Untuk menginstal Green Boost CLI, jalankan perintah berikut.

pnpm add -g gboost
Pengembang aplikasi

Buat aplikasi GB.

  1. Untuk membuat aplikasi dengan menggunakan Green Boost, jalankan perintahgboost create.

  2. Pilih CRUD App with Aurora PostgreSQL template.

Pengembang aplikasi

Instal dependensi dan terapkan aplikasi.

  1. Arahkan ke direktori proyek:cd <your directory>.

  2. Untuk menginstal dependensi, jalankan perintah. pnpm i

  3. Arahkan ke direktori infra:cd infra.

  4. Untuk menerapkan aplikasi secara lokal, jalankan perintah. pnpm deploy:local

    Ini adalah alias untuk cdk deploy ... perintah yang didefinisikan dalaminfra/package.json.

Tunggu hingga penerapan selesai (sekitar 20 menit). Saat Anda menunggu, pantau CloudFormation tumpukan AWS di CloudFormation konsol. Perhatikan bagaimana konstruksi didefinisikan dalam peta kode ke sumber daya yang digunakan. Tinjau tampilan pohon Konstruksi CDK di konsol. CloudFormation

Pengembang aplikasi

Akses aplikasi.

Setelah menerapkan aplikasi GB secara lokal, Anda dapat mengaksesnya menggunakan URL. CloudFront URL dicetak dalam output terminal, tetapi bisa sedikit berlebihan untuk ditemukan. Untuk menemukannya lebih cepat, gunakan langkah-langkah berikut:

  1. Buka terminal tempat Anda menjalankan pnpm deploy:local perintah.

  2. Cari bagian dalam output terminal yang menyerupai teks berikut.

    myapp5stickbui9C39A55A.CloudFrontDomainName = d1q16n5pof924c.cloudfront.net

    URL akan unik untuk penyebaran Anda.

Atau, Anda dapat menemukan CloudFront URL dengan mengakses CloudFront konsol Amazon:

  1. Masuk ke AWS Management Console dan navigasikan ke CloudFront layanan.

  2. Cari distribusi terbaru yang diterapkan dalam daftar.

Salin Nama Domain yang terkait dengan distribusi. Ini akan terlihat mirip denganyour-unique-id.cloudfront.net.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Lihat CloudWatch Dasbor.

  1. Buka CloudWatch konsol dan pilih Dasbor.

  2. Pilih dasbor yang memiliki nama - -dashboard <appId><stageName>.

  3. Tinjau dasbor. Sumber daya apa yang sedang dipantau? Metrik apa yang sedang direkam? Dasbor ini dimungkinkan oleh konstruksi cdk-monitoring-constructssumber terbuka.

Pengembang aplikasi

Aktifkan peringatan.

CloudWatch Dasbor membantu Anda memantau aplikasi web secara aktif. Untuk memantau aplikasi web Anda secara pasif, Anda dapat mengaktifkan peringatan.

  1. Arahkan ke/infra/src/app/stateless/monitor-stack.ts, yang mendefinisikan tumpukan monitor.

  2. Hapus komentar pada baris berikut, dan ganti admin@example.com dengan alamat email Anda.

    onAlarmTopic.addSubscription(new EmailSubscription("admin@example.com"));
  3. Tambahkan informasi impor berikut ke bagian atas file.

    import { EmailSubscription } from "aws-cdk-lib/aws-sns-subscriptions";
  4. Di dalaminfra/, jalankan perintah berikut.

    cdk deploy "*/monitor" --exclusively.
  5. Untuk mengonfirmasi langganan Anda ke topik SNS yang diintitasi saat alarm pemantauan dimulai, pilih tautan dalam pesan email.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat diagram arsitektur.

Buat diagram arsitektur aplikasi web Anda dengan menggunakan cdk-dia. Memvisualisasikan arsitektur membantu meningkatkan pemahaman dan komunikasi di antara anggota tim. Ini memberikan gambaran yang jelas tentang komponen sistem dan hubungannya.

  1. Instal Graphviz.

  2. Di dalaminfra/, jalankan perintahpnpm cdk-dia.

  3. Lihat Andainfra/diagram.png.

Pengembang aplikasi

Gunakan cdk-nag untuk menerapkan praktik terbaik.

Gunakan cdk-nag untuk membantu Anda menjaga infrastruktur yang aman dan patuh dengan menerapkan praktik terbaik, mengurangi risiko kerentanan keamanan dan kesalahan konfigurasi.

  1. Jelajahi penegakan praktik terbaik cdk-nag melalui bagian aturannya, termasuk pemeriksaan dari Paket Aturan AWS Solutions Library.

  2. Untuk melihat bagaimana cdk-nag memberlakukan aturan, buat perubahan pada kode. Misalnya, diinfra/src/app/stateful/data-stacks.ts, ubah storageEncrypted: true kestorageEncrypted: false.

  3. Di dalaminfra/, jalankan perintahcdk synth "*/data". Selama sintesis, Anda akan menemukan kesalahan build yang menunjukkan pelanggaran aturan.

    AwsSolutions-RDS2: The RDS instance or Aurora DB cluster does not have storage encryption enabled.

    Kesalahan ini menunjukkan bagaimana cdk-nag adalah mekanisme keamanan untuk menegakkan praktik terbaik infrastruktur dan mencegah kesalahan konfigurasi keamanan.

  4. Jika perlu, Anda juga dapat menekan aturan pada cakupan yang berbeda. Misalnya, untuk menekan AwsSolutions -RDS2, tambahkan kode berikut di bawah instantiasi. DbIamCluster

    NagSuppressions.addResourceSuppressions( cluster.node.findChild("Resource"), [ { id: "AwsSolutions-RDS2", reason: "Customer requirement necessitates having unencrypted DB storage", }, ], );
  5. Setelah penindasan, lari cdk synth "*/data" lagi. Aplikasi AWS CDK Anda sekarang harus berhasil mensintesis. Anda dapat menemukan semua aturan yang ditekan diinfra/cdk.out/assembly-<appId>-<stageName>/AwsSolutions-<appId>-<stageName>-${stackId}-NagReport.csv.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Memperoleh variabel lingkungan.

Untuk mendapatkan variabel lingkungan yang diperlukan, gunakan langkah-langkah berikut:

  1. Untuk menemukanDB_BASTION_ID, masuk ke konsol, dan navigasikan ke EC2 konsol. Pilih Contoh (berjalan), dan temukan baris yang berisi - ssm-db-bastion Nama<stageName>. ID instance dimulai dengan i-.

  2. Untuk menemukanDB_ENDPOINT, di konsol Amazon Relational Database Service (Amazon RDS), pilih Instans DB, dan pilih cluster regional yang memiliki pengenal DB yang dimulai dengan - -data-. <appId><stageName> Temukan titik akhir instance penulis, yang diakhiri dengan rds.amazonaws.com.

Pengembang aplikasi

Menetapkan port forwarding.

Untuk membuat port forwarding, gunakan langkah-langkah berikut:

  1. Instal plugin AWS Systems Manager Session Manager.

  2. Mulai penerusan port dengan menjalankan pnpm db:connect di dalam core/ untuk membuat koneksi aman melalui host bastion.

  3. Setelah Anda melihat teks Waiting for connections..., di terminal Anda, terowongan SSH telah berhasil dibuat antara mesin lokal Anda dan server Aurora melalui EC2 host bastion.

Pengembang aplikasi

Sesuaikan batas waktu Systems Manager Session Manager.

(Opsional) Jika batas waktu sesi 20 menit default terlalu singkat, Anda dapat meningkatkannya hingga 60 menit di konsol Systems Manager dengan memilih Session Manager, Preferences, Edit, Idle session timeout.

Pengembang aplikasi

Visualisasikan database.

pgAdmin adalah alat sumber terbuka yang mudah digunakan untuk mengelola database PostgreSQL. Ini menyederhanakan tugas database, memungkinkan Anda untuk secara efisien membuat, mengelola, dan mengoptimalkan database. Bagian ini memandu Anda untuk menginstal pgAdmin dan menggunakan fitur-fiturnya untuk manajemen database PostgreSQL.

  1. Di Object Explorer, buka menu konteks (klik kanan) untuk Server, lalu pilih Register, Server.

  2. Pada tab Umum, masukkan - <appId><stageName>untuk bidang Nama.

  3. Untuk mengambil kata sandi DB, buka konsol AWS Secrets Manager, pilih rahasia yang memiliki deskripsi Dihasilkan oleh CDK untuk tumpukan: - -data <appId><stageName>, dan pilih kartu Nilai Rahasia. Pilih Ambil Nilai Rahasia, dan salin nilai Rahasia dengan kunci kata sandi.

  4. Pada tab Connection, masukkan 0.0.0 untuk name/address bidang Host, dan masukkan _admin untuk bidang Username. <appId> Untuk bidang Kata Sandi, gunakan rahasia yang Anda ambil sebelumnya. Pilih ya untuk Simpan kata sandi? lapangan.

  5. Pilih Simpan.

  6. <appId>Untuk melihat tabel, navigasikan ke -, Database, _db, Skema,, Tabel. <appId><stageName><appId>

  7. Buka menu konteks (klik kanan) untuk tabel item, lalu pilih Lihat/Edit Data, Semua Baris.

  8. Jelajahi meja.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Debug kasus penggunaan item buat.

Untuk men-debug kasus penggunaan item buat, ikuti langkah-langkah berikut:

  1. Buka core/src/modules/item/create-item.use-case.ts file, dan masukkan kode berikut.

    import { fileURLToPath } from "node:url"; // existing create-item.use-case.ts code here if (process.argv[1] === fileURLToPath(import.meta.url)) { createItemUseCase({ description: "Item 1's Description", name: "Item 1", }); }
  2. Kode yang ditambahkan pada langkah sebelumnya memastikan createItemUseCase fungsi akan dipanggil ketika modul ini dijalankan secara langsung. Tetapkan breakpoint pada baris dalam blok kode ini di mana Anda ingin memulai debugging. line-by-line

  1. Buka VS Code JavaScript Debug Terminal, lalu jalankan pnpm tsx core/src/modules/item/create-item.use-case.ts untuk menjalankan kode dengan line-by-line debugging. Atau, Anda dapat menggunakan console.log pernyataan, tetapi pernyataan cetak bisa tidak memadai ketika Anda bekerja dengan logika bisnis yang kompleks. Line-by-linedebugging memberi Anda lebih banyak konteks.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan server pengembangan.

  1. Arahkan keui/, dan jalankan pnpm dev untuk memulai server pengembangan Next.js.

  2. Akses aplikasi web Anda secara lokal di http://localhost:3000. Server pengembangan Next.js disiapkan dengan umpan balik instan Fast Refresh pada pengeditan yang dilakukan pada komponen React Anda.

  3. Bereksperimenlah dengan menyesuaikan warna bilah aplikasi. Buka ui/src/components/theme/theme.tsx file dan temukan bagian yang menentukan tema untuk bilah aplikasi. Di colorSchemes.light.palette.primary bagian ini, perbarui nilai utama dari colors.lagoon kecolors.carrot. Setelah melakukan perubahan ini, simpan file dan amati pembaruan di browser Anda.

  4. Eksperimen dengan memodifikasi teks, komponen, dan menambahkan halaman baru.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan monorepo dan manajer paket pnpm.

  1. Tinjau pnpm-workspace.yaml di root repositori GB Anda, dan perhatikan bagaimana ruang kerja didefinisikan. Untuk informasi selengkapnya tentang ruang kerja, lihat dokumentasi pnpm.

  2. Tinjauui/package.json, dan perhatikan bagaimana referensi ruang kerja core/ dengan nama "<appId>/core": "workspace:^", paket.

  3. Amati bagaimana TypeScript dan ESLint konfigurasi terpusat dalam paket utilitas yang didefinisikan di dalamnyapackages/. Konfigurasi ini kemudian digunakan oleh paket aplikasi seperticore/,infra/, danui/. Ini berguna saat aplikasi Anda menskalakan dan Anda menentukan lebih banyak paket aplikasi, yang dapat mereferensikan paket utilitas tanpa menduplikasi kode konfigurasi.

Pengembang aplikasi

Jalankan skrip pnpm.

Jalankan perintah berikut di root repositori Anda:

  1. Jalankan pnpm lint. Perintah ini menjalankan analisis kode statis dengan ESLint.

  2. Jalankan pnpm typecheck. Perintah ini menjalankan TypeScript compiler untuk memeriksa jenis kode Anda.

  3. Jalankan pnpm test. Perintah ini menjalankan Vitest untuk menjalankan pengujian unit.

Perhatikan bagaimana perintah ini dijalankan di semua ruang kerja. Perintah didefinisikan di setiap package.json#scripts bidang ruang kerja.

Pengembang aplikasi

Gunakan ESLint untuk analisis kode statis.

Untuk menguji kemampuan analisis kode statis ESLint, lakukan hal berikut:

  1. Pertama, pastikan ESLint ekstensi VS Code (ID:dbaeumer.vscode-eslint) diinstal. Kami merekomendasikan juga menginstal VS Code Error Lens (ID:usernamehw.errorlens) untuk melihat kesalahan sebaris.

  2. Dalam kode Anda, sengaja menyertakan baris kode yang menggunakan eval() fungsi, seperti yang ditunjukkan pada contoh berikut.

    const userInput = "import("fs").then((fs) => console.log(fs.readFileSync("/etc/passwd", { encoding: "utf8" })))"; eval(userInput);
    penting

    Ini hanya untuk tujuan pengujian. Penggunaan eval() dianggap berpotensi berbahaya dan harus dihindari karena risiko keamanan.

  3. Setelah Anda memasukkan eval() baris, buka editor kode Anda untuk mengonfirmasi bahwa ESLint menunjukkan bau kode dengan menggunakan coretan merah.

  4. Tinjau ESLint plugin dan konfigurasi dipackages/eslint-config-{node,next}/.eslintrc.cjs.

Pengembang aplikasi

Kelola dependensi dan kerentanan.

  1. Untuk mengidentifikasi Kerentanan Umum dan Exposures (CVEs), jalankan pnpm audit di root repositori Anda.

    Anda akan melihat Tidak ada kerentanan yang diketahui ditemukan.

  2. Instal paket yang sengaja rentan di dalam core/ dengan menjalankanpnpm add minimist@0.2.3, dan kemudian jalankanpnpm audit. Perhatikan kerentanan yang dilaporkan.

  3. Copot pemasangan paket rentan di dalamnya core/ dengan menjalankanpnpm remove minimist.

Pengembang aplikasi

Kait pra-komit dengan Husky.

  1. Buat beberapa perubahan kecil dalam TypeScript file di seluruh repositori. Perubahan dapat menjadi dasar seperti menambahkan komentar.

  2. Tahap dan lakukan perubahan ini dengan menggunakan git add -A dan kemudiangit commit -m "test husky".

    Pemicu kait pra-komit Husky, yang didefinisikan dalam.husky/pre-commit, menjalankan perintah. pnpm lint-staged

  3. Perhatikan bagaimana lint-staged menjalankan perintah yang ditentukan dalam */.lintstagedrc.js file di seluruh repositori pada file yang telah dipentaskan oleh Git.

Alat-alat ini adalah mekanisme untuk membantu mencegah kode buruk masuk ke aplikasi Anda.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus penyebaran dari akun Anda.

  1. Untuk meruntuhkan infrastruktur yang Anda sediakan di epik pertama, dengan menjalankanpnpm destroy:local. infra/

  2. Tunggu 15 menit setelah pnpm destroy:local selesai, lalu hapus fungsi Lambda @Edge yang dipertahankan dengan mencari ID aplikasi Anda di konsol Lambda. Fungsi Lambda @Edge direplikasi., yang membuatnya sulit untuk dihapus. Untuk informasi selengkapnya tentang menghapus fungsi Lambda @Edge, lihat CloudFront dokumentasi.

Pengembang aplikasi

Pemecahan Masalah

IsuSolusi

Tidak dapat membuat penerusan port

Pastikan kredensyal AWS Anda dikonfigurasi dengan benar dan memiliki izin yang diperlukan.

Periksa kembali apakah variabel lingkungan bastion host ID (DB_BASTION_ID) dan endpoint database (DB_ENDPOINT) disetel dengan benar.

Jika Anda masih mengalami masalah, lihat dokumentasi AWS untuk memecahkan masalah koneksi SSH dan Session Manager.

Situs web tidak dimuat di localhost:3000

Konfirmasikan bahwa output terminal menunjukkan penerusan port yang berhasil, termasuk alamat penerusan.

Pastikan tidak ada proses yang bertentangan menggunakan port 3000 pada mesin lokal Anda.

Verifikasi bahwa aplikasi Green Boost dikonfigurasi dengan benar dan berjalan pada port yang diharapkan (3000).

Periksa browser web Anda untuk ekstensi atau pengaturan keamanan apa pun yang mungkin memblokir koneksi lokal.

Pesan galat selama penerapan lokal () pnpm deploy:local

Tinjau pesan kesalahan dengan hati-hati untuk mengidentifikasi penyebab masalah.

Verifikasi bahwa variabel lingkungan dan file konfigurasi yang diperlukan diatur dengan benar.

Sumber daya terkait