AWS App Runner perubahan ketersediaan - AWS App Runner

AWS App Runner tidak akan lagi terbuka untuk pelanggan baru mulai 30 April 2026. Jika Anda ingin menggunakan App Runner, daftar sebelum tanggal tersebut. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat perubahan AWS App Runner ketersediaan.

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

AWS App Runner perubahan ketersediaan

Setelah mempertimbangkan dengan cermat, kami memutuskan AWS App Runner untuk menutup pelanggan baru mulai 30 April 2026. AWS App Runner Pelanggan yang sudah ada dapat terus menggunakan layanan seperti biasa, termasuk menciptakan sumber daya dan layanan baru. AWS terus berinvestasi dalam keamanan dan ketersediaan untuk AWS App Runner, tetapi kami tidak berencana untuk memperkenalkan fitur baru.

Kami menyarankan agar pelanggan menjelajahi Mode Ekspres Amazon Elastic Container Service (Amazon ECS) Container Service (Amazon ECS) saat bermigrasi dari. AWS App Runner Mode Amazon ECS Express mempertahankan kesederhanaan pengoperasian App Runner sambil menyediakan akses ke rangkaian fitur Amazon ECS yang lebih luas. Dengan satu panggilan API, Anda menyediakan gambar kontainer dan dua peran IAM, dan Amazon ECS menyediakan tumpukan aplikasi lengkap di AWS akun Anda, termasuk layanan ECS di Fargate, Application Load Balancer, penskalaan otomatis, dan jaringan. Tidak ada biaya tambahan untuk menggunakan Amazon ECS Express Mode. Anda hanya membayar untuk AWS sumber daya dasar yang dibuat untuk menjalankan aplikasi Anda.

Panduan ini menjelaskan cara memigrasikan layanan App Runner yang ada ke ECS Express Mode dan secara bertahap mengalihkan lalu lintas menggunakan perutean DNS.

Ikhtisar migrasi

Panduan ini menggunakan pendekatan blue/green penerapan dengan perutean berbobot DNS untuk memigrasikan lalu lintas dari App Runner ke Mode ECS Express. Kedua layanan berjalan secara bersamaan selama migrasi. Anda menggunakan Amazon Route 53 (atau penyedia DNS Anda) untuk secara bertahap mengalihkan lalu lintas dari layanan App Runner ke layanan ECS Express Mode, dimulai dengan persentase kecil dan meningkat seiring waktu. Pendekatan ini meminimalkan waktu henti dan memungkinkan Anda memutar kembali dengan menyesuaikan bobot DNS jika masalah muncul.

Migrasi tipikal mencakup langkah-langkah berikut:

  1. Tinjau konfigurasi layanan App Runner yang ada

  2. Buat layanan ECS Express Mode menggunakan gambar kontainer yang sama

  3. Konfigurasikan domain kustom yang sama untuk layanan ECS Express Mode, jika Anda menggunakan domain kustom

  4. Mengalihkan lalu lintas dari App Runner ke Mode ECS Express menggunakan perutean DNS

  5. Selesaikan migrasi dan hapus layanan App Runner saat tidak lagi diperlukan

Prasyarat

Sebelum Anda mulai, pastikan Anda memiliki yang berikut:

  • AWS Akun dengan AWS Identity and Access Management izin yang sesuai untuk membuat dan mengelola sumber daya Amazon ECS, AWS App Runner Amazon Route 53, dan Application Load Balancer

  • AWS CLI diinstal dan dikonfigurasi dengan kredensyal untuk akun Anda AWS

  • Gambar kontainer yang disimpan di Amazon Elastic Container Registry (atau registri kontainer lain) untuk diterapkan ke ECS Express Mode

  • Peran IAM yang diperlukan oleh ECS Express Mode: untuk eksekusi tugas ecsTaskExecutionRole Amazon ECS dan ecsInfrastructureRoleForExpressServices untuk penyediaan infrastruktur ECS Express Mode

