2021/05/27

AWSのPHPとは?PHPを利用するメリットを解説

 
  

AWS PHP


AWSとはAmazon Web Servicesのことで、AWS SDK for PHPを使用してアプリケーションをAWSクラウドで開発できます。
利用料金は使った分だけを支払う従量課金制です。

AWSとは?


AWSとはAmazonから提供されているクラウドコンピューティングサービスのことです。

クラウドコンピューティングとはインターネット経由でコンピューティング、データベース、ストレージ、アプリケーションをオンデマンドで利用することができるサービスの総称です。利用料金は実際に使った分だけの支払いのみといった従量課金が一般的です。

AWSではPHPが使用できる


AWSクラウドではPHPアプリケーションを開発するために必要なすべてのツール、ドキュメント、およびサンプルコードがあります。

AWS SDK for PHPライブラリ、コードサンプル、ドキュメントを使用して、ソフトウェアを構築できます。コードを設計し構築して、テスト実行やデバックも可能です。

PHPとは?


PHPは、”PHP:Hypertext Preprocessor”の略です。オープンソースのスクリプト言語です。

Webアプリケーションの開発に適しており、HTMLに埋め込むことができます。多くのコマンドを記述する代わりに、PHPのこの例では、次のように出力を行うコードを埋め込むことができます。

 "Hi, I'm a PHP Script!"

開始および終了タグ

<?php と ?>

このように囲われていて、これにより”PHPモード”の切り替えを行います。

PHPは初心者にとってわかりやすく、すぐに始められます。数時間で簡単なスクリプトが書けるようになるでしょう。プロフェッショナルのプログラマーに対しては進んだ機能を多く提供しています。

AWS PHPの導入方法について


ここでは、AWS SDK for PHPの基本的な使用パターンについて説明します。

「SDKをダウンロードして、インストールする方法」を解説していきます。インストールする前に、PHPにとって必要なものは次の3つです。

・PHP本体
・Webサーバー
・Webブラウザ

Webスペースはホスティング会社から借りることもできます。この場合は自分でセットアップする必要はなく、PHPのコードを書いて、レンタルしたサーバーにアップロードして、その結果をブラウザで確認するだけです。

AWS SDK for PHP バージョン3をインストールする前提条件

AWS SDK for PHPを使用するには、以下の要件と推奨事項がサポートされていることを確認します。

PHP拡張機能AWS SDK for PHPを有効にした、PHPバージョン5.5.0以降を使用しなければなりません。プライベートAmazon CloudWatch URLsに署名する必要がある場合は、OpenSSLPHP拡張子も必要です。

AWS SDK for PHPインストーラをダウンロードする

AWS SDK for PHPバージョン3は、次の方法でインストールできます。

Composerを介して依存関係として
SDKのパッケージ済みpharとして
SDKのZIPファイルとして

AWS SDK for PHPバージョン3をインストールする際に、PHPバージョン5.5以降のものを使用していることを確認しましょう。

.pharメソッドと.zipメソッドを介してSDKをインストールするには、Multibyte String PHP拡張機能を個別にインストールして有効にする必要があります。

Composerをインストールする

Composerがまだプロジェクトにない場合は、Composerをダウンロードしてインストールします。

Windowsの場合、Composer-setup.exeをダウンロードして実行します。Linuxの場合、Composerのダウンロードページにあるコマンドラインインストールに従います。

Composerのインストール方法、自動でダウンロードする方法、および依存関係定義と他のベストプラクティスに従う方法の詳細などは、getcomposer.orgを参照してみてください。

Composerを介して依存関係としてAWS SDK for PHPを追加する

Composer PHARは、好きな場所におくことができます。
Composerがシステムに全体的に適用されてインストール済みの場合、PATHの一部であるディリクトリに配置すれば、グローバルにアクセスできます。次の操作を実行し、そのプロジェクトに依存させてAWS SDK for PHPをインストールします。

composer require aws/aws-sdk-php

それ以外の場合は、このComposerへコマンドを入力し、プロジェクトに依存させてAWS SDK for PHPの最新バージョンをインストールします。

php -d memory_limit=-1 composer.phar require aws/aws-sdk-php

phpスクリプトに自動ローダーを追加する

PHPスクリプトでAWS SDK for PHPを利用するには、次のとおりスクリプトに自動ローダーをインクルードします。

<?php 
  require '/path/to/vendor/autoload.php';
 ?>

パッケージ済みpharを使用したインストール

AWS SDK for PHPの各リリースには、SDKを実行するために必要なクラスと依存関係がすべて含まれているパッケージ済みのphar(PHPアーカイブ)が付属しています。

また、そのPharファイルでは、AWS SDK for PHP用のクラスの自動ローダーとそのすべての依存関係が自動的に登録されます。

パッケージ済みのpharをダウンロードして、スクリプトでインクルードすることができます。

<?php
  require '/path/to/aws.phar';
 ?>

ZIPファイルを使用したインストール

AWS SDK for PHPにはSDKを実行するために必要なクラスと依存関係が含まれているZIPファイルが付属しています。

SDKをインストールするにはzipファイルをダウンロードし、プロジェクト内の任意の場所に展開します。次に、スクリプトで次のように自動ローダーをインクルードします。

コードをSDKでインクルードする

ここでは、AWS SDK for PHPの基本的な使用パターンについて説明します。

どのような手法でSDKをインストールしたかにかかわらず、1つのrequireステートメントだけでSDKをインクルードできます。

インストール手法に最適なPHPコードについては次を参照してください。/path/to/は、使用しているシステムでの実際のパスに置き換えます。

ここでは、Composerのインストール方法を想定し、例を挙げます。別のインストール方法を使用している場合、このセクションを参照にし、適切なrequireコードを見つけてみましょう。

インストールの手法 requireステートメント
Composerの使用 require ‘/path/to/vendor/autoload.php’;
pharの使用 require ‘/path/to/aws.phar’;
ZIPの使用 require ‘/path/to/aws-autoloader.php’;

AWS SDKを利用してみよう!


SDKを使用してAWSのサービスとやり取りするには、クライアントオブジェクトをインスタンス化します。

サービスのAPIオペレーションと1対1で対応するメソッドがあります。特定のオペレーションを実行するには、それに対応するメソッドを呼び出します。そのメソッドでは、成功するとResultオブジェクトが返され、失敗すると例外がスローされます。

クライアントの作成

クライアントのコンストラクタにオプションの連想配列を渡すことによって、クライアントを作成できます。

インポート

require 'vender/autoload.php';

use AwsS3\S3\S3Client;

use Aws\Exception\AwsException;

サンプルコード

//Create a S3Client
$s3 = new Aws\S3\S3Client([
 'version' => 'latest',
  'region' => 'us-east-2'
]);

これはSDKが環境変数(AWS_ACCESS_KEY_IDおよびAWS_SCRET_ACCESS_KEY)、ホームディレクトリにあるAWS認証情報のINIファイル、AWS Identity and Access Management(IAM)のインスタンスプロファイルの認証情報、認証情報プロバイダのいずれかから認証情報を検出するためです。

Amazon Elastic Compute Cloudについて

ここでは、Amazon Elastic Compute Cloud、AWSEc2の運用に関するパラメータと結果を説明します。

AwsEc2¥Ec2Clientオブジェクトを使用した運用を呼び出す方法を示します。

コマンドや特定のAPI操作を作成するには次を使用します。

マジックメソッド(例)

($client->commandName(/**parameter*/)

クライアント

$\client->getCommand

Amazon EC2インスタンスへ接続するには

Amazon Elastic Compute Cloud(Amazon EC2)は、クラウド内で仮想サーバーのホスティングを提供するウェブサービスです。

サンプルコードを実行する前に「AWS SDK for PHPバージョン3の認証情報」の説明に従ってAWS認証情報を設定します。Amazon Web Servicesにリクエストするには、AWSアクセスキー(認証情報)をAWS SDK for PHPに提供します。

セキュリティの観点からAWSアクセスにはルートアカウントではなくIAMユーザーを使用することを勧めます。『IAM User Guide』の「IAMベストプラクティス」を参照してください。

EC2のインスタンスを起動してみよう!

インスタンスを記述する。

インポート

require 'vendor\autoload.php';

use Aws\Ec2\Ec2Client;

サンプルコード

$ec2Client = new Aws\Ec2\Ec2Client([
  'region' => 'us-west-2',
  'version' => '2016-11-15',
 'profile' =>'default'
]);
$result = $e2Client->describeInstances();

var_dump($result);

モニタリングを有効また無効にする

インポート

require 'vendor/autoload.php';

use Aws\Ec2\Ec2Client;

サンプルコード

$ec2Client = new Aws\Ec2\Ec2Client([
        'region' => 'us-west-2',
        'version => '2016-11-15',
       'profile' => 'default'
]);

$instanceIds = array('instanceID1', 'InstanceID2');

monitorInstance = 'ON';

if ($monitorInstance =='ON') {
   $result = $ec2Client - >monitorInstances(array(
            InstanceIDs' => $instanceIds
));
}else {
 $result =$ec2Client->unmonitorInstances(array(
            'InstanceIds' => $'InstanceIds' =>$instanceIds
    ));
}

var_dump($result);

インスタンスを停止または起動する。

インポート

require 'vender/aoutload.php';

use Aws\Ec2\Ec2Client;

サンプルコード

$ec2Client = new Aws\Ec2\Ec2Client([
        'region' => 'us-west-2',
        'version'=>'2016-11-15',
        'profile => 'default'
]);

$action ='START';
$instanceIds =array('InstanceID1', 'InstanceID2');
if ($action == 'START'){
    $reault =$ec2Client ->startInstances(array(
             'InstanceIds' => $instanceIds
      ));
}
var_dump($result);

インスタンスを再起動する。
サンプルコード

$ec2Client = new Aws\Ec2\Ec2Client([
        'region' => 'us-west-2',
        'version' => 2016-11-15',
        'profile' => 'default'
]);

$instanceIds = array('InstanceID1', 'InstanceID2');
$result = $ec2Client-> rebootInstances(array(
));
var_dump($result);

AWS PHPを利用してマネジメントコンソールで一元管理してみよう!


AWS マネジメントコンソールには、AWSリソースの作成と一元管理に使用できるウェブページのユーザーインターフェースが用意されています。

AWSマネジメントコンソールを使用する前にAWSアカウントにサインインする必要があります。アカウント作成は無料です。まずは無料サービスを試してみてください。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】