Last active
January 12, 2023 16:40
-
-
Save nitanka/7843fc1b72aba0faf8260aecf735221f to your computer and use it in GitHub Desktop.
Ansible: Adding EBS volume to an EC2 instance
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- name: Creating a Volume | |
hosts: localhost | |
become: yes | |
tasks: | |
- name: Creating a Volume | |
ec2_vol: | |
aws_access_key: "{{ lookup('env', 'AWS_ACCESS_KEY_ID') }}" | |
aws_secret_key: "{{ lookup('env', 'AWS_SECRET_ACCESS_KEY') }}" | |
instance: '<instance-id>' | |
volume_size: <volume-size> | |
device_name: <device-name> #/dev/xvdf, /dev/xvdb | |
region: '<region-name>' | |
volume_type: <volume-type> #example gp2 | |
register: ec2_vol | |
- name: Printing the volume information | |
debug: var=ec2_vol | |
- name: creating mount point (directory) | |
file: | |
state: directory | |
path: "< path >" | |
- name: formatting the volume | |
filesystem: | |
dev: "< MOUNT_VOLUME >" | |
fstype: "< VOLUME_FORMAT >" #ext4, ext3 etc | |
#the device mount depends on the system | |
- name: mounting the filesystem | |
mount: | |
name: "< path to mount point >" | |
src: "< MOUNT_VOLUME >" | |
fstype: "< VOLUME_FORMAT >" #ext4, ext3 etc | |
state: mounted |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I don't get any
/dev/xvdf
but/dev/nvme1n1
within ec2 instance when runninglsblk
(related to https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html#available-ec2-device-names and https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html). To deduce it, I use something like below using facts from Ansible and matching volume id to device