Oracle Cloud 無料枠で始めるクラウド:構築事例と活用方法
クラウドコンピューティングは、現代のITインフラストラクチャにおいて不可欠な存在となりました。企業規模や業種を問わず、柔軟性、拡張性、コスト効率などのメリットを享受するために、クラウドへの移行が進んでいます。しかし、クラウドの導入には初期コストや運用コストが伴うため、中小企業や個人開発者にとってはハードルが高いと感じられるかもしれません。
そこで注目したいのが、Oracle Cloud Infrastructure(OCI)の無料枠です。OCIの無料枠は、常時無料のサービスと30日間のフリートライアルを提供しており、クラウドの可能性を気軽に試すことができます。本記事では、Oracle Cloud 無料枠を活用してクラウド環境を構築する具体的な事例と、その活用方法について詳しく解説します。
1. Oracle Cloud 無料枠とは?
Oracle Cloud 無料枠は、クラウドコンピューティングを体験するための入り口として、以下の2つの要素で構成されています。
- 常時無料サービス: 特定のサービスを、一定の制限内で永続的に無料で利用できます。
- 30日間のフリートライアル: 300ドルのクレジットが付与され、OCIのほぼすべてのサービスを試すことができます。
1.1 常時無料サービス:
常時無料サービスには、以下のようなものが含まれます。
- Autonomous Database: NoSQLデータベース(JSONドキュメントデータベース)、APEX(ローコード開発プラットフォーム)が含まれます。
- Compute: VM.Standard.E2.1.Microインスタンス(AMD EPYCプロセッサ搭載)を2台まで利用可能。
- Storage: Object Storage 10GB、Archive Storage 10GB。
- Load Balancing: 10 Mbpsの帯域幅まで。
- Monitoring: 5億DPU時間/月まで。
- Notifications: 100万件の配信/月まで。
- Outbound Data Transfer: 10TB/月まで。
これらの常時無料サービスは、開発環境、テスト環境、個人利用など、様々な用途に利用できます。特に、Autonomous Databaseは、Oracleが提供する高性能なデータベースを無料で利用できるため、データ分析やアプリケーション開発に非常に有効です。
1.2 30日間のフリートライアル:
30日間のフリートライアルでは、300ドルのクレジットが付与され、OCIのほぼすべてのサービスを自由に試すことができます。Computeインスタンス、ストレージ、ネットワーク、データベースなど、幅広いサービスを体験し、自社のニーズに最適なサービスを見つけることができます。
フリートライアル期間中は、OCIのドキュメントやチュートリアルを参照しながら、実際にサービスを構築し、動作を確認することができます。また、Oracle Cloudのサポートチームに質問することも可能です。
2. Oracle Cloud 無料枠で構築できること:構築事例
Oracle Cloud 無料枠を利用すれば、様々なクラウド環境を構築できます。以下に、具体的な構築事例をいくつか紹介します。
2.1 個人的なWebサイト/ブログの構築:
- 構成: VM.Standard.E2.1.Microインスタンス(CentOS/Ubuntu)、Webサーバー(Nginx/Apache)、データベース(MySQL/PostgreSQL)
- 解説: 常時無料のComputeインスタンスを利用して、Webサーバーとデータベースを構築します。Object Storageに画像や動画を保存することで、ストレージ容量を節約できます。HTTPSの設定やドメイン名の取得は別途行う必要があります。
- ポイント: 静的コンテンツを中心としたWebサイトであれば、無料枠内で十分なパフォーマンスを発揮できます。WordPressなどのCMSを利用する場合は、Computeインスタンスのスペックに注意が必要です。
- 活用方法: 個人的なポートフォリオサイト、ブログ、オンライン名刺など、様々な用途に活用できます。
2.2 簡易的なファイルサーバーの構築:
- 構成: VM.Standard.E2.1.Microインスタンス(Ubuntu)、ファイルサーバーソフトウェア(Samba/Nextcloud)、Object Storage
- 解説: Computeインスタンスにファイルサーバーソフトウェアをインストールし、Object Storageをストレージとして利用します。Sambaを使用すればWindowsファイル共有、Nextcloudを使用すればブラウザベースのファイル共有が可能です。
- ポイント: Object Storageの容量制限に注意が必要です。機密性の高いファイルを扱う場合は、セキュリティ対策をしっかりと行う必要があります。
- 活用方法: 個人用または小規模なチームでのファイル共有、バックアップ、データ保管などに活用できます。
2.3 開発/テスト環境の構築:
- 構成: VM.Standard.E2.1.Microインスタンス(Linux)、開発言語(Python/Java/Node.js)、データベース(Autonomous Database)
- 解説: Computeインスタンスに開発環境を構築し、Autonomous Databaseをデータベースとして利用します。Gitなどのバージョン管理システムを導入することで、チームでの開発も可能です。
- ポイント: 開発規模や利用人数に合わせて、Computeインスタンスのスペックを調整する必要があります。CI/CDパイプラインを構築することで、開発効率を向上させることができます。
- 活用方法: 新しい技術の学習、プロトタイプの開発、既存システムのテスト環境などに活用できます。
2.4 データ分析環境の構築:
- 構成: Autonomous Database、Object Storage、Data Science Service (30日間のフリートライアルで使用)
- 解説: Object StorageにCSVファイルなどのデータファイルを保存し、Autonomous Databaseにロードします。Data Science Serviceを利用して、データ分析や機械学習モデルの作成を行います。
- ポイント: Autonomous Databaseは、SQLだけでなく、JSONドキュメントデータベースとしても利用できます。PythonやRなどの言語を使って、データ分析を行うことも可能です。
- 活用方法: 顧客データ分析、販売データ分析、ログデータ分析など、様々なビジネスデータ分析に活用できます。
2.5 ローコードアプリケーション開発:
- 構成: Autonomous Database (APEX)
- 解説: Autonomous Databaseに付属するAPEX(Application Express)は、ローコード開発プラットフォームであり、ブラウザベースでデータベースアプリケーションを簡単に開発できます。
- ポイント: ドラッグアンドドロップ操作でGUIを構築でき、SQLやPL/SQLの知識があれば、より高度なカスタマイズも可能です。
- 活用方法: 業務アプリケーション、Webアプリケーション、モバイルアプリケーションなど、様々な種類のアプリケーションを開発できます。
3. 各構築事例の詳細な手順
以下に、上記で紹介した構築事例について、より詳細な手順を説明します。
3.1 個人的なWebサイト/ブログの構築:
- Oracle Cloud アカウントの作成: まずはOracle CloudのWebサイトからアカウントを作成します。
- Computeインスタンスの作成: OCIコンソールにログインし、「Compute」→「インスタンス」を選択し、新しいインスタンスを作成します。
- イメージ:CentOS 7/8、Ubuntu 20.04/22.04などを選択
- シェイプ:VM.Standard.E2.1.Microを選択
- ネットワーキング:デフォルトのVCNとサブネットを使用
- SSHキー:公開鍵を貼り付けるか、新しいキーペアを生成
- Webサーバーのインストール: SSHでComputeインスタンスに接続し、Webサーバー(Nginx/Apache)をインストールします。
- Nginxの場合:
bash
sudo yum update -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx - Apacheの場合:
bash
sudo yum update -y
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
- Nginxの場合:
- ファイアウォールの設定: ポート80(HTTP)とポート443(HTTPS)を許可するように、ファイアウォールを設定します。
- CentOS 7の場合:
bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload - CentOS 8/Ubuntuの場合:
bash
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
- CentOS 7の場合:
- データベースのインストール(オプション): Webサイトで動的なコンテンツを表示する場合は、データベース(MySQL/PostgreSQL)をインストールします。
- MySQLの場合:
bash
sudo yum install mysql-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation - PostgreSQLの場合:
bash
sudo yum install postgresql-server postgresql-contrib -y
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo su - postgres -c "psql"
\password postgres
ALTER USER postgres WITH PASSWORD 'your_password';
\q
- MySQLの場合:
- Webサイトのコンテンツの配置: Webサイトのコンテンツを
/var/www/html
(Nginxの場合) または/var/www/
(Apacheの場合) に配置します。 - ドメイン名の設定とHTTPS化(オプション): ドメイン名を取得し、DNSレコードを設定します。Let’s Encryptなどを使用してHTTPS化を行うことを推奨します。
3.2 簡易的なファイルサーバーの構築:
- Oracle Cloud アカウントの作成: 上記と同様
- Computeインスタンスの作成: 上記と同様
- ファイルサーバーソフトウェアのインストール:
- Sambaの場合:
bash
sudo apt update
sudo apt install samba
sudo nano /etc/samba/smb.conf
smb.conf
ファイルを編集し、共有ディレクトリの設定を行います。
[shared]
comment = Shared Directory
path = /home/ubuntu/shared
browsable = yes
guest ok = no
read only = no
create mask = 0777
directory mask = 0777
valid users = ubuntu
Sambaユーザーを追加します。
bash
sudo smbpasswd -a ubuntu
sudo systemctl restart smbd - Nextcloudの場合:
bash
sudo apt update
sudo apt install apache2 mariadb-server libapache2-mod-php php-gd php-curl php-zip php-xml php-mbstring php-intl php-bcmath php-gmp
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
sudo wget https://download.nextcloud.com/server/releases/nextcloud-latest.tar.bz2
sudo tar -xjvf nextcloud-latest.tar.bz2
sudo mv nextcloud /var/www/html/
sudo chown -R www-data:www-data /var/www/html/nextcloud/
sudo a2enmod rewrite
sudo a2ensite default
sudo systemctl restart apache2
sudo nano /etc/apache2/sites-available/nextcloud.conf
“`
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/nextcloud/<Directory /var/www/html/nextcloud/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
``
http://your_server_ip/nextcloud`にアクセスし、Nextcloudの初期設定を行います。
ブラウザから
4. Object Storageの設定: OCIコンソールでObject Storageバケットを作成し、APIキーを設定します。
5. ファイルサーバーソフトウェアの設定: ファイルサーバーソフトウェア(Samba/Nextcloud)を設定し、Object Storageをストレージとして利用するように設定します。
- Sambaの場合:
3.3 開発/テスト環境の構築:
- Oracle Cloud アカウントの作成: 上記と同様
- Computeインスタンスの作成: 上記と同様
- 開発言語のインストール:
- Pythonの場合:
bash
sudo apt update
sudo apt install python3 python3-pip - Javaの場合:
bash
sudo apt update
sudo apt install openjdk-11-jdk - Node.jsの場合:
bash
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt update
sudo apt install nodejs
- Pythonの場合:
- データベースの設定: Autonomous Databaseをプロビジョニングし、接続情報を取得します。
- 開発環境の設定: 開発言語のIDE(Visual Studio Code, IntelliJ IDEAなど)をインストールし、データベースへの接続設定を行います。
3.4 データ分析環境の構築:
- Oracle Cloud アカウントの作成: 上記と同様
- Autonomous Databaseの作成: OCIコンソールでAutonomous Databaseをプロビジョニングします。
- Object Storageの設定: OCIコンソールでObject Storageバケットを作成し、データファイルをアップロードします。
- Data Science Serviceの設定: (30日間のフリートライアルで使用) OCIコンソールでData Science Serviceのノートブックセッションを作成します。
- データ分析の実行: ノートブックセッションでPythonやRなどの言語を使って、Object Storageからデータを読み込み、データ分析を行います。
3.5 ローコードアプリケーション開発:
- Oracle Cloud アカウントの作成: 上記と同様
- Autonomous Databaseの作成: OCIコンソールでAutonomous Databaseをプロビジョニングします。
- APEXへのアクセス: Autonomous DatabaseのコンソールからAPEXにアクセスします。
- アプリケーションの作成: APEXのUIを使って、データベースアプリケーションを作成します。
- アプリケーションのデプロイ: 作成したアプリケーションをデプロイし、ブラウザからアクセスします。
4. Oracle Cloud 無料枠の活用方法
Oracle Cloud 無料枠は、クラウドコンピューティングを学ぶための最適なプラットフォームです。以下に、無料枠の活用方法をいくつか紹介します。
- クラウドスキルの学習: Oracle Cloudのドキュメントやチュートリアルを参照しながら、実際にサービスを構築し、動作を確認することで、クラウドスキルを習得できます。
- 新しい技術の検証: 新しいプログラミング言語、フレームワーク、データベースなどをOracle Cloud上で試すことができます。
- プロトタイプの開発: 新しいアイデアを形にするためのプロトタイプを、無料枠内で開発できます。
- 既存システムの移行テスト: 既存のシステムをOracle Cloudに移行する前に、無料枠内でテストを行うことができます。
- クラウドネイティブアプリケーションの開発: DockerやKubernetesなどのコンテナ技術を使って、クラウドネイティブアプリケーションを開発できます。
5. 無料枠の制限と注意点
Oracle Cloud 無料枠を利用する際には、以下の制限と注意点があります。
- Computeインスタンスのスペック: 常時無料のComputeインスタンスは、スペックが低いため、大規模なアプリケーションや高負荷な処理には向きません。
- ストレージ容量の制限: Object Storageの容量は10GBまでです。
- フリートライアル期間: 30日間のフリートライアル期間が終了すると、アカウントは無料アカウントにダウングレードされます。
- リソースの使用量: 無料枠を超えてリソースを使用すると、課金が発生する可能性があります。OCIコンソールでリソースの使用状況を定期的に確認し、予算を超えないように注意する必要があります。
- サービス停止のリスク: 無料枠のサービスは、Oracleの判断で予告なく停止される可能性があります。重要なデータは、必ずバックアップを取るようにしてください。
6. まとめ
Oracle Cloud 無料枠は、クラウドコンピューティングを体験するための素晴らしい機会を提供します。本記事で紹介した構築事例や活用方法を参考に、ぜひOracle Cloud 無料枠を活用して、クラウドの可能性を探ってみてください。
7. 今後のステップ
- Oracle Cloud アカウントを作成する: Oracle CloudのWebサイトからアカウントを作成します。
- OCIコンソールを操作する: OCIコンソールにログインし、様々なサービスを試してみましょう。
- ドキュメントやチュートリアルを参照する: Oracle Cloudのドキュメントやチュートリアルは、クラウドスキルを習得するための貴重な情報源です。
- コミュニティに参加する: Oracle Cloudのコミュニティに参加し、他のユーザーと情報交換を行いましょう。
Oracle Cloud 無料枠は、クラウドの世界への扉を開くための最初のステップです。積極的に活用し、クラウドの可能性を最大限に引き出してください。