- 1. udemyによるAWSの勉強② – IAMについて
- 2. AWSとは。簡単に。
- 3. Serverless Frameworkで複数のLambdaを管理する
- 4. AWS KMS とは
- 5. AWSのリソースを管理しやすくするVantageを試してみた
- 6. RDS から オンプレミスの MySQL へレプリケーションをしてみる
- 7. 【初心者向け】クラウドサービスの概要一覧(AWS, GCPの違い)
- 8. aws入門―Linuxサーバ環境構築、teratermで接続
- 9. SAMとCodePipelineでサーバーレスのCI/CDを構築する
- 10. AWS Certified Database – Specialty 合格記録
- 11. AWS CLIの設定(Windows)
- 12. amplify-authenticator のサインアップを無効化する方法メモ
- 13. ECSでタスクが起動しない場合に確認すべきこと
- 14. VyOS で site-to-site VPN をしてみた
- 15. VPCピアリングを設定してみた
- 16. AWS CLIのコマンド補完設定時の戒め
- 17. AWSのDescribeAvailablePatchesを使ってみた
- 18. AWS Organizationsのタグポリシーを使ってみた
- 19. ConfigをCloudFormationにより有効化して色々やってみた
- 20. Access Analyzerを全リージョンで有効化してみた
udemyによるAWSの勉強② – IAMについて
#◆udemyの教材
本記事を作成するにあたって、参考にしたudemyの教材は以下のものになります。これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
https://www.udemy.com/share/101WKk/#◆受講の目的
私はアプリを開発して、始めたいサービスがあります。
そのアプリでは動画を保存する必要があり、堅牢なサーバが必要となります。どうにかならないかと調査していた時に、AWSのS3というファイルサーバを使えば、セキュリティ的にも容量的にも解決できることを知りました。
本講座で、AWSについて情報収集をし、アプリ開発に生かす予定です。
#◆IAMとは
Identity and Access Managementを略してIAMと呼びます。
このサービスはAWSでもかなり多く使う部類に入ります。#◆IAMでできること
「認証」と「認可」の設定を行うことができます。
IAMによってこれらを正しく設定することで、AWSの利用者やAWSのサービスがアクセスできる範囲を制御することが可能にな
AWSとは。簡単に。
## AWSとは
AWS(Amazon Web Services)は、Amazon社が提供するクラウドサービスです。クラウドサービスとしては最大規模で100以上のサービスが存在します。### 特徴
・サービスがとにかく豊富!
・リソースを必要なときに必要な分だけ調達できる為、とても柔軟です。
・使った分だけ支払う従量課金を採用している。###インフラを構築することできる
まずインフラとは何でしょうか?
・インフラとはサーバーやネットワークのことで、Infrastructure(基盤)と言います。
↓
サーバーとは、クライアントに対してサービスを提供する。例えば、Webサーバーだったり、データベースサーバー。その他。その、クライアントとサーバーのデータの送受信がネットワークと言います。###クラウドとは?
クラウドコンピューティングと言いまして、ネットワークと使ってコンピューターリソースを利用する形態のこと。形態にも種類があって、また後日調べて記事書きます(^_^;)まとめると、AWSはサーバー、ネットワークなど様々なサービスを提供するクラウドサー
Serverless Frameworkで複数のLambdaを管理する
## やったこと
– Serverless Framework を使って、API Gateway + LambdaでAPIを作りました。
– 一つのAPI Gatewayでリソースが違うpathに対してLambdaを振り分けるようにした。
`https://hoge/v1/fun1` にリクエストがきたら Lambda1 をinvokeして
`https://hoge/v1/fun2` にリクエストがきたら Lambda2 をinvokeする
みたいな感じです。## Serverless Framework
https://www.serverless.com/open-source/
> Serverless Framework Open Source lets you develop and deploy serverless applications to AWS, Azure, GCP & more. Use it with Pro for full serverless application lifecycle management.Serverle
AWS KMS とは
## 勉強前イメージ
key manage system で鍵を管理するところってイメージ
でもそれだとあんまりcloudHMSと何が違うんでしょう## 調査
### AWS KMS とは
Amazon Key Management Service の略で、
データ暗号化に使用する暗号化キーを管理してくれるサービス
データの暗号化の鍵(データキー) と 暗号化のための鍵(マスターキー) を管理できます### KSMが扱う鍵
基本的な暗号化のイメージは以下です。
鍵を使ってデータを暗号化します。![元々の暗号化イメージAWS KMS – diagrams.net – Google Chrome 2021-01-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/62d06eef-2154-f3b8-43ff-3027959f3eb7.png)
しかし、この鍵も盗まれかねないので、鍵を暗号化するようになりました。
すると構成図は以下のようになります。![2重暗号
AWSのリソースを管理しやすくするVantageを試してみた
TechCrunchさんで紹介されていたVantageが気になったので、試してみました。
AWSを使ってると、インスタンス消し忘れて課金が発生したってことはありませんか?vantageはそんな問題を解消してくれるかもしれないサービスです。
https://www.vantage.sh/# Vantageとは
Vantageは以下の画像のように、AWSで作成したリソースの一覧を表示してくれるサービスです。複数のリージョンをまとめて表示してくれて、1か月あたりのコストも出してくれます。サポートしているサービスとリージョンは[ここ](https://docs.vantage.sh/supported_services/)に載っています。これはfreeプランの画面ですが、有料だとCloudwatch LogやCloudwatch Metricsをいい感じに出してくれるみたいです。
![screencapture-c
RDS から オンプレミスの MySQL へレプリケーションをしてみる
# はじめに
RDS for MySQL からオンプレミスの仮想マシンに準備した MySQL へレプリケーションを組む手順を備忘録として残しておきます。
# 前提
レプリケーション元 : RDS 5.7.31
レプリケーション先 : オンプレミス(Oracle Cloudで準備) : MySQL 8.0.23 : CentOS 7
VPC と オンプレミスは、site-to-site VPN で接続済み# Replica : MySQL の構成
次の URL を参考に、適当に MySQL をインストールします。この記事では、8.0.23 を使っています。
https://qiita.com/sugimount/items/bf44904db8201d377536# Replica : GTID Mode を有効
8.0.23 の Default では、gtid_mode が OFF になっている。Replication のために、ON へ変更
“`
mysql> show variables like ‘%gtid%’;
+————
【初心者向け】クラウドサービスの概要一覧(AWS, GCPの違い)
クラウドサービスの勉強にあたり、名前を聞いただけではどんな機能か想像がつかない…
…ということで、代表的なクラウドサービスであるAWS(Amazon Web Service)とGCP(Google Cloud Platform)で提供されている機能について、一覧表を作って概要を知ることにしました。
| 機能概要 |AWS | GCP | メモ |
| —— | — | — | — |
|アカウント管理・アクセス制御 | IAM
(Identity and Access Management) | IAM
(Identity and Access Management) | AWSもGCPも呼び名や機能概要は同じ |
| ストレージ | S3
(Simple Strage Service) | GCS
(Google Cloud Strage) | ファイルを保存できる |
|仮想マシン |EC2
(Elastic Compute Cloud) | GCE
(Google Compute Engine) |仮想サーバ。AWSで出
aws入門―Linuxサーバ環境構築、teratermで接続
一、先ず、AWS簡単に紹介します。
awsはamazon web service。簡単に言うと、前はAPとDBサーバのハードウェアはマシン室に構築します。今回はamzonのクラウドサービスを利用します。下記のURLを参照してください。
https://aws.amazon.com/jp/getting-started/fundamentals-overview/?e=gs2020&p=gsrc二、amazonのサーバ環境を構築してみます。
①amozonのアカウントを作成必要です。無料作成しますが、クレジットカードが必要です。ご注意ください。
サーバ作成後、起動時間より、費用がかかるかもしれません。使わない場合、サーバを停止したほがいいです。
アカウント作成は下記のURLを参照してください。
https://aws.amazon.com/jp/register-flow/②VPC環境構築
VPCとは:
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。仮想ネットワークは
SAMとCodePipelineでサーバーレスのCI/CDを構築する
AWSのSAMとCodePipelineを使用して、サーバーレス環境でのCI/CDを構築していきます。CodePipelineはCloudFormationは使用せずマネジメントコンソールから作成していきます。
###全体像
以下のような構成でパイプラインを構築していきます。
![sam_black_belt.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1051954/ee18d1a5-fa45-9377-65ab-ebb6fee4853c.jpeg)
出典:[Amazon Web Services ブログ](https://aws.amazon.com/jp/blogs/news/webinar-bb-aws-serverless-application-model-2019/)###構築手順
####前提
– SAMで必要なコードはgitにプッシュ済み(template.ymlとLambdaのソースコード)
– CloudFormationによるスタックは新規作成済み上記を前提とし、tem
AWS Certified Database – Specialty 合格記録
# この記事
**AWS Advanced Database Specialty** を取得したので
学習内容や感想を記録します。# about me
**インフラエンジニア**
AWS関連のインフラ構築や保守を4年ほど経験しています。Database自体の知識が少ないため、AWSといえど心配でした。
これまでのAWS資格は以下の流れで取得しました。
“`
2019
Solution Architect Associate (7月)
SysOps Administrator Associate (9月)
Solution Architect Professional (11月)
Developer Associate (12月)
2020
DevOps Engineer Professional (3月)
Security Specialty(5月)
Advanced Networking(10月)
2021
Database Specialty(1月)
“`# about DBS試験
AWS 認定 データベース – 専門知識
https://aws.amaz
AWS CLIの設定(Windows)
AWS CLIを設定する。
AWS CLIでS3のリスト、アップロード、ダウンロードをしたい。#インストール
公式ガイド:https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.htmlAWS CLI Version2であれば以下からインストーラをダウンロードできる。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-windows.html↓入った。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/342082/4f8336f5-517f-8cf0-aba9-13e30eed675a.png)#構成
####(なければ)アクセスキーとシークレットキーを作成する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws
amplify-authenticator のサインアップを無効化する方法メモ
## はじめに
ユーザーの登録は管理者側で行いたいので、amplify-authenticator(@aws-amplify/ui-vue) のサインアップリンクを無効化しようとしてハマったのでメモを残す。
`isSignUpDisplayed: false` を食わせれば良いという記事はたくさんあるが、
肝心の食わせ方がまちまちでなかなか適用することができなかった。## 結論
“`vuejs
“``amplify-sign-in` に `slot=”sign-in” hide-sign-up=”true”` を渡すことで無効化できた。
## 参考リンク
https://github.
ECSでタスクが起動しない場合に確認すべきこと
タスク起動に失敗する原因は主に下記ですが、ここでは上記2つに関する事象に対応するための確認事項を記載していこうと思います。
– ネットワークエラー
– IAM権限不足
– リソース不足もし、ECSを利用してみたが、タスクが起動しなくて困っているなどあれば、下記の内容を見て実際の環境で確認してみてほしい。
## まず、エラーの確認
なにはともあれ、起動しなかったタスクのエラーログを確認しましょう。
[停止されたタスクでのエラーの確認 – Amazon Elastic Container Service](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/stopped-task-errors.html)
ここに下記のメッセージが出ている場合は、デプロイしたアプリケーションが正常に動作していない可能性が高いです。
– Essential container in task exited
– Task failed ELB health checksこの場合、**タスクは一度起動したが、アプ
VyOS で site-to-site VPN をしてみた
# はじめに
site-to-site VPN を使うことで、オンプレミスネットワークと VPC 間でセキュアな接続が出来ます。今回は、ソフトウェアルーターの VyOS を使って、site-to-site VPN の手順を紹介します。
# NW構成図
オンプレミス (10.0.0.0/16) と AWS VPC (10.1.0.0/16) 間で、VPN を設定します。
図の中の Public IP は既に削除しているので、アクセスできません![1611501513243.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/eebe8257-6c88-be57-5fd4-210c35e2fde2.png)
# オンプレミス側に、VyOS を作成
適当にオンプレミス側でVyOS の仮想マシンを作成します。詳細は Google さんに聞いてみましょう。
# Customer Gateway を作成
AWS側で、VyOS に対応する Customer Gateway を作
VPCピアリングを設定してみた
## VPCピアリングのおさらい
VPCピアリングとは `異なるVPCを接続する` ことができます。
CIDRブロックの重複や異なるリージョン間でのVPCピアリングはIPv6非対応です。## 構成図
今回構築する構成図はこちらになります。
10.0.0.0/16 と 192.168.0.0/24 の構成図があります。
こちらをVPCピアリング設定して内部のインスタンス同士でping接続出来るか確認してみます。![2021-01-20 VPCピアリング.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/b999e20f-c40f-558d-755a-ebe94b2a9d60.png)
構築しながら書いてるので、順序がバラバラでわかりにくくてすみません
## 構築
### VPC・subnetの構築 : 10.0.0.0/16
– VPCの作成します
VPC > VPCでこの画面になります
![2021-01-20 VPC構築お使いの VPC _ VPC Manageme
AWS CLIのコマンド補完設定時の戒め
# 戒め
将来の自分に向けて残します。
文章はちゃんと読みましょうという話です。ちなみに環境はmacOS,シェルは`zsh`です。
# AWS CLIコマンド補完設定方法(AWSドキュメントのとおり)
本来はこちらのAWS公式ドキュメントのとおりにコマンド補完の設定を行えば何も問題はありませんでした。
はい、私はなぜかドキュメントどおりに行いませんでした。。。https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-completion.html#cli-command-completion-configure
上のリンクのAWS日本語版は少し古い上に分かりにくいので、英語版を見てください。
私は英語が得意ではないので、該当部分を一文ずつ選択してgoogle翻訳で確認しました。ドキュメントどおりに`~/.zshrc`の末尾に以下のコマンドを入力し、`. ~/.zshrc`を実行。
“`:~/.zshrc
autoload bashcompinit && bashcompinit
“`
AWSのDescribeAvailablePatchesを使ってみた
【執筆中】コードとかきれいにしてないけど現時点のメモ書きを載せておく
とりあえずセキュリティのパッチを取得してみる“` C#
public static async TaskSayHelloAsync([ActivityTrigger] string name, ILogger log)
{
//log.LogInformation($”Saying hello to {name}.”);
var ssmClient = AwsSsmService.GetClient();// Windows Server 2019
var request = new DescribeAvailablePatchesRequest();
var productFilter = new PatchOrchestratorFilter();
productFilter.Key = “PRODUCT”;
AWS Organizationsのタグポリシーを使ってみた
# タグポリシーとは
タグポリシーをOU(組織単位)にアタッチすることで、タグの標準化を推進してくれます。
タグポリシーの機能として
キーの大文字小文字の統一
バリューの制限
があり、非準拠のリソースを作成しないようにすることもできます。
ただし、タグを強制できる機能ではありませんので、その点はしっかりと覚えておく必要があります。
大文字小文字の統一では、作成するキーが`name`,`Name`とばらけるのを防いでくれます。
指定したキーを正しく入力さえしていれば、指定したバリューでしかリソースを作成できません。指定外のバリューを設定して作成すると、エラーが起きます。
しかし、タグポリシーでキーを`name`と指定し、実際に設定したものが`named`であれば、バリューの制限はできません。
キーは一言一句一致していなければなりません。
なお、以上の作成を防いでくれる機能は、デフォルトでは無効化されているので有効化する必要があります。# タグポリシーを使ってみる
![01Organizationsポリシー.png](https://qiita-image
ConfigをCloudFormationにより有効化して色々やってみた
# はじめに
1リージョンのみの`Config`の有効化は簡単・迅速に行えますが、マルチアカウント・マルチリージョンに対して有効化する場合、とても面倒な作業になります。
そこで、`CloudFormation`により`Config`を有効化することで、簡単にマルチアカウント環境に`Config`を有効化できるようにします。
ただ、この記事ではスタックセットは作成しません。
小さく始めたいので、まずはスタックから作成します。スタックセットは今後の記事で作成しようと思います。この記事で行うことは
+ Aアカウントの一つのリージョンで`Config`を有効化する
+ Bアカウントの一つのリージョンで`Config`を有効化し、配信先`S3`をAアカウントの`S3`にする
ことであり、上記作業を通して
+ `Config`の仕組み・挙動
+ `Config`の配信で`SNS`を設定した場合の通知量
+ `Config`配信を受信した`S3`の階層構造
+ `PutObject`の無料利用枠が他と比べて簡単に超える理由(超えない方もいると思いますが……)
+ 既存
Access Analyzerを全リージョンで有効化してみた
# はじめに
`Access Analyzer`は、外部エンティティと共有されているリソースを検出しますので、意図しない公開設定がないか可視化でき、セキュリティに役立ちます。
グローバルサービスだと思っていましたがリージョン別サービスだったので、`CloudFormation`でまとめて有効化を目指します。
なお、利用は無料です。# Access Analyzer有効化(コンソール)
![スクリーンショット 2021-01-24 20.33.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344711/2ae30def-67a3-565d-3b12-25954af1af21.png)
右上のリージョン名をご覧いただければ分かる通り、グローバルではなく`東京`と記載されていることが分かります。
`IAM`のコンソールにあるのでグローバルだと思ってしまうかもしれませんが、リージョン別サービスです。![スクリーンショット 2021-01-24 20.35.31.png](http