Jika Anda ingin mempertahankan domain kustom yang ada selama migrasi, Anda juga perlu:

  • Nama domain terdaftar yang Anda kontrol, sepertiapp.example.com, menggunakan Amazon Route 53 atau pencatat domain pihak ketiga

  • SSL/TLS Sertifikat di AWS Certificate Manager(ACM) yang cocok dengan domain kustom Anda. Minta sertifikat ACM publik di AWS Region tempat yang sama saat Anda menggunakan sumber daya Anda. Baik App Runner dan Amazon ECS Express Mode memerlukan sertifikat ACM untuk mengaktifkan akses HTTPS dengan domain khusus.

Sebelum Anda mulai

  • Persyaratan gambar kontainer - Mode ECS Express menyebarkan gambar kontainer. Jika layanan App Runner Anda di-deploy dari kode sumber, pertama-tama tambahkan langkah build yang membuat image container dan mendorongnya ke registri seperti Amazon Elastic Container Registry. Kemudian gunakan gambar itu ke ECS Express Mode. Lihat Migrasi penerapan berbasis sumber detail tentang migrasi penerapan berbasis sumber.

  • Perilaku domain — Jika layanan App Runner sudah menggunakan domain kustom, misalnyaapp.example.com, Anda dapat menggunakan kembali nama host yang sama selama migrasi dan secara bertahap mengalihkan lalu lintas antara App Runner dan ECS Express Mode dengan memperbarui DNS.

    Jika layanan App Runner Anda hanya menggunakan URL layanan App Runner default, layanan Mode Ekspres ECS akan memiliki titik akhir yang berbeda. Dalam hal ini tidak ada nama host bersama yang dapat digunakan untuk pergeseran lalu lintas bertahap. Anda harus membuat dan memvalidasi layanan ECS Express Mode dan kemudian memperbarui klien atau DNS untuk menggunakan endpoint baru.

Panduan migrasi

Diagram berikut menunjukkan cara kerja migrasi menggunakan Route 53 untuk menggeser catatan DNS antara layanan App Runner dan layanan ECS Express Mode Anda.

Diagram arsitektur yang menunjukkan migrasi dari App Runner ke Mode ECS Express menggunakan perutean tertimbang Route 53 untuk pergeseran lalu lintas bertahap di antara kedua layanan.

Langkah 1: Tinjau konfigurasi App Runner yang ada

Di konsol App Runner, tinjau layanan yang ada dan catat nilai yang ingin Anda teruskan. Minimal, perhatikan hal berikut:

  • Gambar kontainer

  • Port aplikasi

  • Variabel-variabel lingkungan

  • Nama domain kustom, jika dikonfigurasi

  • Sertifikat ACM yang terkait dengan domain kustom, jika dikonfigurasi

Anda juga dapat meninjau pengaturan runtime lain yang ingin Anda teruskan ke layanan baru.

Untuk detail domain kustom, lihatMengelola nama domain khusus untuk layanan App Runner.

Langkah 2: Buat layanan ECS Express Mode

Buat layanan ECS Express Mode menggunakan gambar kontainer yang sama yang digunakan oleh layanan App Runner Anda. Anda dapat membuat layanan menggunakan salah satu Konsol Manajemen AWSatau AWS CLI.

Contoh perintah CLI:

aws ecs create-express-gateway-service \ --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole \ --infrastructure-role-arn arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices \ --primary-container '{ "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/my-app:latest", "containerPort": 8080, "environment": [{ "name": "ENV_VAR_NAME", "value": "value" }] }' \ --service-name "my-application" \ --health-check-path "/" \ --scaling-target '{"minTaskCount":1,"maxTaskCount":4}' \ --monitor-resources

Ganti gambar, port, variabel lingkungan, dan nilai penskalaan dengan nilai dari layanan App Runner Anda.

