Free Tier: Oracle LinuxインスタンスへのSpring Bootのインストール

このチュートリアルでは、Oracle Cloud Infrastructure Free Tierアカウントを使用してOracle Linuxコンピュート・インスタンスを設定します。次に、Spring Bootアプリケーションをインストールし、インターネットから新しいアプリケーションにアクセスします。最後に、このチュートリアルでは、ホストの仮想ネットワークを設定し、ホストをインターネットに接続するために必要なすべてのステップについて説明します。

主なタスクは:

  • 開発作業用のコンパートメントを設定します。
  • Oracle Linuxインスタンスをインストールし、仮想クラウド・ネットワーク(VCN)に接続します。
    • ホストがインターネットに接続するために必要なOracle Cloud Infrastructure仮想クラウド・ネットワークおよび関連するネットワーク・サービスを設定します。
    • Oracle Linuxサーバーにアクセスするためのssh暗号化キーを設定します。
  • VCNのイングレス・ルールを構成します。
  • インスタンスでSpring Bootを構成します。
  • インターネットからインスタンスに接続します。

Linuxインスタンスの設定の簡単なダイアグラムを次に示します。

Oracle Cloud InfrastructureでSpring Bootアプリケーションを実行するために必要なコンポーネントのダイアグラム

その他の情報については、次のWebサイトを参照してください。

開始する前に

このチュートリアルを正常に完了するには、次が必要です:

要件

  • Oracle Cloud Infrastructure Free Tierアカウント。Oracle Cloud Infrastructure Free Tier
  • sshサポートがインストールされているMacOS、LinuxまたはWindowsコンピュータ。

1. 開発用のコンパートメントの設定

開発用のコンパートメントを構成します。

コンパートメントの作成

このチュートリアルで作成するリソースのコンパートメントを作成します。

  1. Oracle Cloud Infrastructureコンソールにサインインします。
  2. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「コンパートメント」をクリックします。
  3. 「コンパートメントの作成」をクリックします。
  4. 次の情報を入力します:
    • 名前: <your-compartment-name>
    • 説明: Compartment for <your-description>.
    • 親コンパートメント: <your-tenancy>(root)
  5. 「コンパートメントの作成」をクリックします。

参照: コンパートメントの作成

2.Virtual Cloudネットワークのインストール

VCNウィザードの起動ワークフローを使用して、新しいVirtual Cloud Network (VCN)を作成します。

ワークフローでは、VCNのインストール時にいくつかのことが実行されます:

  • VCNが作成されます。
  • インターネット接続を有効にするインターネット・ゲートウェイを追加します。
  • VCNのパブリック・サブネットおよびプライベート・サブネットを作成および構成します。
  • サブネットのルート表およびセキュリティ・リストを設定します。

VCNの詳細は、VCNおよびサブネットの管理を参照してください。

インストール・ステップの確認

VCNを作成するには、次のステップに従います。

重要

示されているステップは、Free Tierアカウント用です。有料アカウントを使用している場合は、ここに示すステップとは異なる場合があります。
  1. ナビゲーション・メニューを開き、「ネットワーキング」「仮想クラウド・ネットワーク」の順に選択します。
  2. 必要に応じて、左側のナビゲーションの「コンパートメント」コントロールからコンパートメントを選択します。
  3. 「VCNウィザードの起動」をクリックします。
  4. 「インターネット接続性を持つVCNの作成」を選択します。
  5. 「VCNウィザードの起動」をクリックします。
  6. VCNを構成します。構成ダイアログには、次のセクションがあります。

    基本情報

    VCNの名前を入力し、コンパートメントを選択します。

    • 名前: <name-for-the-vcn>

      VCNの名前を入力します。機密情報を入力しないでください。

    • コンパートメント: <your-compartment-name>

      コンパートメントを選択します。

    VCNの構成

    • VCN IPv4 CIDRブロックおよびDNS解決のデフォルト値を保持します。

    パブリック・サブネットの構成

    • IPアドレス・タイプおよびIPv4 CIDRブロックのデフォルト値を保持します。

    プライベート・サブネットの構成

    • IPアドレス・タイプおよびIPv4 CIDRブロックのデフォルト値を保持します。
  7. 「次」をクリックします。
  8. 選択内容を確認します。「前」をクリックし、戻って変更を行います。
  9. 「作成」をクリックして、VCNを作成します。

    VCNとそのすべてのリソースが作成されます。これにはしばらく時間がかかる場合があります。

    作成が完了したら、「VCNの表示」をクリックして新しいVCNを表示します。

