AWS CodeDeploy を使用します

このチュートリアルでは、AWS 上の仮想マシンにアプリケーションコードをデプロイする方法について学習します。AWS へまたはオンプレミスサーバーへのコードのデプロイを自動化するサービスであるAWS CodeDeploy を使用して、 Amazon EC2 で作成および管理する仮想マシンにコードをデプロイすることができます。 

このチュートリアルはすべて無料利用枠の範囲で実行できます。

AWS リソース管理を始めましょう

コンソールにサインイン

Amazon EC2 で仮想マシンにアクセスするためには、キーペアを作成する必要があります。 キーペアがすでにある場合は、この手順をスキップしてステップ 2 に進んでください。


a. ここをクリックすると、AWS マネジメントコンソールが新しいブラウザウィンドウで開き、このステップバイステップガイドを開いたままにすることができます。 [Create Key Pair (キーペアを作成)] をクリックします。

tmt-codeDeploy-20

(クリックして拡大)

tmt-codeDeploy-20

b. キーペアに名前を付けます。 このチュートリアルでは、MyFirstKey を使用します。 [Create (作成)]をクリックします 。

注意:Amazon EC2 は公開鍵暗号方式を使用し、ログイン情報の暗号化と復号を行います。キーペアの詳細については、「Amazon EC2 のキーペア」 を参照してください。

tmt-codeDeploy-19

(クリックして拡大)

tmt-codeDeploy-19

a. AWS マネジメントコンソールの左上隅のホームアイコンをクリックします。 [Developer Tools (開発者向けツール)] の下のCodeDeploy を探し、クリックして AWS CodeDeploy コンソールを開きます。

tmt-codeDeploy-0

(クリックして拡大)

tmt-codeDeploy-0

b. AWS CodeDeploy コンソールで、[Get Started Now (今すぐ開始する)] をクリックします。

アプリケーションがすでに存在する場合は、右の列の [Create Deployment Walkthrough (デプロイのウォークスルーを作成)] をクリックします。

tmt-codeDeploy-1

(クリックして拡大)

tmt-codeDeploy-1

c. [Sample Deployment] を選択し、[Next Step] をクリックします。

tmt-codeDeploy-2

(クリックして拡大)

tmt-codeDeploy-2

コードをデプロイするために、AWS の仮想マシンを起動する必要があります。 AWS 仮想マシンは、Amazon EC2 インスタンスとして、または単に「インスタンス」と短縮して知られています。このステップでは、事前設定された EC2 テンプレートを使用して、3 つの EC2 インスタンスを起動します。


以下のオプションを使用してインスタンスの設定を構成します:

  • オペレーティングシステム :EC2 インスタンスの OS を選択できます。 このチュートリアルでは、Amazon Linux を使用します。
  • インスタンスタイプ:このチュートリアルでは、無料利用枠内に留まるデフォルトの値として[t1.micro] インスタンスタイプが選択されています。Amazon EC2 では、異なるユースケースに合わせて最適化された、幅広いインスタンスタイプのセレクションを提供しています。インスタンスタイプは、CPU、メモリー、ストレージ、ネットワークキャパシティーの様々な組み合わせによって構成されているため、アプリケーションのリソースとして適切な組み合わせを選択する柔軟性が実現しています。
  • キーペア名:ドロップダウンリストから、ステップ 1 で作成した Amazon EC2 インスタンスキーペアであるMyFirstKey を選択し、 Amazon EC2 インスタンスに接続します。すでに持っているキーペアを選択することもできます。
  • タグキーと値 :AWS CodeDeploy は、このタグのキーと値を使用して、デプロイの際にインスタンスを見つけます。デフォルトの値をそのまま使用できます。

[Launch Instances (インスタンスを起動)] をクリックします。

注意:このステップは、完了するまでに数分かかることがあります。 お待ちいただく間、お気軽に以下のビデオによってこのチュートリアルを復習してください:

codeDeploy_video
2:10
「AWS CodeDeploy ウォークスルー」
tmt-codeDeploy-4

(クリックして拡大)

tmt-codeDeploy-4

AWS CodeDeploy は、コードのデプロイ中にアプリケーション名を使用して、デプロイグループ、デプロイ設定、アプリケーションのリビジョンなどの、正しいデプロイコンポーネントを参照していることを確認します。


a. [Application Name (アプリケーション名)] ボックスに、サンプルアプリケーションの名前としてHelloWorld を入力し、[Next Step (次のステップ)] をクリックします。

tmt-codeDeploy-5

(クリックして拡大)

tmt-codeDeploy-5

b. 場所や説明など、アプリケーションリビジョンに関する情報を確認します。

注意:サンプルバンドルをダウンロードするオプションがあります。このビューでは、EC2 にデプロイするアプリケーションのリビジョンに関する情報を確認することができます。アプリケーションのリビジョンは、アプリケーションに特化したファイル (AppSpec ファイル) とともに、ソースコード、ウェブページ、実行可能なファイル、およびデプロイスクリプトなどのソースコンテンツを含むアーカイブファイルです。AppSpec ファイルは、CodeDeploy がそれらの宛先へのリビジョンにおいて、ソースファイルをマッピングする役に立ち、デプロイのさまざまな段階でスクリプトを実行するのを支援します。

[次のステップ] をクリックします。

tmt-codeDeploy-7

(クリックして拡大)

tmt-codeDeploy-7

デプロイグループは、CodeDeploy がリビジョンをデプロイする個々の EC2 インスタンスのセットです。デプロイグループには、個別にタグ付けされたインスタンス、Auto Scaling グループの中の Amazon EC2 インスタンス、またはその両方が含まれます。


[Deployment Group Name (デプロイグループ名) ] ボックスの中では、提案されたデプロイグループ名 (DemoFleet) をそのままにしておきます。

次に、「Amazon EC2 タグによる検索」セクションに、キーの値のペアを入力することによって、Amazon EC2 インスタンスを指定します:

  • [Key (キー)] および [Value (値)] の列は、ステップ 3 からの値によって、自動的に事前設定されなければなりません。
  • [Instances (インスタンス)] の列には、コードをデプロイするEC2 インスタンスの数が表示されます。 このチュートリアルでは、事前設定された 3つの EC2 インスタンスは起動されており、これらのインスタンスは、すでにデプロイグループにまとめてタグ付けされています。

[Next Step (次のステップ)] を選択します。

tmt-codeDeploy-8

(クリックして拡大)

tmt-codeDeploy-8

このステップでは、インスタンスにデプロイするために AWS CodeDeploy 許可を付与します。Amazon EC2 または AWS CodeDeploy のようなサービスへのアクセス許可を付与するときは、AWS サービス用のロールを作成します。これらのサービスは、AWS リソースにアクセスできるため、それらのリソースでどのようなサービスが許可されるかを決定するロールを作成します。


サービスロール:[Create a new service role (新しいサービスロールの作成)] を選択します。 サービスロールがすでに存在する場合、[Use an existing service role (既存のサービスロールを使用する)] を選択できます。

ロール名CodeDeploy_HelloWorldデフォルト値を適用することができます。 既存のサービスロールを使用している場合は、[Role Name (ロール名) ] ドロップダウンリストからそれを選択します。

[Next Step (次のステップ)] をクリックします。

tmt-codeDeploy-9

(クリックして拡大)

tmt-codeDeploy-9

このステップでは、デプロイ設定を選択し、3 つの EC2 インスタンスへのデプロイを開始します。このステップを終えると、オンラインでアクセスできる、ライブで実稼働するウェブサイトのデプロイが正常に完了します。


a. デプロイ設定では、アプリケーションのリビジョンを同時にデプロイするインスタンスの数を判断することができ、デプロイの成功および失敗の条件が説明されます。 たとえば、デフォルト設定を使用して (「1 つずつ」)、アプリケーションを 3 個のインスタンスにデプロイする場合、この設定では 1 回に 1 個のインスタンスにデプロイします。

デフォルトのデプロイ設定をそのまま使用し、[Next Step (次のステップ)] をクリックします。

tmt-codeDeploy-10

(クリックして拡大)

tmt-codeDeploy-10

b. デプロイの詳細を確認し、[Deploy Now (今すぐデプロイする)] をクリックします。

注意:これは、完了するまでに数秒かかることがあります。

tmt-codeDeploy-11

(クリックして拡大)

tmt-codeDeploy-11

c. このサンプルリビジョンは、各インスタンスに 1 つのウェブページをデプロイします。3 つのすべてのインスタンスが完了したら、[View All Instances] を選択します。

tmt-codeDeploy-14

(クリックして拡大)

tmt-codeDeploy-14

d. デプロイしたいずれかのインスタンスのインスタンス ID をクリックします。EC2 ダッシュボードが表示されます。ここで起動したインスタンスを表示することができます。

tmt-codeDeploy-15

(クリックして拡大)

tmt-codeDeploy-15

e. サンプルアプリケーションが正常にデプロイされたかどうかを確認するには、下のパネルにあるPublic DNS フィールド内のアドレスをコピーして、そのアドレスをブラウザに貼り付けると、ライブウェブページが表示されます。

tmt-codeDeploy-21

(クリックして拡大)

tmt-codeDeploy-21

今後課金が発生しないようにするため、このチュートリアルで使用されたリソースをクリーンアップする必要があります。このチュートリアルのために起動したEC2 インスタンスは、あなたがインスタンスを終了しない限り実行し続けます。


a. EC2 コンソールでは、検索バーにはインスタンス ID の検索フィルターが自動で入力されます。 このフィルタを削除すると、CodeDeploy が起動したすべてのインスタンスが表示されます。 

tmt-codeDeploy-16a

(クリックして拡大)

tmt-codeDeploy-16a

b. 終了するためには、各 Amazon EC2 インスタンスのチェックボックスを選択します。[Actions (アクション) ]、[Instance State (インスタンスの状態) ]を選択し、[Terminate (終了する)] をクリックし ます。

プロンプトが表示されたら、[Yes, Terminate (はい、終了します)] をクリックします。

tmt-codeDeploy-18a

(クリックして拡大)

tmt-codeDeploy-18a

AWS CodeDeploy を使用したAmazon EC2 インスタンスへの一番最初のコードのデプロイは、正常に作成され、完了されました。提供されたテンプレートを使用して、適切なタグによって事前設定された 3 つのインスタンスを初めて起動し、AWS CodeDeploy を使用するために必要なエージェントをインストールしました。最後に、デプロイ用にアプリケーションを準備し、インスタンスにデプロイするためのCodeDeploy 許可を付与し、コードを正常にデプロイしました。

AWS CodeDeploy を使用して、Amazon EC2 インスタンスへのサンプルのデプロイが完了したので、 独自のアプリケーションで CodeDeploy を使用する方法を学習することができます。EC2 インスタンスを起動する方法を学習するためにCodeDeploy ドキュメントを閲覧し、次にそれによって CodeDeploy がそれらにコードをデプロイすることができるようにインスタンスを設定します。このチュートリアルでは、CodeDeploy が機能する方法を学習し体験するお役に立つように、これらの設定手順は簡素化されています。

AWS CodeDeploy インスタンスの設定方法を学習する

はい
いいえ