EN: Read in English
Dunia A4: Container di Cloud
Deploy dari GitHub Actions dengan OIDC
Anda akan belajar: push image Kedai Kancil ke ECR dan lancarkannya di ECS dari GitHub Actions, tanpa kunci AWS yang disimpan.
Teks BM belum disemak oleh penutur asli.
Disemak dengan AWS 2026-11 pada 1 Nov 2026
Masalahnya
Workflow anda mesti push image baru ke ECR dan kemas kini service ECS. Ia perlukan kunci AWS. Yang mana?
Pilih satu jawapan.
Tengok
Inilah OIDC (OpenID Connect): Runner tunjuk pas pelawat untuk satu job. Cloud semak pas itu dan pinjamkan kunci yang luput bila job tamat., seperti dalam Dunia CI/CD C3, kini dihalakan ke AWS. Susun satu deploy.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- AWS semak repo dan environment
- AWS pinjamkan kunci role jangka pendek
- Job minta ID token dari GitHub
- Job push image ke ECR
- ECS lancarkan task baru
Tengok
Trust policy role itu sebut lencana mana yang ia terima. Ketik baris yang benarkan satu repo dan satu environment sahaja.
Ketik baris yang hadkan siapa boleh pinjam role.
0 daripada 1 dijumpai
Cuba
Bina workflow deploy. Tiada kunci disimpan.
Tekan blok untuk tambah. Susun ikut urutan.
Blok
Workflow anda
Tekan satu blok di atas untuk mula.
Fail workflow .github/workflows/
name: Deploy to ECS
Apa yang berjalan
Belum ada apa untuk dijalankan.
Petunjuk
Pencetus, kebenaran lencana, job, kemudian langkah ikut urutan deploy.Teka
Seseorang push ke branch ujian tanpa environment production. Job mereka minta role itu. Apa jadi?
Pilih satu jawapan.
Semak
Role deploy boleh kemas kini service. Kini satu run cuba padamnya. Adakah AWS benarkan?
Baca permintaan dan policy-nya. AWS akan kata Allow atau Deny?
Permintaan
- Siapa
- kedai-deploy (sesi role)
arn:aws:sts::111122223333:assumed-role/kedai-deploy/run-7 - Mahu buat
ecs:DeleteService- Pada
arn:aws:ecs:ap-southeast-5:111122223333:service/kedai/shop
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ecs:UpdateService", "ecs:DescribeServices"], "Resource": "arn:aws:ecs:ap-southeast-5:111122223333:service/kedai/shop" } ]}Anda berjaya!
Kini anda boleh deploy Kedai Kancil ke ECS dari GitHub Actions, tanpa kunci AWS disimpan.
Nak tahu lebih (pilihan)
Role penuh juga perlukan hak push ECR, ecs:RegisterTaskDefinition dan iam:PassRole untuk role task. Panduan GitHub pin langkah ECS kepada commit tepat, seperti di sini. Repo baru mungkin guna format subject lain. Salin yang tepat dari dokumen OIDC GitHub.
English
Your workflow must push a new image to ECR and update the ECS service. It needs AWS keys. Which ones?
This is OIDC, as in CI/CD World C3, now aimed at AWS. Put one deploy in order.
The role’s trust policy says which badges it accepts. Tap the line that allows only one repo and one environment.
Build the deploy workflow. No stored keys.
Someone pushes to a test branch without the production environment. Their job asks for the role. What happens?
The deploy role may update the service. Now a run tries to delete it. Will AWS allow it?
You can now deploy to ECS from GitHub Actions, with no stored keys.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: IAM: Create an OIDC identity provider · IAM: Role for web identity (OIDC) federation · GitHub: OpenID Connect in Amazon Web Services · GitHub: Deploy to Amazon ECS · aws-actions/configure-aws-credentials
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?