すべてのプロダクト
Search
ドキュメントセンター

Elastic Container Instance:elasticコンテナインスタンスでWordPressアプリケーションをビルドする

最終更新日:Dec 16, 2024

Cloud Shellを使用して、Elastic Container Instanceリソースを管理できます。 このトピックでは、Cloud Shellを使用してACKサーバーレスクラスターを作成し、クラスターにエラスティックコンテナインスタンスを作成してインスタンスにWordPressアプリケーションをデプロイする方法について説明します。

背景情報

WordPressは、PHP言語で書かれたブログ公開システムです。 WordPressをコンテンツ管理システム (CMS) として使用するか、WordPressを使用してPHP言語とMySQLデータベースをサポートするサーバー上にWebサイトを構築できます。

Cloud Shellは、Alibaba Cloudが提供するCLIです。 ブラウザーでCloud Shellを実行して、Alibaba Cloudリソースを管理できます。 Cloud Shellの詳細については、Cloud Shellとは

ACKサーバーレスクラスターの作成

  1. Cloud Shellを開き、表示されるメッセージを確認し、チュートリアルスクリプトをCloud Shellに複製します。

  2. WordPressチュートリアルがあるディレクトリに移動します。

    cd eci-wordpress
  3. (オプション) クラスターの設定ファイルを変更します。

    vim create.json

    create.jsonファイルには、ACKサーバーレスクラスターを作成するためのパラメーターが含まれています。 次のコードは、パラメーターのデフォルト設定を提供します。

    {
    	"cluster_type": "ManagedKubernetes",
    	"profile": "Serverless",
    	"name": "wordpress-demo",
    	"region_id": "cn-hangzhou",
    	"endpoint_public_access": true,
    	"snat_entry": true,
    	"addons": [{
    		"name": "csi-provisioner",
    		"config": ""
    	}],
    	"zoneid": "cn-hangzhou-j"
    }

    次のパラメータを変更できます。

    • name: クラスターの名前。

    • region_id: クラスターが存在するリージョンのID。

    • endpoint_public_access: APIサーバーのインターネットアクセスを有効にするかどうかを指定します。

    • snat_entry: NATゲートウェイを作成し、送信元ネットワークアドレス変換 (SNAT) ルールを設定するかどうかを指定します。

    • zoneid: クラスターが存在するゾーンのID。

  4. 次のコマンドを実行して、ACKサーバーレスクラスターを作成します。

    aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)"

    クラスターが作成されると、次のようなメッセージが返されます。 cluster_idはクラスターidを示します。

    {
    	"cluster_id": "c5789a864e71848ab9fa57013********",
    	"instanceId": "c5789a864e71848ab9fa57013********",
    	"request_id": "C5044E47-7AAD-5D6F-A8D9-2249F1******",
    	"task_id": "T-6528e986ba8151096d******"
    }
  5. クラスターのプロパティを表示します。

    aliyun cs GET /clusters/<YOUR-CLUSTER-ID>

WordPressアプリケーションのデプロイ

重要

クラスターにWordPressをインストールする前に、作成したACKサーバーレスクラスターが初期化されていることを確認してください。 初期化には3〜5分かかります。

  1. ACKサーバーレスクラスターを管理します。

    source use-k8s-cluster ${Cluster ID}

    上記のコマンドの {Cluster ID} をクラスターのIDに置き換えます。 例:

    source use-k8s-cluster c5789a864e71848ab9fa57013********
  2. WordPressアプリケーションをデプロイします。

    重要

    wordpress-all-in-one-pod.yamlファイルを使用してWordPressアプリケーションをデプロイすると、EIPアドレス (elastic IPアドレス) が自動的に作成され、EIPがWordPressアプリケーションが対応するElastic Container Instanceベースのポッドに関連付けられます。

    kubectl apply -f wordpress-all-in-one-pod.yaml
    説明

    Cloud Shellを開くと、アプリケーションのYAMLスクリプトをCloud Shellに複製するように求められます。 eci-wordpressディレクトリからwordpress-all-in-one-pod.yamlスクリプトを複製します。

  3. デプロイの進行状況を表示します。

    kubectl get pods

    次の結果が返されます。 ポッドのステータスが [実行中] に変わると、WordPressアプリケーションがデプロイされます。

    NAME        READY   STATUS    RESTARTS   AGE
    wordpress   2/2     Running   0          5m59s
  4. WordPressアプリケーションのEIPを表示します。

    kubectl get -o json pod wordpress |grep "k8s.aliyun.com/allocated-eipAddress"

    次の出力が返されます。

    "k8s.aliyun.com/allocated-eipAddress": "47.99.XX.XX"
  5. WordPressアプリケーションのセキュリティグループを設定します。

    1. セキュリティグループのIDを取得します。

      kubectl get -o json pod wordpress |grep "k8s.aliyun.com/eci-security-group"

      次の出力が返されます。

      "k8s.aliyun.com/eci-security-group": "sg-bp1fw6ecxb0obm ******"
    2. セキュリティグループのポート80を有効にします。

      aliyun ecs AuthorizeSecurityGroup --RegionId ${Region ID} --SecurityGroupId ${Security group ID} --IpProtocol tcp --PortRange 80/80 --SourceCidrIp 0.0.0.0/0 --Priority 100

      コマンドの {Region ID} と {Security group ID} を、ビジネスシナリオの実際のリージョンIDとセキュリティグループIDに置き換えます。 例:

      aliyun ecs AuthorizeSecurityGroup --RegionId cn-hangzhou --SecurityGroupId sg-bp1fw6ecxb0obm******  --IpProtocol tcp --PortRange 80/80 --SourceCidrIp 0.0.0.0/0 --Priority 100

WordPressをインストールしてWordPressアプリケーションにログインする

  1. WordPressアプリケーションにアクセスします。

    ブラウザにWordPressアプリケーションのEIPを入力します。 例: http:// 47.99.XX.XX

  2. 言語を選択し、[続行] をクリックして、開くWordPress Webサイトの基本情報を入力し、[WordPressのインストール] をクリックします。

    wordpress2

    次のパラメーターを設定する必要があります。

    • サイトタイトル: WordPress Webサイトの名前。

    • Username: WordPressへのログインに使用するユーザー名。 ユーザー名が安全であることを確認してください。

    • パスワード: WordPressへのログインに使用するパスワード。 強力なパスワードを指定することを推奨します。

    • メール: 通知の受信に使用するメール。

  3. [ログイン] をクリックします。

  4. WordPressのインストール時に指定したユーザー名とパスワードを入力し、[ログイン] をクリックします。

    WordPressにログインした後、指定したWordPress Webサイトを開くことができます。

    wordpress3