1652509440
Chào mọi người. Trong hướng dẫn từng bước này, tôi muốn chỉ cho bạn cách triển khai Kotlin Microservice bằng Docker và AWS App Runner.
Chúng ta sẽ cùng nhau tìm hiểu:
Tôi biết, nó có vẻ như là một khối lượng công việc lớn. Nhưng tôi tin rằng bạn sẽ thấy nó có thể đơn giản như thế nào với ngăn xếp công nghệ ở trên.
Trước khi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt Docker trên máy cục bộ của mình. Chúng tôi sẽ cần phải chứa ứng dụng của mình.
Nếu bạn không có Docker, thì tài liệu Docker chính thức sẽ giúp bạn thiết lập nó trong vài phút.
Trước tiên, hãy dành vài phút để hiểu chính xác AWS App Runner là gì.
Nói một cách đơn giản, đây là một dịch vụ được quản lý hoàn toàn cho phép bạn xây dựng và triển khai các ứng dụng web và API được chứa trong vùng một cách dễ dàng.
Nó xử lý rất nhiều thứ, như cân bằng tải lưu lượng truy cập hoặc mở rộng quy mô, giúp các nhà phát triển như bạn và tôi tập trung vào mã.
AWS App Runner đôi khi là một lựa chọn tuyệt vời khi tạo bản demo hoặc bằng chứng về khái niệm, nhưng nó cũng đáng xem xét đối với các nhóm nhỏ hơn mà không có người chuyên dụng làm việc trên cơ sở hạ tầng.
Như đã nói, hãy chuẩn bị một API REST đơn giản bằng cách sử dụng Kotlin và Ktor.
Nếu bạn không quan tâm đến việc triển khai Ktor, thì bạn có thể chỉ cần sao chép kho lưu trữ GitHub này và chuyển sang bước Cách tạo hình ảnh Docker .
Nếu bạn đang sử dụng IntelliJ IDEA Ultimate Edition, thì bạn có thể tạo dự án Ktor bằng ứng dụng. Nếu không, bạn có thể sử dụng công cụ Ktor Project Generator và tải dự án xuống máy cục bộ của mình.
Bất kể lựa chọn của bạn là gì, hãy đảm bảo nhập các plugin sau:
Sau khi bạn đã nhập dự án, hãy tạo Serialization.kt
tệp và đăng ký application/json
loại nội dung cho tính năng Thương lượng nội dung:
fun Application.configureSerialization() {
install(ContentNegotiation) {
json()
}
}
Nói một cách đơn giản, với đoạn mã này, chúng ta sẽ có thể tuần tự hóa các đối tượng Kotlin thành JSON (và giải mã hóa JSON thành các đối tượng).
Bây giờ hãy triển khai một MessageDto
lớp dữ liệu như sau:
@Serializable
data class MessageDto(val message: String)
Về cơ bản, chúng tôi sẽ sử dụng lớp chung này để cung cấp thông điệp cho người tiêu dùng API của chúng tôi.
Bước tiếp theo, hãy tạo một Routing.kt
tệp và hiển thị một điểm cuối mới:
fun Application.configureRouting() {
routing {
helloWorldRoute()
}
}
fun Routing.helloWorldRoute() {
route("/hello") {
get {
call.respond(HttpStatusCode.OK, MessageDto("Hello World!"))
}
}
}
Như bạn có thể thấy, ứng dụng của chúng tôi sẽ phản hồi với mã trạng thái 200 OK cho mỗi GET
yêu cầu đến /hello
đường dẫn.
Bây giờ, hãy kết hợp mọi thứ bên trong Application.kt
tệp:
fun main() {
embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
configureRouting()
configureSerialization()
}.start(wait = true)
}
Như bạn có thể thấy, microservice Kotlin của chúng tôi sẽ là một máy chủ nhúng Netty đang chạy trên đó localhost:8080
.
Tôi thực sự khuyến khích bạn chạy ứng dụng và xác minh rằng mọi thứ đang hoạt động bình thường:
GET localhost:8080/hello
Status: 200 OK
Response Body:
{
"message": "Hello World!"
}
Cuối cùng, hãy thêm Dockerfile
vào thư mục gốc của dự án của chúng tôi:
FROM openjdk:8-jdk
EXPOSE 8080:8080
RUN mkdir /app
COPY ./build/install/com.codersee.ktor-app-runner/ /app/
WORKDIR /app/bin
CMD ["./com.codersee.ktor-app-runner"]
Đảm bảo rằng thư mục được chỉ định cho các lệnh COPY
và CMD
khớp với giá trị của rootProject.name
bên trong settings.gradle.kts
tệp. Nếu tên của dự án là xyz
, thì các lệnh này sẽ phản ánh rằng:
...
COPY ./build/install/xyz/ /app/
...
CMD ["./xyz"]
Tại thời điểm này, chúng tôi có mọi thứ cần thiết để xây dựng Hình ảnh Docker của mình, mà chúng tôi sẽ sử dụng sau này cho việc triển khai AWS App Runner .
Bước đầu tiên, hãy chạy installDist
lệnh với Gradle Wrapper:
./gradlew installDist
Lệnh trên có nhiệm vụ tập hợp nội dung phân phối và cài đặt nó trên máy hiện tại. Mặc dù nghe có vẻ khó khăn nhưng nó chỉ đơn giản là tạo các tệp cần thiết bên trong thư mục ./build/install/{project-name}/
.
Bước tiếp theo, hãy xây dựng Hình ảnh Docker:
docker build -t ktor-aws-runner .
Như bạn có thể thấy, chúng tôi đã đặt tên cho hình ảnh mong muốn của mình ktor-aws-runner
bằng -t
tùy chọn (một phím tắt cho --tag
).
Cuối cùng, hãy chạy vùng chứa của chúng tôi để đảm bảo rằng microservice Kotlin của chúng tôi đang hoạt động bình thường:
docker run -p 8080:8080 ktor-aws-runner
Như một lời giải thích, -p
flag ( --port
) chịu trách nhiệm xuất bản cảng của container 8080
tới cảng chủ 8080
.
Sau khi hoàn tất, sau vài giây, chúng ta sẽ thấy thông báo sau trong nhật ký:
Application started in 0.078 seconds
Tương tự, chúng ta có thể thực hiện yêu cầu GET để kiểm tra xem điểm cuối tiếp xúc có phản hồi chính xác hay không.
Với tất cả những điều đó đã được thực hiện, cuối cùng chúng tôi cũng có thể bắt đầu làm việc với AWS. Nhưng trước khi có thể đẩy Docker Image của mình, chúng ta cần đảm bảo rằng chúng ta đã cài đặt AWS CLI trên máy cục bộ của mình.
Chúng ta có thể làm điều đó một cách dễ dàng với lệnh dưới đây:
aws --version
# Result:
aws-cli/2.5.3 Python/3.9.11 Windows/10 exe/AMD64 prompt/off
Kết quả trên cho thấy rằng mọi thứ đã được thiết lập chính xác. Tuy nhiên, nếu chúng tôi muốn cài đặt hoặc cập nhật CLI, thì AWS sẽ gửi một bài viết thực sự tốt về vấn đề đó trong tài liệu chính thức của họ .
Ngoài ra, chúng tôi phải có quyền truy cập vào Đám mây AWS từ máy tính của mình - và đó là những gì chúng tôi sẽ thiết lập trong bước này.
Để thiết lập quyền truy cập, hãy đăng nhập vào Bảng điều khiển quản lý AWS và điều hướng đến tính năng Người dùng của Bảng điều khiển IAM . Chúng tôi có thể làm điều đó một cách dễ dàng với thanh tìm kiếm ở trên cùng:
Trên trang tiếp theo, hãy nhấp vào nút Thêm người dùng :
Sau đó, chúng tôi sẽ chỉ định Tên người dùng ưa thích cùng với khóa Truy cập - Loại thông tin xác thực truy cập có lập trình :
Với những cài đặt này, chúng tôi sẽ có thể truy cập AWS bằng cách sử dụng kết hợp khóa truy cập và bí mật.
Sau khi hoàn tất, hãy nhấn nút Tiếp theo . Trên trang này, chúng tôi phải chọn nhóm cho người dùng của chúng tôi. Với mục đích của hướng dẫn này, hãy tạo một cái mới, bằng cách sử dụng nút hiển thị bên dưới:
Tiếp theo, hãy chỉ định tên Nhóm ( admin-group
trong trường hợp của tôi) trong phương thức và chọn AdministratorAccess :
Để đơn giản, chúng ta sẽ sử dụng AdministratorAccess. Nhưng trong các tình huống thực tế, chúng ta nên luôn tuân thủ Nguyên tắc Ít Đặc quyền.
Sau khi nhóm được tạo, hãy nhấn nút Tiếp theo một lần nữa:
Trên trang tiếp theo, chúng tôi có tùy chọn thêm thẻ tùy chỉnh dưới dạng cặp khóa-giá trị.
Nhưng chúng ta sẽ không cần chúng hôm nay, vì vậy chúng ta chỉ cần bỏ qua trang này:
Cuối cùng, chúng tôi sẽ được chuyển hướng đến trang Xem lại , nơi chúng tôi có thể xác thực các bước trước đó của mình:
Như bạn có thể thấy, mọi thứ đều ổn, vì vậy hãy nhấp vào Tạo người dùng :
Người dùng đã được tạo thành công, vì vậy cuối cùng chúng tôi có thể nhập khóa truy cập và khóa bí mật của mình.
Hãy nhớ rằng khóa truy cập và khóa bí mật là những dữ liệu có tính bảo mật cao và bạn không bao giờ được chia sẻ chúng với bất kỳ ai!
Hãy nhấp vào nút Tải xuống .csv và tìm nạp tệp. Cá nhân tôi đã đặt tên cho nó some_user_credentials.csv
, nhưng hãy chọn bất kỳ tên nào bạn thích (và ghi nhớ nó :)).
Tiếp theo, hãy điều hướng đến thư mục tải xuống và chạy lệnh sau:
aws configure import --csv file://some_user_credentials.csv
# Result:
Successfully imported 1 profile(s)
Với thông báo trên, chúng ta có thể mong đợi rằng mọi thứ đã được thiết lập chính xác. Ngoài ra, chúng tôi có thể xác minh rằng một tệp mới được gọi là credentials
đã được tạo (hoặc cập nhật) bên trong thư mục .aws
.
Nếu bạn đang sử dụng Windows thì đường dẫn của bạn sẽ là C:\Users\[your_user_name]\.aws
:
[some-admin]
aws_access_key_id = [your access key id]
aws_secret_access_key = [your secret]
Tại thời điểm này, CLI của chúng tôi đã được chuẩn bị đúng cách, vì vậy chúng tôi có thể học cách đẩy Hình ảnh Docker cục bộ của chúng tôi vào Cơ quan đăng ký vùng chứa đàn hồi .
Bước đầu tiên, hãy quay lại Bảng điều khiển quản lý và nhập sổ đăng ký vùng chứa vào thanh tìm kiếm:
Hãy nhấp vào Đăng ký vùng chứa đàn hồi và trên trang tiếp theo, nút Tạo kho lưu trữ . Trên trang tiếp theo, hãy chọn một kho lưu trữ Riêng tư và chỉ định tên cho nó:
Đối với phần còn lại của cài đặt, hãy để các giá trị mặc định, giống như bên dưới:
Cuối cùng, hãy nhấn nút Tạo kho lưu trữ .
Sau đó, chúng tôi sẽ được chuyển hướng đến danh sách Kho lưu trữ riêng, hiện chứa kho lưu trữ mới được tạo của chúng tôi:
Hãy sao chép URI và chỉ định lệnh sau trong thiết bị đầu cuối trên máy cục bộ của chúng tôi:
docker tag ktor-aws-runner:latest [your_registry_uri]:latest
# Example: docker tag ktor-aws-runner:latest 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest
Tại sao chúng ta cần điều đó? Về cơ bản, khi làm việc với Docker , chúng ta cần gắn thẻ hình ảnh với máy chủ đăng ký và cổng (nếu cần) để đẩy chúng vào bất kỳ kho lưu trữ riêng tư nào.
Sau khi hoàn tất, hãy xác thực với sổ đăng ký Amazon ECR:
aws ecr get-login-password --profile some-admin --region us-east-1 | docker login --username AWS --password-stdin [your registry URI]
# Result:
Login Succeeded
Sau đó, chúng ta có thể chạy git push
lệnh để đẩy hình ảnh sang ECR:
docker push [your_tagged_image]
# Example: docker push 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest
Tùy thuộc vào kết nối của bạn, có thể mất một chút thời gian, nhưng cuối cùng, chúng ta sẽ thấy danh sách cập nhật trong kho lưu trữ của chúng tôi:
Bây giờ chúng tôi có mọi thứ chúng tôi cần để chia sẻ microservice Kotlin của chúng tôi với thế giới :)
Hãy quay lại Bảng điều khiển quản lý và tìm kiếm người chạy ứng dụng:
Trên trang tiếp theo, hãy nhấn nút Tạo dịch vụ .
Đối với cấu hình Nguồn, hãy chọn sổ đăng ký Vùng chứa cùng với Amazon ECR :
Như bạn có thể nhận thấy, AWS App Runner có thể triển khai các dịch vụ trực tiếp từ kho mã nguồn. Nếu bạn quan tâm đến cấu hình như vậy, chỉ cần liên hệ với tôi qua email (liên hệ với [at] codersee [dot] com).
Tiếp theo, hãy nhấp vào Duyệt và chọn hình ảnh đã tạo trước đó :
Hãy nhấp vào tiếp tục và đối với cài đặt Triển khai, hãy chọn Thủ công và Tạo vai trò dịch vụ mới:
Tên vai trò không quan trọng trong hướng dẫn này, vì vậy chúng tôi có thể chỉ định bất kỳ giá trị nào.
Bước tiếp theo, hãy nhấp vào Tiếp theo và trên trang tiếp theo, hãy cung cấp tên Dịch vụ cùng với thông tin CPU , Bộ nhớ và Cổng :
Hình ảnh trình bày Tên dịch vụ, cpu, bộ nhớ, các biến môi trường, cổng và cài đặt cấu hình bổ sung
Như bạn có thể thấy, chúng tôi đã chọn kết hợp khả dụng tối thiểu (và đó là điều tôi khuyên bạn nên làm).
Nếu chúng tôi muốn chỉ định một số biến môi trường bổ sung hoặc lệnh Bắt đầu tùy chỉnh, thì trang này cho phép chúng tôi làm như vậy. Nhưng chúng tôi sẽ không cần bất kỳ biến môi trường nào và chúng tôi đã thêm lệnh bắt đầu vào Docker Image của chúng tôi, vì vậy hãy để nguyên như vậy.
Trên trang Tự động điều chỉnh tỷ lệ, chọn Cấu hình tùy chỉnh :
Tiếp theo, hãy tạo một cấu hình mới có tên là cấu hình của tôi :
Như tôi đã đề cập ở phần đầu, AWS App Runner xử lý rất nhiều thứ. Một trong số đó là tính năng tự động mở rộng quy mô. Mặc dù đó là một tính năng tuyệt vời, chúng tôi phải giới hạn nó theo sở thích của mình và luôn nhớ rằng nhiều tài nguyên hơn đồng nghĩa với chi phí cao hơn.
Như bạn có thể thấy ở trên, cấu hình ví dụ này sẽ không mở rộng Kotlin Microservice của chúng tôi . Tuy nhiên, nếu chúng tôi tăng kích thước Tối đa, thì một phiên bản mới sẽ được tạo mỗi khi số lượng yêu cầu đồng thời tăng lên 10.
Hãy thêm cấu hình ở trên và để mặc định phần còn lại của các mục. Sau khi chúng tôi nhấp vào Tiếp theo, chúng tôi sẽ thấy trang Đánh giá với tóm tắt triển khai.
Trên trang này, hãy nhấp vào Create and Deploy
nút, nút này sẽ bắt đầu quá trình triển khai:
Và một lần nữa, quá trình này có thể mất vài phút. Sau khi kết thúc, trạng thái sẽ thay đổi từ Operation in progress
thành Running
và chúng tôi sẽ có thể kiểm tra API Ktor REST của mình.
Giống như trước đây, hãy kiểm tra GET /hello
điểm cuối. Nhưng lần này, với tư cách là tên máy chủ của microservice của chúng tôi, chúng tôi cần sử dụng giá trị từ Default domain
:
#Example:
GET https://aaaaaaaaaa.us-east-1.awsapprunner.com/hello
Status: 200 OK
Response Body:
{
"message": "Hello World!"
}
Hãy nhớ xóa tất cả các tài nguyên chúng tôi đã tạo hôm nay để bạn không bị tính phí cho chúng.
Thực sự rất dễ quên tất cả những thứ chúng tôi tạo ra khi học AWS Cloud và tại một số điểm, bạn có thể vượt quá hạn ngạch miễn phí của mình. Vì vậy, nó là một thực hành tốt để loại bỏ tất cả những điều đó.
Và đó là tất cả cho hướng dẫn này về cách triển khai Kotlin Microservice lên Đám mây AWS với AWS App Runner. Tôi thực sự hy vọng rằng sau khi làm theo hướng dẫn này, bạn có thể dễ dàng triển khai các ứng dụng của mình lên Amazon Cloud.
Nguồn: https://www.freecodecamp.org/news/kotlin-aws-app-runner/
1652509440
Chào mọi người. Trong hướng dẫn từng bước này, tôi muốn chỉ cho bạn cách triển khai Kotlin Microservice bằng Docker và AWS App Runner.
Chúng ta sẽ cùng nhau tìm hiểu:
Tôi biết, nó có vẻ như là một khối lượng công việc lớn. Nhưng tôi tin rằng bạn sẽ thấy nó có thể đơn giản như thế nào với ngăn xếp công nghệ ở trên.
Trước khi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt Docker trên máy cục bộ của mình. Chúng tôi sẽ cần phải chứa ứng dụng của mình.
Nếu bạn không có Docker, thì tài liệu Docker chính thức sẽ giúp bạn thiết lập nó trong vài phút.
Trước tiên, hãy dành vài phút để hiểu chính xác AWS App Runner là gì.
Nói một cách đơn giản, đây là một dịch vụ được quản lý hoàn toàn cho phép bạn xây dựng và triển khai các ứng dụng web và API được chứa trong vùng một cách dễ dàng.
Nó xử lý rất nhiều thứ, như cân bằng tải lưu lượng truy cập hoặc mở rộng quy mô, giúp các nhà phát triển như bạn và tôi tập trung vào mã.
AWS App Runner đôi khi là một lựa chọn tuyệt vời khi tạo bản demo hoặc bằng chứng về khái niệm, nhưng nó cũng đáng xem xét đối với các nhóm nhỏ hơn mà không có người chuyên dụng làm việc trên cơ sở hạ tầng.
Như đã nói, hãy chuẩn bị một API REST đơn giản bằng cách sử dụng Kotlin và Ktor.
Nếu bạn không quan tâm đến việc triển khai Ktor, thì bạn có thể chỉ cần sao chép kho lưu trữ GitHub này và chuyển sang bước Cách tạo hình ảnh Docker .
Nếu bạn đang sử dụng IntelliJ IDEA Ultimate Edition, thì bạn có thể tạo dự án Ktor bằng ứng dụng. Nếu không, bạn có thể sử dụng công cụ Ktor Project Generator và tải dự án xuống máy cục bộ của mình.
Bất kể lựa chọn của bạn là gì, hãy đảm bảo nhập các plugin sau:
Sau khi bạn đã nhập dự án, hãy tạo Serialization.kt
tệp và đăng ký application/json
loại nội dung cho tính năng Thương lượng nội dung:
fun Application.configureSerialization() {
install(ContentNegotiation) {
json()
}
}
Nói một cách đơn giản, với đoạn mã này, chúng ta sẽ có thể tuần tự hóa các đối tượng Kotlin thành JSON (và giải mã hóa JSON thành các đối tượng).
Bây giờ hãy triển khai một MessageDto
lớp dữ liệu như sau:
@Serializable
data class MessageDto(val message: String)
Về cơ bản, chúng tôi sẽ sử dụng lớp chung này để cung cấp thông điệp cho người tiêu dùng API của chúng tôi.
Bước tiếp theo, hãy tạo một Routing.kt
tệp và hiển thị một điểm cuối mới:
fun Application.configureRouting() {
routing {
helloWorldRoute()
}
}
fun Routing.helloWorldRoute() {
route("/hello") {
get {
call.respond(HttpStatusCode.OK, MessageDto("Hello World!"))
}
}
}
Như bạn có thể thấy, ứng dụng của chúng tôi sẽ phản hồi với mã trạng thái 200 OK cho mỗi GET
yêu cầu đến /hello
đường dẫn.
Bây giờ, hãy kết hợp mọi thứ bên trong Application.kt
tệp:
fun main() {
embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
configureRouting()
configureSerialization()
}.start(wait = true)
}
Như bạn có thể thấy, microservice Kotlin của chúng tôi sẽ là một máy chủ nhúng Netty đang chạy trên đó localhost:8080
.
Tôi thực sự khuyến khích bạn chạy ứng dụng và xác minh rằng mọi thứ đang hoạt động bình thường:
GET localhost:8080/hello
Status: 200 OK
Response Body:
{
"message": "Hello World!"
}
Cuối cùng, hãy thêm Dockerfile
vào thư mục gốc của dự án của chúng tôi:
FROM openjdk:8-jdk
EXPOSE 8080:8080
RUN mkdir /app
COPY ./build/install/com.codersee.ktor-app-runner/ /app/
WORKDIR /app/bin
CMD ["./com.codersee.ktor-app-runner"]
Đảm bảo rằng thư mục được chỉ định cho các lệnh COPY
và CMD
khớp với giá trị của rootProject.name
bên trong settings.gradle.kts
tệp. Nếu tên của dự án là xyz
, thì các lệnh này sẽ phản ánh rằng:
...
COPY ./build/install/xyz/ /app/
...
CMD ["./xyz"]
Tại thời điểm này, chúng tôi có mọi thứ cần thiết để xây dựng Hình ảnh Docker của mình, mà chúng tôi sẽ sử dụng sau này cho việc triển khai AWS App Runner .
Bước đầu tiên, hãy chạy installDist
lệnh với Gradle Wrapper:
./gradlew installDist
Lệnh trên có nhiệm vụ tập hợp nội dung phân phối và cài đặt nó trên máy hiện tại. Mặc dù nghe có vẻ khó khăn nhưng nó chỉ đơn giản là tạo các tệp cần thiết bên trong thư mục ./build/install/{project-name}/
.
Bước tiếp theo, hãy xây dựng Hình ảnh Docker:
docker build -t ktor-aws-runner .
Như bạn có thể thấy, chúng tôi đã đặt tên cho hình ảnh mong muốn của mình ktor-aws-runner
bằng -t
tùy chọn (một phím tắt cho --tag
).
Cuối cùng, hãy chạy vùng chứa của chúng tôi để đảm bảo rằng microservice Kotlin của chúng tôi đang hoạt động bình thường:
docker run -p 8080:8080 ktor-aws-runner
Như một lời giải thích, -p
flag ( --port
) chịu trách nhiệm xuất bản cảng của container 8080
tới cảng chủ 8080
.
Sau khi hoàn tất, sau vài giây, chúng ta sẽ thấy thông báo sau trong nhật ký:
Application started in 0.078 seconds
Tương tự, chúng ta có thể thực hiện yêu cầu GET để kiểm tra xem điểm cuối tiếp xúc có phản hồi chính xác hay không.
Với tất cả những điều đó đã được thực hiện, cuối cùng chúng tôi cũng có thể bắt đầu làm việc với AWS. Nhưng trước khi có thể đẩy Docker Image của mình, chúng ta cần đảm bảo rằng chúng ta đã cài đặt AWS CLI trên máy cục bộ của mình.
Chúng ta có thể làm điều đó một cách dễ dàng với lệnh dưới đây:
aws --version
# Result:
aws-cli/2.5.3 Python/3.9.11 Windows/10 exe/AMD64 prompt/off
Kết quả trên cho thấy rằng mọi thứ đã được thiết lập chính xác. Tuy nhiên, nếu chúng tôi muốn cài đặt hoặc cập nhật CLI, thì AWS sẽ gửi một bài viết thực sự tốt về vấn đề đó trong tài liệu chính thức của họ .
Ngoài ra, chúng tôi phải có quyền truy cập vào Đám mây AWS từ máy tính của mình - và đó là những gì chúng tôi sẽ thiết lập trong bước này.
Để thiết lập quyền truy cập, hãy đăng nhập vào Bảng điều khiển quản lý AWS và điều hướng đến tính năng Người dùng của Bảng điều khiển IAM . Chúng tôi có thể làm điều đó một cách dễ dàng với thanh tìm kiếm ở trên cùng:
Trên trang tiếp theo, hãy nhấp vào nút Thêm người dùng :
Sau đó, chúng tôi sẽ chỉ định Tên người dùng ưa thích cùng với khóa Truy cập - Loại thông tin xác thực truy cập có lập trình :
Với những cài đặt này, chúng tôi sẽ có thể truy cập AWS bằng cách sử dụng kết hợp khóa truy cập và bí mật.
Sau khi hoàn tất, hãy nhấn nút Tiếp theo . Trên trang này, chúng tôi phải chọn nhóm cho người dùng của chúng tôi. Với mục đích của hướng dẫn này, hãy tạo một cái mới, bằng cách sử dụng nút hiển thị bên dưới:
Tiếp theo, hãy chỉ định tên Nhóm ( admin-group
trong trường hợp của tôi) trong phương thức và chọn AdministratorAccess :
Để đơn giản, chúng ta sẽ sử dụng AdministratorAccess. Nhưng trong các tình huống thực tế, chúng ta nên luôn tuân thủ Nguyên tắc Ít Đặc quyền.
Sau khi nhóm được tạo, hãy nhấn nút Tiếp theo một lần nữa:
Trên trang tiếp theo, chúng tôi có tùy chọn thêm thẻ tùy chỉnh dưới dạng cặp khóa-giá trị.
Nhưng chúng ta sẽ không cần chúng hôm nay, vì vậy chúng ta chỉ cần bỏ qua trang này:
Cuối cùng, chúng tôi sẽ được chuyển hướng đến trang Xem lại , nơi chúng tôi có thể xác thực các bước trước đó của mình:
Như bạn có thể thấy, mọi thứ đều ổn, vì vậy hãy nhấp vào Tạo người dùng :
Người dùng đã được tạo thành công, vì vậy cuối cùng chúng tôi có thể nhập khóa truy cập và khóa bí mật của mình.
Hãy nhớ rằng khóa truy cập và khóa bí mật là những dữ liệu có tính bảo mật cao và bạn không bao giờ được chia sẻ chúng với bất kỳ ai!
Hãy nhấp vào nút Tải xuống .csv và tìm nạp tệp. Cá nhân tôi đã đặt tên cho nó some_user_credentials.csv
, nhưng hãy chọn bất kỳ tên nào bạn thích (và ghi nhớ nó :)).
Tiếp theo, hãy điều hướng đến thư mục tải xuống và chạy lệnh sau:
aws configure import --csv file://some_user_credentials.csv
# Result:
Successfully imported 1 profile(s)
Với thông báo trên, chúng ta có thể mong đợi rằng mọi thứ đã được thiết lập chính xác. Ngoài ra, chúng tôi có thể xác minh rằng một tệp mới được gọi là credentials
đã được tạo (hoặc cập nhật) bên trong thư mục .aws
.
Nếu bạn đang sử dụng Windows thì đường dẫn của bạn sẽ là C:\Users\[your_user_name]\.aws
:
[some-admin]
aws_access_key_id = [your access key id]
aws_secret_access_key = [your secret]
Tại thời điểm này, CLI của chúng tôi đã được chuẩn bị đúng cách, vì vậy chúng tôi có thể học cách đẩy Hình ảnh Docker cục bộ của chúng tôi vào Cơ quan đăng ký vùng chứa đàn hồi .
Bước đầu tiên, hãy quay lại Bảng điều khiển quản lý và nhập sổ đăng ký vùng chứa vào thanh tìm kiếm:
Hãy nhấp vào Đăng ký vùng chứa đàn hồi và trên trang tiếp theo, nút Tạo kho lưu trữ . Trên trang tiếp theo, hãy chọn một kho lưu trữ Riêng tư và chỉ định tên cho nó:
Đối với phần còn lại của cài đặt, hãy để các giá trị mặc định, giống như bên dưới:
Cuối cùng, hãy nhấn nút Tạo kho lưu trữ .
Sau đó, chúng tôi sẽ được chuyển hướng đến danh sách Kho lưu trữ riêng, hiện chứa kho lưu trữ mới được tạo của chúng tôi:
Hãy sao chép URI và chỉ định lệnh sau trong thiết bị đầu cuối trên máy cục bộ của chúng tôi:
docker tag ktor-aws-runner:latest [your_registry_uri]:latest
# Example: docker tag ktor-aws-runner:latest 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest
Tại sao chúng ta cần điều đó? Về cơ bản, khi làm việc với Docker , chúng ta cần gắn thẻ hình ảnh với máy chủ đăng ký và cổng (nếu cần) để đẩy chúng vào bất kỳ kho lưu trữ riêng tư nào.
Sau khi hoàn tất, hãy xác thực với sổ đăng ký Amazon ECR:
aws ecr get-login-password --profile some-admin --region us-east-1 | docker login --username AWS --password-stdin [your registry URI]
# Result:
Login Succeeded
Sau đó, chúng ta có thể chạy git push
lệnh để đẩy hình ảnh sang ECR:
docker push [your_tagged_image]
# Example: docker push 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest
Tùy thuộc vào kết nối của bạn, có thể mất một chút thời gian, nhưng cuối cùng, chúng ta sẽ thấy danh sách cập nhật trong kho lưu trữ của chúng tôi:
Bây giờ chúng tôi có mọi thứ chúng tôi cần để chia sẻ microservice Kotlin của chúng tôi với thế giới :)
Hãy quay lại Bảng điều khiển quản lý và tìm kiếm người chạy ứng dụng:
Trên trang tiếp theo, hãy nhấn nút Tạo dịch vụ .
Đối với cấu hình Nguồn, hãy chọn sổ đăng ký Vùng chứa cùng với Amazon ECR :
Như bạn có thể nhận thấy, AWS App Runner có thể triển khai các dịch vụ trực tiếp từ kho mã nguồn. Nếu bạn quan tâm đến cấu hình như vậy, chỉ cần liên hệ với tôi qua email (liên hệ với [at] codersee [dot] com).
Tiếp theo, hãy nhấp vào Duyệt và chọn hình ảnh đã tạo trước đó :
Hãy nhấp vào tiếp tục và đối với cài đặt Triển khai, hãy chọn Thủ công và Tạo vai trò dịch vụ mới:
Tên vai trò không quan trọng trong hướng dẫn này, vì vậy chúng tôi có thể chỉ định bất kỳ giá trị nào.
Bước tiếp theo, hãy nhấp vào Tiếp theo và trên trang tiếp theo, hãy cung cấp tên Dịch vụ cùng với thông tin CPU , Bộ nhớ và Cổng :
Hình ảnh trình bày Tên dịch vụ, cpu, bộ nhớ, các biến môi trường, cổng và cài đặt cấu hình bổ sung
Như bạn có thể thấy, chúng tôi đã chọn kết hợp khả dụng tối thiểu (và đó là điều tôi khuyên bạn nên làm).
Nếu chúng tôi muốn chỉ định một số biến môi trường bổ sung hoặc lệnh Bắt đầu tùy chỉnh, thì trang này cho phép chúng tôi làm như vậy. Nhưng chúng tôi sẽ không cần bất kỳ biến môi trường nào và chúng tôi đã thêm lệnh bắt đầu vào Docker Image của chúng tôi, vì vậy hãy để nguyên như vậy.
Trên trang Tự động điều chỉnh tỷ lệ, chọn Cấu hình tùy chỉnh :
Tiếp theo, hãy tạo một cấu hình mới có tên là cấu hình của tôi :
Như tôi đã đề cập ở phần đầu, AWS App Runner xử lý rất nhiều thứ. Một trong số đó là tính năng tự động mở rộng quy mô. Mặc dù đó là một tính năng tuyệt vời, chúng tôi phải giới hạn nó theo sở thích của mình và luôn nhớ rằng nhiều tài nguyên hơn đồng nghĩa với chi phí cao hơn.
Như bạn có thể thấy ở trên, cấu hình ví dụ này sẽ không mở rộng Kotlin Microservice của chúng tôi . Tuy nhiên, nếu chúng tôi tăng kích thước Tối đa, thì một phiên bản mới sẽ được tạo mỗi khi số lượng yêu cầu đồng thời tăng lên 10.
Hãy thêm cấu hình ở trên và để mặc định phần còn lại của các mục. Sau khi chúng tôi nhấp vào Tiếp theo, chúng tôi sẽ thấy trang Đánh giá với tóm tắt triển khai.
Trên trang này, hãy nhấp vào Create and Deploy
nút, nút này sẽ bắt đầu quá trình triển khai:
Và một lần nữa, quá trình này có thể mất vài phút. Sau khi kết thúc, trạng thái sẽ thay đổi từ Operation in progress
thành Running
và chúng tôi sẽ có thể kiểm tra API Ktor REST của mình.
Giống như trước đây, hãy kiểm tra GET /hello
điểm cuối. Nhưng lần này, với tư cách là tên máy chủ của microservice của chúng tôi, chúng tôi cần sử dụng giá trị từ Default domain
:
#Example:
GET https://aaaaaaaaaa.us-east-1.awsapprunner.com/hello
Status: 200 OK
Response Body:
{
"message": "Hello World!"
}
Hãy nhớ xóa tất cả các tài nguyên chúng tôi đã tạo hôm nay để bạn không bị tính phí cho chúng.
Thực sự rất dễ quên tất cả những thứ chúng tôi tạo ra khi học AWS Cloud và tại một số điểm, bạn có thể vượt quá hạn ngạch miễn phí của mình. Vì vậy, nó là một thực hành tốt để loại bỏ tất cả những điều đó.
Và đó là tất cả cho hướng dẫn này về cách triển khai Kotlin Microservice lên Đám mây AWS với AWS App Runner. Tôi thực sự hy vọng rằng sau khi làm theo hướng dẫn này, bạn có thể dễ dàng triển khai các ứng dụng của mình lên Amazon Cloud.
Nguồn: https://www.freecodecamp.org/news/kotlin-aws-app-runner/
1609415481
Do you have an idea to develop an android app using Kotlin?
Are you looking for the best Kotlin app development company in the USA? We at AppClues Infotech offering versatile mobile app development services in the USA. We provide custom mobile app development solutions as per your specific business needs with the prevailing market trending technology & features.
Hire our top-notch Kotlin app designers & developers for your project at a cost-effective price.
Our Kotlin App Development Services:
• Custom Android App Development
• Kotlin AR/VR App Development
• Kotlin App UI/UX Design
• Kotlin App QA & Testing- code Optimization
• Kotlin App Migrations
• Kotlin App Maintenance and Upgrades
For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910
#kotlin android app development company #best kotlin android app development usa #kotlin android app development #kotlin for android app development #kotlin mobile app development service #create android app with kotlin
1606541075
Looking for a top Kotlin Android app development company for creating an Android app project? AppClues Infotech is a top Kotlin Android app development company in USA that delivers the most scalable and efficient Kotlin app development services globally.
For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910
#kotlin android app development company #best kotlin android app development usa #kotlin android app development #kotlin for android app development #kotlin mobile app development service #create android app with kotlin
1608099783
Are you looking for the best Kotlin Android App Development Company in USA? We at AppClues Infotech help to create a successful kotlin Android App with creative technology & features at competitive price.
For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910
#kotlin android app development company #best kotlin android app development usa #kotlin android app development #kotlin for android app development #kotlin mobile app development service #create android app with kotlin
1595494844
Are you leading an organization that has a large campus, e.g., a large university? You are probably thinking of introducing an electric scooter/bicycle fleet on the campus, and why wouldn’t you?
Introducing micro-mobility in your campus with the help of such a fleet would help the people on the campus significantly. People would save money since they don’t need to use a car for a short distance. Your campus will see a drastic reduction in congestion, moreover, its carbon footprint will reduce.
Micro-mobility is relatively new though and you would need help. You would need to select an appropriate fleet of vehicles. The people on your campus would need to find electric scooters or electric bikes for commuting, and you need to provide a solution for this.
To be more specific, you need a short-term electric bike rental app. With such an app, you will be able to easily offer micro-mobility to the people on the campus. We at Devathon have built Autorent exactly for this.
What does Autorent do and how can it help you? How does it enable you to introduce micro-mobility on your campus? We explain these in this article, however, we will touch upon a few basics first.
You are probably thinking about micro-mobility relatively recently, aren’t you? A few relevant insights about it could help you to better appreciate its importance.
Micro-mobility is a new trend in transportation, and it uses vehicles that are considerably smaller than cars. Electric scooters (e-scooters) and electric bikes (e-bikes) are the most popular forms of micro-mobility, however, there are also e-unicycles and e-skateboards.
You might have already seen e-scooters, which are kick scooters that come with a motor. Thanks to its motor, an e-scooter can achieve a speed of up to 20 km/h. On the other hand, e-bikes are popular in China and Japan, and they come with a motor, and you can reach a speed of 40 km/h.
You obviously can’t use these vehicles for very long commutes, however, what if you need to travel a short distance? Even if you have a reasonable public transport facility in the city, it might not cover the route you need to take. Take the example of a large university campus. Such a campus is often at a considerable distance from the central business district of the city where it’s located. While public transport facilities may serve the central business district, they wouldn’t serve this large campus. Currently, many people drive their cars even for short distances.
As you know, that brings its own set of challenges. Vehicular traffic adds significantly to pollution, moreover, finding a parking spot can be hard in crowded urban districts.
Well, you can reduce your carbon footprint if you use an electric car. However, electric cars are still new, and many countries are still building the necessary infrastructure for them. Your large campus might not have the necessary infrastructure for them either. Presently, electric cars don’t represent a viable option in most geographies.
As a result, you need to buy and maintain a car even if your commute is short. In addition to dealing with parking problems, you need to spend significantly on your car.
All of these factors have combined to make people sit up and think seriously about cars. Many people are now seriously considering whether a car is really the best option even if they have to commute only a short distance.
This is where micro-mobility enters the picture. When you commute a short distance regularly, e-scooters or e-bikes are viable options. You limit your carbon footprints and you cut costs!
Businesses have seen this shift in thinking, and e-scooter companies like Lime and Bird have entered this field in a big way. They let you rent e-scooters by the minute. On the other hand, start-ups like Jump and Lyft have entered the e-bike market.
Think of your campus now! The people there might need to travel short distances within the campus, and e-scooters can really help them.
What advantages can you get from micro-mobility? Let’s take a deeper look into this question.
Micro-mobility can offer several advantages to the people on your campus, e.g.:
#android app #autorent #ios app #mobile app development #app like bird #app like bounce #app like lime #autorent #bird scooter business model #bird scooter rental #bird scooter rental cost #bird scooter rental price #clone app like bird #clone app like bounce #clone app like lime #electric rental scooters #electric scooter company #electric scooter rental business #how do you start a moped #how to start a moped #how to start a scooter rental business #how to start an electric company #how to start electric scooterrental business #lime scooter business model #scooter franchise #scooter rental business #scooter rental business for sale #scooter rental business insurance #scooters franchise cost #white label app like bird #white label app like bounce #white label app like lime