Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalankan wadah API Docker web ASP.NET Core pada instance Amazon Linux EC2
Vijai Anand Ramalingam dan Sreelaxmi Pai, Amazon Web Services
Ringkasan
Pola ini diperuntukkan bagi orang-orang yang mulai mengkontainerisasi aplikasi mereka di Amazon Web Services (AWS) Cloud. Saat Anda mulai membuat container aplikasi di cloud, biasanya tidak ada platform orkestrasi kontainer yang disiapkan. Pola ini membantu Anda menyiapkan infrastruktur AWS dengan cepat untuk menguji aplikasi kontainer Anda tanpa memerlukan infrastruktur orkestrasi kontainer yang rumit.
Langkah pertama dalam perjalanan modernisasi adalah mengubah aplikasi. Jika ini adalah aplikasi .NET Framework lama, Anda harus terlebih dahulu mengubah runtime menjadi ASP.NET Core. Kemudian, lakukan hal berikut:
Buat gambar kontainer Docker
Jalankan wadah Docker menggunakan gambar yang dibangun
Validasi aplikasi sebelum menerapkannya pada platform orkestrasi kontainer apa pun, seperti Amazon Elastic Container Service (Amazon ECS) Service Elastic Container (Amazon ECS) atau Amazon Elastic Kubernetes Service (Amazon EKS).
Pola ini mencakup aspek build, run, dan validasi pengembangan aplikasi modern pada instance Amazon Elastic Compute Cloud EC2 (Amazon) Linux.
Prasyarat dan batasan
Prasyarat
Akun Amazon Web Services (AWS)
yang aktif Peran AWS Identity and Access Management (IAM) dengan akses yang memadai untuk membuat sumber daya AWS untuk pola ini
Visual Studio Community 2022
atau yang lebih baru diunduh dan diinstal Proyek .NET Framework dimodernisasi menjadi ASP.NET Core
Sebuah GitHub repositori
Versi produk
Komunitas Visual Studio 2022 atau yang lebih baru
Arsitektur
Arsitektur target
Pola ini menggunakan CloudFormation template AWS

Akses ke instance Linux melalui Session Manager
Alat
Layanan AWS
AWS Command Line Interface — AWS Command Line Interface (AWS CLI) adalah alat open source untuk berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda. Dengan konfigurasi minimal, Anda dapat menjalankan perintah AWS CLI yang menerapkan fungsionalitas yang setara dengan yang disediakan oleh AWS Management Console berbasis browser.
AWS Management Console — AWS Management Console adalah aplikasi web yang terdiri dan mengacu pada kumpulan konsol layanan yang luas untuk mengelola sumber daya AWS. Saat pertama kali masuk, Anda akan melihat halaman beranda konsol. Halaman beranda menyediakan akses ke setiap konsol layanan dan menawarkan satu tempat untuk mengakses informasi yang Anda perlukan untuk melakukan tugas terkait AWS Anda.
AWS Systems Manager Session Manager — Session Manager adalah kemampuan AWS Systems Manager yang dikelola sepenuhnya. Dengan Session Manager, Anda dapat mengelola instans Amazon Elastic Compute Cloud (Amazon EC2). Session Manager menyediakan manajemen node yang aman dan dapat diaudit tanpa perlu membuka port masuk, memelihara host bastion, atau mengelola kunci SSH.
Alat lainnya
Visual Studio 2022
— Visual Studio 2022 adalah lingkungan pengembangan terintegrasi (IDE). Docker
adalah seperangkat produk platform as a service (PaaS) yang menggunakan virtualisasi pada tingkat sistem operasi untuk mengirimkan perangkat lunak dalam wadah.
Kode
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /src COPY ["DemoNetCoreWebAPI/DemoNetCoreWebAPI.csproj", "DemoNetCoreWebAPI/"] RUN dotnet restore "DemoNetCoreWebAPI/DemoNetCoreWebAPI.csproj" COPY . . WORKDIR "/src/DemoNetCoreWebAPI" RUN dotnet build "DemoNetCoreWebAPI.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "DemoNetCoreWebAPI.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "DemoNetCoreWebAPI.dll"]
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat contoh ASP.NET Core web API menggunakan Visual Studio. | Untuk membuat contoh ASP.NET Core web API, lakukan hal berikut:
| Pengembang aplikasi |
Buat Dockerfile. | Untuk membuat Dockerfile, lakukan salah satu hal berikut:
Untuk mendorong perubahan ke GitHub repositori Anda, jalankan perintah berikut.
| Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Menyiapkan infrastruktur. | Luncurkan CloudFormation template AWS
Untuk mempelajari selengkapnya tentang mengakses EC2 instans Amazon pribadi menggunakan Session Manager tanpa memerlukan host bastion, lihat postingan blog Menuju dunia tanpa benteng | Pengembang aplikasi, administrator AWS, AWS DevOps |
Masuk ke instans Amazon EC2 Linux. | Untuk terhubung ke instance Amazon EC2 Linux di subnet pribadi, lakukan hal berikut:
| Pengembang aplikasi |
Instal dan mulai Docker. | Untuk menginstal dan memulai Docker di instance Amazon EC2 Linux, lakukan hal berikut:
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Instal Git dan kloning repositori. | Untuk menginstal Git pada instance Amazon EC2 Linux dan mengkloning repositori dari GitHub, lakukan hal berikut.
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Bangun dan jalankan wadah Docker. | Untuk membuat image Docker dan menjalankan container di dalam instance Amazon EC2 Linux, lakukan hal berikut:
| Pengembang aplikasi, administrator AWS, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Uji API web menggunakan perintah curl. | Untuk menguji API web, jalankan perintah berikut.
Verifikasi respons API. catatanAnda bisa mendapatkan perintah curl untuk setiap titik akhir dari Swagger saat Anda menjalankannya secara lokal. | Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hapus semua sumber daya. | Hapus tumpukan untuk menghapus semua sumber daya. Ini memastikan bahwa Anda tidak dikenakan biaya untuk layanan apa pun yang tidak Anda gunakan. | Administrator AWS, AWS DevOps |