当前位置: 首页 > 知识库问答 >
问题:

使用AWS SDK来启动实例和使用AWS cli来管理实例是一个好方法吗?

孟安民
2023-03-14

我刚开始使用AWS,我有一些问题。

    AmazonEC2 Client = new AmazonEC2Client(awsCreds);
    CreateSecurityGroupRequest csgr = new CreateSecurityGroupRequest();
    csgr.withGroupName("Azzouz_group").withDescription("My security group");
    IpPermission ipPermission = new IpPermission();
    ipPermission.withIpRanges("0.0.0.0/0").withIpProtocol("tcp");
    AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest = new AuthorizeSecurityGroupIngressRequest();

    authorizeSecurityGroupIngressRequest.withGroupName("Azzouz_group").withIpPermissions(ipPermission);


    RunInstancesRequest runInstancesRequest = new RunInstancesRequest();

    runInstancesRequest.withImageId("ami-4b814f22")
            .withInstanceType("m1.small")
            .withMinCount(1)
            .withMaxCount(1)
            .withKeyName("azzouz_key")
            .withSecurityGroups("Azzouz_group");

    RunInstancesResult runInstancesResult = Client.runInstances(runInstancesRequest);
    RunInstancesResult runInstancesResult = Client.runInstances(runInstancesRequest);

    String instanceId = runInstancesResult.getReservation().getInstances().get(0).getInstanceId();
keypair=$USER  # just a name
publickeyfile=$HOME/.ssh/id_rsa.pub
regions=$(aws ec2 describe-regions \
  --output text \
  --query 'Regions[*].RegionName')

for region in $regions; do
  echo $region
  aws ec2 import-key-pair \
    --region "$region" \
    --key-name "$keypair" \
    --public-key-material "file://$publickeyfile"
done

共有1个答案

燕砚文
2023-03-14

我的建议是在AWS上设置一个帐户,并开始使用AWS自由层选项。

总而言之,它就在那里,而且是免费的(只要注意你在服务中启动或使用什么就行了)。

除此之外,关于如何从任何地方通过SSH授权连接的问题,这是通过安全组完成的(http://docs.aws.amazon.com/awsec2/latest/userguide/using-network-security.html)

简单地说,没有最好的方法或好或坏的方法。这完全取决于你的需要。

我希望这能有所帮助。

 类似资料:
  • Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务。但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本,另外就是安装进程管理工具。 本小节将使用进程管理工具 supervisor 来管理容器中的多个进程。使用 Supervisor 可以更好的控制、管理、重启我们

  • 本文向大家介绍使用Java8中的方法引用来引用实例方法,包括了使用Java8中的方法引用来引用实例方法的使用技巧和注意事项,需要的朋友参考一下 Java中的Lambda表达式使您可以将功能作为参数传递给方法。您也可以使用lambda表达式调用现有方法。 方法引用是简单,易于阅读的lambda表达式,可通过lambda表达式中的名称来调用/引用和现有方法。 语法 以下是在Java中引用实例方法的语法

  • 在我关于静态绑定的课堂讲稿中,它给出了一个使用实例方法的示例。 示例:类动物有方法: 然后 这里的示例不是实例方法吗?

  • 本文向大家介绍Java Math multipleExact()使用方法和实例,包括了Java Math multipleExact()使用方法和实例的使用技巧和注意事项,需要的朋友参考一下 multipleExact()是Java中的内置函数,用于将作为参数传递给该函数的两个值相乘。这是一个例子- 示例 输出结果 名为Demo的类包含主要功能。此处定义了两个变量,并使用“ multiplyExa

  • 我有两个经纪人A和B。如果我想将消息从A转发给B,一切都很简单。我只需要代理中的网络连接器,如下所示: 如果我想从其他队列中使用来自代理 B 的消息,我会犹豫不决(让我们将其命名为 QUEUE。自。消费)我只需要做同样的事情,但双工设置为true,只需听队列。自。在代理 A 上消费,如下所示: 但是它不像我预期的那样工作。似乎每一秒钟只有一条信息被转发,其余的都丢失了。令人惊讶的是,这在代理B队列

  • 我有一个主要的“抽象”类宠物,和两个“真实”类狗和猫。当我有两个宠物的例子时,我想知道它们是否是“同一种宠物”,而不考虑它们是哪种宠物。 我试过这个 我尝试了所有评论的返回,它总是给出这样的结果: 有没有办法在主类中进行这样的测试以避免代码重复? 编辑: 多人提到它忘记了子类化部分 这可以按预期工作