Perintah ini menyediakan tumpukan aplikasi lengkap di AWS akun Anda, termasuk layanan ECS di Fargate, Application Load Balancer dengan grup target dan pemeriksaan kesehatan, kebijakan auto-scaling, grup keamanan dan konfigurasi jaringan, dan URL default.

Penyediaan biasanya memakan waktu 3-5 menit. Anda dapat melacak kemajuan di konsol Amazon ECS di bawah tab Sumber Daya.

Setelah selesai, uji layanan ECS Express Mode Anda menggunakan URL default yang ditampilkan di konsol. Verifikasi bahwa aplikasi Anda berfungsi dengan benar sebelum melanjutkan dengan pergeseran lalu lintas.

Langkah 3: Konfigurasikan domain khusus untuk ECS Express Mode

Jika layanan App Runner Anda menggunakan domain kustom, konfigurasikan domain kustom yang sama untuk layanan Mode Ekspres ECS sebelum mengalihkan lalu lintas. Langkah ini mengonfigurasi Application Load Balancer yang dibuat untuk layanan ECS Express Mode sehingga menerima lalu lintas untuk domain Anda dan menggunakan sertifikat ACM untuk HTTPS.

  • Tambahkan domain kustom Anda sebagai kondisi header host dalam aturan pendengar Application Load Balancer. Gunakan nama domain yang sama yang Anda kaitkan dengan layanan App Runner (misalnya,app.example.com). Ini memberi tahu Application Load Balancer untuk merutekan lalu lintas dari domain Anda ke grup target ECS Express Mode.

  • Tambahkan sertifikat SSL ke Application Load Balancer HTTPS listener. Tambahkan sertifikat ACM yang tercantum dalam Langkah 1 ke pendengar HTTPS.

Untuk petunjuk mendetail, lihat Menambahkan domain khusus ke layanan Anda di Panduan Pengembang Amazon ECS.

Gambar berikut menunjukkan contoh konfigurasi kondisi header host dalam aturan pendengar Application Load Balancer.

Tangkapan layar konsol yang menampilkan aturan pendengar Application Load Balancer dengan kondisi header host yang dikonfigurasi untuk titik akhir layanan ECS Express Mode dan domain kustom.

Langkah 4: Pergeseran lalu lintas menggunakan perutean tertimbang Route 53

Jika layanan App Runner sudah menggunakan domain kustom, Anda dapat secara bertahap mengalihkan lalu lintas ke layanan Mode Ekspres ECS dengan menggunakan perutean tertimbang Route 53. Perutean tertimbang memungkinkan Anda merutekan lalu lintas untuk nama host yang sama ke beberapa titik akhir. Setiap titik akhir didefinisikan sebagai catatan DNS terpisah dengan bobotnya sendiri, dan Route 53 mendistribusikan permintaan sesuai dengan bobot tersebut.

catatan

Panduan ini menggunakan Route 53 sebagai contoh. Jika Anda menggunakan penyedia DNS lain, buat perubahan DNS yang setara menggunakan fitur manajemen lalu lintas penyedia Anda.

Mengonversi rekaman App Runner yang ada menjadi catatan tertimbang:

  1. Buka konsol Route 53.

  2. Pilih Zona yang dihosting, lalu pilih zona yang dihosting untuk domain Anda.

  3. Temukan catatan yang ada untuk nama host Anda (misalnyaapp.example.com) yang saat ini menunjuk ke App Runner.

  4. Edit catatan dan ubah kebijakan Routing-nya ke Weighted.

  5. Setel Berat ke 100 (ini mengarahkan semua lalu lintas awal ke App Runner).

  6. Di bawah Record ID, masukkan pengenal deskriptif seperti. app-runner-service

  7. Pilih Simpan perubahan.

