- 1. はじめてEC2の環境構築をしてみた。超ざっくりまとめてみた。
- 2. [書きかけ] ECS+ロードバランサー的なことをEC2で実現して、コスト削減
- 3. jqを使いながら、aws cliで取得した一時認証情報を環境変数に設定する
- 4. Rails デプロイ後 iPhoneでの閲覧時のみページ遷移の挙動がおかしい
- 5. SpringBoot + JUnit + AWS Codebuild で レポート作成
- 6. AWS基礎から学習②-CloudFormation-
- 7. 3週間で備えるAWS Certified Developer – Associateへの道
- 8. AWSにデプロイすると、いつも起こるエラー
- 9. AWS (VPC)についての全体像
- 10. Amazonlinux2におけるsudoアップデート手順
- 11. Inactive状態のLambdaの関数を一括で起動してやる
- 12. AWS RDSのイベントをNew Relicで監視してみる
- 13. AWS – C9でLaravel / Nuxt.jsを構築する備忘録
- 14. AWS Certificate Manager (ACM)のDNS検証
- 15. 量子コンピュータの実機のロケーション
- 16. AthenaからRedshift Spectrumへの移行とわかったこと
- 17. ECR public repositories からイメージをpullできなくなったときの対応方法 ( pull access denied for public.ecr.aws )
- 18. 超簡単 macからEC2にSSHで接続する方法
- 19. AWS CodeDeploy x CodePipeline x EC2 x ALB x SVNで自動デプロイ環境を構築する
- 20. 【Rails,AWSを使用】僕が作成したポートフォリオの紹介をします。
はじめてEC2の環境構築をしてみた。超ざっくりまとめてみた。
今回、AWSの基礎を学ぶ目的でEC2の環境構築と自分のPCから接続まで行いました!
細かい作業過程は割愛しますが、EC2環境構築で理解した基本構成の概要を自分の理解を深めるために、超ざっくりと基本要素をまとめます。
これを見れば、何の目的のために何を作るのか、一目で思い出せるはず!
また、この記事が、これからAWSの基礎学習を始める方の理解の助けとなり、AWSを触るハードルを下げる助けとなれば幸いです。みなさん頑張りましょう!
なお、AWSの学習は、[AWS CloudTech](https://aws-cloud-tech.com/)を利用しています。
テンポの良い/わかりやすい動画説明をもとに、気軽に実践を積み、自分の血肉とできるオンラインスクールです。
コミュニティも存在
[書きかけ] ECS+ロードバランサー的なことをEC2で実現して、コスト削減
dockerで開発している場合に、ECSとロードバランサーを遣うと、SSL環境でのサブドメインステージング環境とかあっという間に立てられますよね。
なれてないときはそんなのでポコポコサーバーを立てていたいのですが、ロードバランサー毎に費用がかかったりして立ち上げ期とかで開発予算が少ないときはなにげにボディーブローとなります。そこで、極小のリソースでワードプレスをAWS上に立ててみた方法をまとめます
## 要件
* 規模が大きくなってきたときにECSを遣うことを想定してそれに近い環境を構築する
* ほぼほぼ、それに近い形の開発環境でdocker-composeで実現する。というか、開発環境のdocker-composeをできる限りAWS上で実現する
* 取得済みのサブドメインでアクセスできる様にする
* 当然SSL接続を実現する## 手順
ということで、wordpress のdocker環境をawsに立てる手順をまとめます1. amazon linux2 のEC2イメージを立てる
2. 1のEC2イメージにdocker-compose可能な環境を構築する
3. route
jqを使いながら、aws cliで取得した一時認証情報を環境変数に設定する
# はじめに
AWS CLIを使用してIAMロールを引き受ける方法は、公式ドキュメントの通り[^iam-assume-role-cli]ですが、コマンド結果から都度コピペで `AWS_ACCESS_KEY_ID` などの環境変数を設定するのは手間です。本記事では、得られたjsonをjqでパースし、環境変数を設定する方法を説明します。
## 必要なもの
– awscli
– jqAWS CloudShell には両方入っているので、とりあえず試すにはおすすめです。
## おことわり
`~/.aws/config` を使うことでより簡単に設定できます[^aws_config]が、一時的な対応とかで必要になるケースがあり、本記事を作成しました。# 手順
以下のbashスクリプトのとおりです。
`ROLE_ARN` と `SESSION_NAME` を設定し実行するだけです。“`bash
# def var
ROLE_ARN=arn:aws:iam::${ACCOUNT_ID}:role/${ROLE_NAME}
SESSION_NAME=some-session#
Rails デプロイ後 iPhoneでの閲覧時のみページ遷移の挙動がおかしい
##はじめに
Qiita初投稿です。
間違っている点、補足等あればご教授いただけますと幸いです。##環境
Rails 5.2.4.4##起こったこと
デプロイ後、PCでは問題なく動くのに、iPhoneを使うと挙動がおかしくなりました。
原因発見にかなり時間がかかりましたので共有します。
まずは、具体的な事象を記載します。+ Deviceで実装したユーザー登録画面にiPhoneでアクセスすると画面が真っ白に
+ 標準出力を見ると何度も同ページでリロードが行われている
+ エラーメッセージは出力されず
+ リンクからのアクセスではなく、URL直打ちの場合はアクセスできる
※ここが原因発見の鍵になりました。##原因
結論から申し上げますと、ターボリンクスが影響していました。
ページ遷移の高速化のため、Rails4から標準で搭載されています(application.jsに記載があります)。
JQueryの挙動に影響があるという記事も多いですが、
スマートフォンで、入力フォーム等のページへ遷移する際にエラーが起きる場合があるようです。[ターボリンクスについて](https:/
SpringBoot + JUnit + AWS Codebuild で レポート作成
[前回](https://qiita.com/Richter-A/items/e2fda3397531a504d446) SpringBoot プロジェクトで JUnit のテストを行ってみました。
せっかくなので、テスト結果をAWSに保存するところまで試してみましょう。
流れとしては、
1. GitHub に push
2. その内容を CodeBuild でビルドとテストを実施
3. テストフェーズで作成されたテスト結果を AWS に保存して参照するといった方法で利用する想定です。
## TL;DR
1. buildspec.yml にテスト結果の xml をレポートとして保存する設定を追加
2. CodeBuild のレポートグループから確認する## 目次
[1.CodeBuild でビルドプロジェクトを作成](#1-CodeBuildでビルドプロジェクトを作成)
[2.buildspec.ymlの設定を追加](#2-buildspec.ymlの設定を追加)
[3.ビルド、テストを実行して結果の確認](#3-ビルド、テストを実行して結果の確認)では早速始めましょ
AWS基礎から学習②-CloudFormation-
#はじめに
今回はCloudFormationでの環境構築について書いていきます。
CloudFormationはソースコードを記載することで自動でインフラの環境構築を行えるすばらしいサービスです。CloudFormationの特徴
①ソースコードの通りにインフラの環境構築を行う
②ソースコードを共有することで共有先でも同じ環境を用意できる
といった特徴があり、特に①は開発を行っていく上でヒューマンエラーがなくなる点で優れています。システムを構築する上では人間が行う操作はどうしてもエラー原因のもとを作ってしまうことが多く、これをできる限り少なくすることが、エラーの少ないシステムを作り上げる上では重要な要素となっています。
(例:システム作成時の手順操作が一つ抜けたor誤った等)しかし、ソースコードで環境構築を行うということで苦手意識を持つ方が多いと思います。
そこで今回は環境構築のイメージがしやすいように
①AWSコンソール操作画面時
②ソースコード
を並行してみながら環境構築するところを記事していきます。この形式であれば、テンプレートに苦手意識があった
3週間で備えるAWS Certified Developer – Associateへの道
#はじめに
某ベンダで、クラウドの人材育成企画と研修トレーニングのデリバリを担当してます。今度、自分で企画した「Developing on AWS」のトレーニング講師を務めることとなり、前提となる「AWS Certified Developer – Associate」(DOA)を受験することになりました。試験に備えて***ガッツリ***勉強したので、勉強ノウハウを共有します。#勉強教材とスケジュール
DOA受験に際し、3週間の準備計画を立てました。ここ数年は企画畑を歩き回った分、開発現場から遠のいたので長めに設定しています。長期戦になるとモチベーション維持が難しので、僕的には3週間間が丁度良かったです。以下、受験に利用した教材です。
・[**A CLOUD GURU**] (https://acloudguru.com/)
AWS Solution Architectは、Amazon.co.jpで探すと試験対策問題が沢山見つかるのですが、DOAはピンポイントの対策問題集がないのでCLOUD GURUを利用しました。全編英語版ですが、DOA以外の受験にも利用できること、A
AWSにデプロイすると、いつも起こるエラー
#はじめに
現在作成中のアプリケーションはAWSにデプロイしているが、毎回、CSSがうまくいかず、`rails assets:precompile RAILS_ENV=production`をすると、
`”webpack” not found`と出て、挫けます。
きっとwebpackが見つからないとエラーを吐いているのだが、適切な解決方法が見つからず、
テキトーに操作してやり過ごしてしまってします。##今のところの解決方法
“`bash
% yarn install –check-files
% bundle install
“`
– **Unicornの再起動**この3つを試すと、どこかしらでうまくCSSのスタイルが適用されているみたいです。
##最後に
読んだ人へ
なんの参考にもならなくてすみません。
自分が次、同じような目に遭った時、見返す用です。
AWS (VPC)についての全体像
# はじめに
AWSのVPCについての概念や用語を簡単にアウトプットしていきたいと思います。### リージョン
・リージョンとは、AWSの各サービスが提供されている地域のこと
・世界中に17のリージョンがある。
・AWSのサービスを利用するとき、まずリージョンを選択する。
(リージョンによって使えるサービスは異なる。自分が使いたいサービスと照らし合わせてリージョンを決める。日本でサービスを展開する場合は東京リージョンが良い。AWSのサーバーを設置するときはアメリカに設置するよりも日本に設置したほうが応答時間が早くなります。)###アベイラビリティゾーン
・アベイラビリティゾーンとは、独立したデータセンターのこと
AWSは世界各国にデータセンターをもっていて複数のデータセンターを束ねたのがアベイラビリティゾーンとなります。
・どのリージョンにもアベイラビリティゾーンは2つ以上存在していて、それぞれ物理的に離れて存在しています。なぜ複数あるかというと、トラブルがおきて1つのアベイラビリティゾーンが利用できなくなっても、ほかのアベイラビリティゾーンでカバーできるからです。
・実際にE
Amazonlinux2におけるsudoアップデート手順
# 経緯
sudo脆弱性に関する周知があったのでsudoのアップデート対応することとなった## sudoの脆弱性(CVE-2021-3156)に関する注意喚起
https://www.jpcert.or.jp/at/2021/at210005.html# バージョン確認方法
`sudoedit -s /` コマンドを実行する
## 対応が必要
`sudoedit:`から始まるエラーが表示されると脆弱性の影響を受ける
## 対応が不要
`usage:`から始まるエラーが表示されると影響を受けない# 更新手順
“`
# 1. 脆弱性のあるバージョンか確認
sudoedit -s /# 2. yumのアップデート確認
yum check-update | grep sudo# 3. パッケージを指定してアップデート
sudo yum update sudo# 4. 修正後の確認
sudoedit -s /
“`# 実際に適用してみる
1. にてバージョン確認をしてみると、事前情報の通り、対応が必要なバージョンということがわかる
“`
sh-4
Inactive状態のLambdaの関数を一括で起動してやる
アカウント上に存在するアイドル状態のLamnda関数を全部起動したいことがあったのでそのやり方をメモします。
# そもそもなんでそんなことやりたかったの?
Lambdaは非常に便利ですが、数週間アイドル状態が続くと関数がInactive状態になります。そしてInactive状態になった関数を起動しようとすると最初は起動に失敗します。このせいで若干トラブったので、**いっそのこと定期的にアカウント上に存在するすべてのLambndaを起動してしまえ**ということで、AWSCLIでLambdaを一括で起動するシェルを作成しました。
>Lambdaサービスが設定されたリソースを回収するのに十分な時間アイドルになっている関数は、Inactive状態に移行します。Inactive状態の関数を呼び出すと、失敗し、それらのリソースが再作成されるまで関数はPending状態に設定されます。リソースの再作成に失敗した場合、関数はInactive状態に戻ります。
[AWS Lambda関数の状態の追跡](https://aws.amazon.com/jp/blogs/news/tracking-t
AWS RDSのイベントをNew Relicで監視してみる
Amazon SNSで、メッセージの配信先として新しくAmazon Kinesis Data Firehoseを指定できるようになった!とのことで、タイムリーなお仕事をしたので、メモを兼ねて手順を記載。
# 目的
マルチAZなRDSでフェイルオーバーが起こった際にNew Relicでアラートを発生させたい。
けど、New RelicとAWSのインテグレーションを結んだだけでは検知できない…
よし、AWS SNSからKinesis Data Firehoseが呼び出せるようになったのでそれを使って通知をしてやろう。
サービスには影響ないが、AZをまたぐレイテンシーの増加が許容できないなど厳しい案件には有用?# 必要なAWSコンポーネント
– RDS(当然)
– Kinesis Data Firehose
– SNS# 流れ
RDS(Event subscriptions) → SNS → Kinesis Data Firehose → New Relic Logs# 手順
## Kinesis Data Firehoseでdelivery streamsを作成する
###
AWS – C9でLaravel / Nuxt.jsを構築する備忘録
毎回調べるのが面倒なので、未来の自分へ備忘録です。
順番に実行したら構築出来るわけではありません。**今回構成する内容**
・バックエンド:laravel 6系
・フロントエンド:vue.js nuxt.js vuetify### composerのインストール
“`
brew install composer
“`
終わったら念のため-vでバージョン確認。### laravelのインストール
“`
composer create-project –prefer-dist laravel/laravel app_name “6.*”
“`
このコマンドでは何故かvenderファイル、envファイルが作成されなかった。### インストールされているphpパッケージのバージョン確認
“`
yum list installed | grep php
“`### このコマンドで確認出来た古いパッケージの削除
“`
sudo yum erase -y hogehoge
“`補足:-yは全ての問い合わせに対してYESで返す。
### yumのア
AWS Certificate Manager (ACM)のDNS検証
ACMはAWSでSSL/TLS証明書発行および管理を代行してくれる便利なサービスです。
https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/acm-overview.html
以前はドメインの所有権確認をEメールで行っていましたが、2017年11月にDNSによるドメイン検証機能が追加されたので手動での検証作業から開放されました。
# 作業1 Route53でドメインを利用可能にする
DNSの検証にはRoute53の機能を利用します。
あらかじめ対象ドメインのCNAMEが編集できる状態にしておく必要があります。![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128744/b6e56ba6-75bc-d13b-7334-af863eb66d0d.png)
# 作業2 Certificateのリクエスト
Certificate Managerの画面から証明書のリクエストを行います。
ACMではワイルドカード証明書も発行出来ます。
量子コンピュータの実機のロケーション
# この記事について
あまり深い意味はないのですが、量子コンピュータを勉強するにあたって量子コンピュータの実機が物理的にどこにあるかが気になったのでせっかくなのでちょっと調べてまとめておこうと思います。量子コンピュータ関係の他の記事は、[こちらのページで一覧](https://qiita.com/shnchr/items/41fa7fd1284d74007a7c)にしています。
# 対象
今回実機の場所を調べてみようと思っているのは大きく分けてAWSとIBMの2つです。
もしかしたら今後追加するかもしれません。
また、とりあえずメモ程度なので深くは調べません。
機会があれば深く調べてみようと思います。– AmazonBraket
– D-Wave — Advantage_system1.1
– D-Wave — DW_2000Q_6
– IonQ
– Rigetti — Aspen-8
– Amazon Web Services — SV1
– Amazon Web Services — TN1
– IBM Quantum Ex
AthenaからRedshift Spectrumへの移行とわかったこと
# Amazon Redshift Spectrumとは
>Amazon Redshift Spectrum を使用すると、効率的にクエリを実行し、Amazon Redshift テーブルにデータをロードすることなく、Amazon S3 のファイルから構造化または半構造化されたデータを取得することができます。[Amazon Redshift Spectrum を使用した外部データのクエリ実行
](https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c-using-spectrum.html)Redshiftを利用する場合はRedshiftにデータをロードする必要があったがRedshift Spectrumを利用することでS3にあるファイルをそのまま利用できるようになります。
## Redshift Spectrumの利用を検討した理由
Amazon Athenaではクエリに時間がかかりすぎる、またはリソースが足りなくて実行できないクエリを実行するためにRedshift Spectrumの利用を検討し始めた。## 開始方
ECR public repositories からイメージをpullできなくなったときの対応方法 ( pull access denied for public.ecr.aws )
Amazon ECRでパブリックリポジトリの提供が開始されました?
その名の通り、認証情報なしで`docker pull`が可能となるわけですが、状況によっては`pull access denied for public.ecr.aws`となってしまいます。
![スクリーンショット 2021-01-28 14.10.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/68048/08608557-93fc-3a55-9069-ad1cb8ab3673.png)## TL;DR
“`shell
$ docker logout public.ecr.aws
“`
でOK## 状況
ECRパブリックリポジトリを使いたく、イメージを登録しました。その時のご案内がこちら。
![スクリーンショット 2021-01-28 14.15.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/68048/fd4e1f82-f033
超簡単 macからEC2にSSHで接続する方法
#1、キーペアの取得
AWSのコンソールからEC2を選択し、メニューからキーペアを選択。
キーペアの作成をしてダウンロード。##### 参考サイト
https://dx.nissho-ele.co.jp/blog/aws-beginner-ec2_20190328.html
記事の途中にキーペア作成の説明があります。#2、取得したキーペアの移動と権限の設定
##### ダウンロードしたファイルを移動
※.sshフォルダは隠しフォルダなので見えませんのがフォルダがなくても心配ないです。
ちなみに隠しフォルダを表示するためのショートカットは 「command + shift + . 」です。
※ここではキーペア名をkeypear.penとします。“`
mv /Users/ユーザー名/Downloads/ダウンロードしたキーペア.pem ~/.ssh
mv /Users/username/Downloads/keypear.pem ~/.ssh
“`#####権限の設定
“`
chmod 600 /Users/username/.ssh/keypear.pem
AWS CodeDeploy x CodePipeline x EC2 x ALB x SVNで自動デプロイ環境を構築する
# 背景
* 月1度~2度リリースが発生するシステムの構築中
* 手動デプロイは工数がかかる上、危険
* せっかくなので自動デプロイにしたい
* Gitの場合はそのままAWS Codeシリーズと接続できるが、SVNで構築する資料があまりないので誰かの参考になれば……# 環境
* VCS
* SVN
* 弊社はSVNがまだまだマジョリティ……
* ビルダー
* Gradle
* インフラ
* EC2
* マルチAZの2台構成
* OSはAmazon Linux 2
* ALB
* Jenkins
* 以下はチャット通知用なので任意用意でOK
* Microsoft Teams
* Microsoft PowerAutomate
* Gmail# やりたいこと
![20210128_004520_capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182088/951fe4ad-6d4
【Rails,AWSを使用】僕が作成したポートフォリオの紹介をします。
##はじめに
フレームワークにRuby on Rails、インフラにAWSのEC2を使用してポートフォリオを作成しました。正直なところ全体の完成度は6割程度でまだまだ改善の余地はあるのですが、一旦はサービスとして形になったので、振り返りの意味も含めアプリについて詳しく書いた記事を投稿しようと思います。
(不具合や未完成の部分については随時改善していきます)
##アプリの概要
アプリ名:オフリード(英語で「リードを手放し自由にする」という意味)
URL:https://www.offlead-dog.com/
GitHub:https://github.com/yuuta-matsumoto/off_lead*ドッグトレーナーと犬を飼う人のマッチングサービスです。*
>【ドッグトレーナーとは】
犬に対してしつけや訓練を行う職業です。よく、ブリーダーと勘違いされる方が多いのですが、ブリーダーはペットの交配や出産、繁殖を手がけて市場に流通させる職業なのでドッグトレーナーとは異なります。
また、ドッグトレーナーの中でも職域によって仕事内容は変わってきます。
例えば、警察犬を訓練す