AWS SDK for Ruby
開発者ガイド

インスタンスを作成する

次の例では、タグ Group と値 MyGroovyGroup を持つ Amazon EC2 インスタンス MyGroovyInstance を作成します。インスタンスは、マシンイメージ MACHINE_IMAGE で、ID ACCOUNT_ID のアカウント、ID SECURITY_GROUP_ID のセキュリティグループ、ID SUBNET_ID のサブネットで、アベイラビリティーゾーン us-west-2a に作成されます。次に、インスタンスの ID とパブリック IP アドレスが表示されます。

注記

空のスクリプト値には、Amazon EC2 インスタンスが起動するときに実行する手順を追加できます。

require 'aws-sdk' require 'base64' # User code that's executed when the instance starts script = '' encoded_script = Base64.encode64(script) ec2 = Aws::EC2::Resource.new(region: 'us-west-2') instance = ec2.create_instances({ image_id: 'IMAGE_ID', min_count: 1, max_count: 1, key_name: 'MyGroovyKeyPair', security_group_ids: ['SECURITY_GROUP_ID'], user_data: encoded_script, instance_type: 't2.micro', placement: { availability_zone: 'us-west-2a' }, subnet_id: 'SUBNET_ID', iam_instance_profile: { arn: 'arn:aws:iam::' + 'ACCOUNT_ID' + ':instance-profile/aws-opsworks-ec2-role' } }) # Wait for the instance to be created, running, and passed status checks ec2.client.wait_until(:instance_status_ok, {instance_ids: [instance[0].id]}) # Name the instance 'MyGroovyInstance' and give it the Group tag 'MyGroovyGroup' instance.create_tags({ tags: [{ key: 'Name', value: 'MyGroovyInstance' }, { key: 'Group', value: 'MyGroovyGroup' }]}) puts instance.id puts instance.public_ip_address