AWS EC2(Elastic Compute Cloud)は、Amazonのクラウドサービスで、仮想サーバーを簡単に作成して運用できるサービスです。これを使うことで、自分のアプリケーションをインターネット上でホスティングしたり、様々な処理を行うことができます。
S3はファイルを保存するためのサービスで、EC2と連携することで、アプリケーションから簡単にデータのアップロードやダウンロードができるようになります。EC2からS3に連携するステップを見てみましょう。
まず、EC2インスタンスがS3を使えるようにするためには、IAMロールを作成する必要があります。このロールに、S3へのアクセス権限を与えます。
作成したIAMロールをEC2インスタンスにアタッチします。この設定を行うと、インスタンス内のアプリケーションからS3にアクセスできるようになります。
プログラミング言語に応じて、AWS SDKを利用し、S3にファイルをアップロードするコードを記述します。例えば、Pythonを使う場合は以下のようになります。
import boto3
# S3に接続
s3 = boto3.client('s3')
# ファイルをアップロード
s3.upload_file('local_file.txt', 'my-bucket', 'uploaded_file.txt')
RDSは、データベースを簡単に運用できるサービスです。EC2からRDSに接続することで、データを保存したり、処理することができます。
AWS Management ConsoleからRDSインスタンスを作成します。データベースの種類やバージョンを選ぶことができます。
EC2インスタンスからRDSに接続できるようにするために、セキュリティグループの設定が必要です。EC2のセキュリティグループに、RDSインスタンスへのアクセスを許可するルールを追加します。
アプリケーションからRDSに接続するためのコードを記述します。こちらもPythonの例を見てみましょう。
import pymysql
# データベースに接続
connection = pymysql.connect(
host='my-rds-instance.xxxxxxx.us-east-1.rds.amazonaws.com',
user='admin',
password='password',
database='my_database'
)
with connection:
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM my_table")
result = cursor.fetchall()
print(result)
AWS EC2と他のサービス(S3、RDS)を連携することで、様々な機能を組み合わせてアプリケーションを作成することが可能です。