{
    "componentChunkName": "component---src-templates-blog-post-tsx",
    "path": "/2020/02/16/",
    "result": {"data":{"site":{"siteMetadata":{"title":"otegal.dev"}},"markdownRemark":{"id":"ce6a5f4a-2da7-51c0-b0d0-b19cea9d9ed0","excerpt":"なにこれ AWS…","html":"<h1>なにこれ</h1>\n<p>AWSのサーバーレスアプリケーションの<a href=\"https://aws.amazon.com/jp/getting-started/projects/build-serverless-web-app-lambda-apigateway-s3-dynamodb-cognito/\">チュートリアル</a>をやってみました。</p>\n<p>コードは用意しているものを利用するのですが、アプリケーションのデプロイが簡単なのがとてもいいね！と思いました。<br>\nアクセスが少ないアプリケーションであれば、サーバーレスで作っていくのが良さそうな感覚は得られました。サーバー立てちゃうとお金辛いもんね。。。</p>\n<h1>チュートリアルについて</h1>\n<p>題材はユニコーンを召喚するWebサービスです。いいですね。遊び心ありますね。<br>\n利用サービスとしてはLambda, API Gateway, S3, DynamoDB, Cognitoです。</p>\n<p>構成は以下5ステップになっています。</p>\n<ul>\n<li>S3を静的サイトとして公開する</li>\n<li>Cognitoを利用してユーザー管理する</li>\n<li>サーバーレスでバックエンドを構築する</li>\n<li>RESTful APIのデプロイ</li>\n<li>リソースのクリーンアップ</li>\n</ul>\n<p>それぞれの感想を述べます。</p>\n<h2>S3を静的サイトとして公開する</h2>\n<p>簡単でござる。手順に従うだけです。<br>\nデプロイした時にhttpである事と、カスタムドメイン設定をしていなかったので、何処かで学ぼう。。。</p>\n<h2>Cognitoを利用してユーザー管理する</h2>\n<p>これも簡単。ユーザー認証をverifyメールで行える。<br>\n何もしないと質素なメールが送信されるけど、カスタムすれば良し。<br>\n初めてcognito使ったけど便利ですねー。</p>\n<h2>サーバーレスでバックエンドを構築する</h2>\n<p>ここは脳死では進んでは行けない。</p>\n<p>lambdaでログを吐くため、DynamoDBに書き込みを行うためにIAMロールが必要。<br>\nポリシーは<code class=\"language-text\">AWSLambdaBasicExecutionRole</code>を選択しておくとCloudWatchにアクセス出来るっぽい。<br>\nDynamoDBにはインラインポリシーで<code class=\"language-text\">PutItem</code>アクションを通すように指定する。</p>\n<p>ここは次回やる時に権限周りで引っかかりそうなのでメモ。<br>\nこのセクションのステップ2に書いてあるので、何回か読むと思う。</p>\n<p>あとARNって何の略なんだろうって思っていたけど謎が解けた。<br>\nAmazon Resource Nameの略だった。</p>\n<h2>RESTful APIのデプロイ</h2>\n<p>APIの設定を諸々やるステップになってます。<br>\nここも何回か読むと思う。エンドポイントの作成ですね。<br>\nエンドポイントはhttpsで作ってくれる。ありがたやー。</p>\n<h2>リソースのクリーンアップ</h2>\n<p>最後にチュートリアルで作成した各種リソースを削除する手順がありました。<br>\nありがたやー。</p>\n<h1>やってみての感想</h1>\n<p>チュートリアルが本当に簡単で、簡単すぎて物足りない感覚は有ります。<br>\nでも最初に感覚つかむのにはこれくらいで良いのかも。</p>\n<p>簡単なアプリのデプロイならサーバーレスが良いですね。そんなにアクセス来ないなら料金もお安いし。<br>\n普段のデプロイフローと全然違うけど、これいいっすね。（料金が）</p>\n<p>DynamoDBへのRead/Writeはコード見てないから分からないから調べる必要有り。これは次にやってみようかな。</p>\n<p>中級的なチュートリアルも見つけた。Fargateも安くなったしやってみようかな？<br>\n<a href=\"https://aws.amazon.com/jp/getting-started/projects/build-modern-app-fargate-lambda-dynamodb-python/\">https://aws.amazon.com/jp/getting-started/projects/build-modern-app-fargate-lambda-dynamodb-python/</a></p>\n<h1>最後に</h1>\n<p>ユニコーンをTokyoに手配出来たので写真載せておきますね。\n<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 300px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/aab4e4f9e90d1898adc23ae7784b9617/fcda8/unicorn.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 70.66666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB+UlEQVQ4y1VTXY+jMAzk//+efT9ptfe2bcVXoT0KpaUhQIBSKp32aU5j1lz3wcQk9ng8cbz7/Y5xHOGcQ9M0OJ/PYlVV4fF4oO97tG0r5/QZOwwDnOsxDCO6rvs+c7J6DGDi8/kUQN/3EYYh9vs9tBiT6DOO/9M0CWDbdj8K0Lzb7QYaWfBgnmfxCazgRVHIXhRFUijP87UrmoLSvCzLJChN07UlsnG9Q9e2Yty31ooMZVkKAWXKWAJpnsfgV23YHm1k0HPGMC0JBFQtGavxulrboK4tPCZTO1pd12LmZtAMDlNcIH77QP+YcCkvIsFutxOWjGcRgqmm0jKrKpiysLWFm0bUv0O8v/3CJvBRXa+SmOcFwjBa9WS8ti0t6w+NrbMlsh76AfPXX7j7iOxPhvJygXMdiqKE7+9hbSsXSOOEqAze0nstQnPVuSLbxzTBGIuiuOB4zFGWV8Rxis0mwHYboqqMFOHcsksS8qhLEASI4xjGGKlGQIKT/QJywG4XrUD0dU2Sg7SuD8HjuJANk6mRDjKrca9pWgRBsgK8gn1+BjgeT0JCpRMNFYwg3EySRFjrrfp+jO02WgH/gy7nHP61ZX5UVL0cPiljarkA1eyVGf+jKIU+W301Avg6oGTJW7teDU6nM9I0+wEUhqn4h8NpmYTvUXkF/AehoQZwapbFJgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"></span>\n  <img class=\"gatsby-resp-image-image\" alt=\"unicorn\" title=\"unicorn\" src=\"/static/aab4e4f9e90d1898adc23ae7784b9617/5a46d/unicorn.png\" srcset=\"/static/aab4e4f9e90d1898adc23ae7784b9617/1db73/unicorn.png 75w,\n/static/aab4e4f9e90d1898adc23ae7784b9617/8a4e8/unicorn.png 150w,\n/static/aab4e4f9e90d1898adc23ae7784b9617/5a46d/unicorn.png 300w,\n/static/aab4e4f9e90d1898adc23ae7784b9617/fc2a6/unicorn.png 450w,\n/static/aab4e4f9e90d1898adc23ae7784b9617/fcda8/unicorn.png 590w\" sizes=\"(max-width: 300px) 100vw, 300px\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\" loading=\"lazy\" decoding=\"async\">\n  </a>\n    </span></p>","frontmatter":{"title":"AWSのサーバーレスアプリケーション作成チュートリアルをやってみた","tags":["AWS"],"date":"2020-02-16","description":null}}},"pageContext":{"id":"ce6a5f4a-2da7-51c0-b0d0-b19cea9d9ed0","previousPostId":"84927ea6-c326-581b-9306-0be070ad469f","nextPostId":"afc1c6f1-ce2c-50a8-a994-a1677286622c"}},
    "staticQueryHashes": ["2841359383"]}