Ansible (13) EC2サーバ(Amazon Linux)を管理する

こんにちは。

グローバルソリューション事業部の吉村です。

 

前回、前々回で ubuntu 、Windows をAnsibleで操作したので、

ついで、AWSのEC2(Amazon Linux)までやっちゃいましょう!

Ansible ではなくてもAWSはAPI で操作しているという人が多いかもしれませんが、まぁ、あまり気にしないでください。

 

事前準備

Ansibleの公式でもEC2を操作するための手順が説明されています。

Amazon Web Services Guide

 

Ansibleサーバ側の設定は2つ。

1. python-boto のインストール

2. Ansibleサーバ自身がPlaybook実施対象になるので、Inventryファイルにlocalhostを追加

 

そう。これだけなんです。

 

まずは、普通に EC2インスタンスに繋がるか確認しましょう。

 

当然ですが、EC2インスタンスにSSH接続さえできてしまえば、なんでも出来ちゃいます。

 

 

次に、AWSのアクセスキーを取得しましょう。

  • AWSコンソールにログインして、「Security Credentials」を選択

AWS1

 

 

  • 「Access Keys (Access Key ID and Secret Access Key)」を選択

AWS2

 

 

ここから、AWSAccessKeyId、AWSSecretKey を取得できますので、しっかりと保存しましょう。

 

EC2関連の module

先ほどのようにEC2インスタンスにSSH出来れば何でも出来ますが、それとは別にEC2用のmoduleが用意されています。

これらは、EC2インスタンスを作成、削除したりなど、AWSサービスを変更できるようなmoduleです。

 

<EC2関連のAnsible module>

ec2 create, terminate, start or stop an instance in ec2, return
ec2_ami create or destroy an image in ec2, return imageid
ec2_ami_search Retrieve AWS AMI for a given operating system.
ec2_asg Create or delete AWS Autoscaling Groups
ec2_eip associate an EC2 elastic IP with an instance.
ec2_elb De-registers or registers instances from EC2 ELBs
ec2_elb_lb Creates or destroys Amazon ELB. – Returns information about
ec2_facts Gathers facts about remote hosts within ec2 (aws)
ec2_group maintain an ec2 VPC security group.
ec2_key maintain an ec2 key pair.
ec2_lc Create or delete AWS Autoscaling Launch Configurations
ec2_metric_alarm Create/update or delete AWS Cloudwatch ‘metric alarms’
ec2_scaling_policy Create or delete AWS scaling policies for Autoscaling groups
ec2_snapshot creates a snapshot from an existing volume
ec2_tag create and remove tag(s) to ec2 resources.
ec2_vol create and attach a volume, return volume id and device map.
ec2_vpc configure AWS virtual private clouds

 

 

EC2インスタンスを作成する

では、ec2 module を利用して、EC2インスタンスを作成みましょう。

ここでは、いろいろなパラメータを指定してあげる必要があります。

以下、Playbookの内容です。

 

必要な値は、var.yml に別出しにしています。

var.yml の中身はこんな感じです。

AWSを利用したことのある人はパッと見で理解できるかと思いますが、keypair、セキュリティーグループ、インスタンスたぷ、リージョン、AMIなどを指定しています。

 

では、Playbookを実行してみましょう。

 

AWSコンソールを見てみると、

AWS3

出来てますね!

 

インスタンス削除のPlaybookも出来るのみたいですが、

そちらの紹介はしないので、ご自身でインスタンス削除をお忘れなく!

今回はここまでです!

 

 

 

 

Share on LinkedIn
LINEで送る
Pocket

吉村

吉村

クララオンライン グローバルビジネスストラテジー部でマーケティング担当として働いています。 クラウド関連技術と中国関連の情報をお届けしてます。 たまに DJ とかします。日本語RAPが大好きです。