3. Oracle Linuxインスタンスのインストール

「VMインスタンスの作成」ワークフローを使用して、新しいコンピュート・インスタンスを作成します。

ワークフローでは、インスタンスのインストール時にいくつかのことが実行されます:

  • Oracle Linuxを実行しているコンピュート・インスタンスを作成およびインストールします。
  • Oracle Linuxインスタンスをインターネットに接続するVCNおよびパブリック・サブネットを選択します。
  • インスタンスへの接続に使用するsshキー・ペアを作成します。
インストール・ステップの確認

「VMインスタンスの作成」ワークフローを使用してインスタンスのインストールを開始するには、次のステップに従います:

重要

示されているステップは、Free Tierアカウント用です。有料アカウントを使用している場合は、ここに示すステップとは異なる場合があります。
  1. ナビゲーション・メニューを開き、「コンピュート」を選択します。「コンピュート」で、「インスタンス」を選択します。
  2. 「インスタンスの作成」をクリックします。

    「コンピュート・インスタンスの作成」ページが表示されます。

  3. 「名前」および「コンパートメント」を選択します。

    初期オプション

    • 名前: <name-for-the-instance>

      インスタンスの名前を入力します。機密情報を入力しないでください。

    • コンパートメントに作成: <your-compartment-name>

      コンパートメントを選択します。前のステップで作成したコンパートメントを使用します。

  4. 「配置」の設定を確認します。
    • デフォルト値を使用します。可用性ドメインが割り当てられます。

    デフォルト値は、次のとおりです。

    • 可用性ドメイン: AD-1
    • 容量タイプ: オンデマンド容量
    • フォルト・ドメイン: 最適なフォルト・ドメインの選択をOracleに任せます
    ノート

    Free Tierの場合、可用性ドメインに「Always Free対象」オプションを使用します。
  5. 「セキュリティ」の設定を確認します。
    • デフォルト設定を使用します。

    デフォルト値は、次のとおりです。

    • 保護インスタンス:無効
    • 機密コンピューティング:無効化
  6. 「イメージとシェイプ」の設定を確認します。「編集」をクリックします。
    ノート

    次はAmpere A1仮想マシンのサンプル・データです。実際の値は異なる場合があります。
    • デフォルトのOracle Linux 8イメージを保持します。
    • 「シェイプの変更」をクリックします。
    • 「仮想マシン」を選択します。
    • シェイプ・シリーズの場合は、「アンペア」を選択します。
    • VM.Standard.A1を選択します。「Always Free」シェイプをフレックスします。
    • 1 OCPUを選択します。
    • 「シェイプの選択」をクリックします。

    選択した値は、次のようになります。

    • イメージ: Oracle Linux 8
    • イメージ・ビルド: <current-build-date>
    • シェイプ: VM.Standard.A1。フレックス
    • OCPU: 1
    • メモリー(GB): 6
    • ネットワーク帯域幅(Gbps): 1
    ノート

    Free Tierの場合、「Always Free対象」シェイプ・オプションを使用します。
  7. 「ネットワーキング」の設定を確認します。前のステップで作成したVCNを選択します。ネットワーク値は、次のようになります。
    • 仮想クラウド・ネットワーク: <your-vcn>
    • サブネット: <pubic-subnet-for-your-vcn>
    • 起動オプション: -
    • DNSレコード:はい
    • ネットワーク・セキュリティ・グループを使用してトラフィックを制御:いいえ
    • パブリックIPv4アドレスの割当て: はい
    • プライベートIPv4アドレス:作成時に自動的に割り当てられます
    • IPv6 address:使用不可
  8. 「SSHキーの追加」の設定を確認します。ワークフローで提供されるデフォルト値を使用します。
    • 「キー・ペアを自動で生成」オプションを選択します。
    • 「秘密キーの保存」および「公開キーの保存」をクリックして、このコンピュート・インスタンスの秘密および公開SSHキーを保存します。

    独自のSSHキーを使用する場合は、いずれかのオプションを選択して公開キーを指定します。

    ノート

    秘密キーと公開キーのファイルは安全な場所に配置してください。コンピュート・インスタンスの作成後にキーを再度取得することはできません。
  9. 「ブート・ボリューム」の設定を確認します。

    「転送中暗号化の使用」設定を選択します。その他の2つの設定は空白のままにします。

  10. 「ブロック・ボリューム」の設定を確認します。ワークフローによって提供されるデフォルト値を使用して、ブロック・ボリュームを選択しません。ブロック・ボリュームは後で追加できます。
  11. 「作成」をクリックして、インスタンスを作成します。システムのプロビジョニングには数分かかる場合があります。

