Skip to content

Latest commit

 

History

History
89 lines (57 loc) · 3.62 KB

DOCS_03_DEPLOY_API.md

File metadata and controls

89 lines (57 loc) · 3.62 KB

API のデプロイ

CDK で書かれた API を AWS にデプロイします。以下の手順は全て /provision ディレクトリで実施します。

CDK の準備

CDK についての基本的なことは公式ドキュメントをご参照ください。CDK を実行するにあたって必要なものは 2 つで、1 つは AWS IAM の権限が設定された実行環境、もう一つは Node.js の実行環境です。

また、初めて CDK を利用する方は bootstrap する必要があります。以下のコマンドを実行しておいてください。

cdk bootstrap

AWS IAM の実行権限の設定

AWS IAM にてユーザーを作成し、Access Key ID と Secret Access Key を以下のコマンドから設定します。設定には aws コマンドを利用します。(aws コマンドのインストール方法)

aws configure

CDK のインストール

Node.js が実行可能な環境で、以下のコマンドを実行します。

npm install -g aws-cdk

cdk --version が正常に実行できれば、インストールは完了です。

API のデプロイ

最初に、デプロイ先の Region を環境変数で指定します。

export AWS_DEFAULT_REGION=<region>

<region>ap-northeast-1us-east-1 など適切な Region に置き換えてください。

続いて、必要なモジュールをインストールします。以下のコマンドを実行してください。

npm install

/lambda ディレクトリでも同様にモジュールのインストールが必要です。以下のコマンドを実行してください。

cd lambda; npm install; cd -;

続いて、Contract をコンパイルした生成物 (前の手順で作成したもの) を /lambda/contracts にコピーします。以下のコマンドを実行してください。

cp ../contract/artifacts/contracts/SimpleERC721.sol/SimpleERC721.json lambda/contracts/.

続いて、CDK プロジェクトをビルドします。(TypeScript で書かれているため。) 以下のコマンドを実行してください。

npm run build

続いて、必要な環境変数を設定します。Amazon Managed Blockchain のエンドポイントとデプロイした Contract でアドレスは環境変数から読み取ります。AMB_HTTP_ENDPOINTEthereum Testnet Goerli のノード作成 (Amazon Managed Blockchain) で作成したノードの HTTP エンドポイントで、CONTRACT_ADDRESSContract のデプロイ でデプロイした Contract のアドレスです。以下のコマンドを適切な値に置き換えて実行してください。

export AMB_HTTP_ENDPOINT=https://<node id>.ethereum.managedblockchain.<region>.amazonaws.com
export CONTRACT_ADDRESS=0x...

最後に、デプロイを実施します。以下のコマンドを実行してください。

cdk deploy SimpleNftMarketplaceStack

以上でデプロイは完了です。デプロイ完了時に表示される API Gateway のエンドポイント、Congito の UserPool ID と Client ID の 3 つは後続の手順で必要になるので、転記しておいてください。

次の手順

後続の手順で必要になるもの

  • API Gateway のエンドポイント
  • Congito User Pool の ID
  • Cognito User Pool Client の ID

-> フロントエンドの動作確認