- 1. AWS S3 Macローカルのディレクトリを任意のバケットに同期する
- 2. AWS Certified Advanced Networking – Specialty 合格記録
- 3. EC2のCPU使用率が上がらない件
- 4. AWSでIAMユーザを使い捨てにする
- 5. CIS AWS Foundations Benchmark v1.3.0 の変更点
- 6. AWS CloudFormationでVPCを構築しよう
- 7. 【AWS】【初心者】wordpressのブログシステムを構築する(パラシつき) ②
- 8. 【AWS】【初心者】wordpressのブログシステムを構築する(パラシつき) ①
- 9. 【AWS】Athena+QuickSightでCloudTrailログを可視化してみた。
- 10. AWS lambdaでPOST+JSONをテストイベント、Webアプリからのイベントに対応する
- 11. S3からバケット指定でファイルダウンロード、削除するpythonのクライアントアプリ
- 12. 【AWSハンズオン】サーバレスアーキテクチャで、有名人識別サービスを作ろう!
- 13. オンプレミスのサーバを Systems Manager で管理する
- 14. CloudFormationでS3とDynamDBを作成する
- 15. AWS SAMでLambdaとAPI Gatewayをデプロイする
- 16. AWSアカウントでセキュリティチェックをし、採点してみた
- 17. AWS初心者がTerraformでECSクラスタを構築してみた
- 18. 1分で学習手順OK! AWS認定クラウドプラクティショナー 合格へ
- 19. IPアドレスの基礎学習
- 20. AWS CDK コマンドチートシート
AWS S3 Macローカルのディレクトリを任意のバケットに同期する
# 目的
– AWSのS3の任意のバケットにMacローカルのディレクトリを同期する方法をまとめる
# 実施環境
– ハードウェア環境
| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |– S3
– 下記の方法でバケットを作成した。
– [AWS S3のバケットの作り方](https://qiita.com/miriwo/items/41e488b79fb58fa7c952)# 必要なもの
– バケット作成をしたAWSアカウントのアクセスキーとシークレットアクセスキー(AWSのユーザアカウント登録時にダウンロードされたC
AWS Certified Advanced Networking – Specialty 合格記録
# この記事
**AWS Advanced Networking Specialty** を取得したので
学習内容と感想を記録します。# about me
**インフラエンジニア**で、AWS関連のインフラ構築や保守を3年くらい経験しています。
ネットワークに関してはこの業界でインフラをやることになったきっかけでもあり
その昔研修でルータ設定とサーバ構築を併せて行ったことはあります。
クラウドの業務が大半なのでオンプレ業務経験はそこまでないです。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月)
“`という順で取得しました。
Networking
EC2のCPU使用率が上がらない件
## 起きたこと
EC2(インスタンスタイプ:t2.micro)で重たい処理を走らせた所、途中までは下図①のようにCPU使用率が100 %まで上がるものの、その先で下図②のように10 %から上がらず処理に時間がかかりました。
プロセスも終了していないし、メモリやネットワーク、RDSなどの使用率も確認したがボトルネックになっているような箇所は見受けられませんでした。## キーワード
– CPUクレジット
– ベースライン使用率
– Unlimitedモード## t2の挙動
### 公式説明
t2の説明文にはこのように書いてあります。
> ベースラインから必要に応じてバースト可能な汎用インスタンスタイプ
参照:[Amazon EC2 T2 インスタンス](h
AWSでIAMユーザを使い捨てにする
## はじめに
私が所属する[aslead DevOps](https://aslead.nri.co.jp/solution/aslead_devops.html)チームでは、日々変化するユーザの開発サーバ構成に対して、セキュリティを保ちつつ開発業務の効率化・自動化ができないかを検討しています。この記事では、AWSにログインして作業するIAMユーザの扱い方についてご紹介します。AWSの中でもセキュリティの基礎となる重要サービスであり、ユーザの棚卸しや権限の管理に時間を割かれているチームも多いのではないでしょうか。
そこで、Hashicorp社が提供しているVaultを利用し、作業のタイミングでIAMユーザを作成し、終わったら削除するアプローチを考えてみます。IAMユーザの作成自体はVaultの標準機能ですが、複数アカウントの権限制御ができるスイッチロールとの組み合わせを提案します。## Vaultとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108008/acb29
CIS AWS Foundations Benchmark v1.3.0 の変更点
## はじめに
2020/8/7 に CIS AWS Foundations Benchmark が v1.3.0 に更新されたため、
2018年にリリースされた v1.2.0 からの変更点を確認しました。
項目レベルの変更点で、参照ドキュメント追加などの細かなアップデートは除きます。### CIS AWS Foundations Benchmark とは
米国の非営利団体である CIS (Center for Internet Secuirty) が公開している
AWS アカウントの基本的なセキュリティを実装するための技術的なベストプラクティスです。
CIS は 各種 OS、サーバー、クラウド環境などを強化するためのガイドラインとして
140 以上の CIS Benchmark を発行されており、PCI DSS などのコンプライアンス要件で
業界標準のベストプラクティスとの記載があった場合などに参照されます。CIS AWS Foundations Benchmark は CIS のサイトから PDF 形式でダウンロードできます。
ライセンスは CC BY-NC-SA (Cre
AWS CloudFormationでVPCを構築しよう
# はじめに
AWS CloudFormationを利用してVPC構築のテンプレートのサンプルです。コードは[GitHub](https://github.com/miyabiz-room/CloudFormation-Template/tree/vpc-01)にもあります。
今回は、akane というシステムの dev 環境を想定しています。
“`text:ディレクトリ構成
akane (システム)
└─ network (スタック)
├─ network.yml (CFnテンプレート)
└─ dev-parameters.json (dev環境のパラメータ)
“`
# AWS リソース構築内容
– VPC (10.0.0.0/16)# AWS リソース構築手順
1. 下記を実行してスタックを作成“`
./create.sh
“`2. 下記を実行してスタックを削除
“`
./delete.sh
“`# VPC構築テンプレート
“`yaml:network.y
【AWS】【初心者】wordpressのブログシステムを構築する(パラシつき) ②
【AWS】【初心者】wordpressのブログシステムを構築する(パラシつき) ①
https://qiita.com/gbf_abe/items/3d6a4c5e6406ff460e1f の続きです。# 前回までにやったこと
**前回はIAMユーザーが請求情報を確認できる設定とIAMユーザーの作成をしました。**
|順番|内容 |
|—|—————————-|
|① |VPC構築 |
|② |サブネット分割 |
|③ |EC2(パブリック)構築 |
|④ |WebサーバにApacheをインストール |
|⑤ |EC2(プライベート)構築 |
|⑥ |NATゲートウェイ構築 |
|⑦ |DBサーバにMariaDBをインストール |
|⑧ |Webサーバにwordpressをインストール|
|⑨ |完成(するはず)!
【AWS】【初心者】wordpressのブログシステムを構築する(パラシつき) ①
# よくある入門編
|順番|内容 |
|—|—————————-|
|① |VPC構築 |
|② |サブネット分割 |
|③ |EC2(パブリック)構築 |
|④ |WebサーバにApacheをインストール |
|⑤ |EC2(プライベート)構築 |
|⑥ |NATゲートウェイ構築 |
|⑦ |DBサーバにMariaDBをインストール |
|⑧ |Webサーバにwordpressをインストール|
|⑨ |完成(するはず)! |という流れを予定しています、入門編でとりあえずやるアレです。
## (おそらく)他の方と違う点
~~レガシーブラック~~SIer勤務の意地を見せたいと思っているので、**パラメータ管理**を徹底しようと思っています。
本当は卍**Excel**卍でやりたいですが、さすがにアレなのでやめます。
【AWS】Athena+QuickSightでCloudTrailログを可視化してみた。
#0.初めに
CloudTrailログを可視化したい!ってことありませんか?(ないですよね泣)
AWSコンソールでCloudTrailのイベント履歴が見れますので不要だとは思いますが、確認できる項目は4個と少ないです。。(全43項目あります)
さらにリッチに表示させたいとなるとQuickSightとの連携も必要となります。#1.概要
構成は以下の通りです。CloudTrailログをS3に保存していることが前提です。CloudTrailの証跡設定で保存できます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411353/385101c7-78ab-1bb7-2f3f-1c8009f44968.png)
[「QuickSightとAthenaを活用!データ分析入門」より引用](https://techblog.nhn-techorus.com/archives/6202)#①CloudTrailログのスキーマ定義設定
Athenaのクエリに以下をコピペし実行することでCloud
AWS lambdaでPOST+JSONをテストイベント、Webアプリからのイベントに対応する
###やりたい事
lambdaにPost+JSONが来た時に、bodyからデータを取り出し変数に格納したいが、
テストイベントとWebアプリからのイベントで別のコードに分けていたので、同じにしたい###テストイベント用のコード
まずテストイベントでは以下のようなJsonを使っていた“`
{
“body”: {“name”:”test”,”score”:0}
}
“`受け取りの処理は以下のように取得できる
“`
exports.handler = async (event, context) => {
let bodyMessage = event.body;let name = bodyMessage.name;
let score = bodyMessage.score;
}
“`しかし、Webアプリケーション側でbodyにJSONを付与した場合はJSON.Parseをしないとデータが取得できず、nameとscoreの変数に格納される値は空欄となってしまっていた
##Webアプリ用のコード
Jsonの形式は同じなの
S3からバケット指定でファイルダウンロード、削除するpythonのクライアントアプリ
## 概要
特定のバケットからファイルをすべて取得したいときにコンソールからだと面倒だったので、
バケットを指定することでファイルを一括で取得できるツールを作ってみました。
(たぶん既にありそうですが・・・)
取得だけでなく削除処理もつけてみました。
(こちらを使用して何か起こっても自己責任でお願いします。)## 使用ライブラリ
* boto3を使っています。
* exeに固めるため PyInstaller を使用しています。### ツールの説明
ソース自体は[こちら](https://github.com/dmikita-sss/pythonGui/tree/master/s3)で公開しています。
ツールを起動すると以下のようになります![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657697/6f4f89c0-7aa2-9469-e073-727903d5bc75.png)
* こちらはtkinterを使用して作成しています。
* バケット名はプロパティに設定
【AWSハンズオン】サーバレスアーキテクチャで、有名人識別サービスを作ろう!
# 本記事について
– **会社の同僚向けに、業務外にて実施をした「AWS ハンズオン」の資料を、一般公開したものです。**
– **サーバレスアーキテクチャを用いて、有名人の画像解析 API サービスを、約1時間で作成するという内容になっています。**
– 言語は Python を用いますが、基礎知識が無くても楽しめる構成にしています。
– ハンズオンの実施にあたっては、以下のリソースが必要です。
– インターネットに接続できるPC( Windows, Mac 問わない)
– AWS IAM ユーザーアカウント
– 本資料の作成には細心の注意を払っておりますが、その正確性を担保するものではありません。また、本資料が起因して生じた損害について、作成者は一切の責任を負いません。# 追記:スライド版を公開
– Speaker Deck にて、**本ハンズオンのスライド版資料を公開**しています。
– スライド版の方が、デザインが整っていて見やすいかと思います。
– 対して、Qiitaの本記事の方には、ソースコードをコピペできるメリットがあります。
オンプレミスのサーバを Systems Manager で管理する
これはメモです。その通りやってできなくても責任を持てませんし、固有名詞等は適当に直してみてください。
https://dev.classmethod.jp/cloud/aws/ec2-systems-manager-on-premises/
# Systems manager -> マネージドインスタンス ->
まずは、これを見て、アクティべーションを行う必要がある。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-managed-instance-activation.html
「アクティべーションの作成」をクリックする。
リージョンを選択する。(オプション) [Activation description] フィールドに、このアクティベーションの説明を入力します。説明は省略可能です。多数のサーバーや VM を有効化する場合は、説明を入力することをお勧めします。
ーーーーーーーーーーー
「VirtualBox CentOS7-home」と説明に入力する。
[インスタンス制限
CloudFormationでS3とDynamDBを作成する
S3のテンプレートは以下になります。
“`yaml:create_s3.yaml
AWSTemplateFormatVersion: 2010-09-09
Resources:
S3Bucket:
Type: AWS::S3::Bucket
“`DynamoDBのテンプレートは以下になります。
“`yaml:create_ddb.yaml
Resources:
DDBTable:
Type: AWS::DynamoDB::Table
Properties:
AttributeDefinitions:
– AttributeName: “ArtistId”
AttributeType: “S”
KeySchema:
– AttributeName: “ArtistId”
KeyType: “HASH”
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCap
AWS SAMでLambdaとAPI Gatewayをデプロイする
SAMアプリケーションの作成
“`sam init“`
SAMアプリケーションのビルド
“`sam build“`
SAMアプリケーションのパッケージ化
“`sam package –s3-bucket test –output-template-file out.yaml“`
SAMアプリケーションのビルド
“`sam deploy –template-file out.yaml –stack-name test –capabilities CAPABILITY_IAM“`最後まで読んでいただきありがとうございました。
AWSアカウントでセキュリティチェックをし、採点してみた
#はじめに
AWSは俊敏にリソースを調達できたりし、AWS社がある程度のセキュリティも担保してくれる一方でたとえばIaaSであれば、責任共有モデル的に、ユーザデータなどOS以上のレイヤーはユーザ自身の責任でセキュリティを担保しなければなりません。
設定ミス一つでデータのリークなど大事件につながることもありえます。
今回は、普段使用しているAWSアカウントにConformityというツールを導入して採点してみようと思います。#導入方法
以下のサイトのFree Trialでアカウントを作成します。作成すると14日間無料で使用できます。
https://www.cloudconformity.com/help/![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698816/ab937c09-2cf0-4147-09d1-823604c5e74b.png)
次に登録時に入力したメールアドレスおよびパスワードを使用し、「Sign in」します。
![image.png](https://qi
AWS初心者がTerraformでECSクラスタを構築してみた
先日、Terraformを使って、ECSのクラスタを構築する機会がありましたので、やったことをメモとして残したいと思います。開始当初の知識レベルは「EC2完全に理解した(※)」「VPC?なにそれおいしいの」という状態です。Terraformは存在自体知りませんでした。従って、間違ってること言ってたらご指摘頂けるとありがたいです。
# tl;dr
https://github.com/foo-543674/terraform-aws-ecr-with-ec2# 書かないこと
ECSやTerraform自体の説明や導入手順については参考にしたサイトを貼るだけに留めて割愛します。
– https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
– https://registry.terraform.io/providers/hashicorp/aws/latest/docs
– https://qiita.com/NewGyu/items/9597ed2eda763bd504d7
– https
1分で学習手順OK! AWS認定クラウドプラクティショナー 合格へ
#【1分で学習手順OK! AWS認定クラウドプラクティショナー 合格へ】
![スクリーンショット 2020-10-25 18.18.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472549/2d904879-717c-4b28-160f-4f578b49b324.png)
10/24に受験して、1回で合格しました!
(隠した方が良さそうなところは隠しました。スコアは700点台でした。)
私が実践した学習手順は合格の再現性が高いと思ったので簡単な記事にまとめてみました。##はじめに
これだけでAWS認定試験クラウドプラクティショナーに合格することが可能だと思います。
##私の保有IT資格(一応記載)
ITパスポート のみ。
(今年度秋期の基本情報技術者試験を受験予定でしたが中止になりました。。)
##AWS認定試験クラウドプラクティショナーの概要など。
700/1000 点 なので、約7割解けたら合格です。
制限時間100分。65問です。![2020-10-25 16.47
IPアドレスの基礎学習
# はじめに
AWSはAmazon Web Servisesの略で、Amazonが提供しているクラウドサーバーのサービスです。
AWSへの理解度を高めるために、学んだことをアウトプットします。
今回はIPアドレスのことを説明します。# IPアドレス
インターネットで使われるTCP/IPというプロトコルでは、通信先を特定するのに、IPアドレスを用います。
IPアドレスは、ネットワーク上での住所のようなもので、ネットワーク上が重複しないようになっています。
IPv4とIPv6が存在しますが、今回はIPv4を説明すると、4つに区切られた最大12桁の数字になります。例)192.168.1.2
ピリオドで区切られた数字は0~255までの数字が入ります。(0.0.0.0 ~ 255.255.255.255)
IPアドレスは32ビットで構成されます。
ピリオドで区切られた数字はそれぞれ8ビットずつとなります。(255は8桁の2進数の最大値)
簡単なイメージでいうと、1ビットの中には0か1の数字が入り、それが8個連なって8ビットが構成されているということです。# パブリックIPアドレ
AWS CDK コマンドチートシート
## インストール
“`
npm install -g aws-cdk
“`Linuxの場合は、`sudo`が必要です。
## プロジェクトの作成
“`
mkdir my-first-cdk
cdk init app –language typescript
“`## モジュールの追加
たとえばec2のモジュールを追加するには、
“`
npm install @aws-cdk/aws-ec2
“`or
“`
yarn add @aws-cdk/aws-ec2
“`こんなかんじ。
## bootstrap
CDKを実行するために必要なAWS内の環境を初期化。
“`
AWS_PROFILE=your_profile cdk boostrap
“`## ビルド
“`
npm run build
“`## deploy
“`
AWS_PROFILE=your_profile cdk deploy
“`## 変更差分の確認
“`
AWS_PROFILE=your_profile cdk diff
“`##