Python 3.x 通过boto3在AWS EC2上运行python Flask API

Python 3.x 通过boto3在AWS EC2上运行python Flask API,python-3.x,amazon-web-services,flask,amazon-ec2,boto3,Python 3.x,Amazon Web Services,Flask,Amazon Ec2,Boto3,我是AWS的新手,所以我正在构建一个代码来从一个图像创建一个实例,我希望在创建这个EC2的同时,它运行一个pyhton代码,如下所示: python /folder/folder2/api_flask.py 下面是我在boto上创建实例的代码 import boto3 client = boto3.session('ec2') client.run_instances(ImageId='ami-id_number_of_img', MinCount=1, MaxCount=1, Instanc

我是AWS的新手,所以我正在构建一个代码来从一个图像创建一个实例,我希望在创建这个EC2的同时,它运行一个pyhton代码,如下所示:

python /folder/folder2/api_flask.py
下面是我在boto上创建实例的代码

import boto3
client = boto3.session('ec2')
client.run_instances(ImageId='ami-id_number_of_img', MinCount=1, MaxCount=1, InstanceType='t2.nano')
谢谢您的帮助。

有一个名为
UserData
的选项,可供您选择

因此,要运行代码,可以尝试执行以下操作:

import boto3

client = boto3.client('ec2') # not boto3.session('ec2')

client.run_instances(ImageId='ami-id_number_of_img', 
                     MinCount=1, 
                     MaxCount=1, 
                     InstanceType='t2.nano',
                     UserData='#!/bin/bash\npython /folder/folder2/api_flask.py\n')
有一个名为
UserData
的选项,允许您执行以下操作

因此,要运行代码,可以尝试执行以下操作:

import boto3

client = boto3.client('ec2') # not boto3.session('ec2')

client.run_instances(ImageId='ami-id_number_of_img', 
                     MinCount=1, 
                     MaxCount=1, 
                     InstanceType='t2.nano',
                     UserData='#!/bin/bash\npython /folder/folder2/api_flask.py\n')

因为您提到AWS是新的,请考虑使用CuldFug提供AWS基础设施。正如Marcin提到的,您仍然需要利用

UserData

MyInstance:
  Type: AWS::EC2::Instance
  Properties:
    UserData:
      Fn::Base64: !Sub |
        python /folder/folder2/api_flask.py
    InstanceType: t2.nano
    ImageId: ami-id_number_of_img
为什么会形成云?它更具可读性,允许就地更新和拆卸。然后,您可以通过boto3启动堆栈(免责声明:未测试,但演示了该想法):


因为您提到AWS是新的,请考虑使用CuldFug提供AWS基础设施。正如Marcin提到的,您仍然需要利用

UserData

MyInstance:
  Type: AWS::EC2::Instance
  Properties:
    UserData:
      Fn::Base64: !Sub |
        python /folder/folder2/api_flask.py
    InstanceType: t2.nano
    ImageId: ami-id_number_of_img
为什么会形成云?它更具可读性,允许就地更新和拆卸。然后,您可以通过boto3启动堆栈(免责声明:未测试,但演示了该想法):