- 1. AWS データベース
- 2. Amplifyの基礎知識と使い方メモ
- 3. AWS Session Manager SSH接続時に俺の考えた最高の名前でつなぐためのメモ
- 4. Lambda de Selenium
- 5. S3 事前署名付きURL を AWS CLI で生成
- 6. 【AWS】ECSブルー/グリーンとは?
- 7. クラウド コンピューティングのメリットと概要・覚書
- 8. 【AWS】CodePipelineとは?各サービスでできることや設定手順の概要について
- 9. PowerAutomateを使ってクラウドサービスの障害をタイムリーに検知する方法
- 10. AWS CLI install in Ubuntu 20.04
- 11. AWS(S3)
- 12. 文系卒がSlerからWeb系自社開発(Go/AWS/機械学習)に転職した話
- 13. 【AWS】CodeCommitとは?Githubとの違いとメリットについて。
- 14. サーバレスSQL AWS
- 15. JavaとSpring Bootを使用したポートフォリオアプリを制作
- 16. クラウド破産じゃないけどS3の設定ミスで高級なランチ代飛んだ話
- 17. AWSのサーバー(mariadb)インストール
- 18. AnsibleでAmazonLinuxにRubyとNginxをインストール
- 19. AWSのサーバーを利用する
- 20. RHELに最新バージョンのMongoDBをインストールした
AWS データベース
#Amazon Relational Database Service(Amazon RDS)
VPCにEC2同様にDBインスタンスを配置する(MySQL、MariaDB等)##Amazon Aurora
RDSで使用できるDBエンジン
##Amazon Aurora以外の場合
EC2インスタンスに自前でインストールして使用する
ブロックストレージ(DBの保存スペースをボリュームという単位で確保する方法)で構築される※AmazonAuroraのDBを使用すると、EC2に保存されるのではなく、アベイラビリティーゾーンに保存される(それもゾーン(1a、1c、1d)それぞれが通信しており、1つのアベイラビリティーゾーンが障害が起きても、代替え、代替えしてるあいだに自動修復するような仕組みになっている)
##Amazon ElasticCache
Redis及Memcachedと互換性のあるインメモリデータストアを提供する
###Redis= めっさ早くDBを検索してくれる&それなりに検索機能がある
###Memcached= めっさめっさ早くDBを検索してくれる※RDBMS(
Amplifyの基礎知識と使い方メモ
## 基礎知識
* Amplifyとは「AWSの様々なサービスをより簡単に扱えるツール」のこと
* Firebaseに似てる
* AmplifyはWebブラウザ用のコンソールと呼ばれる画面上でも一部操作可能だが、基本的にはCLIで操作する
* CLIの各種コマンドを実行すると裏でCloudFormationが動く仕組みになっている
* `【重要】` CLIコマンド実行中に途中で強制停止するとトラブルの元になり、最悪の場合元に戻せないので注意
* Amplifyにはプロジェクトという概念があり、基本的には一つのプロダクトにつき一つのプロジェクトを作成
* プロジェクトを作成すると、リポジトリ内にamplifyという名前のフォルダが生成される## CLIインストール
* ローカルでAWSの認証情報を設定する
* 任意のprofile名を付ける
* 下記コマンドでCLIインストール“`bash
npm install -g @aws-amplify/cli
“`## Category (カテゴリ)
* Amplifyには「category (カテゴリ)」という概念がある
AWS Session Manager SSH接続時に俺の考えた最高の名前でつなぐためのメモ
俺です。
AWS EC2使うにあたって踏み台潰さないと2021年はじめられないけどインスタンスIDで接続するの辛いなあと思ったのでメモを残します。https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html
# ~/.ssh/config
“`
Host 最高-prod-app
Hostname i-0123456789ABCDEF
Host 最高-prod-*
User ec2-user
IdentityFile ~/.ssh/saikou.pem
ProxyCommand sh -c “aws ssm start-session –target %h –document-name AWS-StartSSHSession –parameters ‘portNumber=%p'”
“`# いざssh
“`
❯ ssh 最高-prod-app
Lambda de Selenium
# はじめに
Python を用いてスクレイピングをするにあたり、認証周りで躓き手っ取り早く解決するために Selenium を用いて実装したものの、Lambda で実行しようとしたときに躓いたので、メモとして残します(書きっぷりが雑になっているかもしれません…)
※ この記事は SAM を使わずに実装してます:bow:# 作業環境
* Windows 10
* python 3.7 が望ましいけど、3.8 でも大抵はどうにでもなった
* (使い方にもよるので、バージョン管理で切り替えられるようになっているとよい)# ハマりポイントその1
Q. Selenium を使うにあたって、headless-chromium と chromedriver を使えばいいの?
A. この2つを圧縮して、レイヤーに登録する## 詳細
AWS Lambda で使用できるヘッドレスブラウザとして以下が提供されています
この、chrome と chromedriver のバージョンを合わせて1つのファイルとして圧縮します
https://github.com/adieuadie
S3 事前署名付きURL を AWS CLI で生成
# はじめに
AWS S3 で、AWS CLI を使って署名付きURL を生成してみる備忘録です。署名付きURL は AWS マネージメントコンソールでは生成できないので、AWS CLI や SDK 経由で生成が必要です。
# 署名付きURL を生成
S3 上にファイルが格納されている状態です。`cloudfronttest-sugi01` という名前の Bucket に、test.html というオブジェクトがアップロードされています。
![1609765275119.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/86ee79e3-03b6-d8c2-7c96-c3fff7a99fc1.png)
AWS CLI で見るとこんな感じです。
“`
> aws s3 ls s3://cloudfronttest-sugi01
2021-01-04 07:57:18 117 test.html
“`AWS CLI で署名付きURLを生成します。`
【AWS】ECSブルー/グリーンとは?
個人用メモです。
AWSのCodePipelineで本番化する際に、ESCのブルー/グリーンデプロイという本番化手法が選択できる。
縮めてブルーグリーンと呼ぶことが多い。
##ブルーグリーンとは?
AWS上のDockerであるECSで本番環境を構築する手段の一つ。以前のデプロイと比べ、**より安全で安定した本番化手法**。
レポジトリの変更内容を自動取得し、イメージ作成(ビルド)、テスト、本番化を実行するAWSのサービスCode Pipelineの本番化ステージの選択肢の一つ。
##ブルーグリーンの内容
ブルーグリーンは、**古いサーバーを残したまま新しいサーバーを構築し、一定期間経過後に新しいサーバーが安定したのを確認してから古いサーバーを消去**する仕様。一定期間古いサーバーが残っているため、新しいサーバーで不具合があった際も古いサーバーに切り替えるのが簡単。
###ブルーグリーン以前の本番化処理
昔の本番化処理は、古いサーバーの中身を徐々に新しいのに置き換えていく仕様だった。これでは、不具合があった場合に元のバージョンに戻すなど
クラウド コンピューティングのメリットと概要・覚書
#はじめに
本記事は今日クラウドと呼ばれているクラウド コンピューティングの概要と覚書である。
・記事の対象者は、クラウドの初学者としている。#もくじ
– クラウド コンピューティング
– クラウドを使うとき
– クラウドのしくみ
– クラウドの6つのメリット
– まとめ#クラウド コンピューティング
クラウド コンピューティングとは、従量課金制の、インターネットを通じて利用できるITリソースとアプリケーションのオンデマンド配信のこと。
クラウド コンピューティングを略して、クラウドと呼ばれている。#クラウドを使うとき
数百万人規模のモバイルユーザーと写真を共有するアプリケーションを実行したり、重要な経営をサポートする際に、クラウドは、柔軟で低コストのITリソースへの迅速なアクセスを提供できる。クラウドを利用すると、ハードウェアへの多額の先行投資や、そのハードウェア管理に伴う重労働に長時間を費やす必要がなくなる。その代わりに、新しいアイデアを実現したり、IT部門を運営するために必要なだけの適切な種類とスペックのコンピューティングリソースをプロビジョニング(提供
【AWS】CodePipelineとは?各サービスでできることや設定手順の概要について
個人メモです。
##CodePipelineとは?
一言で言うと、**コードからテストを含めた本番化までを一気に行ってくれる**便利サービス。Githubのコードからイメージのビルドし、テスト、本番化(デプロイ)の流れを自動で実行してくれる。
本番化せずとも、ソースからビルドの作成までといった設定もできる。編集はとても簡単。
####もう少し噛み砕くと
ローカルでソースコードを改修し、githubやCodeCommit(AWSのgithub)のレポジトリにプッシュすると、**変更を検知して自動でPipelineの実行を開始**する。DockerのようにAWSの仮装コンテナ(ECS)にイメージを作成(ビルド)し、本番化しても問題ないかテストし、OKであれば本番化してくれるツール。
どこまでの処理を実行するかは好きに設定できる。
本番化の前に承認プロセスを追加することも可能。
コード(code)から本番化までの経路を一直線で辿っている(pipeline)ためCodePipelineと呼ぶ。
##CodePipelineの流れ
コード改修から本番化
PowerAutomateを使ってクラウドサービスの障害をタイムリーに検知する方法
# クラウドサービスへの依存が招く脅威
多くの企業が利用するクラウドサービスとしてAWS、GCP、Azureが挙げられます。それらは極めて高い可用性ではありますが障害が発生する可能性はゼロではありません。昨年も各クラウドサービスの障害が発生してITの現場は阿鼻叫喚の地獄絵図となりました…
そしてこれから更にクラウドへの依存度は高まり、障害の影響も大きくなっていきます。# 晩酌時に起きた悲劇
2020年12月某日、日本時間の21時頃にGoogleのサービスにて障害が発生し、ほとんどのサービスが利用できない状態となりました。私も仕事上Googleのサービスと密に連携するシステムを担当しているため対岸の火事では無いのですが、なんとそれに気づいたのは子供が寝た後に呑気に晩酌していた22時頃です。スマホでスマートニュースを見ていたらGoogleがなんか大変な事になっていると気づき冷や汗だくだくでした…# 検知はタイムリーが鉄則
今回の失敗は、タイムリーにクラウドの障害を検知できる仕組みを構築していなかった点にあります。
クラウドを使うという選択肢をとったのであれば、自社のサービスはもちろ
AWS CLI install in Ubuntu 20.04
# はじめに
Ubuntu 20.04 に AWS CLI を導入する手順を備忘録としてメモです。
# EC2の準備
適当に Ubuntu 20.04 を作成して、SSH 接続します
# AWS CLI の Install
作業用ディレクトリ作成
“`
mkdir ~/temp
cd ~/temp
“`AWS CLI Install
“`
curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
unzip awscliv2.zip
sudo ./aws/install
“`# AWS CLI の 設定
AWS IAM で Access Key ID と Secret Access Key を生成して、aws configure コマンドで設定します
region : ap-northeast-1
“`
aws configure
“`# Fish 補完の設定
自分の環境では、bash ではなく fish を使ってい
AWS(S3)
#はじめに
こちらではAWS機能について書いていきたいと思います。
公式ドキュメントやAWS認定試験(ソリューションアーキテクトやDevOpsなど)の勉強教材など細かい内容をかかず、ざっくりとした内容で。
試験などに興味はないし!公式ドキュメントなど長ったらしくて読めん!
という方に向けに作っていきたいと思います。
(私の備忘録も兼ねて)今回はネットワークな内容です。
写真はつけられればつけます。(Qiitaの制限の範囲内で)
#環境
AWS#ドキュメント
https://docs.aws.amazon.com/index.html##AWSストレージ
まず基本的なストレージサービスAWSのストレージサービスは主に3つの種類に別れる
・ブロックストレージ
例 EBSインスタンスストア・オブジェクトストレージ
例 S3、Glacier・ファイルストレージ
例 EFS##ブロックストレージ
ブロック形式でデータを保存
高速・広帯域幅##オブジェクトストレージ
安価で高い耐久性を持つオンラインストレージ
オブジェクト形式でデータを保存
文系卒がSlerからWeb系自社開発(Go/AWS/機械学習)に転職した話
##はじめに
はじめまして。ソラと申します。
最初に簡単に私の自己紹介をさせてください。##自己紹介
・大学の専攻は経済系
・Slerに入るまでパソコンについては何もわからない状態(ブラインドタッチもできない)
・Sler3年弱 (大きな開発経験はなし。業務用にエラー解析ツール等はNode.jsでスクラッチから個人で開発していた)といった状態で転職活動を始めました。
私が今回の転職で大事にしていた軸は__「これ開発したい!と思えるくらい好きになれるプロダクトがあり、今後も新たなプロダクト/サービスを開発しようとしてる(する気がある)自社開発企業」__でした!
エンジニアとして今後力をつけるためにも、今後新規サービスの開発、新規サービスのテックリード、などを経験できる可能性がある企業がいいなと思ったので、上記の軸を設定しました!
そして私は自社開発企業で働きたかったので、受託の要素がある会社は見ない・受けないようにしました!達成したい目標以外のものを全て捨てて、達成したい目標のみにフォーカスするのが大切だと私は思ったので、受託は受けなかったです。※自社開発+受託の企業も受
【AWS】CodeCommitとは?Githubとの違いとメリットについて。
個人用メモです。
##CodeCommit(コードコミット)の役割
ソースコードやファイルの管理システム。
役割はgithubと同じ。**コードのアップロード、履歴の確認、プルリクエストなど**ができる。
**■メニュー一覧**
|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563526/dd715140-5436-f6b8-43d5-f6b7a25ced4d.png)|
|:–|##Githubとの違い
Githubとの違いは、**CodeCommitの方がセキュリティが高い**こと。Githubの場合、Privateにしているプロジェクトでも外部の開発関係者と丸ごと共有する場合がある。
このとき、AWSなどのサーバーのアカウント情報やPWなど共有してはいけないコードがGithubにあれば、それらも共有されてしまうため、セキュリティ観点でNG。
##CodeCommitの用途
上述のとおり、**AWSのアカウント情報などプロジェ
サーバレスSQL AWS
記事を全然書き慣れていないので、わかりにくい所があるかもしれないですがご了承ください。
###今回使用するAWSのサービス
S3
AWS Glue
AWS Athena###AWS Glueとは
データエンジニア、抽出、変換、読み込み (ETL) デベロッパー、データアナリスト、データサイエンティストがデータを簡単に抽出、クリーンアップ、強化、正規化、読み込みできるようにするサーバーレスのデータ準備サービスです。(引用:https://aws.amazon.com/jp/glue/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)
→AWS Glue クローラとは
接続可能な、データベースなど各種データソースをクローリングしてメタ情報を自動で推定し、カタログに登録できる。###AWS Athena
Amazon Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して簡単に分析できます。
JavaとSpring Bootを使用したポートフォリオアプリを制作
#はじめに
2020年8月から4ヶ月間RaiseTechというエンジニアリングスクールに通い、主にJavaとSpring Bootを使用したWebアプリケーション制作について学習しておりました。
その中で学んだことからポートフォリオとしてシンプルな機能のアプリを制作したので、そのアプリケーションについての機能、制作手順、課題をまとめています。まだ実装できていない機能や使い勝手含め機能としては不完全ではありますが、
・2020年内での制作、公開を期限として制作したこと
・とにかく一旦リリースすることを最重要視したため現状で一旦公開しております。
※今後も機能は順次追加予定です#制作期間
制作期間は 11/22~12/15
AWSの学習、デプロイ完了まで 12/16~12/30全体として公開までおよそ5週間です。
#成果物
インディーズバンドとライブハウス間の「チケット共有管理システム」
TicketManagerTool
GitHub https://github.com/KeitaUenishi/TicketManegerTool2.git
#制作の
クラウド破産じゃないけどS3の設定ミスで高級なランチ代飛んだ話
最近は余り聞かないのですが、クラウド破産という言葉がありましたが、
そこじゃないけど、高級なランチ代分余計にかかった話。個人開発のサービスでS3は画像サーバーとして使っていたのですが、最近一寸コストが増えてきてて、「大量の画像があるし基本的に消せないけどめったにアクセスしない画像と頻繁にアクセスする画像」のが混在しててどうしようかと思ってたときに見つけたのが[intelligent-tiering]([https://aws.amazon.com/jp/blogs/news/new-automatic-cost-optimization-for-amazon-s3-via-intelligent-tiering/ )(以下IT)なるサービス。
>高頻度と低頻度という2つのアクセス階層が組み込まれています。両方の階層とも、Standard(標準)ストレージクラスと同等の低レイテンシーを提供します。モニタリングと自動化の料金を抑えつつ、S3 Intelligent-Tiering はアクセスパターンをモニタし、連続30日間アクセスされていないデータを低頻度のアクセス階層に移動します。
AWSのサーバー(mariadb)インストール
#本番環境でデータベースを作成する
ここまでサーバーを立ち上げて必要な設定をし、Rubyをインストールするところまで完了しました。
次は、Railsからアクセスされるデータベース関連の事柄について学習し、実際にデータベースを作成します。
Ruby on RailsのようなWebアプリケーションフレームワークにとって、データベースは必ずセットで必要になります。Webアプリケーションに関連するすべてのデータを保存しておく場所となるためです。たとえばTwitterの例で考えてみましょう。データベースがなければ、ユーザーの情報も、ユーザーが呟いた内容も、保存しておくことができません。###MariaDB
「MariaDB」とは、MySQLの派生として開発されているオープンソースソフトウェアです。MySQLとの互換性があります。今回、Amazon Linux 2ではMariaDBを使用します。基本的にMariaDBとMySQLは同様のものと考えていいです。
データベースの設定と起動を行い、デプロイするアプリケーションのデータベースが適切に使えるようにします。
今回のシステム構成は、以
AnsibleでAmazonLinuxにRubyとNginxをインストール
# はじめに
先日TerraformでEC2やALBを作成したのですが、
各サーバにRuby(rbenv)のインストールとnginxのインストールと簡単な設定を行います。# 環境情報
pythonのvenvで環境は作成しています。
AWSのリソースを扱うので、boto,boto3,botocoreあたりは必須になります。
事前にpip installしておきましょう。~~~shell
% python -V
Python 3.8.3% ansible –version
ansible 2.9.9% pip list
Package Version
————— ——-
ansible 2.9.9
boto 2.49.0
boto3 1.14.12
botocore 1.17.12
cffi 1.14.0
cryptography 2.9.2
docutils 0.15.2
Jinja2 2.1
AWSのサーバーを利用する
#目的
開発したアプリケーションを、AWS上で全世界に公開する仕組み・方法を学ぶこと
“`* ここで行う設定は、AWSのアカウントを作成した際の一度きりの作業となります。なので、今後別のサービスをデプロイさせるために同じ作業を行う必要はありません。“`#EC2インスタンスの作成
EC2とは、AWSで「仮想マシン」と呼ばれるものです。「サーバーを生成する」といっても、AWSがすべてのサーバーを物理的に用意しているわけではなく、実際には「仮想マシン」と呼ばれるソフトウェアを利用して、仮想的に1つのLinuxサーバーを利用できる仕組みを利用します。トップページに遷移したら、“`左上の「サービス」から「EC2」“`を選択しましょう。
次に、オレンジ色の「インスタンスを起動」をクリックします。クリック後、プルダウンで「インスタンスを起動」と表示されるので、クリックします。次に、「AMI」というものを選択します。
###AMI
AMIとは、「Amazon Machine Image」の略語で、サーバーのデータをまるごと保存したデータのことです。この中には「OS」などが事前にイン
RHELに最新バージョンのMongoDBをインストールした
# 0. 前提
2021/1/4時点
– RHEL7.6のAMI(古いです。8系が最新です。)
– MongoDB4.4.2(この記事を書いている時点での最新)例によってEC2とかしか使えない環境なので、Amazon DocumentDB使えよというツッコミは無しで。お察しください。
あるいは、マネージドサービスは得てして最新バージョンには対応していないことが多いので、どうしても最新バージョンのMongoDBを使いたいという人には役に立つ記事かも知れません。# 1. MongoDBのtgzファイルをダウンロード
MongoDB Enterprise Server Download | MongoDB
https://www.mongodb.com/try/download/community
からMongoDBのアーカイブをダウンロードする。– Choose which type of deployment is best for you:On-Premisesを選択する
– MongoDB Enterprise Serverのアコーディオンを展開する
– version: