Image Builderは、カスタムイメージの作成、管理、検証、共有、配布の自動化を支援するオールインワンのAlibaba Cloudサービスです。 このトピックでは、NGINX開発環境を含むカスタムイメージを作成し、そのカスタムイメージを使用してElastic Compute Service (ECS) インスタンスを作成し、NGINX開発環境にアクセスできるかどうかを確認する方法について説明します。
背景情報
この例では、次の設定が使用されています。
現在のリージョン: 中国 (北京)
イメージの配布先リージョン: 中国 (杭州)
パブリックイメージ: Alibaba Cloud Linux 3
イメージテンプレートのイメージコンテンツ: NGINX開発環境
上記の構成を使用して、名前がtest-image
の接頭辞であるカスタムイメージを中国 (北京) リージョンに作成し、カスタムイメージを中国 (杭州) リージョンに配布します。 次に、イメージを使用して、NGINX開発環境が中国 (杭州) リージョンにデプロイされているECSインスタンスを作成します。 次に、オンプレミスマシンからECSインスタンスのNGINX開発環境にアクセスできるかどうかを確認します。 NGINX開発環境にアクセスできる場合、カスタムイメージは期待どおりに機能します。
ステップ1: イメージテンプレートの作成と実行
にログインします。ECSコンソール.
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、リージョンを選択します。
[イメージビルダー] ページで、[イメージテンプレート] タブをクリックします。 [画像テンプレートの作成] をクリックします。
初めてイメージビルダーにアクセスするときは、イメージビルダーのウェルカムページでイメージテンプレートの作成をクリックします。
[画像テンプレートの作成] ページで、パラメーターを設定し、[OK] をクリックします。
次のセクションでは、[ソースイメージの設定] セクションでパラメーターを設定するために使用できるサンプルテンプレートコンテンツを提供します。 イメージテンプレートの作成方法の詳細については、「イメージテンプレートの作成とビルドタスクの実行」をご参照ください。
[基本情報] セクションで、[テンプレート名] 、[説明] 、および [タグ] パラメーターを設定します。
[ソースイメージの設定] セクションで、[Dockerfileからテンプレートのインポート] をクリックし、テンプレートの内容を入力して、[OK] をクリックします。
この例では、次のテンプレートコンテンツが入力されます。
画像からの: aliyun_3_9_x64_20G_alibase_20231219.vhd LABEL author="admin" date="2024-01-15" platform="aliyun" RUN yum update -y RUN rpm -- rebuilddb && yum install -y autoconf automake make wget net-tools zlib-devel make gcc openssl-devel pcre-devel tar RUN mkdir nginx_copy コピーhttp://nginx.org/download/nginx-1.17.1.tar.gz nginx_copy WORKDIR /root/nginx_copy ユーザールート RUN tar -zxvf nginx-1.17.1.tar.gz ENV nginxversion nginx-1.17.1 WORKDIR /root/nginx_copy/$nginxversion 実行します。/configure -- prefix=/usr/local/nginx && make&make install WORKDIR /usr/local/nginx ENTRYPOINT ["sbin/nginx","-c"] CMD conf/nginx.conf
[画像] および [テンプレートコンテンツ] パラメーターは自動的に設定されます。
[中間インスタンスの設定] セクションで、インスタンスタイプ、システムディスクサイズ、およびパブリック帯域幅 (Mbps) のパラメーターを設定します。
重要デフォルトでは、パブリック帯域幅 (Mbps) パラメーターは0に設定されています。 この値は、中間インスタンスにインターネット接続がないことを示します。 イメージテンプレートのコンテンツにインターネット接続を必要とするコマンドが含まれている場合は、パブリック帯域幅 (Mbps) をゼロ以外の値に設定します。 そうでない場合、イメージ構築タスクは失敗します。
このトピックでは、依存関係をダウンロードするにはインターネット接続が必要です。 [パブリック帯域幅 (Mbps)] をゼロ以外の値に設定します。
[イメージ配布の設定] セクションでは、作成したイメージを指定したリージョンに配布するか、指定したAlibaba Cloudアカウントと共有するように設定できます。
この例では、次の設定が使用されています。
宛先イメージ名: 作成するイメージの名前プレフィックスを指定します。 この例では、名前のプレフィックスは
test-image
に設定されています。現在のリージョン: このパラメーターは自動的にデフォルトの配布リージョンに中国 (北京) に設定されます。
宛先リージョン: 中国 (杭州) を選択します。
共有ユーザーID: Alibaba Cloudアカウントを指定します。
すぐに実行: [いいえ] を選択します。
[イメージテンプレート] タブで、作成したイメージテンプレートを見つけます。 [操作] 列で、[実行] をクリックします。
画像テンプレートのIDをクリックすると、画像テンプレートの詳細ページの [構築履歴] タブで画像構築タスクの進行状況を表示できます。 イメージ構築タスクが正常に実行されると、[ステータス] 列に [成功] が表示され、イメージIDが生成されます。
説明[ステータス] 列に [失敗] が表示されている場合は、[実行結果] 列に表示されるエラーの詳細を確認して、問題を特定してトラブルシューティングできます。
ステップ2: 作成した画像を表示する
[テンプレートの詳細] ページの [構築履歴] タブで、イメージIDをクリックして、作成したイメージの詳細ページに移動します。
[共有情報] タブをクリックして、作成したイメージが共有されているAlibaba Cloudアカウントを表示します。
作成した画像の分布を確認してください。
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、画像が配信されるリージョンを選択します。
この例では、中国 (青島) をクリックします。
[カスタムイメージ] タブで、配布されたイメージを表示します。
説明この例では、イメージ名プレフィックス
test-image
を使用してイメージを検索します。 配布されたイメージの名前は、<image name prefix >_< イメージ構築タスクのID>
の形式です。 イメージビルドタスクのIDを使用して、イメージを検索することもできます。
ステップ3: イメージからECSインスタンスを作成し、NGINX開発環境をテストする
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、画像テンプレートが作成されている領域を選択します。
この例では、画像テンプレートは中国 (北京) リージョンで作成されます。
[イメージテンプレート] タブで、作成したイメージテンプレートを見つけ、テンプレートIDをクリックして [テンプレートの詳細] ページに移動します。
[建物の履歴] タブで、画像IDをクリックして、画像の詳細ページに移動します。
画像の詳細ページの右上隅にある [インスタンスの作成] をクリックします。
ビジネス要件に基づいてインスタンスを作成します。 インスタンスを作成するときは、次の項目に注意してください。 詳細については、「カスタムイメージを使用したECSインスタンスの作成」をご参照ください。
[パブリックIPアドレス] セクションで [パブリックIPv4アドレスの割り当て] を選択します。
ポート80を開くようにセキュリティグループのインバウンドルールを設定します。
ECSインスタンスのパブリックIPアドレスを取得します。
インスタンスが作成されたら、インスタンスリストページに移動します。
作成したインスタンスを見つけ、[IPアドレス] 列にパブリックIPアドレスをコピーします。
コンピューターでブラウザーを開き、アドレスバーに
<ECSインスタンスのパブリックIPアドレス>
を入力し、enterキーを押します。次のページが表示されたら、NGINX開発環境にアクセスできます。