Difference between revisions of "Using Amazon Webservices"

From TempusServa wiki
Jump to navigation Jump to search
old>Admin
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
ARTICLE EXPECTED 2013-03-15
== Getting started with EC2 ==
 
The following images are quite suitable as base images
* amazon/amzn-ami-pv-2013.09.0.i386-ebs
* amazon/amzn-ami-pv-2013.09.0.x86_64-ebs
 
Note the above images require that you use '''ec2-user''' for SSH access.


== Getting started with EC2 ==
Instance type recommendations
ARTICLE EXPECTED 2013-03-15
* Normal systems: '''small''' or '''medium'''
* Test or development: '''micro'''


== Storage options ==
== Storage options ==
Two scenarios exist
Two scenarios exist
* Simple setup data and application in one
* Simple setup data and application in one
* Confidential data in an separate storage
* Confidential data in an separate encrypted storage


For a separate storage you should do the following
For a separate storage you should do the following
Line 20: Line 27:
After booting images
After booting images
* Set your timezone
* Set your timezone
* Update the firewall: Port 80
* Enable routing: Port 80 to 8080
* Activate SMTP service [option]
* Activate SMTP service [option]
* Install MySQL
* Install MySQL
* Install Tomcat
* Install Tomcat
** Deploy connection pool drivers
** Deploy MySQL JDBC driver


After that just follow the normal install procedure
After that just follow the normal install procedure for webapplications
 
* Deploy the '''war''' file
* Set up connection pool for the application


== Maintaining the solution ==
== Maintaining the solution ==
Line 33: Line 43:
* Consider instance termination protection
* Consider instance termination protection
* Backup: Can be taken as EBS snapshots
* Backup: Can be taken as EBS snapshots
* Monitor:
* Monitor: Activate CloudWatch for the instance
 
 
== Increasing storage on running instance ==
Note that the following operation can be done while the server is running
 
In the AWS console
# Rightclick the volume and select "Modify volume"
# Update "Size" and press  "Modify"
 
From the econsole run<syntaxhighlight lang="bash">
lsblk
</syntaxhighlight>Check that the partitions match "nvme0n1" and "nvme0n1p1" and grow the partition and update the file system<syntaxhighlight lang="bash">
sudo growpart /dev/nvme0n1 1
sudo resize2fs /dev/nvme0n1p1
</syntaxhighlight>In case you are using an XFS filesystem a result will occur complaing about a bad superblock. Then you need to grow the root partition using:<syntaxhighlight lang="bash">
sudo xfs_growfs -d /
</syntaxhighlight>
 
Finally check size is incresed with <syntaxhighlight lang="bash">
df -h
</syntaxhighlight>
 
=== Variant: Main volume ===
In case you are using the main volume, instead try
<syntaxhighlight lang="bash">
  sudo growpart /dev/xvda 1
  sudo resize2fs /dev/xvda1
</syntaxhighlight>
 
=== Variant: LUKS volume ===
Find the crypt partition
<syntaxhighlight lang="bash">
  ls /dev/mapper/
</syntaxhighlight>
 
Fill the space (in above we found crypt-sdf)
<syntaxhighlight lang="bash">
  sudo cryptsetup resize /dev/mapper/crypt-sdf
  sudo resize2fs /dev/mapper/crypt-sdf
</syntaxhighlight>

Latest revision as of 21:34, 6 February 2023

Getting started with EC2

The following images are quite suitable as base images

  • amazon/amzn-ami-pv-2013.09.0.i386-ebs
  • amazon/amzn-ami-pv-2013.09.0.x86_64-ebs

Note the above images require that you use ec2-user for SSH access.

Instance type recommendations

  • Normal systems: small or medium
  • Test or development: micro

Storage options

Two scenarios exist

  • Simple setup data and application in one
  • Confidential data in an separate encrypted storage

For a separate storage you should do the following

  1. Create a new EBS partition
  2. Mount to suitable point
  3. Encrypt and login using LUKS

Note that LUKS partitions may contain multiple passwords, and do not need to be at rest when copy/backup operations are active.

Stuff to do in Amazon linux

After booting images

  • Set your timezone
  • Enable routing: Port 80 to 8080
  • Activate SMTP service [option]
  • Install MySQL
  • Install Tomcat
    • Deploy connection pool drivers
    • Deploy MySQL JDBC driver

After that just follow the normal install procedure for webapplications

  • Deploy the war file
  • Set up connection pool for the application

Maintaining the solution

Tips for maintaing you solution

  • Consider instance termination protection
  • Backup: Can be taken as EBS snapshots
  • Monitor: Activate CloudWatch for the instance


Increasing storage on running instance

Note that the following operation can be done while the server is running

In the AWS console

  1. Rightclick the volume and select "Modify volume"
  2. Update "Size" and press "Modify"

From the econsole run

lsblk

Check that the partitions match "nvme0n1" and "nvme0n1p1" and grow the partition and update the file system

sudo growpart /dev/nvme0n1 1
sudo resize2fs /dev/nvme0n1p1

In case you are using an XFS filesystem a result will occur complaing about a bad superblock. Then you need to grow the root partition using:

sudo xfs_growfs -d /

Finally check size is incresed with

df -h

Variant: Main volume

In case you are using the main volume, instead try

  sudo growpart /dev/xvda 1
  sudo resize2fs /dev/xvda1

Variant: LUKS volume

Find the crypt partition

  ls /dev/mapper/

Fill the space (in above we found crypt-sdf)

  sudo cryptsetup resize /dev/mapper/crypt-sdf
  sudo resize2fs /dev/mapper/crypt-sdf