- 1. ETL処理を用いて、デイトレードの取引データを加工→蓄積する流れのまとめ
- 2. Bad owner or permissions on /home/(user)/.ssh/config,エラーの対処法
- 3. AWS Certified DevOps Engineer – Professional を取得した
- 4. AWS ELB(Elastic Load Balancing)
- 5. AWSLambda(Golang)×DynamoDBのローカル開発環境を整える
- 6. 文系出身新卒1年目SEがAWS SAA(SAA-C02)を2ヶ月で一発合格した話
- 7. AWS,Azure,GCPの3大クラウドのアーキテクト試験に合格してみての個人的比較 (2021年版)
- 8. AWSの知識まとめ(初級)
- 9. AWS Code シリーズ要旨
- 10. CNAMEレコードとALIASレコードの違い
- 11. IAMについて
- 12. [2021年] AWS Certified Cloud Practitionerに本2冊で合格した話
- 13. 【AWS】素の Cloud9 に Python 3.9 をインストールする
- 14. とりあえずAWS Cognito触ってみた
- 15. RDS自動起動停止をlambdaで
- 16. AWSまとめ (IPアドレス)
- 17. MWAA での環境変数設定パターン
- 18. AWS SAM ローカルでいろんな角度からhello worldする
- 19. AWSのssmのポートフォワードを並列稼動で起動する。
- 20. EKSのバージョンの「サポート終了」についてちゃんと調べてみた
ETL処理を用いて、デイトレードの取引データを加工→蓄積する流れのまとめ
# 概要
データ分析のインターンのおかげでETL処理を組むことができるようになりました。
今回はこの技術を用いて、為替のデイトレードで得た取引履歴の、データ加工と蓄積の流れを構築したいと思います。# できるようになること
– AWSでETL処理が書けるようになる
– データストレージの使い方が少しわかる# 補足
今回はGlueやLambdaを用いない、データ分析の半自動化を目指しています。とはいえ、スクリプトさえできてしまえば自動化も簡単なので別記事でその方法を書こうと思います。# 利用サービス
– AWS S3
– Amazon SageMaker
– HighLow Australia (証券会社)# ETL処理フロー
データフローの全体像はこちらです。
![90c4106b14b7c44cf7695b5985ccf523[1].png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/845778/f11c7ca9-5dfb-b660-ae8f-2ca673ce436d.png)S3のD
Bad owner or permissions on /home/(user)/.ssh/config,エラーの対処法
##背景
githubにEC2からSSH接続しようとしたところ↑のように怒られた。##原因
セキュリティが緩いので、厳しくする必要がある
(エラー発生時の権限状態↓)“`
-rw-rw-r–
“`
##実行したこと“`
chmod 600 ~/.ssh/config
“`をすることで所有者のみに読み書きの与える権限を与えてセキュリティ強化した。
AWS Certified DevOps Engineer – Professional を取得した
#前回のお話
https://qiita.com/morio1101/items/1f78c46fe7538140e2ba
#はじめに
本記事は、将来再認定を受けるときの備忘録でもあります
本記事を見る時点で大体AWS認定試験のことや、DevOps Engineer – Professional のことはほかの記事のほうが詳しく書かれていると思うので、省略してまとめたいと思います#試験を受ける前の私のスペック
* AWS を使った業務経験は最低限はある
* EC2 関連がメインであり、その他機能についてはほぼ知らないに等しい状態
* 知識ベースの指標としては、AWS認定試験は以下を取得した
* アソシエイト資格3種
* プロフェッショナル1種
* ソリューションアーキテクトプロフェッショナル
* スペシャリティ 試験4種
* データアナリティクス
* セキュリティ
* ネットワーク
* データベース#学習教材
* AWS WEB 問題集で学習しよう
※ 模
AWS ELB(Elastic Load Balancing)
#【AWS ELB(Elastic Load Balancing)】
ELBは理解することが多くて大変。
ECS, Fargate, CodePipelineをCloudFormationで構築時、ALBの理解は必要不可欠。
主にALBを基本的なところから勉強し直しました。##なぜELB(Elastic Load Balancing)が必要??
– 冗長化、可用性
– 高可用性:複数AZにある複数のターゲットの中から正常なターゲットにのみ振り分け可能
– 負荷分散、スケール
– スケーラブル:複数のEC2インスタンスやECSコンテナなどに負荷分散
– ELB自体も負荷に応じてキャパシティを自動増減
– ALBがスケールする時は、IPアドレスが変化する。
– ELBヘアクセスするときには必ずDNS名でおこなう。
– 従量課金で利用可能
– マネージドサービスなので管理が不要
– AWSの他のリソースとの連携が可能
– CloudFormation, Auto Scaling …
AWSLambda(Golang)×DynamoDBのローカル開発環境を整える
# 目的
AWS LambdaでバックエンドAPIを構築しているとき、関数の挙動を確認したいときは都度devにデプロイしていました。流石にローカルでの開発環境を整えたいと思ったのですがGoでの使い方の情報が少なかったので個人メモとしてまとめてみました。
今回はAPI GatewayがトリガーのLambda関数になります。
→[`serverless invoke local -f` で十分らしいです](https://blog.70-10.net/2018/08/29/serverless-typescript/#4-code-classlanguage-textserverless-offlinecode%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B) # 全体の流れ
以下のJavascript filesのところを今回はGolangにしてやってみます。
文系出身新卒1年目SEがAWS SAA(SAA-C02)を2ヶ月で一発合格した話
# はじめに
先日、AWS Solution Architect Associate に無事合格しました。
![aws-certified-solutions-architect-associate.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2097948/29a9583d-4026-a0d2-1882-f5e5a8576eb0.png)文系出身SEで、プログラムもまともに書けないど素人(ましてや基盤知識なんて皆無)ですが、
そんな私でも、一発合格できたので、学習時間や使用した教材、学習方法を共有したいと思います。## 合格するために使用した教材
* テキスト:[AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88
AWS,Azure,GCPの3大クラウドのアーキテクト試験に合格してみての個人的比較 (2021年版)
以下の記事の2021年版として勝手に書いてみます。
https://qiita.com/yomon8/items/f812079d0ce631f73d45全て2021年に取得しましたので直近の内容がお伝えできていると思います。
– AWS Solution Architect Professional
– Azure Solutions Architect Expert
– GCP Professional Cloud Architect## 3大クラウドアーキテクト試験で共通していること
– 身分証明書が2種類必要
– 筆者の場合は自動車運転免許証 + クレジットカード
– 実技試験はない
– 全体的にインフラエンジニアの領域に偏った問題が出題される
– クラウドファースト (クラウドとしてあるべき姿) が理解できていることが求められる## AWS Solution Architect Professional
よく言われていることですが試験時間に対して設問数が多く集中力を維持するのが大変です。対策本や対策サイトが多いので対策はしやすいと思います。時間をかけてAWS
AWSの知識まとめ(初級)
最近バックエンドエンジニアをしていても、インフラの知識が必須のようなイメージ
があるので実務では使ってないが少しずつ知識をためていこうと思う!## 基本もろもろ
– ルートユーザーとIAMユーザーがあり、基本的にはIAMユーザーで作業を行う
– 操作ログはCloudTrailで追跡できる、S3に保存される
AWS Code シリーズ要旨
CI/CD
====
アプリケーションの開発フェーズにおける自動化を行い、開発チーム、運用チームに生じる問題を解消するためのソリューションです。
AWSのCodeシリーズは、この CI/CD を果たすための役割としてサービスを提供しています。Code Commit (継続的インテグレーション)
==========
– Code Commit はAWS上にプライベートな Git リポジトリをホストし、複数の開発者が共同で効率的に作業を行うために提供されたソース管理サービスです。
– 任意のIAMユーザーからソースコードをリポジトリに`push`し、プルリクエスト、コミットの機能を利用して、リポジトリのソースコードに対して変更管理を行う事が可能となり、AWS上でセキュリティを保全しながら共同開発が行えます。
– ブランチと呼ばれる、マスターの変更管理から派生した特定の開発工程を管理するための機能を作成する事が可能で、Masterブランチから分岐したブランチにより、開発者は不特定多数のソースコードに対して並行作業をする事が可能です。
– リポジトリのプッシュをトリガーにメールを通知させ
CNAMEレコードとALIASレコードの違い
# 前提
– ドメイン名からI Pアドレスを受け取って通信したい
– AWS S3とRoute53使用
– Aリソースレコード(Aレコード)とは、ドメイン名に対するIPv4アドレスを指定するリソースレコード。同じドメイン名に対して複数記述することができる。https://jprs.jp/glossary/index.php?ID=0161
# CNAMEレコードの場合
>DNSの名前解決では、CNAMEリソースレコードが見つかった場合、ドメイン名を正式名に置き換えて名前解決を継続します。https://jprs.jp/glossary/index.php?ID=0212
つまりCNAMEレコード名でアクセスしたらAレコード名を返す。
でも通信するためにはIPアドレスが欲しいので、Aレコードが返されたらそのAレコード名を使用して名前解決をしてIPアドレスを受け取る。![CNAME A.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1836602/700d41ae-1755-a509-60b0-
IAMについて
AWSのCloudPractitionerの勉強の過程で、IAMについて紛らわしかったのでまとめる。
私はAWSについてちゃんと勉強する前、個人開発でEC2を使っていたことがあった。
その際管理者アカウントを常に使っていたので、「この機能いる??」と思っていた。(いらない機能わざわざ用意しないよねってのは置いといて、、)# IAMとは
`Identity and Access Management`の略。その名の通り、アクセス権限と認証を管理する機能。# いつ使うのか
各アカウントにリソースを使う権限を付与したいとき。# IAMポリシー
権限が書かれたファイル。
誰がどのサービスのどのリソースに対してどんな操作をするのか、といったことをJSON形式で記述する。
“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“s3:Get*”,
“s3:List*”
],
“Resource”: “*”
}
]
}
“`
こんな感じでどんな操作を許可するのかが書かれてる。#
[2021年] AWS Certified Cloud Practitionerに本2冊で合格した話
# はじめに
10年以上セキュリティエンジニアとして働いていましたが、訳あって最近インフラのリーダーになりました。会社では主にAWSを利用しているため、勉強がてらAWSの資格を取得したという話です。ちなみにセキュリティエンジニアの時はAWSを使うことはなくGCPで色々なことをやっていました。AWSを使わなかった理由は、数年前にAmazonアソシエイトを意味不明な理由で垢バンされたからです。。
# 勉強方法
以下2冊の本を読み込みました。どちらも1年以上前の本ですが特に問題なかったです。
Amazonアソシエイトを垢バンされているためアフィリエイトリンクにはなっておりません。安心してクリックしてください。以下の本はシンプルにまとまっていて覚えやすい&理解しやすかったです。
3日くらいかけて内容を暗記しました。次に、上の本1冊だけでは不安だったので以下の本も買いました。
上の本に記載していない内容が多々ありましたので買ってよかったです。
こちらも3日くらいかけて内容を暗記しました。https:
【AWS】素の Cloud9 に Python 3.9 をインストールする
結果何とかなりましたが時間を吸われたので、
備忘録として残します。## 1. やりたいこと
– AWS Cloud9
– Python `3.7.10` (既定のバージョン※) を `3.9.0` にアップデートする
※ 2021 年 11 月 24 日 現在## 2. 前提
– 環境
– 作成してそのままの Cloud9 (Amazon Linux 2)## 3. 方法
Python バージョン `3.7.10` からスタートします。
“`sh
$ python –version
Python 3.7.10
“`### 3.1. pyenv インストール
まず pyenv をインストールします。
“`sh
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv# 確認
$ ~/.pyenv/bin/pyenv –version
pyenv 2.2.2-1-gf2925393
“``~/.bashrc` に以下を記載し、 pyenv コマンドへパスを通します。
とりあえずAWS Cognito触ってみた
#§1.はじめに
##1.何のページ?
AWSの中で2021年2月7日時点で常に無料(?)なサービスである
Amazon Cognitoをとりあえず触ってみたときの備忘録的なものです。無料枠の確認は[AWS クラウド無料利用枠](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc)で行えます。
Cognitoは何?って人は検索してもらうか[Cognitoの紹介ページ](https://aws.amazon.com/jp/cognito/)をご覧ください。
AWS S3だけはアカウントを作って最初の1年は無料なのですがそれ以降は
お金がかかります(2021年3月7日現在では一月に1GBあたり0.025ドル)##2.誰向け?
備忘録的なものなので自分向けですが、
AWSに興味があってとりあえず登録してみたけど何していいかわからない~って
人の参考になればいいかなと思ってます。
専門的な用語などはできる
RDS自動起動停止をlambdaで
#はじめに
RDSの料金を節約するために夜中に停止して朝起動するジョブを作ります。
#RDSの作成
RDS上でテスト対象となるDBを作成します。“`json:DBの情報
“DB識別子”: “postgres-db”
“`#lambdaの作成
event変数でAction(Start/Stop)と対象のInstanceを取得して、対象DBのステータスを取得したあと起動/停止を行います。“`python:/lambda_function.py
import boto3
region = ‘ap-northeast-1’def lambda_handler(event, context):
rds = boto3.client(‘rds’, region_name=region)
action = event[“Action”]
db_instance = event[“Instance”]response = rds.describe_db_instances(DBInstanceIdentifier=db_instan
AWSまとめ (IPアドレス)
・パブリックIPアドレス-
TCP/IPというプロトコルでは通信先の特定にIPアドレス(ネットの住所みたいなもの)を使う。
このIPアドレスは32ビットで構成されるが、「192.168.1.2」のように8ビットずつ区切られたものを10進数に変換し、「.」で区切られた形で表されます。ちなみに.内で区切られた数字は0~255までの数字で表され、このIPアドレスは重複しては住所の役割を全うしないのでICANNという団体が管理しています。
(しかし、このIPv4のアドレスの在庫が切れたので、新しく出たIPv6に移行するまではNATというIPアドレスを旧友できるシステムを開発したそうです。)・プライベートアドレス
プライベートアドレスとはネットに繋がれていないアドレスのことです。(社内の電話回線など)・・CIDR表記
IPアドレスのネットワーク部のビット数をIPアドレスの末端につけたもの。例: 192.168.1.2のIPアドレスがあったとして、この場合ネットワーク部(192.168.1を2進数に直すと24個の数字で表されるので、24ビット)の24という数字をIPアドレスの末端に
MWAA での環境変数設定パターン
# 設定パターン
網羅的ではないですが、複数あります。以下の5つを試したり紹介だけだったりしていきたいと思います。
* ①Airflow UIで設定(GUI)
* ②DAG内で設定
* ③airflow.cfgで設定(マネコン & CLI)
* ④airflow cliで設定
* ⑤Secrets Managerに全振り## ①Airflow UIで設定
Airflow UIでの環境変数設定を見ていきます。Airflow UIでのGUI操作になります。
#### 手順
Airflow UIを開き、上部の[Admin]にカーソルを当て、[Variables]をクリック
左下の[+]ボタンをクリックします![スクリーンショット 0003-11-26 7.34.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27932/cac44046-3178-9eab-06fe-11c376c54c00.png)
Key/Valueの形式で入力します。ここではfoo/barを入れました。左下の[
AWS SAM ローカルでいろんな角度からhello worldする
## やりたいこと
サーバーレスな処理を実装するのに備えて、ひとまずSAMを使ってローカル環境にてブラウザやcurlコマンドでhello worldをしたいです。“`
$ sam –version
SAM CLI, version 1.22.0
“`## 実装!
### sam initする`sam init`して、プロジェクトを新規作成します。
SAMからの質問に対して、下のように答えました。“`
template: AWS Quick Start Templates
package: type: Zip (artifact is a zip uploaded to S3)
runtime: ruby2.7
Project name [sam-app]: identify_user
quick start application templates: Hello World Example
“`↓(参考)上記の詳細、質疑応答の全貌。
“`
$ sam initWhich template source would you like to use?
AWSのssmのポートフォワードを並列稼動で起動する。
AWSのEC2を開発機として利用しているが、ssmで接続に慣れてくると、鍵をできるだけ使いたくない。できるだけIPを考えたくない。ポートフォワードで、接続できると良いとなってきた。
asis
“`
aws ssm start-session –target i-0dhogehogec26 –profile tanigawa.rei –document-name AWS-StartPortForwardingSession –parameters “portNumber=22,localPortNumber=50022
ssh -i ~/.ssh/key/tanigawa-rei-development.pem ec2-user@127.0.0.1 -p 50022 -N -L 8000:localhost:8000 -L 33306:localhost:33306 -L 9000:localhost:9000 -L 9090:localhost:9090 -L 15808:localhost:15808
“
ssmのポートフォワードでは、複数ポートの指定ができな
EKSのバージョンの「サポート終了」についてちゃんと調べてみた
# 背景
業務でEKSを扱っていて、ふと生じた疑問について調べてみました。
[今回参考にしたドキュメント](https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/kubernetes-versions.html)# EKSの「サポート終了」とは?
K8sは成長途中の技術であるためバージョンのアップデートが早く、約3ヶ月に1度のペースで新しいマイナーバージョンがリリースされています。
それに伴いAWS上のEKSクラスターもデプロイしたらしっぱなしではなく、運用しながら手動アップグレードし続ける必要があります。ドキュメントでは、
> 各マイナーバージョンは、最初にリリースされてから約 12 か月間サポートされますと書かれており、これ以降で下記の終了日を超えるとそのバージョンは「サポート終了」となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/577028/1e9ddc5c-0e6e-653c-95e6-62306395c