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 Identity Center、 を有効にして管理ユーザーを作成します。

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

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

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

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

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

    手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Centerの有効化」を参照してください。

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

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

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

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

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

    手順については、「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成するを参照してください

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

    手順については、「AWS IAM Identity Center ユーザーガイド」の「グループの結合」を参照してください。

前提条件

ステップ 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コマンドを再実行するか、Amazon EC2 Instance Connect または Session Manager を使用して接続することで、SSH アクセスを設定できます。

  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 コンソールを使用してアプリケーション環境を探索できます。詳細については、「Explore your environment」を参照してください。

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