- 0.0.1. AWSアカウントを閉鎖してから再作成した時、rootユーザーログインできないという現象が起きた。
- 0.0.2. 【AWS】チュートリアル CodeCommit リポジトリ作成・サンプルコードのアップロード
- 0.0.3. Kinesis Data FirehoseからParquetファイルでS3に書き込む
- 0.0.4. AWS IAMとは?
- 0.0.5. 備忘:macにてAWS CLIをインストール
- 0.0.6. 新卒未経験、4ヵ月間で勉強してきたこと。
- 0.0.7. aws-vaultを使ってAWS SAMのデプロイを行ってみる
- 0.0.8. .NET CoreのプロジェクトをGitLab CI/CDでECSに自動デプロイさせる
- 1. 概要
- 2. プロジェクトのフォルダ構成
- 2.0.1. AWS Synthetics Canaryで日本語フォントを設定する
- 2.0.2. RDS(SQL Server)の停止処理ができない
- 2.0.3. AWS EC2環境でphp8.0とcomposerをインストールする
- 2.0.4. AWSとAzureのサービスの対応関係
- 2.0.5. AWS Lambda関数をGithubで管理・デプロイさせよう
- 2.0.6. Active Directory、AWS IAM Identity Centerを使用したAmazon QuickSightへのシングルサインオン環境を構成する
- 2.0.7. マネジメントコンソールとダッシュボード
- 2.0.8. 【試験合格記】DOP-C01 && ANS-C00 && SCS-C01 && MLS-C01
- 2.0.9. CodeCommitのgit clone時にfatal: repository not foundが出た場合の対処法
- 2.0.10. Amazon EC2のストレージボリューム(EBS)
- 2.0.11. AWS Lambda + API Gatewayでエラーになったら確認すること
- 2.0.12. インスタンスタイプ
AWSアカウントを閉鎖してから再作成した時、rootユーザーログインできないという現象が起きた。
## ★経緯
2年前にプログラミング学習をはじめ、一度挫折して去年の5月ごろ?にアカウントを閉鎖しました。
2022年8月に改めてAWSを使いたいと思い、新規でアカウントを作成しました。## ★起きている問題
rootユーザーログインを試みたところ、IAMユーザーログインにジャンプしてしまい
ログインしないとわからない?はずのアカウントIDを求められる現象が起きました。## ★解決した方法
https://aws.amazon.com/jp/premiumsupport/knowledge-center/reopen-aws-account/#:~:text=%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E9%96%89%E9%8E%96%E3%81%97%E3%81%9F%E3%81%AE,%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%
【AWS】チュートリアル CodeCommit リポジトリ作成・サンプルコードのアップロード
# はじめに
AWS ドキュメント上の
[CodeCommit チュートリアル Step1, Step2](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-simple-codecommit.html#codecommit-create-deployment)
を進めました。
日本語訳に対応していないため、本記事では日本語で手順を紹介します。本記事では、Git の操作を使わない方法で紹介します。
# 作業を進める前に
AWS アカウントが必要です。
持っていない方は作成してください。
[アカウントの作成](https://aws.amazon.com/jp/register-flow/)# Step1: Code Commit リポジトリの作成
– [Code Commit ページ](https://console.aws.amazon.com/codecommit/.)にアクセスします。
– リージョンを選択 ※今回は Asia Pacific(Tokyo) を選択しました。
– 「Re
Kinesis Data FirehoseからParquetファイルでS3に書き込む
# 背景・目的
Kinesis Datga Firehose(以降、KDFといいます。)から、S3にParquetを出力する機会がなかったので試してみました。
なお、思わぬところでハマったので、忘れないように合わせて載せておきます。# まとめ
– Firehoseだけではなく、Lakeformationの設定も必要でした。# 概要
AthenaやRedshift Spectrumで分析しやすいようにKDFでParquetフォーマットに変換しS3に出力します。今回は、S3 Selectで確認するところまでをスコープとします。# 実装
## KDFの設定1. Kinesisトップ画面で配信ストリームをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/d1ee2aa1-bc6e-b187-c305-d7c3f01f1951.png)1. KDFの画面で以下を入力すると、設定項目が変更されます。
– SourceにDirect Put
AWS IAMとは?
## IAMでできること
・IDと認証情報の管理
・アクセス権限の管理
・権限の委任
・IDとライフサイクル管理など、AWSリソースにアクセスする仕組み。
AWSリソースにアクションをする場合、ユーザーだけではなくアプリケーションだったりします。
AWSではユーザーやアプリケーション、ロールなどアクションの指示を出す役割をまとめてプリシンパルと言います。プリシンパルがリクエストを出す場合、IAMユーザ、ロールが認証されている必要があります。
プリシンパルはマネジメントコンソールであったり、AWSAPIを使用してリクエストを送信します。
リクエストには誰が?どの環境に?どんなことをしたいのか?の情報が入っています。
これらの情報をもとにリクエストを許可するのかしないのかをアクセス許可のポリシーによって決められており、これらが認可されて初めてリソースが使用できます。## AWSアカウントのルートユーザー
全てのAWSサービスとリソースを全てに完全なアクセス権を持つユーザーのことを指します。支払いオプションの変更、サポートプランの変更、IAMユーザーへのアクセス許可のリストア
備忘:macにてAWS CLIをインストール
超個人メモ
macにてAWS CLIをインストールしたので、備忘録。■実行環境
“`sh
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H512
“`■導入手順
手持ちのAWSのテキストに書かれている手順
“`sh
# pyhonのpipパッケージを入れる
$ curl “https://bootstrap.pypa.io/pip/get-pip.py” -o “get-pip.py”
$ sudo python get-pip.py
$ pip –version# AWS CLIをインストール
$ sudo pip install awscli
# 正常にインストールされたか確認
$ aws –version
“`しかし、下記のcurlコマンドでエラーになった。。少し調べてみる。
“`sh
$ curl “https://bootstrap.pypa.io/pip/get-pip.py” -o “get-pip.py”
“`■調査結果
get-
新卒未経験、4ヵ月間で勉強してきたこと。
初投稿です。
2022年4月に新卒で不動産テックの会社に入社し、4ヵ月が経ちました。
ふと、今までのやってきたことは何だったのかをまとめたくなったのでメモ書きしていきます。
まず、自分は未経験で現在の会社に入社しました。学生時代は触り程度しかプログラミングをしていません。なので、本格的に学習したのは入社してからになります。では、さっそく
1ヵ月目から3ヵ月目まで、吉祥寺にあるWeb制作会社に行き、研修?を受けていました。内容としては主に、HTML,CSS,javascript,AWS,基本情報技術者試験の対策がメインでした。
HTML&CSSは、Progateで道場編も含めて学習。その後、「1冊ですべて身につくHTML & CSSとWebデザイン入門講座」を用いて、ブログサイトの作成。そして、codeStepというサイトを参考に10個くらいコーディング練習をしました。
JavaScriptは、ProgateとYoutubeで基礎学習を行い、TechFULというサイトでコーディング練習をしました。TechFULでは、難易度2までのものをやり、週間ランキングで2位を一度取れまし
aws-vaultを使ってAWS SAMのデプロイを行ってみる
# はじめに
AWSのSAMを使うとlambda関数の開発がかなり楽になることを知りました。
本記事ではそんなsamのインストールからデモアプリのデプロイまでをまとめてみました。# AWS SAMとは
SAMとは(Serverless Application Model)の略です。AWSのサーバーレスサービス、Lambdaの関数をローカルで開発する際に非常に便利なサービスとなっています。## SAMを用いるメリット
SAMを用いてLambda関数を開発すると以下のような利点があります。
– ローカルのエディタを用いてLambda関数のコーディングが可能
– ローカル上でLambda関数に似た実行環境を用意できるためテストが簡単
– pythonのパッケージを用いる場合zipファイルなどにまとめレイヤー分けをする必要がなくなる# 使ってみる
## 準備
### 前提
本記事はarm系cpuの搭載されたmacOSでまとめています。
“`terminal
$ sw_vers
ProductName: macOS
ProductVersion: 12.5
$ uname -m
a
.NET CoreのプロジェクトをGitLab CI/CDでECSに自動デプロイさせる
概要
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1893891/d387be99-e329-8ead-a04e-205f747ec3d4.png)
OS:Windows11
開発環境:VisualStudio2022(Docker使用)
プロジェクト:.NET Core Razor Pages
ソース管理:GitLab(セルフホスト版)
AWSの環境はTerraFormで構築しました。
TerraFormを使ったAWS環境構築については、今回の趣旨から逸れるのでここでは説明しません。
上記の環境で、GitLabにソースをプッシュしたら、ECSに自動でデプロイされるように設定していきます。
CI/CD処理は全て「.gitlab-ci.yml」というファイルに記述します。プロジェクトのフォルダ構成
“`text:
├─.git
├─.vs
├─bin
├─db
├─obj
│
├─RazorPa
AWS Synthetics Canaryで日本語フォントを設定する
これまでsyn-nodejs-puppeteer-3.4までは普通に日本語がでてきたんですが、3.5以降で日本語が豆腐になった人向けです。
AWS Synthetics Canaryの記事をよむと、日本語が豆腐になるというのを読むことがありますが、私は日本語フォントに苦労したことはなかったです。
ちなみに私はsyn-nodejs-puppeteer-3.3から始めて、3.5で豆腐になりました。
始めたときに豆腐だったら、きっと採用しなかったでしょうね。運がよかった。## 原因
fonts.conf の変更により、/opt/fonts/.fonts/ 以下においてある日本語フォントを読みにいかなくなったためです。
## 対応
canaryのスクリプトで/opt/fonts/.fonts/*.otf を /tmp/.fonts/以下にコピーして、synthetics.launch() しなおす。
## fonts.confの変更点
syn-nodejs-puppeteer-3.4 と 3.6 のfonts.confの一部を下に示します。
“`xml
RDS(SQL Server)の停止処理ができない
## What’s This
RDS(SQL Server)の停止処理を行うボタンを押下できず、停止処理可能になるまでのメモです。
![スクリーンショット 2022-08-18 15.45.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/2b36a962-cabd-268e-7dc7-2550e4642a43.png)
## 原因
マルチAZ構成にしているのが原因でした。
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html![スクリーンショット 2022-08-18 15.53.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/6f9e474f-d309-8f35-27d9-30328fb9e9b2.png)
## 解決策
シングルAZに変更すると、停止可能になりま
AWS EC2環境でphp8.0とcomposerをインストールする
“`sudo amazon-linux-extras | grep php“`
php8.0の情報を見る
“`sudo amazon-linux-extras info php8.0“`php8.0をインストールする
“`sudo amazon-linux-extras install php8.0“`composerをインストールする
“`sudo curl -sS https://getcomposer.org/installer | sudo php“`composerの移動
“`sudo mv composer.phar /usr/local/bin/composer“`symbol linkを作成する
“`sudo ln -s /usr/local/bin/composer /usr/bin/composer“`
AWSとAzureのサービスの対応関係
# 背景
元々AWSを触っていたが、社内でAzureを使うメンバーが出てきたため、自身もかじり始めた。
自分の整理も含めて、まずはAWSとAzureのサービスの対応関係を書き出してみる。
Azure Fundamentals の勉強がてらなので、基本的なサービス限定です。
(Azureはあくまで机上の知識なのであしからず、、、)# サービスの対応関係
## コンピューティングサービス
| |AWS |Azure |
|—|—|—|
|仮想マシン |Amazon Elastic Compute Cloud (EC2) |Azure Virtual Machines|
|サーバレス |AWS Lambda|Azure Functions |
|コンテナ |AWS Elastic Container Service (ECS) | Azure Container Instances (ACI)|
|バッチ処理| AWS Batch | Azure Batch|
|Webアプリ構築 | AWS Elastic Beanstalk / Amplify |
AWS Lambda関数をGithubで管理・デプロイさせよう
## 入る前に
こんにちは、
アプリケーションエンジニアのキムです。
現在、自分が配属されてるチームでは複数のAWS Lambda関数を運用してます。AWSが提供しているバージョン管理も有効に使っていますが、Lambdaコードをもっと細かく管理したい意見が多くなり、主にLambdaを生産してる私さえ必要性を感じているので、この機会にGithubに移住させてみたいと思います。
どうせGithub上での管理する以上、現在運用中のアプリケーションと同様に、PR・コードレビューが正常に完了してから自動的にdeployされてほしいという気持ちがあったので、今回の作業を実行することになりました。
## 頼みの言葉
様々な試みの末、手作業で作られたコードです。 とても粗雑かもしれませんので、修正案について良い意見がありましたらコメントをお願いします。
Github marketplaceで気に入りのActionsが特になかったのでこのような感じになりました。
今後良いActionsがマーケットに登場するようになったらアクション内容についても共有していただければ嬉しいです。## やりた
Active Directory、AWS IAM Identity Centerを使用したAmazon QuickSightへのシングルサインオン環境を構成する
Amazon QuickSight(以下QuickSight)向けにシングルサインオン環境を構築する機会があったのでメモ。
なお、歴史的経緯から現在のAWS SSOあらためAWS IAM Identity Center(以下Identity Center)がそれなりに複雑な構成になっていたので、そのあたりについても簡単にまとめておく。# やりたいこと
QuickSightとActive Directory(以下AD)でシングルサインオンを行えるようにする。
シングルサインオンは、いわゆるIdP-Initiatedで構成する。参考:
[IdP-Initiated SSO(IdPでログインしてからQuickSightに遷移)](https://docs.aws.amazon.com/quicksight/latest/user/federated-identities-idp-to-sp.html)
[SP-Initiated SSO(QuickSightログイン画面からIdPにリダイレクト)](https://docs.aws.amazon.com/quicksight/late
マネジメントコンソールとダッシュボード
# マネジメントコンソールとは
Webブラウザ上でAWSのサービスを管理する画面(ユーザーインターフェース)
サービスごとに固有の画面(ダッシュボード)が用意されていて、サービスの設定やリソースグループ(リソースとは各種インスタンスなど稼働中のサービスや、容量を確保したサービスなど利用中のもの一式)の検索と使用、AWSのドキュメントの参照などさまざまな管理ができる。
マネジメントコンソールによって、複雑なコマンド入力してサービスを操作する必要がない。
## マネジメントコンソールでできること
* AWSのアカウント管理
* サービスの利用
* サービスの設定
* ドキュメントの参照
* モバイルデバイスからの管理
* 請求の確認
# リージョンの選択
マネジメントコンソールは地域を表すリージョン単位で操作する。
同じAmazon EC2サービスでもリージョンが違うと別のものと扱われる。
※マネジメントコンソールは最初ログインするとデフォルト設定がバージニア州になっているので、使用したいリージョンに切り替える。
**リージョンによって使用できるサービスが異なる**
使用できないサービスを
【試験合格記】DOP-C01 && ANS-C00 && SCS-C01 && MLS-C01
お疲れさまです。
表題の試験を更新したため記録として残したいと思います。# 受けた試験
– DOP-C01( AWS Certified DevOps Engineer – Professional )
– 受験日: 2022-05-22
– 受験者スコア: 910/1000
– ANS-C00( AWS Certified Advanced Networking – Specialty (Retiring July 11, 2022) )
– 受験日: 2022-07-06
– 受験者スコア: 848/1000
– SCS-C01( AWS Certified Security – Specialty )
– 受験日: 2022-08-10
– 受験者スコア: 890/1000
– MLS-C01( AWS Certified Machine Learning – Specialty )
– 受験日: 2022-08-17
– 受験者スコア: 777/1000# 前回の受験記録
– [【試験合格記】AWS 認
CodeCommitのgit clone時にfatal: repository <リポジトリURL> not foundが出た場合の対処法
## 事象
複数のAWSアカウントでCodeCommitでリポジトリを作ってgit cloneしたところ、not foundのエラーが出力された。
“`
$ git clone <リポジトリURL>
Cloning into ‘<リポジトリ名>‘…
fatal: repository ‘<リポジトリURL>‘ not found
“`## 結論(対処)
namespaceを作って、そのnamespaceに対する認証情報を登録してあげる。
“`
$ git -c credential.namespace=<任意のnamespace名> clone <リポジトリURL>
[windowsだとここで認証情報問われるので該当AWSアカウントで発行したCodeCommit用の認証情報を入力]
Cloning into ‘<リポジトリ名>‘…
$ cd <クローンしたリポジトリのディレクトリ>
$ git config –local credential.namespace <2つ上のコマンドでクローン時に指定したnamespace名>
“`## 原因と解説
別AWSアカ
Amazon EC2のストレージボリューム(EBS)
# EBSとは
**Amazon Elastic Block Store**(Amazon EBS)
永続的なブロックストレージボリューム。EC2インスタンスと組み合わせて使う。
ストレージ:データを保存する先。SSDやHDDがある。
**ブロックストレージボリューム**とは、データをバイトのブロック単位で保存する方式で、ディスクに保存するときの最も一般的な方式。
一方で、同じAWSサービスであるAmazon S3は**オブジェクトストレージ**と呼ばれる方式を採用。
EBSではHDDとSSDを選択できる。
**HDDとSSDの違い**
|項目|HDD(ハードディスクドライブ)|SSD(ソリッドステートドライブ)|
|-|-|-|
|読み書き速度|普通|**速い**|
|値段|普通|**高い**|
|消費電力|**やや大きい**|普通|
|衝撃に対して|弱い|**強い**|
|故障|冗長化されている|冗長化されている|
# EBSのボリュームタイプ
HDD、SSD共にIOPS保障やスループット最適化などのボリュームタイプがあり、パフォーマンスとの料金バランスを見て選択
# EBSの機能
AWS Lambda + API Gatewayでエラーになったら確認すること
Lambda + APIGatewayでREST APIを構築し、いろんなエラーに遭遇しました。
確認すべき箇所をメモしておきます。## 403 {“message”:”Forbidden”}
### → **リクエストURLは正しいでしょうか**
API Gatewayはpath+ステージ名を付けたりします。
このステージ名が抜けてるとForbiddenになりますので、確認してみてください。構成
“`
https://{APIのID}.execute-api.{リージョン}.amazonaws.com/{ステージ名}/{リソース名}
“`例
“`
https://api-id.execute-api.us-east-2.amazonaws.com/default/pets?id=4&type=dog
“`
### → **リソースポリシーが間違っていないでしょうか**
リソースポリシーが真っ白だとエラーになります。
左メニ
インスタンスタイプ
# インスタンスタイプとは
**インスタンスタイプとは、マシンの用途**。
CPU、メモリ、ストレージ、ネットワークキャパシティーなどが用途によって組み合わせられる。
**用途は主に5つの種別があり、それぞれ複数のインスタンスタイプが存在する**。
**インスタンスタイプの用途とタイプ名**
* 汎用
インスタンスタイプ:A1、T3、T2、M5、M5a、M4、T3a
* コンピューティング最適化
インスタンスタイプ:C5、C5n、C4
* メモリ最適化
インスタンスタイプ:R5、R5a、R4、X1e、X1、ハイメモリ、z1d
* 高速コンピューティング
インスタンスタイプ:P3、P2、G3、F1
* ストレージ最適化
インスタンスタイプ:H1、I3、D2
# インスタンスタイプとインスタンスサイズ
インスタンスタイプを選択後、**インスタンスサイズ**を選択する。インスタンスサイズは簡単にいうと、**性能**です。
ex)T2という一時的に性能を上げるバースト機能に対応したインスタンスタイプには、「nano」「micro」「small」「medium」「large」「xlarge」「2