Hướng dẫn run python script on aws - chạy tập lệnh python trên aws

Phần này bao gồm các quy trình để giúp bạn chạy các tập lệnh Python từ GitHub bằng cách sử dụng bảng điều khiển AWS Systems Manager hoặc giao diện dòng lệnh AWS [AWS CLI].

Chạy kịch bản Python từ GitHub [Bảng điều khiển]

Chạy kịch bản Python từ GitHub

  1. Mở Bảng điều khiển Trình quản lý hệ thống AWS tại //console.aws.amazon.com/systems-manager/.//console.aws.amazon.com/systems-manager/.

  2. Trong khung điều hướng, chọn lệnh chạy.Run Command.

    -or-

    Nếu trang chủ Trình quản lý AWS Systems mở đầu tiên, hãy chọn biểu tượng menu [] để mở ngăn điều hướng, sau đó chọn lệnh chạy.

    ] to open the navigation pane, and then choose Run Command.

  3. Chọn lệnh chạy.Run command.

  4. Trong danh sách tài liệu lệnh, chọn AWS-RunRemoteScript.Command document list, choose AWS-RunRemoteScript.

  5. Đối với các tham số lệnh, hãy làm như sau:Command parameters, do the following:

    • Trong loại nguồn, chọn GitHub.Source Type, select GitHub.

    • Trong hộp thông tin nguồn, nhập thông tin cần thiết để truy cập nguồn theo định dạng sau:Source Info box, enter the required information to access the source in the following format:

      {
          "owner": "owner_name",
          "repository": "repository_name",
          "getOptions": "branch:branch_name",
          "path": "path_to_document",
          "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}"
      }

      Ví dụ sau đây tải xuống một thư mục của các tập lệnh có tên phức tạp.

      {
          "owner": "TestUser1",
          "repository": "SSMTestDocsRepo",
          "getOptions": "branch:myBranch",
          "path": "scripts/python/complex-script",
          "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
      }

      "branch" chỉ được yêu cầu nếu các tập lệnh của bạn được lưu trữ trong một nhánh khác với master.

      Để sử dụng phiên bản các tập lệnh của bạn trong một cam kết cụ thể trong kho lưu trữ của bạn, hãy sử dụng commitID với getOptions thay vì

      {
          "owner": "TestUser1",
          "repository": "SSMTestDocsRepo",
          "getOptions": "branch:myBranch",
          "path": "scripts/python/complex-script",
          "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
      }
      0. Ví dụ:

      {
          "owner": "TestUser1",
          "repository": "SSMTestDocsRepo",
          "getOptions": "branch:myBranch",
          "path": "scripts/python/complex-script",
          "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
      }
      1

    • Đối với dòng lệnh, nhập tham số để thực thi tập lệnh. Đây là một ví dụ.Command Line, enter parameters for the script execution. Here is an example.

      mainFile.py argument-1 argument-2

      Ví dụ này chạy

      {
          "owner": "TestUser1",
          "repository": "SSMTestDocsRepo",
          "getOptions": "branch:myBranch",
          "path": "scripts/python/complex-script",
          "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
      }
      2, sau đó có thể chạy các tập lệnh khác trong thư mục
      {
          "owner": "TestUser1",
          "repository": "SSMTestDocsRepo",
          "getOptions": "branch:myBranch",
          "path": "scripts/python/complex-script",
          "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
      }
      3.

    • [Tùy chọn] Để thư mục làm việc, hãy nhập tên của một thư mục trên nút nơi bạn muốn tải xuống và chạy tập lệnh.Working Directory, enter the name of a directory on the node where you want to download and run the script.

    • .Execution Timeout, specify the number of seconds for the system to wait before failing the script command execution.

  6. Trong phần mục tiêu, chọn các nút được quản lý mà bạn muốn chạy thao tác này bằng cách chỉ định các thẻ, chọn các trường hợp hoặc thiết bị cạnh theo cách thủ công hoặc chỉ định nhóm tài nguyên.Targets section, choose the managed nodes on which you want to run this operation by specifying tags, selecting instances or edge devices manually, or specifying a resource group.

  7. Đối với các tham số khác:Other parameters:

    • Để bình luận, nhập thông tin về lệnh này.Comment, enter information about this command.

    • Đối với thời gian chờ [giây], chỉ định số giây để hệ thống chờ đợi trước khi không thực hiện được lệnh tổng thể.Timeout [seconds], specify the number of seconds for the system to wait before failing the overall command execution.

  8. Để kiểm soát tỷ lệ:Rate control:

    • Đối với đồng thời, chỉ định một số hoặc tỷ lệ phần trăm của các nút được quản lý để chạy lệnh cùng một lúc.Concurrency, specify either a number or a percentage of managed nodes on which to run the command at the same time.

      Nếu bạn đã chọn các mục tiêu bằng cách chỉ định các thẻ được áp dụng cho các nút được quản lý hoặc bằng cách chỉ định các nhóm tài nguyên AWS và bạn không chắc chắn có bao nhiêu nút được quản lý được nhắm mục tiêu, thì hãy hạn chế số lượng mục tiêu có thể chạy tài liệu cùng lúc bằng cách chỉ định tỷ lệ phần trăm .

    • Đối với ngưỡng lỗi, chỉ định khi nào ngừng chạy lệnh trên các nút được quản lý khác sau khi nó bị lỗi trên một số hoặc tỷ lệ phần trăm của các nút. Ví dụ: nếu bạn chỉ định ba lỗi, thì Trình quản lý hệ thống ngừng gửi lệnh khi nhận được lỗi thứ tư. Các nút được quản lý vẫn xử lý lệnh cũng có thể gửi lỗi.Error threshold, specify when to stop running the command on other managed nodes after it fails on either a number or a percentage of nodes. For example, if you specify three errors, then Systems Manager stops sending the command when the fourth error is received. Managed nodes still processing the command might also send errors.

  9. [Tùy chọn] Đối với các tùy chọn đầu ra, để lưu đầu ra lệnh vào tệp, chọn đầu ra lệnh ghi vào hộp xô S3. Nhập tên xô và tiền tố [thư mục] vào các hộp.Output options, to save the command output to a file, select the Write command output to an S3 bucket box. Enter the bucket and prefix [folder] names in the boxes.

    Các quyền S3 cấp khả năng ghi dữ liệu vào thùng S3 là những quyền của hồ sơ thể hiện [đối với các trường hợp EC2] hoặc vai trò dịch vụ IAM [máy tại chỗ] được gán cho phiên bản, chứ không phải của người dùng IAM thực hiện nhiệm vụ này . Để biết thêm thông tin, hãy xem Tạo hồ sơ phiên bản IAM cho Trình quản lý hệ thống hoặc tạo vai trò dịch vụ IAM cho môi trường lai. Ngoài ra, nếu nhóm S3 được chỉ định nằm trong một tài khoản AWS khác, hãy đảm bảo rằng hồ sơ thể hiện hoặc vai trò dịch vụ IAM được liên kết với nút được quản lý có các quyền cần thiết để ghi vào thùng đó.

  10. Trong phần Thông báo SNS, nếu bạn muốn thông báo được gửi về trạng thái thực thi lệnh, hãy chọn hộp kiểm Bật thông báo SNS.SNS notifications section, if you want notifications sent about the status of the command execution, select the Enable SNS notifications check box.

    Để biết thêm thông tin về việc định cấu hình thông báo của Amazon SNS cho Lệnh Run, hãy xem các thay đổi trạng thái Trình quản lý hệ thống giám sát bằng thông báo Amazon SNS.

  11. Chọn chạy.Run.

