AWS EC2と他のAWSサービスの連携方法:S3, RDSとの統合

2024/08/08
x-logoline-logo

AWS EC2と他のAWSサービスの連携方法:S3, RDSとの統合

2024/08/08
x-logoline-logo
PR

AWS EC2(Elastic Compute Cloud)は、Amazonのクラウドサービスで、仮想サーバーを簡単に作成して運用できるサービスです。これを使うことで、自分のアプリケーションをインターネット上でホスティングしたり、様々な処理を行うことができます。

S3(Simple Storage Service)との連携

S3はファイルを保存するためのサービスで、EC2と連携することで、アプリケーションから簡単にデータのアップロードやダウンロードができるようになります。EC2からS3に連携するステップを見てみましょう。

1. IAMロールの作成

まず、EC2インスタンスがS3を使えるようにするためには、IAMロールを作成する必要があります。このロールに、S3へのアクセス権限を与えます。

2. EC2インスタンスにIAMロールをアタッチ

作成したIAMロールをEC2インスタンスにアタッチします。この設定を行うと、インスタンス内のアプリケーションからS3にアクセスできるようになります。

3. SDKを使ったアクセス

プログラミング言語に応じて、AWS SDKを利用し、S3にファイルをアップロードするコードを記述します。例えば、Pythonを使う場合は以下のようになります。


import boto3

# S3に接続
s3 = boto3.client('s3')

# ファイルをアップロード
s3.upload_file('local_file.txt', 'my-bucket', 'uploaded_file.txt')

RDS(Relational Database Service)との統合

RDSは、データベースを簡単に運用できるサービスです。EC2からRDSに接続することで、データを保存したり、処理することができます。

1. RDSインスタンスの作成

AWS Management ConsoleからRDSインスタンスを作成します。データベースの種類やバージョンを選ぶことができます。

2. セキュリティグループの設定

EC2インスタンスからRDSに接続できるようにするために、セキュリティグループの設定が必要です。EC2のセキュリティグループに、RDSインスタンスへのアクセスを許可するルールを追加します。

3. データベース接続の実装

アプリケーションから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)を連携することで、様々な機能を組み合わせてアプリケーションを作成することが可能です。

この記事はAIを使用して作成されています。
PR