我正在使用amazonica创建一个 ami,然后在它准备好时从 ami 启动一个实例。
我对amazonica 的问题是它的文档(我可以找到)几乎为零,除了自述文件中的内容。准备好的东西很少,涵盖的内容也很少。
我目前可以成功查看正在运行的实例,获取最新/所需的实例,从中创建一个 AMI,等到它准备好,然后启动该实例。
只是,该(run-instance)
方法接受了我不知道什么参数。查看java api 文档,我已经通过一些试验和错误找出了大部分参数,但我仍然需要设置更多的东西。
我在哪里可以找到传递给这个函数的参数?
目前,我有:
(run-instances :image-id ami-id
:min-count 1
:max-count 1
:instance-type "t2.small"
:key-name "api-key-pair"
:sercurity-groups ["sg-1a2b3c4d"]
;:vpc-id "vpc-a1b2c3d4"
:subnet-id "subnet-a1b2c3d4"
:monitoring true
:ebs-optimized false
:tag [{:value instance-name
:key "Name"}])
这决定了大多数事情。但我不知道如何设置:
- tag - 我想设置一个标签
name: "prod-1.0"
安全组。我已经尝试过上面的那个,这个:
:security-groups [{:group-id "sg-1a2b3c4d" :group-name "SG_STRICT"}]
但没有用。实例有默认组,或者,我得到一个奇怪的错误,比如
...AmazonServiceException: The specified instance type can only be used in a VPC. A subnet ID or network interface ID is required to carry out the request
或者
....s.AmazonServiceException: The security group '{:group-id "sg-1a2b3c4d", :group-name "SG_STRICT"}' does not exist
我已经浏览了整个文档页面几次,找不到任何其他合理的选项/关键字可以传递。
我也想用 auto-assign-public-ip 选项启动实例。
不幸的是,来源并没有透露太多关于amazonica的信息,因为文档说它大量使用反射并且测试不是很精细。
那么如何为此设置安全组和标签?