- 1. e-statのデータをAthenaで読み込む
- 2. Lambdaで取得した画像をKinesis及びLambda経由でS3にアップロードする
- 3. AWS (CodePipeline CodeCommit CodeBuild CodeDeploy) をざっくり理解
- 4. AWS EC2にVSCodeでRemote-SSH接続(Windows)
- 5. AWS CLI プロファイル & IAM 関連コマンド集
- 6. 【AWS】Cloud9開発環境構築の流れ(備忘録)
- 7. ローカル環境を汚さずにECRにプッシュする方法
- 8. AWS ACM DNS検証 CNAMEレコードを登録する際に気になったこと
- 9. 【個人開発】「あのアイコンの名前がわからない」あなたへ。手書きで探せるアプリを作りました。
- 10. 作業先のS3バケットがLambdaのトリガーとなっていないかを確認する方法
- 11. 別AWSアカウントのEC2インスタンスをコピーする手順
- 12. Athenaで基礎からしっかり入門 分析SQL(Pythonコード付き) #5
- 13. 看護師からインフラエンジニアに転職して2年で14個資格を取得した話
- 14. RDS Proxy のリーダーエンドポイントに IAM 認証が使えない
- 15. AWS SAA 試験対策メモ
- 16. Amazon DynamoDBの新しいコンソールに対する不満点
- 17. 【AWS】EC2インスタンスのSSH接続時のタイムアウト問題の解決
- 18. [AWS Step Functions] EC2とRDS(Aurora)をグループ単位かつ指定した順番に起動/停止する
- 19. S3にアップした画像が表示されない
- 20. Laravel+Amazon S3 画像をアップする方法
e-statのデータをAthenaで読み込む
##データの準備
####e-statからCSVファイルをダウンロードする
1. e-stat APIの[利用ガイド](https://www.e-stat.go.jp/api/api-info/api-guide)を参照して、アプリケーションIDを取得する
1. [API機能テストフォーム](https://www.e-stat.go.jp/api/sample/testform3-0/)の[統計データ取得](https://www.e-stat.go.jp/api/sample/testform3-0/getStatsData.html)を使って、データを取得する。テストフォームには以下の項目を入力します。取得できるのは、最大10万行です。
– アプリケーションID
– 統計表ID(0003410379)
– データ形式(CSVを選択)
– セクションヘッダフラグ(出力しないを選択)統計表IDは「男女別人口及び人口性比-全国,都道府県(大正9年~平成27年)」のものです。必要に応じて変更してください。
セクションヘッダフラグ[sectionHeaderFlg] を「出力しな
Lambdaで取得した画像をKinesis及びLambda経由でS3にアップロードする
[Lambdaで取得した画像をKinesis及びFirehose経由でS3にアップロードする](https://qiita.com/nkmk1215/items/24d481001f94901853be)にて
流した画像がFirehoseを経由うすると複数の画像がまとめられて出力されたので
KinesisからLambda経由でS3にアップロードしたときの個人メモ[(参考)S3 — Boto3 Docs 1.18.57 documentation – Amazon AWS](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.put_object)
[(参考)Amazon Kinesis で AWS Lambda を使用する](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-kinesis.html)—
# Kinesis
– [Lambdaで取得した画像をKinesis及びFi
AWS (CodePipeline CodeCommit CodeBuild CodeDeploy) をざっくり理解
#概要
CodePipeline CodeCommit CodeBuild CodeDeploy を用いたデプロイの流れをざっくり解説しました。
細かい設定や、ファイルへの記述は最後に書いていないです。#参考にさせていただいた講座および引用させていただいた画像
[Techpit 「Laravel × CircleCI × AWSで学ぶCI/CD」 shonansurvivors様 著](https://www.techpit.jp/courses/78)
#基盤となる図
![スクリーンショット 2021-10-12 0.26.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461885/3d8bdbe3-bdb3-252f-713b-4f0f8a03d50c.png)
1~7まではローカルからCircleCIを通して、featureブランチでテストをパスした後masterにマージ。そしてテストを行っている。
その後からCode〇〇を用いたデプロイの開始である。#Code〇〇のそ
AWS EC2にVSCodeでRemote-SSH接続(Windows)
AWS EC2インスタンスにTera Termではなく、VScodeで接続
とても簡単で、これするだけでGUIで感覚的な操作ができます。EC2 OSはAmazon Linux 2の場合ユーザ名は「ec2-user」です。
(そのほかのOSのEC2の場合はAWSのリファレンスを確認)#手順
* VScodeで拡張機能「Remote-SSH」インストール
* VScodeウィンドウの左に「リモートエクスプローラー」のアイコンが現れるのでクリック
* プルダウンで「SSH Targets」を選択
* 歯車アイコンをクリック
* 「C:\Users\[ユーザ名]\.ssh\config」 を選択
* 以下を入力して保存“`
Host (任意)
HostName [EC2パブリックアドレス]
Port 22
IdentityFile [pemキーのパス]
User ec2-user
“`* VSCodeウィンドウ左下の緑色の”><"ボタンを押す * 表示されたメニューから「Connecto to Host...」を選択 * configに入力したHost名を選択「ec2
AWS CLI プロファイル & IAM 関連コマンド集
# 目的
最近、異なる AWS アカウントを切り替えて利用することが増えたため、AWS CLI のプロファイルおよび AIM 関連のよく使うコマンドをまとめておきます。## 名前付きプロファイルを新規登録
**コマンド:** `aws configure –profile Name`
“`bash
$ aws configure –profile Name
AWS Access Key ID [None]: XXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
“`## デフォルトのプロファイルを設定 or 新規登録
**コマンド:** `aws configure`
“`bash
$ aws configure
AWS Access Key ID [None]: XXXXXXXXXX
AWS Secret Access Key [None]: XXXXXX
【AWS】Cloud9開発環境構築の流れ(備忘録)
#はじめに
自己研鑽では、AWS Educateを使用中。
Cloud9での開発環境構築の手順の整理です。#やること
1.cloud9で新しい環境を作成(「Create environment」から適宜設定)
2.GitHub接続に必要な鍵を作成“`ruby
ssh-keygen #keyを作成
cat ~/.ssh/id_rsa.pub #中身を表示(表示されたものをコピーしておく)
“`3.GutHub上で先程のssh-keyを登録
[Setting]>[SSH and GPG keys]
title : どのssh-keyなのかわかるように命名(cloud9環境名、リポジトリ名、sshタイトルは同じにしています)
body : 先程コピーしたkeyの中身を貼り付け「Add SSH key」を押して公開鍵を登録
4.GitHubと接続(cloud9操作)
“`ruby
ssh git@github.com
#この後yes/noを聞かれたらyesと入力し、enter
“`アカウント名が表示されていたら完了
5.GitHubに草を生やす
“`
ローカル環境を汚さずにECRにプッシュする方法
# はじめに
ローカル環境を汚さずに手軽にDockerイメージをECRにプッシュしたい…
本記事では、[AWS CLIの公式Dockerイメージ](https://hub.docker.com/r/amazon/aws-cli)を用いて、自作したDockerイメージをECRにプッシュする方法をご紹介します。
[ECR(Elastic Container Registry)](https://aws.amazon.com/jp/ecr/)とは、AWSが提供しているDockerイメージの保存場所です。プライベートリポジトリ、パブリックリポジトリ、Dockerイメージの脆弱性スキャンを利用できます。
# 前提条件
– AWSアカウントを持っている
– Dockerがインストールされている
– Windowsの場合: [Docker Desktop for Windows](https://docs.docker.jp/docker-for-windows/install.html)
– Macの場合: [Docker Desktop for Mac](http
AWS ACM DNS検証 CNAMEレコードを登録する際に気になったこと
# AWS ACMのDNS検証について
AWS ACMにはパブリックドメインの証明書を発行する際、DNS検証という仕組みがある。
DNS検証の仕組みを用いると証明書の更新が自動的に行われるため運用が楽になる。
※証明書の有効期限はどんどん短くなって現状は397日=約13ヶ月。CNAMEレコードを登録する場合は以下の2パターン。
①Route53にてドメイン管理を使用している場合→Route53のホストゾーンに登録。
②外部のレジストラでドメイン管理している場合→ドメインレジストラ(お名前.comとか)の管理のページでCNAMEレコードを登録。# CNAMEレコードを登録するときに気になったこと
例えば*.hogehoge.comというパブリックドメインがあるとして、
上の名前ですでにDNS検証が行われていた場合、同じドメインで新たに発行したCNAMEレコードを追加しても
問題ないのか気になったのでサポートに問い合わせてみた。Aアカウント *.hogehoge.com DNS検証済み。
Bアカウント *.hogehoge.com DNS検証(新規)。サポートの回答による
【個人開発】「あのアイコンの名前がわからない」あなたへ。手書きで探せるアプリを作りました。
アイコン探しって、結構大変じゃないですか?
開発をしていると、アイコンが必要になります。
しかし、たまに **検索するための名前がわからない** という問題が起きる…例えば、メニューに使われる「⋯」のアイコン。
なんて検索すればいいかわからない…なので、 **手書き検索** できるようにしました!
# 作ったアプリ
**手書きアイコン検索アプリ iconow**
アイコンの名前がわからなくて探せない…という問題を解決するため、**手書き**で検索できるようにしたアプリです。みんな大好き **FontAwesome** と、Web や Flutter のアイコンに採用されている **Material Icon** を検索できます。
#### iOS
ht
作業先のS3バケットがLambdaのトリガーとなっていないかを確認する方法
#背景
S3へのオブジェクト作成をトリガーを利用してLambdaを活用することは多いと思います。
そうすると、S3にファイルを作成する処理を書くときに「あれ、このバケットのこの場所、トリガーになってないよね、、、?」
と思うことが出てきました。
さっと確認できると安心感も増すものです。#解決方法
API レベル (s3api) コマンドにこれを満たす get-bucket-notification-configuration というものがあります。
参考:[API レベル (s3 api) コマンド](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-s3-apicommands.html)
#具体的な方法
せっかくなので
・S3の条件(Prefixとか)
・S3のパス
・Lambda関数のARNが1行で一覧で出力できるようなjqを書いてみました(あと一歩スマートな書き方があるかもです)
“`
aws s3api get-bucket-notification-config
別AWSアカウントのEC2インスタンスをコピーする手順
別のAWSアカウントで作成されたEC2インスタンスを、自分のアカウントにコピーする機会があったので、手順を残しておきます。
# コピー元の作業
コピー元のAWSアカウントで、AWSマネジメントコンソールにログインします。## イメージの作成
コピーしたいインスタンスを選択し、アクションから「イメージを作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/36deab86-e8e3-0ce6-4403-98364eb2cf67.png)
任意のイメージ名を入力します。
このとき、サーバを止めたくなければ「再起動しない」にチェックを入れましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/486d0277-6ce7-ff0f-3b7f-32114c79f86e.png)
「イメージを作成」をクリックします。
![image.png](ht
Athenaで基礎からしっかり入門 分析SQL(Pythonコード付き) #5
今まで複雑なデータ操作・分析などはPythonでやっており、SQLは普通のアプリ開発程度のライトなものしか触って来なかったのですが、やはり分析用の長いSQLなども書けた方がやりとり等で便利・・・という印象なので、復習も兼ねて記事にしておきます。
また、SQLに加えて検算も兼ねてPythonやPandasなどを使ったコードもSQLと併記していきます(Pythonで書くとどういった記述が該当するのかの比較用として使います)。
※長くなるのでいくつかの記事に分割します。本記事は5記事目となります。
# 他のシリーズ記事
※過去の記事で既に触れたものは本記事では触れません。
`#1`:
用語の説明・SELECT、WHERE、ORDER BY、LIMIT、AS、DISTINCT、基本的な集計関係(COUNTやAVGなど)、Athenaのパーティション、型、CAST、JOIN、UNION(INTERSECTなど含む)など。
https://qiita.com/simonritchie/items/0d84646e3db940e98b14
`#2`:
GROUP BY・HAVING
看護師からインフラエンジニアに転職して2年で14個資格を取得した話
こんにちは。パエリア王子です。
2021年10月でインフラエンジニアになってからちょうど2年になりましたので、自分の振り返りを含め、取得した資格や経緯について書いていきたいと思います。
私は地方に住んでいますが、入社時からクラウドエンジニアになりたいと思いながら勉強を進めていました。
資格のおかげもあって、現在は**クラウドエンジニア**として働いています。###資格取得の賛否について
エンジニア業界では資格より経験や実務という文化があります。
私もそう思います。
しかし、中には「資格だけ持っていてもなんの意味もない」という意見も聞かれますが、個人的には「持っていないよりは持っていたほうが良い」と思います。
確かに試験勉強だけでは仕事はできませんが、実務がないのであればせめて資格(取得によって得られる知識)くらいは持っていたほうがよい、と思うからです。
資格の中には模擬試験とほとんど同じ内容の試験で丸暗記だけで受かる試験もありますが、それでも何もしないよりはましですし、継続的に資格取得するだけでも勉強する意欲があることはアピー
RDS Proxy のリーダーエンドポイントに IAM 認証が使えない
どうやら IAM 認証が使えるのはメインの Read/write エンドポイントだけみたいですね。
メインのエンドポイントとリーダーエンドポイントそれぞれで cli でトークンを作成して接続してみましたが、リーダーエンドポイントのときは次のエラーになりました。“`
sql: FATAL: The IAM authentication failed for the role xxxxx. Check the IAM token for this role and try again.
“`「token の作成にメインエンドポイントを指定して、接続先をリーダーエンドポイントにする」みたいなトリッキーな方法も試してみましたが変わらず。
### 参考記事
https://dev.classmethod.jp/articles/rds-proxy-adds-read-only-endpoints-for-amazon-aurora-replicas/
https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-p
AWS SAA 試験対策メモ
抜け漏れがあった用語や概念の整理。
個人的なメモです。## EC2
### Amazon Elastic Block Store (Amazon EBS)
EC2 インスタンスで使用するためのブロックレベルのストレージボリューム。
#### ソリッドステートドライブ (SSD)
– 汎用 SSD
– Provisioned IOPS SSD#### ハードディスクドライブ (HDD)
– スループット最適化 HDD
– Cold HDDhttps://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-volume-types.html
### リザーブドインスタンス
– 期限前のインスタンスをマーケットプレイスで販売できる### 障害回復
– AMIを取得して別リージョンにコピー
– EBSだと、EC2の設定自体は復元できない### ゴールデンイメージ
– 必要なソフトウェア等がインストールされた状態のAMIを用意しておく### AMI
-スナップショットが含まれている#
Amazon DynamoDBの新しいコンソールに対する不満点
# はじめに
2021/8/25にAWS DynamoDBは新しいコンソール画面がデフォルトとなりました。
https://aws.amazon.com/jp/about-aws/whats-new/2021/08/amazon-dynamodb-console-manage-data-resources/見た目は非常にシンプルで良いのですが、如何せん使い勝手が悪いというのが印象です。
これから改善されていくとは思いますが、不満点について残します。※本不満は2021/10/7時点の元です。
すでに解決されている可能性もありますので、ご注意ください。# 新しいコンソールに対する不満
## クエリ/スキャンの結果がリセットされない
DynamoDBでレコードの確認をよくする際に、パーティションキーでクエリ検索することがよくあります。
新コンソールでは「実行する」「元に戻す」があるのですが、「元に戻す」で検索結果がリセットされません。旧コンソールでは他のテーブルに異動した後に戻ると検索結果がリセットされますが、新コンソールではリセットされません。
新コンソールではDynam
【AWS】EC2インスタンスのSSH接続時のタイムアウト問題の解決
#Operation timed out 発生
AWSで仮想サーバーであるEC2インスタンスを作成しました。
MACにターミナルでコマンドを打つ練習のため、SSHでネット接続を試みました。![スクリーンショット 2021-10-10 2.55.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638561/a7b3aa3a-1f3b-2865-6328-79d00d1e975b.png)
ところが、下記画像のように接続がタイムアウトと表示されてしまいます。
EC2がSSH接続ができていません?
何故ぇ?((((;゚Д゚)))))))
![スクリーンショット 2021-10-10 2.45.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638561/dd27f25a-9115-f284-7a5e-9bf2108aef74.png)#結論:原因はVPC
結論として、原因は自分のVPC環境に問題がありました
[AWS Step Functions] EC2とRDS(Aurora)をグループ単位かつ指定した順番に起動/停止する
## はじめに
EC2とRDS(Aurora)を、グループ単位かつ指定した順番に起動/停止する仕組みを AWS Step FunctionsとLambda(Python 3.9)で作りました。
## もう少し詳しく
作成した StepFunctions ステートマシン の詳細を説明します。
以下のように複数のEC2,RDS(Aurora)がある場合に、タグを使いをグループ化と起動順序を設定します。
タグに必要な情報を設定し、起動したいグループと命令(起動命令 or 停止命令)を指定すると、順番に従いリソースを起動or 停止します。具体的な設定例も含め説明します。以下図のような構成でEC2,RDS(Aurora)を作成します。
※図にはリソースごとのタグ情報を記載しています各リソースにはこのようにタグを設定します。
S3にアップした画像が表示されない
#はじめに#
[こちら](https://qiita.com/kt103/items/535dd1808083e61989c6)の記事でなんとかS3への画像アップロードを実装したものの、なぜか表示がされない・・・というエラーにぶつかりましたのでメモを残していきます。#エラー内容#
S3へのアップは問題なくできており、表示ができないというパターンです。
S3のバケットから保存されたファイルの詳細をみていきます。
オブジェクトURLをクリックするとこんな表示がされました。
![スクリーンショット 2021-10-10 12.30.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/82506075-417f-f6b6-e573-b47033f107b5.png)
調べてみると、どうやら画像へのアクセス許可がされていないようです。解消するためにはバケットポリシーを編集していく必要があります。#バケットポリシーの編集#
バケット名をクリックして、アクセス許可のタブをクリックするとこん
Laravel+Amazon S3 画像をアップする方法
#はじめに#
Laravelでアプリを作ったのでHerokuで公開してホッとしたのも束の間、どうやらHerokuでは画像の保存ができないらしい・・・。
ということで今回はS3へ画像を保存する方法を取りたいと思います!
初心者の備忘録ですので、理解不足はご容赦ください。#AWSアカウントの作成#
[公式](https://aws.amazon.com/jp/register-flow/)を参考にアカウントを作成しましょう。その際、access keyとsecret access keyが発行されるのでメモっておきましょう。
忘れた場合は[こちら](https://docs.aws.amazon.com/ja_jp/powershell/latest/userguide/pstools-appendix-sign-up.html)を参考にしてみてください。#S3のバケットを作る#
[こちら](https://qiita.com/miriwo/items/41e488b79fb58fa7c952)を参考にバケットを作成してください。ここに画像ファイルが保存されていきます。
そ