jcdarwin.ec2

ansible-role-ec2

Ansibleのロールで、Ansible Galaxyから利用可能で、EC2のUbuntuイメージを作成します。

以下の内容を変更することをお勧めします:

  • defaults/main.yml

インストール

EC2インスタンスを作成するためにbotoが必要です。

# pipを使ってbotoをインストール
pip install boto

# botoで使用するAWSの認証情報を保存
echo -e "[Credentials]\naws_access_key_id = REDACTED\naws_secret_access_key = REDACTED" > ~/.boto

次のようなrequirements.ymlを想定します:

# GitHubからロールをインストール
- name: ansible-role-ec2
src: https://github.com/jcdarwin/ansible-role-ec2

requirements.ymlファイルを使用してロールをローカルにインストールできます:

# GitHubからロールをインストール
- name: ansible-role-ec2
src: https://github.com/jcdarwin/ansible-role-ec2
path: roles/

ロールをインストール:

ansible-galaxy install -r requirements.yml -p ./roles

必要条件

特にありません。

ロール変数

利用可能な変数は以下に示しています。デフォルト値はdefaults/main.yml内にあります:

site:
  name: demo
  environment: development

ansible_role_ec2:
  instance_type: m3.large
  security_group: "{{ site.environment }}-{{ site.name }}"
  # https://cloud-images.ubuntu.com/locator/ec2/から取得
  image: ami-bf86aedc # ubunutu 16.04 (ap-southeast-2)
  image_user: ubuntu
  region: ap-southeast-2
  #image: ami-ba4ea4da # amazon linux (us-west-2)
  #image_user: ec2-user
  #region: us-west-2
  keypair: aws
  private_key: ~/.ssh/aws.pem
  count: 1

依存関係

特にありません。

例のプレイブック

私たちのhostsファイルは、ansibleロールの実行中に埋め込まれ、次のようになります:

[local]
127.0.0.1 ansible_python_interpreter=/usr/local/bin/python

[demo]
52.63.226.70 ansible_user=ubuntu ansible_private_key_file=~/.ssh/aws.pem

main.ymlでプレイブックを含めます。

プレイブックの実行:

# hostsファイルがvagrantリポジトリによって生成されていると仮定しています
ansible all -m ping -i ansible/hosts -l all

ansible-playbook -l all create.yml -i ansible/hosts --tags create

その後、キー・ペアを使用してssh接続できるはずです -- IPアドレスはansibleロールによって./ansible/hostsファイルに追加されます:

# 実際のIPはansible/hostsに見つけることができます
ssh -i ~/.ssh/aws.pem ubuntu@52.63.226.70

EC2インスタンスの使用が終わったら、それを削除できます:

ansible-playbook -l all destroy.yml -i ansible/hosts --tags destroy

ライセンス

MIT

著者情報

http://github.com/jcdarwin

プロジェクトについて

An Ansible role that creates an EC2 instance running Ubuntu.

インストール
ansible-galaxy install jcdarwin.ec2
ライセンス
Unknown
ダウンロード
71
所有者