Buat catatan tertimbang untuk ECS Express Mode:

  1. Buat catatan baru di zona host yang sama.

  2. Gunakan nama rekaman yang sama (misalnyaapp.example.com).

  3. Gunakan jenis rekaman yang sama.

  4. Tetapkan kebijakan Routing ke Weighted.

  5. Di bawah Rute lalu lintas ke, pilih Alias ke Aplikasi dan Classic Load Balancer.

  6. Pilih Application Load Balancer ECS Express Mode Anda dari dropdown.

  7. Atur Berat ke 0 (tidak ada arus lalu lintas ke Mode Ekspres ECS sampai Anda secara eksplisit menambah bobot).

  8. Di bawah Record ID, masukkan pengenal deskriptif seperti. ecs-express-service

  9. Pilih Create records (Buat catatan).

Secara bertahap menggeser lalu lintas:

Setelah catatan DNS dikonfigurasi, mulailah memindahkan lalu lintas dengan meningkatkan bobot Mode Ekspres ECS sambil mengurangi bobot App Runner secara proporsional. Pendekatan yang direkomendasikan:

  • Atur ECS Express Mode ke 10/App Runner ke 90

  • Memantau dan memvalidasi layanan menangani permintaan dengan sukses

  • Meningkat menjadi 25/ 75

  • Meningkat menjadi 50/ 50

  • Meningkat menjadi 75/25

  • Selesai pada 100/ 0

Pada setiap langkah, uji aplikasi sebelum menggeser lalu lintas tambahan. Jika masalah terjadi pada titik mana pun, putar kembali dengan menyesuaikan bobot kembali ke nilai sebelumnya.

penting

Jaga agar layanan App Runner tetap berjalan selama periode validasi (seperti 24—48 jam) untuk mengonfirmasi bahwa perubahan DNS telah disebarkan secara global dan untuk menyediakan opsi rollback jika diperlukan. Jika Anda mengalami masalah, Anda dapat dengan cepat mengembalikan bobot Route 53 kembali ke App Runner.

Langkah 5: Selesaikan migrasi

Setelah memverifikasi bahwa layanan ECS Express Mode menangani lalu lintas produksi dengan benar dan periode validasi telah berlalu, selesaikan migrasi:

  • Di Route 53, hapus rekaman tertimbang yang mengarah ke App Runner (atau atur bobotnya ke 0).

  • Hapus asosiasi domain kustom dari layanan App Runner.

Hapus layanan App Runner:

aws apprunner delete-service --service-arn your-app-runner-service-arn

Juga pertimbangkan untuk menghapus sumber daya apa pun yang tidak lagi diperlukan:

  • Route 53 catatan perutean tertimbang untuk App Runner

  • Gambar kontainer yang tidak digunakan dari Amazon Elastic Container Registry

  • Peran IAM dibuat khusus untuk App Runner, jika tidak lagi diperlukan

catatan

Jangan hapus layanan ECS Express Mode, Application Load Balancer-nya, atau sumber daya terkait jika layanan berjalan dalam produksi.

Migrasi penerapan berbasis sumber

Jika layanan App Runner yang ada di-deploy dari kode sumber dan bukan image container, Anda perlu menambahkan langkah kontainerisasi sebelum menerapkan ke ECS Express Mode. Tidak seperti App Runner, ECS Express Mode membutuhkan gambar kontainer. Namun, Anda dapat mereplikasi pengalaman penerapan otomatis App Runner menggunakan CI/CD alat seperti GitHub Tindakan dengan Amazon ECS Deploy Express Service Action. GitHub

Alur kerja migrasi memiliki tiga tahap:

  1. Buat gambar kontainer menggunakan Dockerfile

  2. Dorong gambar ke registri kontainer seperti Amazon Elastic Container Registry

  3. Menyebarkan gambar ke ECS Express Mode

Diagram berikut menunjukkan cara kerja alur kerja ini menggunakan GitHub Tindakan:

