QuickStart: Elastic Beanstalk に PHP アプリケーションをデプロイする - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

QuickStart: Elastic Beanstalk に PHP アプリケーションをデプロイする

次のチュートリアルでは、EB CLI を使用してサンプル PHP アプリケーションを作成して AWS Elastic Beanstalk 環境にデプロイする方法について説明します。

本番稼働用ではない

例はデモンストレーションのみを目的としています。サンプルアプリケーションを本番環境で使用しないでください。

AWS アカウント

まだ AWS のお客様でない場合は、Elastic Beanstalk を使用するための AWS アカウントを作成する必要があります。

にサインアップする AWS アカウント

がない場合は AWS アカウント、次の手順を実行して作成します。

にサインアップするには AWS アカウント
  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

    にサインアップすると AWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、ルートユーザーアクセスが必要なタスクの実行にはルートユーザーのみを使用するようにしてください。

AWS サインアッププロセスが完了すると、 から確認メールが送信されます。https://aws.amazon.com/[マイアカウント] をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

管理アクセスを持つユーザーを作成する

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 を保護し AWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

を保護する AWS アカウントのルートユーザー
  1. ルートユーザーを選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者AWS マネジメントコンソールとして にサインインします。次のページでパスワードを入力します。

    ルートユーザーを使用してサインインする方法については、「AWS サインイン ユーザーガイド」の「ルートユーザーとしてサインインする」を参照してください。

  2. ルートユーザーの多要素認証 (MFA) を有効にします。

    手順については、IAM ユーザーガイドの AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイスを有効にする」を参照してください。

管理アクセスを持つユーザーを作成する
  1. IAM アイデンティティセンターを有効にします。

    手順については、「AWS IAM アイデンティティセンター ユーザーガイド」の「AWS IAM アイデンティティセンターの有効化」を参照してください。

  2. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

    を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、AWS IAM アイデンティティセンター 「 ユーザーガイド」の「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ」を参照してください。

管理アクセス権を持つユーザーとしてサインインする
  • IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

    IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン 「 ユーザーガイド」の AWS 「 アクセスポータルにサインインする」を参照してください。

追加のユーザーにアクセス権を割り当てる
  1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

    手順については、「AWS IAM アイデンティティセンター ユーザーガイド」の「アクセス許可セットを作成する」を参照してください。

  2. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

    手順については、「AWS IAM アイデンティティセンター ユーザーガイド」の「グループを追加する」を参照してください。

前提条件

ステップ 1: PHP アプリケーションを作成する

このクイックスタートでは、Hello World PHP アプリケーションを作成します。

プロジェクトディレクトリを作成します。

~$ mkdir eb-php ~$ cd eb-php

次に、プロジェクトディレクトリに index.php ファイルを作成し、次のコードを追加します。

index.php
<?php echo "Hello from a PHP application running in Elastic Beanstalk!"; ?>

ステップ 2: アプリケーションをローカルに実行する

アプリケーションをローカルで実行するには、次のコマンドを使用します。

~$ php -S localhost:5000

[http://localhost:5000] のブラウザを開きます。

ブラウザに hello メッセージが表示され、ターミナルにログメッセージが表示されます。

Control+c を入力してローカルサーバーを停止し、Elastic Beanstalk をデプロイできるようにします。

ステップ 3: PHP アプリケーションを初期化してデプロイする

次に、Elastic Beanstalk コンソールまたは EB CLI を使用してアプリケーションを環境にデプロイします。このチュートリアルでは、インタラクティブオプションとともに EB CLI を使用して環境を初期化します。

環境を初期化して環境を作成するには
  1. 次の init コマンドを実行します。

    ~$ eb init -i

    init コマンドは、アプリケーションをインタラクティブに作成します。アプリケーション名は、デフォルトで eb-php のローカルフォルダになります。

    SSH アクセスを除くすべてのプロンプトで、デフォルトを受け入れて、最新の PHP プラットフォームバージョンで環境を作成します。インスタンスのトラブルシューティングでは、後で eb init -i コマンドを再実行して SSH アクセスを設定するか、Amazon EC2 Instance Connect または Session Manager を使用して接続することができます。

  2. 環境を作成し、アプリケーションをデプロイする

    以下のコマンドを実行して、blue-env という名前の環境を作成します。

    ~$ eb create blue-env

    eb create コマンドを初めて実行すると、Elastic Beanstalk はソースバンドルと呼ばれるアプリケーションの zip ファイルを自動的に構築します。次に、Elastic Beanstalk は 1 つ以上の Amazon EC2 インスタンスを備えた環境を作成し、アプリケーションを環境にデプロイします。

    アプリケーションを Elastic Beanstalk にデプロイするには、最大 5 分かかる場合があります。

ステップ 4: クラウドアプリケーションを参照する

環境を作成するプロセスが完了すると、アプリケーションは実行中で、ポート 5000 でリクエストをリッスンしているはずです。次のコマンドでアプリケーションに接続します。

~$ eb open

eb open コマンドは、アプリケーション用に作成されたカスタムサブドメインへのブラウザタブを開きます。

ステップ 5: アプリケーションを更新して再デプロイする

アプリケーションを作成して環境にデプロイした後、アプリケーションの新しいバージョンや、異なるアプリケーションをいつでもデプロイできるようになります。新しいアプリケーションバージョンのデプロイは、プロビジョニングや Amazon EC2 インスタンスの再開が必要ないため、よりすばやく行えます。

PHP コードを更新して、サーバー環境の REQUEST_TIME 値を含めます。

<?php echo "Hello from a PHP application running in Elastic Beanstalk!"; $timestamp = $_SERVER['REQUEST_TIME']; echo '<br/>Request time: ' . date('Y/m/d H:i:s', $timestamp); ?>

次のコマンドを使用して、PHP コードを Elastic Beanstalk に再デプロイします。

~$ eb deploy

eb deploy を実行すると、EB CLI はプロジェクトディレクトリのコンテンツをバンドルアップして、ユーザーの環境にデプロイします。

デプロイが終了したら、ページを更新するか、eb open を使用してアプリケーションに再接続します。更新が表示されるはずです。そうでない場合は、ローカルサーバーを再度実行してトラブルシューティングして、変更を確認します。

おめでとうございます。

Elastic Beanstalk で PHP アプリケーションを作成、デプロイ、更新しました!

クリーンアップ

デモコードの操作が完了したら、環境を終了できます。Elastic Beanstalk は、Amazon EC2 インスタンスデータベースインスタンスロードバランサー、セキュリティグループ、アラームなど、関連するすべての AWS リソースを削除します。

リソースを削除しても Elastic Beanstalk アプリケーションは削除されないため、いつでもアプリケーションの新しい環境を作成できます。

コンソールから Elastic Beanstalk 環境を終了するには
  1. Elastic Beanstalk コンソールを開き、リージョンリストで を選択します AWS リージョン。

  2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

  3. [Actions] (アクション)、[Terminate environment] (環境の終了) の順に選択します。

  4. 画面上のダイアログボックスを使用して、環境の終了を確認します。

あるいは、次のコマンドを使用して EB CLI で環境を終了することもできます。

~$ eb terminate

次の手順

Elastic Beanstalk コンソールを使用してアプリケーション環境を調べることができます。詳細については、「環境を探索する」を参照してください。

PHP を使用した詳細な例については、「Elastic Beanstalk での PHP の高度な例」を参照してください。