Apache Webサーバーを実行するOracle Linuxインスタンスが正常に作成されました。

4. インターネット・アクセスの有効化

VMインスタンスの作成ウィザードでは、インスタンスのVCNが自動的に作成されます。ポート8080でのインターネット接続を許可するイングレス・ルールをサブネットに追加します。

VCNのイングレス・ルールの作成

次のステップに従って、VCNのパブリック・サブネットを選択し、イングレス・ルールを追加します。

  1. ナビゲーション・メニューを開いて「ネットワーキング」をクリックし、「仮想クラウド・ネットワーク」をクリックします。
  2. 作成したVCNを選択します。
  3. 新しいVCNが表示された状態で、<your-subnet-name>サブネット・リンクをクリックします。

    パブリック・サブネット情報は、ページの下部にあるセキュリティ・リストとともに表示されます。VCNのデフォルト・セキュリティ・リストへのリンクが表示されます。

  4. 「デフォルト・セキュリティ・リスト」リンクをクリックします。

    VCNのデフォルトのイングレス・ルールが表示されます。

  5. 「イングレス・ルールの追加」をクリックします。

    「イングレス・ルールの追加」ダイアログが表示されます。

  6. イングレス・ルールに次の情報を入力します。

    イングレス・ルールを次のように入力します:

    • ステートレス:選択
    • ソース・タイプ: CIDR
    • ソースCIDR: 0.0.0.0/0
    • IPプロトコル: TCP
    • ソース・ポート範囲: (空白のまま)
    • 宛先ポート範囲: 8080
    • 説明: HTTP接続の許可
  7. 「イングレス・ルールの追加」をクリックします。
    これで、HTTP接続が許可されます。VCNはSpring Boot用に構成されています。
インスタンスをインターネットから使用できるようにするイングレス・ルールが正常に作成されました。

5. Spring Bootのインストールおよび構成

次に、Spring Bootアプリケーションに必要なすべてのソフトウェアをインストールします。

インスタンスのポートの構成
  1. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  2. 前のステップで作成したインスタンスへのリンクをクリックします。

    「インスタンスの詳細」ページで、「インスタンス・アクセス」セクションの下を確認します。システムによって作成されたパブリックIPアドレスを書き留めます。このIPアドレスを使用してインスタンスに接続します。

  3. ターミナルまたはコマンド・プロンプト・ウィンドウを開きます。
  4. 作成したssh暗号化キーを格納したディレクトリに移動します。
  5. このSSHコマンドを使用してインスタンスに接続します
    ssh -i <your-private-key-file> opc@<x.x.x.x>

    インスタンスの作成時に公開キーを特定したため、このコマンドでインスタンスにログインします。sudoコマンドを発行して、サーバーをインストールおよび起動できるようになりました。

  6. ポート8080でHTTP接続を有効にします。
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload

ファイアウォールはSpring Boot用に構成されています。

Gitのインストール

IUS Community Project (https://ius.io/)を使用してGit v2をインストールします。Gitコア・パッケージの現在のバージョンに移動し、~/tempディレクトリにダウンロードします。

  1. たとえば、Git RPMのダウンロードは次のようになります。
    cd
    mkdir temp
    cd ~/temp
    wget https://repo.ius.io/7/x86_64/packages/g/git224-core-2.24.2-1.el7.ius.x86_64.rpm                        
    
  2. yumを使用してRPMをインストールします。
    sudo yum install git224-core-2.24.2-1.el7.ius.x86_64.rpm
  3. テスト結果。
    git --version
    git version 2.24.2

Gitがインストールされています。

JDK 8のインストール
  1. yumを使用してOpenJDK 8をインストールします。
    sudo yum install java-1.8.0-openjdk-devel
    java -version
  2. .bashrcJAVA_HOMEを設定します。

    ファイルを更新します:

    vi ~/.bashrc

    ファイルに次のテキストを追加し、ファイルを保存します:

    # set JAVA_HOME
    export JAVA_HOME=/etc/alternatives/java_sdk

    現在のウィンドウで前述のコマンドをアクティブ化します。

    source ~/.bashrc

Javaがインストールされています。

Maven 3.6のインストール

ApacheミラーからMavenをインストールします。Mavenのメイン・サイト(https://maven.apache.org/)のダウンロード・ページに移動します。最新バージョンのURLを取得し、wgetでダウンロードします。

  1. Maven zipファイルをダウンロードします。次に例を示します:
    wget http://apache.mirrors.pair.com/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
  2. プログラム・ファイルを展開します。
    sudo tar xvfz apache-maven-3.6.3-bin.tar.gz
  3. ファイルを/optディレクトリに移動して、プログラム・ファイルをインストールします。
    sudo mv apache-maven-3.6.3 /opt/
  4. Mavenパス/opt/apache-maven-3.6.3/binPATH環境変数に追加し、.bashrcをソースにします。
    vi ~/.bashrc
    export PATH=$PATH:/opt/apache-maven-3.6.3/bin
    source ~/.bashrc
                        

Mavenを使用する準備ができました。

Spring Bootアプリケーションの構築

次のステップに従って、Spring Bootアプリケーションを設定します:

  1. Gitを使用して、ホーム・ディレクトリからSpring Boot Dockerガイドを参照します:
    git clone http://github.com/spring-guides/gs-spring-boot-docker.git
  2. gs-spring-boot-docker/initialディレクトリに移動します。
  3. Application.javaファイル(src/main/java/hello/Application.java)を編集します。
  4. 次のようにコードを更新します:
    
    package hello;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @SpringBootApplication
    @RestController
    public class Application {
    
        @RequestMapping
        public String home(){
            return "<h1>Spring Boot Hello World!</h1>";
        }
        
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
        
    }
                        
  5. ファイルを保存します。
  6. Mavenを使用してアプリケーションを構築します。
    mvn package

    成功メッセージが表示されます。

    [INFO] BUILD SUCCESS
  7. アプリケーションを実行します。
    java -jar target/gs-spring-boot-docker-0.1.0.jar
  8. コマンドラインまたはブラウザから、アプリケーションをテストします。
    • 新しいターミナルから、SSHキーを使用してインスタンスに接続し、curlを使用してテストします:
      curl -X GET http://localhost:8080
    • ブラウザから、インスタンスに割り当てられたパブリックIPアドレス(http://<x.x.x.x>:8080)に接続します。

    インスタンスまたはブラウザにSpring Boot Hello World!が表示されます

完了しました。インスタンスにSpring Bootアプリケーションが正常に作成されました。

次の手順

Linuxインスタンスを使用して、Spring BootアプリケーションがOracle Cloud Infrastructureに正常にインストールおよびデプロイされました。

Oracle製品を使用した開発の詳細を確認するには: