ビルドしたアプリケーションを転送する

最終更新日: 2020年11月9日
R8 | R9

CodeCommitへの接続準備

ここまでの設定で、開発者がフルビルドした Wagby アプリケーションを転送するための送り先(CodeCommit - AWS上に用意されているGit環境)が準備されています。はじめに、この(送り先)情報を Designer に登録します。

図1 デプロイ

CodeCommitのURL

次のコマンドでCodeCommitのURLを取得します。

aws ssm get-parameter --name "/wmsa/wmsaapp1test/RepoApplicationUrl"

name 指定は次の書式となります。"/" + WMSAName + "/" + EnvironmentName + "/RepoApplicationUrl"

コマンドの出力例を示します。Valueの値を使います。

{
    "Parameter": {
        "Name": "/wmsa/wmsaapp1test/RepoApplicationUrl",
        "Type": "String",
        "Value": "https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/wmsaapp1test-app",
        "Version": 1,
        "LastModifiedDate": "2020-07-13T15:07:50.537000+09:00",
        "ARN": "arn:aws:ssm:ap-northeast-1:111111111111:parameter/wmsa/wmsaapp1test/RepoApplicationUrl",
        "DataType": "text"
    }
}

CodeCommitへアクセスするアカウントとパスワードの設定

CodeCommitへアクセスするユーザ名を取得します。

aws ssm get-parameter --name "/wmsa/wmsaapp1test/RepoApplicationUsername"

name 指定は次の書式となります。"/" + WMSAName + "/" + EnvironmentName + "/RepoApplicationUsername"

コマンドの出力例を示します。

{
    "Parameter": {
        "Name": "/wmsa/wmsaapp1test/RepoApplicationUsername",
        "Type": "String",
        "Value": "wmsaapp1test-app-user",
        "Version": 1,
        "LastModifiedDate": "2020-07-13T15:08:36.442000+09:00",
        "ARN": "arn:aws:ssm:ap-northeast-1:111111111111:parameter/wmsa/wmsaapp1test/RepoApplicationUsername",
        "DataType": "text"
    }
}

アカウント、パスワードを発行します。--user-nameパラメータに、上記Valueの値を指定します。

aws iam create-service-specific-credential --user-name wmsaapp1test-app-user --service-name codecommit.amazonaws.com

コマンドの出力例を示します。(パスワードは実際に出力された値に読み替えてください。)

{
    "ServiceSpecificCredential": {
        "CreateDate": "2020-07-13T09:25:02+00:00",
        "ServiceName": "codecommit.amazonaws.com",
        "ServiceUserName": "wmsaapp1test-app-user-at-111111111111",
        "ServicePassword": "YOURPASSWORD",
        "ServiceSpecificCredentialId": "AAAAAAAAAAAAAAAAAAAAA",
        "UserName": "wmsaapp1test-app-user",
        "Status": "Active"
    }
}

Designerからの転送

転送先の設定

Designerの "運用 > デプロイ" を開きます。

アプリケーション app1

"運用 > デプロイ > 転送先設定" に、上で作成したCodeCommitの認証情報を指定します。

設定欄
URLhttps://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/wmsaapp1test-app
ラベルWmsaApp1Test (※任意の文字列)
アカウントwmsaapp1test-app-user-at-111111111111
パスワードYOURPASSWORD
ドメイン (*1)app1
(*1) 今回は1つのアプリケーションのためドメインは用いられませんが、設定だけは行ってください。

アプリケーションのフルビルドと転送

フルビルド

本ガイドでは Aurora (MySQL 5.7) を使うようになっています。そのため開発するアプリケーションも MySQL 5.7 を用いるようにフルビルドされたものとします。このアプリケーションを転送する例を説明します。

ビルド画面で "ビルド終了後アプリケーションを起動する" のチェックは解除してください。ここまで確認できたところで、app1 をフルビルドします。

転送

転送先選択にてWmsaApp1Testを選択し、アプリケーション転送ボタンをクリックします。

注意

転送処理は20分ほどを要します。

メールによる進捗状況の通知

前ページで NotifyEmailAddress パラメータを指定していた場合、転送処理の途中で(指定したメールアドレスに)メールが送信されます。例を示します。

Subject: AWS Notification Message
Date: Tue, 14 Jul 2020 04:20:18 +0000
From: AWS Notifications 
To: foo@example.com

"アプリケーション 'https://app1test.wmsa.wagby.com' ステージ 'Source' のステータスが 'SUCCEEDED' になりました。 execution-id:f88958b8-954a-4369-9052-f4bc7f306638"

--
If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe:
https://sns.ap-northeast-1.amazonaws.com/unsubscribe.html?SubscriptionArn=arn:aws:sns:ap-northeast-1:234318443261:NotifyCodePipelineTopic-WmsaApp1TestCluster-CodepipelineCreate-13GVBUVE5N5B0-AppPipeline-1WPPLWYQSK3B2:36653777-01e6-40ed-82c3-5be9abfcd11d&Endpoint=foo@example.com

Please do not reply directly to this email. If you have any questions or comments regarding this email, please contact us at https://aws.amazon.com/support

ステージは Source, Build, Deploy の3種類があります。

ステージ説明
SourceCodeCommitリポジトリからデータを取得した。
BuildDockerイメージを作成し、ECRへ登録した。
DeployECSへデプロイした。

これらのステージが終了したときに、ステータス(状態)がメールで送信されます。ステータスは成功したときはSUCCEEDEDとなります。

内部では他のステータスもあります。通常は発生しないものです。詳細はこちらをお読みください。
https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/detect-state-changes-cloudwatch-events.html

動作の確認

デプロイが完了したら Web ブラウザで https://app1test.wmsa.wagby.com/ を開きます。ビルドしたアプリケーションの動作を確認してください。