Chạy kịch bản Python từ GitHub bằng cách sử dụng AWS CLI

  1. Cài đặt và định cấu hình giao diện dòng lệnh AWS [AWS CLI], nếu bạn chưa có.

    Để biết thông tin, xem Cài đặt hoặc nâng cấp các công cụ dòng lệnh AWS.

  2. Chạy lệnh sau để tải xuống và chạy tập lệnh từ GitHub.

    aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "instance-IDs" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"path_to_script_or_directory"}"],"commandLine":["commands_to_run"]}'

    Đây là một ví dụ.

    aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-02573cafcfEXAMPLE" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\":\"GitHubTestPublic\", \"path\": \"scripts/python/complex-script\"}"],"commandLine":["mainFile.py argument-1 argument-2 "]}'

    Ví dụ này tải xuống một thư mục của các tập lệnh được gọi là

    {
        "owner": "TestUser1",
        "repository": "SSMTestDocsRepo",
        "getOptions": "branch:myBranch",
        "path": "scripts/python/complex-script",
        "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
    }
    3. Mục nhập
    {
        "owner": "TestUser1",
        "repository": "SSMTestDocsRepo",
        "getOptions": "branch:myBranch",
        "path": "scripts/python/complex-script",
        "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
    }
    5 chạy
    {
        "owner": "TestUser1",
        "repository": "SSMTestDocsRepo",
        "getOptions": "branch:myBranch",
        "path": "scripts/python/complex-script",
        "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
    }
    2, sau đó có thể chạy các tập lệnh khác trong thư mục
    {
        "owner": "TestUser1",
        "repository": "SSMTestDocsRepo",
        "getOptions": "branch:myBranch",
        "path": "scripts/python/complex-script",
        "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
    }
    3.

Chủ Đề