- 1. 【Rails6】AWS EC2デプロイ時に背景画像を表示
- 2. コピペで出来る!LambdaとAPI Gatewayを使って簡単にAPIを作る手順
- 3. ロードバランサー背後のWebサーバのログでグローバルIPを記録する
- 4. AWS Route53 とは
- 5. 【Rails】業務未経験者がRailsを使用して情報資産共有アプリを開発したので共有します
- 6. AWSを試しに使う場合はどのリージョンがオススメ? リージョンの比較をしてみた
- 7. EKS上のPodからEFSアクセスポイントを利用するときのバックアップ・リストア方法
- 8. 【学習メモ】AWS Best Practices
- 9. AppSyncとは?
- 10. AWS SAM を使って、Lambda のローカル実行環境を試してみる
- 11. DockerプロジェクトをAWSのECRにプッシュしようとしたらエラーが起きたときに話
- 12. 【Rails6】AWS EC2でデプロイする手順
- 13. クライアントがアプリの一部機能にドメインを割り当てる際に自動でSSL化する方法
- 14. AWSクラウドプラクティショナー試験
- 15. Windows10からAWS ECRにイメージをプッシュする
- 16. AWS AMIの作成
- 17. [AWSxAmplifyxCognito] Amplifyでグローバルサインアウトがグローバルサインアウトしてくれない問題の応急処置
- 18. M1 MacでのECRへのpushで ここに気をつけろ❗️
- 19. 【AWS】Route 53で独自ドメインを取得後にElastic IPを紐付ける〜世界のAmazon様、お世話になります〜
- 20. AWS IoT Core Job 基本操作
【Rails6】AWS EC2デプロイ時に背景画像を表示
#前提
・AWS EC2は導入済み・背景画像は『app/assets/images』フォルダに格納している
#バージョン
rubyのバージョン ruby-2.6.5
Railsのバージョン Rails:6.0.0#はじめに
background-imageプロパティを使って、Herokuやローカル上では背景画像が表示されているのに
AWS EC2でデプロイしたら、背景画像が表示されないので、それを解決したい方向けの記事となっています。#概要
以下2点を変更して、再度デプロイすると背景画像が表示されます。①CSSファイルをSCSSファイルに変更する。
②背景画像を指定するCSSの記述をbackground-image: image-url(“画像名”);に変更する。
#詳細
##①CSSファイルをSCSSファイルに変更する。
以下のどちらかのパターンで行えます。・ファイル名の拡張子を、 .CSS → .SCSSに変更する。
・背景画像を表示させているviewの拡張子.SCSSファイルに、②の内容を記述する。※私は後者を選びました。というのも、SCSSに拡張
コピペで出来る!LambdaとAPI Gatewayを使って簡単にAPIを作る手順
散々既出ですが、自分の備忘録を兼ねてメモを残しておきます。
## 構成
Webクライアント – API Gateway – Lambda (Python) – S3
S3上にあるjsonオブジェクトを単純に返すだけのシンプルなAPIです。
## S3にjsonを配置する
Bucket名は何でも良いですがグローバルでユニークである必要があるので適当な数字をつけるなど工夫して下さい。
今回は“`test-lambda-api-12345“`としました。(※1)![b1511a8403885c4bf3f5877875cee810.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229008/717354c4-829d-511b-fe2c-e638aab2eab4.png)
以下のようなjsonを作り、“`hello.json“`という名前でBucket上に保存します。
“`
{
“greeting”: “Hello, World!”
}
“`![58babbdd034
ロードバランサー背後のWebサーバのログでグローバルIPを記録する
ロードバランサーの背後のWebサーバでは、ロードバランサーのプライベートIPが記録されます。
やはり、どこからアクセスがあったかは気になるところです。
Apache の場合これを実現するには以下で可能です。
“`
#LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
LogFormat “%{X-Forwarded-For}i %h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
“`
AWS Route53 とは
#Route53とは
AWSのRoute53はDNSサービスを提供します。
主な機能は下記通りです。
ーーーーーーーーーー
Domain registration
DNS management
Health check
ーーーーーーーーーー##Domain registration
タイトル通り、ドメインを登録する。
設定したいドメイン名を入力して、登録可能のドメイン名が表示されます。
⇧ドメインの価格。通常は12ドルです。(年間費用)##DNS management
ドメイ
【Rails】業務未経験者がRailsを使用して情報資産共有アプリを開発したので共有します
![facebook_cover_photo_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864210/5b825f26-4caa-6705-cf5a-2ed215478ba4.png)
#はじめに
こんにちは!2020年10月よりRubyやRailsを中心に学習しているyutaro(@yutaro48)と申します。
このたび、Railsを使用して情報資産共有アプリ「KnowHow」を開発しましたので紹介させていただきます。#アプリ概要
情報資産共有アプリ「KnowHow」を作成しました。
![top-page.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864210/a1c07d8d-a520-de76-31ec-305b69eba0e8.gif)
アプリのURL:https://knowhow-yutaro.herokuapp.com/
(これからAWSへデプロイする予定です。)
######こ
AWSを試しに使う場合はどのリージョンがオススメ? リージョンの比較をしてみた
#選択するリージョンについて
AWSでリージョンを選択するときは一般的には**自分が住んでいる国(地域)のリージョン**を選択すると思います。
自分の場合は日本に住んでいますので通常はパシフィック(東京)リージョンを選択します。
ですが、**米国東部(バージニア北部)リージョンが対応サービスが一番多い**ですし、
**試しにAWSを使いたい時や、新機能を使いたい時に米国西部(オレゴン)リージョンが便利**という情報を得ましたので、
今回はどのリージョンがオススメか筆者なりの意見を書きたいと思います。#リージョンの比較
リージョンの比較をする際に下記の点について比較を行いました。1. リージョンの使用料金
1. リージョンによる対応サービス
1. リージョンの応答速度
1. リージョンの使用料金・応答速度を考慮した料金比較米国西部(オレゴン)リージョンと比較するのは米国東部(バージニア北部)、アジアパシフィック (東京)としていま
EKS上のPodからEFSアクセスポイントを利用するときのバックアップ・リストア方法
## はじめに
EKS上のPodからEFSをPersistentVolumeとして使用する方法の1つとして[EFS CSI Driver](https://github.com/kubernetes-sigs/aws-efs-csi-driver)が選択肢としてあります。
今回はEFSアクセスポイントを使用した際のバックアップとリストアの方法を説明します。
EKSは1.16を使用しています。## 前準備
### EFS CSI Driver
EFS CSI Driverを以下のコマンドでデプロイします。
“`console
$ kubectl apply -k “github.com/kubernetes-sigs/aws-efs-csi-driver/deploy/kubernetes/overlays/stable/ecr/?ref=release-1.0”
“`次に、PersistentVolumeでEFSを使用するためにStorageClassを定義します。
“`yaml:efs-sc.yaml
kind: StorageClass
apiVersio
【学習メモ】AWS Best Practices
#11 Best Practices
##1.スケーラビリティの確保
##2.環境の自動化使い捨て
##3.リソースの使用
##4.コンポーネントの疎結合
AppSyncとは?## 勉強前イメージ
アプリケーションのデータをsyncするとか・・?
## 調査
### AppSyncとは?
GraphQLというWebAPIを用いてデータにアクセスでき、処理を行うことができるもの
### WebAPI とは?
APIやりとりをHTTP,HTTPSベースで行うAPI
RESTやSOAPなどがあり、そこにGraphQLというものもあります。### GraphQL とは?
acebookが2015年に公開したAPIの規格で、
RESTでは以下のような課題がありました。– REST API の課題
– ドキュメント管理が大変
– 使い方難しい
– ドキュメントと実装がずれるRESTでの課題を解決し、RESTが適合しないときに使うものとして開発されました。
### 改めての AppSyncとは?
GraphQLのマネージドサービス。
GraphQLを簡単に使うことができます。### 接続イメージ
![構成Untitled Diagram.drawio – diagrams.net – Google Ch.png](https://
AWS SAM を使って、Lambda のローカル実行環境を試してみる
# はじめに
Lambda を開発するときに、どういった環境を使っているでしょうか。AWS マネージドコンソールには、オンラインエディターがあり、ブラウザ上でプログラミングができます。しかし、本格的に開発するときには、多機能で使い慣れた IDE が使いたくなります。手元のノートPC上にインストールしている IDE を使って開発するときに、動作確認のたびに、いちいちプログラミング途中のソースコードをパッケージングして Lambda へアップロードするのは面倒です。出来るだけローカルで完結させて、素早く動作確認と修正を行いたい気持ちになります。
こういう時に便利に使えるのが、SAM (Serverless Application Model) です。SAM は、Lambda を開発するときに便利に使えるオープンソースフレームワークで、次の特徴があります。
– Lambda ライクなローカル環境が使えて、手元で動作確認が出来る
– Lambda Function と、それに付随する API Gateway などの定義して、デプロイ出来る今回は、SAM の Quick Start
DockerプロジェクトをAWSのECRにプッシュしようとしたらエラーが起きたときに話
DockerのプロジェクトをAWSのECRにプッシュするときに以下のようなエラーが起きました。
“`
An error occurred (InvalidSignatureException) when calling the GetAuthorizationToken operation:
The request signature we calculated does not match the signatAn error occurred (InvalidSignatureException) when calling the GetAuthorizationToken operation:
The request signature we calculated does not match the signature you provided. Check your AWS Sontails.
Token operation: The request signature we calculated does not match the signatAn error oc
【Rails6】AWS EC2でデプロイする手順
#概要
AWS EC2で、デプロイする方法について述べています。#はじめに
AWS EC2を導入後、いまいちデプロイの仕方が掴めないという方向けの記事となっています。私も導入したばかりで、デプロイの手順の備忘録として載せています。
#前提
AWS EC2を導入済み#バージョン
rubyのバージョン ruby-2.6.5
Railsのバージョン Rails:6.0.0#実行の大まかな流れ
①【GitHub】ローカルでのコードの変更を、masterにpushする②【ローカル】ターミナルでEC2にログイン
③【EC2】ターミナルで、ps aux | grep unicorn を実行
④【EC2】ターミナルで、kill プロセス番号 を実行
⑤【ローカル】ターミナルで、bundle exec cap production deploy を実行
#実行方法
##①【GitHub】ローカルでのコードの変更を、masterにpushするGitHubでコードの変更内容をマージしてください。
##②【ローカル】ターミナルでEC2にログイン
以下の手順を、ローカル内のタ
クライアントがアプリの一部機能にドメインを割り当てる際に自動でSSL化する方法
#概要
アプリケーションの一部機能、カート機能や予約機能をクライアントのページで作成する時に、ドメインを指定したいという要望に対してHTTPS接続なので、ACM証明書をこちらで追加する必要があります。今回は、その部分を自動化を行います。##使用技術
・AWS ACM
https://aws.amazon.com/jp/certificate-manager/
・AWS SDK for PHP
https://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html##作業手順
1. 特定の機能のURLにクライアント固有のidなど含めます。
2. クライアントが、【使用したいドメイン】をフォームに入力を行う。(AWS SDKを使用し入力されたドメインをACMに追加 レスポンスに含まれる「エントリー名」「値」を表示)
3. クライアントが、DNSサービスプロバイダで作成した【使用したいドメイン】にCNAMEで「1.のURL」 「エントリー名」 「値」を登録上記の3ステップでクライアント側の操作のみで、SSL化されたドメインを割り当
AWSクラウドプラクティショナー試験
##この記事について
・2カ月かけてAWSクラウドプラクティショナーに合格することができましのたので
備忘録的なメモです。##購入したもの
参考書
・まずは参考書を購入しました。
「AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー」Udemy
・安くなっているときを見計らって、これを購入しました(1,500円くらいだったと思います)。
「この問題だけで合格可能!AWS 認定クラウドプラクティショナー 模擬試験問題集(7回分455問)」
基礎問題2回+応用問題3回+難易度高問題2回という問題設定になっています。##勉強の仕方
・まずは参考書を1回読む
参考書は全体的にまとまっていてよい本なのですが、これだけで合格は難しいと思います。
自分が購入したのは第9刷でしたが、実際のテストには新しい要素が多々含まれていました。
たとえば、Glacier Deep Archive や AWS Glue などはテストの選択項目にありました。・Udemyでとにかく問題を解く
基礎問題と応用問題のレベル差が大きすぎで、最初は50点も取れ
Windows10からAWS ECRにイメージをプッシュする
Windows10からAWS ECRにDockerイメージをプッシュします。
# 環境
Windows10 Pro
Docker for Windows 20.10.2
aws cli“`
docker –version
Docker version 20.10.2, build 2291f61aws –version
aws-cli/2.1.10 Python/3.7.3 Linux/4.19.121-linuxkit docker/x86_64.amzn.2 prompt/off
“`aws cliはDockerで実行するタイプです。
# レポジトリを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29324/d3abf4e2-5208-92f3-f72b-bac3dfe069c8.png)
「リポジトリ名」を入力し、「リポジトリを作成」をクリックします。
リポジトリ名=イメージ名です。![image.png](https://qiita
AWS AMIの作成
#AMI(Amazon Machine Image)とは?
「AMIは、仮想サーバーであるインスタンスの起動に必要な情報を保存している」AMIの情報に含まれるもの
**・インスタンのOS
・アーキテクチャ
・仮想化方式
・EBSスナップショット
・ブロックデバイスのマッピング 等**##AMI作成
①インスタンス選択
②AMIを作成するインスタンス選択
③アクションクリック
④イメージとテンプレートクリック
⑤イメージ作成クリック![スクリーンショット 2021-02-20 14.50.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1096361/5a6ed8a0-e21a-6132-a08a-de7f1aeb69f2.png)
⑥項目を入力し作成する
![スクリーンショット 2021-02-20 14.51.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1096361/c0bffcea-6
[AWSxAmplifyxCognito] Amplifyでグローバルサインアウトがグローバルサインアウトしてくれない問題の応急処置
# はじめに
こんにちは!
認証機能を実装する場合、別のデバイスでサインアウトしたらユーザーがログインしている他の全てのデバイスでもログアウトして欲しいときがありますよね?Amplifyではそんな要望に応えるために、`singOut`関数にglobalオプションがあり、`signOut({global:true})`のようにするとサインアウトした際に、ユーザーが持つ全トークンが無効化され、全てのデバイスからサインアウトできます。
以下[ドキュメント](https://docs.amplify.aws/lib/auth/emailpassword/q/platform/js#global-sign-out)から抜粋
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/366323/487dddc4-2208-5e92-1cb0-d0dae27fdcf4.png)と、いうのがドキュメントには書かれており、実際ユーザーが認証後に取得する3種類のトークンのうち、アクセストークンとリフレッシュト
M1 MacでのECRへのpushで ここに気をつけろ❗️
![horizontal-logo-monochromatic-white.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111658/890f9fe0-23b7-bbbe-329b-4498744deefb.png)
### 要点
– CodeBuild でエラー。何が起きたか気づきにくい
`standard_init_linux.go:211: exec user process caused “exec format error”`
– amd64 のダイジェストを指定してpullしましょう### 内容
2020年から Docker Hub の Pull回数制限がかかり、
回避のためにローカルからpushする方などいるのではないでしょうか。M1 Macでも いつもの通り、
`$ docker pull XX:XX`
と普通に pull してしまうかもしれませんが、対象のimageがマルチCPUアーキテクチャ対応だと、
自動選択で arm のイメージを持ってきてしまいます?
【AWS】Route 53で独自ドメインを取得後にElastic IPを紐付ける〜世界のAmazon様、お世話になります〜
### 今度はなんの話し?
AWSにデプロイしたアプリケーションを独自ドメインで公開するまでの話しです。
独自ドメイン取得に関しては初めて行いました。
他のドメイン会社で取得も考えましたがAWS内で全て完結させたほうがややこしくなくていいかと思い、一本化することにしました。
これから行う方の参考になれば幸いです。### 1・Route 53のダッシュボードからドメインの登録
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887559/95f628fe-d7e9-f114-4860-ee118d8debda.png)
### 2・ドメインの種類を決定
**.comの場合はそこまで入れるように**
ここで使われているかどうかのチェック。
ちなみにwwwはつかないので、.comであれば
`http://好きなドメイン.com`という感じになる。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/8875
AWS IoT Core Job 基本操作
# Job基本動作
![image-20210220112425258.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695430/acc21a27-5123-6130-83e3-ee2dc6f1a7e0.png)
### 1.Job document を格納
`Job document`は、以下のようなJSON形式のファイルで、デバイスに対する指示内容を記載したもの
“`json
{
“operation”: “update”
}
“`### 2.デバイスでダウンロードしたいファイルを格納
デバイスでダウンロードしたいファイルがない場合は本手順不要
デバイスでダウンロードしたいファイルがある場合はS3にファイルを格納すると共に、
S3のURLを`Job document`に記載する、URLは以下の形式で記載する“`yaml
${aws:iot:s3-presigned-url:https://s3.amazonaw