Diagram arsitektur yang menunjukkan migrasi layanan App Runner berbasis sumber ke Mode ECS Express menggunakan GitHub Tindakan untuk membuat gambar kontainer, mendorong ke Amazon Elastic Container Registry, dan menerapkan ke ECS Express Mode.

Kontainerisasi aplikasi Anda

Jika aplikasi Anda belum memiliki Dockerfile, buat satu di root repositori Anda. Dockerfile berfungsi sebagai cetak biru untuk membangun dan mengemas kode sumber Anda ke dalam gambar kontainer.

Struktur repositori Anda harus mencakup:

your-app/ ├── src/ # Application source code ├── Dockerfile # Container build instructions ├── package.json # Dependencies and scripts └── .github/ # GitHub configuration └── workflows/ # GitHub Actions workflows └── deploy.yml # ECS Express Mode deployment workflow

Mengatur GitHub Tindakan untuk penerapan otomatis

Untuk mereplikasi penerapan otomatis App Runner pada push kode, konfigurasikan GitHub Tindakan dengan yang berikut:

Contoh Alur kerja GitHub Tindakan

Buat file alur kerja di.github/workflows/deploy.yml:

name: Build and Deploy to ECS on: push: branches: [ main ] env: AWS_REGION: ${{ vars.AWS_REGION }} AWS_ACCOUNT_ID: ${{ vars.AWS_ACCOUNT_ID }} ECR_REPOSITORY: ${{ vars.ECR_REPOSITORY }} ECS_SERVICE: ${{ vars.ECS_SERVICE }} ECS_CLUSTER: ${{ vars.ECS_CLUSTER }} jobs: deploy: name: Deploy runs-on: ubuntu-latest environment: production permissions: id-token: write contents: read steps: - name: Checkout uses: actions/checkout@v6 - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v5 with: aws-region: ${{ env.AWS_REGION }} role-to-assume: arn:aws:iam::${{ env.AWS_ACCOUNT_ID }}:role/github-actions-ecs-role role-session-name: GitHubActionsECSDeployment - name: Login to Amazon ECR id: login-ecr uses: aws-actions/amazon-ecr-login@v2 - name: Get short commit hash run: echo "IMAGE_TAG=${GITHUB_SHA:0:7}" >> $GITHUB_ENV - name: Build, tag, and push image to Amazon ECR id: build-image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} uses: docker/build-push-action@v6 with: context: . push: true tags: ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}:latest,${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}:${{ env.IMAGE_TAG }} - name: Deploy to ECS Express Mode uses: aws-actions/amazon-ecs-deploy-express-service@v1 env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} with: service-name: ${{ env.ECS_SERVICE }} image: ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}:${{ env.IMAGE_TAG }} execution-role-arn: arn:aws:iam::${{ env.AWS_ACCOUNT_ID }}:role/ecsTaskExecutionRole infrastructure-role-arn: arn:aws:iam::${{ env.AWS_ACCOUNT_ID }}:role/ecsInfrastructureRoleForExpressServices cluster: ${{ env.ECS_CLUSTER }} container-port: 8080 environment-variables: | [ {"name": "ENV", "value": "Prod"} ] cpu: '1024' memory: '2048' health-check-path: /health min-task-count: 1 max-task-count: 4 auto-scaling-metric: AVERAGE_CPU auto-scaling-target-value: 70

Saat Anda mendorong perubahan kode ke cabang utama Anda, GitHub Actions secara otomatis membuat image container baru, mendorongnya ke Amazon Elastic Container Registry, dan menerapkannya ke layanan ECS Express Mode Anda. Ini mereplikasi pengalaman penerapan otomatis yang Anda miliki dengan App Runner.

Setelah layanan ECS Express Mode berjalan, ikuti Langkah 3—5 dalam panduan migrasi untuk mengonfigurasi domain kustom, mengalihkan lalu lintas menggunakan perutean DNS, dan menyelesaikan migrasi.

Sumber daya tambahan