Menggunakan AWS ECS dengan Go: Panduan lengkap

WBOY
Lepaskan: 2023-06-17 08:31:36
asal
1724 orang telah melayarinya

Menggunakan AWS ECS dalam Go: Panduan Lengkap

AWS Elastic Container Service (ECS) ialah perkhidmatan pengurusan kontena berskala tinggi yang menyokong menjalankan dan mengurus aplikasi kontena dalam bentuk Docker. Bahasa Go telah menjadi semakin popular sejak beberapa tahun kebelakangan ini, dan semakin ramai pembangun memilih Pergi untuk menulis aplikasi. Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan perkhidmatan AWS ECS untuk membina aplikasi kontena.

1. Sediakan AWS ECS

Mula-mula anda perlu membuat gugusan ECS dalam AWS. Gunakan konsol AWS untuk membuka perkhidmatan ECS. Kemudian, pilih untuk membuat kelompok ECS baharu. Konfigurasi rangkaian, termasuk VPC dan subnet, boleh dipilih semasa membuat kluster. Seterusnya, buat kluster mengikut tetapan lalai.

2. Cipta imej Docker

Kami perlu mencipta imej Docker supaya kami boleh menjalankan aplikasi kami pada ECS. Langkah pertama dalam membina dan menjalankan imej Docker bagi aplikasi Go ini ialah membina binari Go. Oleh kerana aplikasi Go kami berjalan melalui bekas Docker, kami perlu menjalankan proses binaan di dalam bekas.

Untuk mencapai matlamat ini, kita perlu mencipta fail docker. Anda boleh menggunakan arahan berikut untuk mencipta fail bernama Dockerfile:

touch Dockerfile
Salin selepas log masuk

Buka fail Dockerfile dan tambah kandungan berikut:

# 使用golang作为基础镜像
FROM golang:1.14-alpine

# 在容器中创建一个目录以存储应用程序文件
RUN mkdir /app

# 向容器中添加当前目录中的所有文件
ADD . /app

# 将工作目录设置为app目录
WORKDIR /app

# 构建出 Go 文件
RUN go build -o main .

# 在容器中设置环境变量
ENV PORT=8080

# 声明容器应该监听的端口
EXPOSE 8080

# 定义容器启动时要运行的命令
CMD ["/app/main"]
Salin selepas log masuk

Dockerfile ini menggunakan imej golang:1.14-alpine sebagai asas , dan kemudian Semua fail dalam direktori semasa ditambah, direktori kerja ditetapkan kepada /app, fail Go dibina dan Main.go ditemui (perlu dinyatakan bahawa nama fail Main.go harus konsisten dengan nama projek). PORT pembolehubah persekitaran dan port 8080 terbuka ditetapkan dalam bekas, dan arahan ./main untuk dijalankan semasa memulakan bekas ditentukan.

Cari fail Main.go dalam direktori tempat Fail Docker terletak Fail ini mewakili aplikasi Go kami, dan kemudian gunakan CLI Docker untuk mencipta imej Docker:

docker build -t my-go-app .
Salin selepas log masuk

Arahan ini akan. cari fail Dockerfile , dan buat imej Docker berdasarkan kandungannya, sambil memanggilnya "my-go-app". Ini akan membina imej Docker yang mengandungi aplikasi kami dan menyediakannya untuk dimuat naik ke AWS ECR (Amazon Elastic Container Registry).

3. Muat naik imej Docker ke ECR

Sebelum memuat naik imej Docker ke AWS ECS, kita perlu memuat naik imej itu ke AWS ECR terlebih dahulu.

1 Log masuk ke konsol AWS dan pilih perkhidmatan ECR.
2. Dalam menu sebelah kiri, pilih "Gudang" dan buat gudang baharu.
3. Pilih "Lihat Repositori" dan klik butang "Muat Naik Imej Manual".
4. Salin arahan dalam imej Docker, dan kemudian laksanakan arahan untuk memuat naik imej Docker ke AWS ECR.

4. Cipta Takrifan Tugasan

Sebelum mencipta perkhidmatan ECS, anda perlu mencipta Takrifan Tugasan. Takrifan Tugas mentakrifkan imej Docker untuk dijalankan dalam bekas dan tetapan lain.

1 Pilih "Perkhidmatan ECS" dan pilih "Definisi Tugas".
2. Cipta takrifan tugasan baharu.
3. Pilih jenis pelancaran "FARGATE" atau "EC2", bergantung pada sama ada anda menjalankan tugas dalam AWS Fargate atau tika EC2 anda sendiri menggunakan AWS ECS.
4 Pilih konfigurasi rangkaian yang ditakrifkan oleh tugasan.
5. Di bawah "Pelaksana Tugas dan Konfigurasi Rangkaian Langsung", pilih "Seterusnya".
6. Tentukan tugas.
7. Di bawah "Definisi Bekas", klik butang "Tambah Bekas" dan tentukan butiran bekas.
8. Tentukan URI imej Docker sebagai alamat URI imej Docker yang dimuat naik sebelum ini dalam ECR.
9. Tentukan tetapan lain untuk bekas, seperti CPU bekas dan keperluan memori.
10. Klik "Tambah Bekas".
11. Klik "Buat".

5. Cipta Perkhidmatan ECS

Buat Perkhidmatan ECS daripada Takrifan Tugas.

1 Pilih Definisi Tugasan yang telah dibuat, dan kemudian klik "Buat perkhidmatan".
2. Pilih kluster tempat anda ingin menggunakan perkhidmatan.
3. Nyatakan nama perkhidmatan.
4. Tetapkan bilangan perkhidmatan melalui "Bilangan Tugas".
5. Tetapkan masa mula untuk memulakan tugas (segera atau dijadualkan).
6. Pilih jenis pengimbang beban yang anda ingin gunakan, seperti Pengimbang Beban Rangkaian atau Aplikasi.
7. Tentukan konfigurasi rangkaian dan konfigurasi pengimbangan beban.
8. Klik "Seterusnya" dan buat tetapan lain.
9. Pilih pendaftaran penemuan perkhidmatan untuk digunakan.
10. Tentukan strategi penskalaan untuk perkhidmatan, yang akan membantu mengendalikan turun naik beban dan pemulihan kegagalan.
11. Klik "Buat perkhidmatan".

6. Jalankan aplikasi

Sekarang perkhidmatan ECS sedia, anda boleh menggunakan aplikasi dan mula menggunakannya. Akses aplikasi anda menggunakan arahan berikut:

curl http://<ECS Service Domain Name>:8080
Salin selepas log masuk

Aplikasi sepatutnya dapat dijalankan dengan jayanya dan mengembalikan respons kepada anda.

7. Ringkasan

Artikel ini memperkenalkan cara menggunakan AWS ECS dalam aplikasi yang ditulis dalam bahasa Go. Anda perlu menggunakan konsol AWS untuk menyediakan kelompok ECS, kemudian bina imej Docker dan muat naik ke AWS ECR. Seterusnya, anda boleh mencipta Definisi Tugas dan mencipta Perkhidmatan ECS untuknya, dan akhirnya menjalankan aplikasi Go anda dalam Perkhidmatan ECS. Ini ialah panduan lengkap untuk melaksanakan AWS ECS menggunakan bahasa Go.

Atas ialah kandungan terperinci Menggunakan AWS ECS dengan Go: Panduan lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan