Spring BootとMySQLを使ってアプリケーションを開発した後、そのアプリケーションをインターネット上に公開することは、クラウドサービスやレンタルサーバーを活用することで比較的簡単に行えます。この記事では、初心者向けに、Spring BootとMySQLを使ったアプリケーションをAWSやレンタルサーバーに公開する方法を詳しく解説します。
AWSを使ったアプリケーション公開の準備
AWS(Amazon Web Services)は、クラウドサービスの中でも非常に人気があり、初心者向けにも豊富なドキュメントが提供されています。まず、AWSを使用してアプリケーションを公開するためには、以下の準備が必要です。
- AWSアカウントの作成 – AWSの公式サイトからアカウントを作成し、コンソールにアクセスします。
- EC2インスタンスの作成 – EC2(Elastic Compute Cloud)を使って仮想サーバーを作成し、Spring Bootアプリケーションをデプロイします。
- MySQLのセットアップ – RDS(Relational Database Service)を利用してMySQLデータベースを作成します。
EC2インスタンスにSpring Bootアプリケーションをデプロイ
次に、作成したEC2インスタンスにSpring Bootアプリケーションをデプロイします。以下の手順で行います。
1. EC2インスタンスの作成
まず、AWSコンソールからEC2インスタンスを作成します。インスタンスは、UbuntuやAmazon Linuxなど、好きなOSを選択できます。インスタンスが作成されたら、SSHでインスタンスに接続します。
2. 必要なパッケージのインストール
インスタンスに接続した後、以下のコマンドを使ってJavaとMavenをインストールします。Spring BootアプリケーションはJavaで動作するため、Javaがインストールされていることが必要です。
sudo apt update
sudo apt install openjdk-11-jdk
sudo apt install maven
3. アプリケーションのアップロード
次に、Spring BootアプリケーションのJARファイルをインスタンスにアップロードします。例えば、scp
コマンドを使ってローカルからインスタンスにファイルを転送できます。
scp /path/to/your/app.jar username@ec2-instance-ip:/home/username
4. アプリケーションの起動
アプリケーションがインスタンスにアップロードされたら、以下のコマンドでSpring Bootアプリケーションを起動します。
java -jar app.jar
これで、Spring BootアプリケーションがEC2インスタンスで動作するようになります。次に、セキュリティグループでポート番号を開放する必要があります。通常、Spring Bootのデフォルトのポートは8080なので、このポートを開放してください。
MySQLの設定と接続
Spring Bootアプリケーションが使用するデータベースとしてMySQLをセットアップします。AWSでは、RDSを使ってMySQLをホスティングすることができます。RDSを使用すると、インフラの管理が簡単になり、スケーラビリティも確保できます。
1. RDSインスタンスの作成
AWSコンソールからRDSインスタンスを作成します。MySQLを選択し、インスタンスサイズやストレージなどを設定します。作成後、接続用のエンドポイントが提供されるので、それをメモしておきます。
2. Spring Bootアプリケーションの設定
Spring BootアプリケーションでRDSのMySQLに接続するために、application.properties
ファイルを編集して、以下のようにデータベースの接続情報を設定します。
spring.datasource.url=jdbc:mysql://your-rds-endpoint:3306/your-database
spring.datasource.username=your-username
spring.datasource.password=your-password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
これで、Spring BootアプリケーションはRDSのMySQLインスタンスに接続できるようになります。
アプリケーションを公開するためのドメイン設定
アプリケーションをインターネット上で公開するためには、ドメインを取得して設定を行う必要があります。AWSではRoute 53というサービスを使ってドメインを取得し、EC2インスタンスに紐づけることができます。
Route 53でドメインを購入した後、ドメインのDNS設定を行い、EC2インスタンスのIPアドレスにドメインを紐づけます。これにより、ドメイン名でアプリケーションにアクセスできるようになります。
まとめ
Spring BootとMySQLで作成したアプリケーションをAWSにデプロイすることで、インターネット上に公開することができます。EC2インスタンスでアプリケーションをホストし、RDSでMySQLを管理し、Route 53でドメインを設定するという流れで、初心者でも比較的簡単にアプリケーションを公開できます。是非、この記事を参考にして、アプリケーション公開の第一歩を踏み出してください。
コメント