AWS関連のことを調べてみた2020年02月16日

AWS関連のことを調べてみた2020年02月16日
目次

Pythonでゼロからでもサービス開発・公開できる学習ロードマップ

## 初めに
この記事は**『プログラミング未経験からPythonでサービス開発できる』**ことを目標に、
習得すべきスキルを学習ロードマップとして整理しました。

**毎日2~3時間(土日は+2時間)**続ければ最短3ヵ月で完了できる内容に絞りました。
すでに習得済みのスキルは飛ばしつつ進めて大丈夫です。

**Ruby**など他の言語でも大筋は同じ流れなので、
Pythonと書いてある部分を、そのままRubyと読み替えれば大丈夫です。

※なお、Twitter でもプログラミングに関する情報を発信しています。
もし良ければ [Twitterアカウント「Saku731」](https://twitter.com/Koji21825331) もフォロー頂けると嬉しいです。

## 学習ロードマップの全体像
まず、サービス開発に必要なスキルは大きく分けて10種類あります。

各章で、それぞれのスキルが何の役に立つのか説明しつつ、
十分なスキルが習得できる参考記事・書籍を紹介して行きます。

![image.png](https://qiita-image-store.s3.ap-n

元記事を表示

Forbidden You don’t have permission to access this resource出た時の解決策

#結論
公開ディレクトリ先のvar/www/htmlのhtmlディレクトリの所有者をapacheに変更した

#まずは現在の所有者を確認してみる。

“`
[root@ip-172-31-28-29 html]# cd ..

[root@ip-172-31-28-29 www]# pwd
/var/www

[root@ip-172-31-28-29 www]# ls -l
total 0
drwxr-xr-x 2 root root 6 Oct 22 22:59 cgi-bin
drwxrw-rwx 3 ec2-user apache 51 Feb 15 09:43 html
“`
所有者がec2-userになっていたので今回のエラーが出ていました。

![エラー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543413/f30bcf9f-0d4f-950e-becd-394f56cbb5c3.png)

#所有者をapacheに変更する
chown -R apache:ap

元記事を表示

VPC設定ついでにまとめてみた

# 概要
コンソールからVPC設定しているのでついでにVPC周辺の詳細を記述していきます。

# VPC(Virtual Private Cloud)とは
– AWSアカウント専用の仮想ネットワーク空間のこと
– 社内ユーザのみアクセスが可能な仮想ネットワークの構築が可能(インターネットからはアクセスできない)
– アカウント作成時はデフォルトでVPC(Default VPC)が1つ作成されているが、ユーザ毎に個別で作成可能

![スクリーンショット 2020-02-16 2.48.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379873/c1785190-848a-78a5-79f3-5af080490283.png)
## リージョン
世界22ヶ所の分散されたデータセンター群で構成されている。
日本のリージョンは現在(2020年2月時点)は東京リージョン(ap-northeast-1)のみ

**※ 大阪ローカルリージョンが2021年初頭までに3つのアベイラビリティーゾーンを持つ完全なAWS

元記事を表示

EC2(AmazonLinux2)のログをKinesisFireHoseに流してS3へ蓄積する

まずはEC2からKinesisへのfullアクセスロールを用意。

ついでS3バケットとFireHoseのストリーム作成。FireHoseのIAMロールはここで作成できる。

以下、EC2の設定。
ここではApacheへのアクセスログを題材としている。

“`
$ sudo yum -y install httpd
$ sudo systemctl enable httpd
$ sudo systemctl start httpd

$ sudo vi /etc/httpd/conf/httpd.conf
“`

`:set number`とすることで行数を表示できる。`:197`で197行目に飛べる。

“`:197行目に追記
LogFormat “time:%t\tforwardedfor:%{X-Forwarded-For}i\thost:%h\treq:%r\tstatus:%>s\tsize:%b\treferer:%{Referer}i\tua:%{User-Agent}i\treqtime_microsec:%D\tcache:%{X-Cache}o\truntim

元記事を表示

EC2(AmazonLinux2)のログをCoudWatch Logsに流す

公式ドキュメント
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html

(1) IAMロールの準備→CloudWatchFullアクセスでおk。
(2) Agentのインストール

“`
$ sudo yum update -y
$ sudo yum install -y awslogs
$ sudo vi /etc/awslogs/awscli.conf
# ここでregionをap-northeast-1に指定。
$ sudo vi /etc/awslogs/awslogs.conf
# ここでCloudWatchに流したい対象のファイルを指定。
$ sudo systemctl start awslogsd
$ sudo systemctl enable awslogsd.service
“`

awslogs.confの書き方
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/la

元記事を表示

S3を操作するLambda関数をローカルで開発するための環境構築

Serverless Frameworkを使って構築したLambda関数のローカル開発環境で、LambdaからS3を操作する関数を開発したい。AWS上のS3を直接操作してもいいが、せっかくなのでローカルで完結する環境を構築する。

#ローカルでS3をエミュレートするためのツール
ローカルでS3をエミュレートするためのツールとしては、
– [LocalStack](https://github.com/localstack/localstack)
– [MinIO](https://min.io/)
– [S3rver](https://www.npmjs.com/package/s3rver)
あたりがあるようだが、今回はLocalStackを使用する。

# 事前準備
Dockerが必要なので事前に使えるようにしておく。
自宅で使っているPCはWindows 10 Homeのため、Docker Desktop for Windowsが使えない。調べてみたらDocker Tookboxというツールを使えばいいようなので、インストールする。(参考:@idani氏の[windows 10

元記事を表示

Terraformでゾーン毎にsubnetを作成する(AWS, Alicloud)。

#高可用性なサーバー配置
可用性が高いサーバーの配置として、ゾーン毎に立てるのは常套手段と思う。クラウドベンダーの1つのゾーンに障害が発生しても、別のゾーンが生きていればサービスの継続性が保たれる。
その前準備として、ゾーン毎にsubnetを作成する手順をterraformで自動化する。
terraformへは、regionとVPCのCIDRのみを指定し後はよしなにやってくれること、AWSとAlicloudで同じような自動化ができることを確認する。

#input/output
**input**
– region
– VPCのCIDR

**output**
– VPC
– ゾーン毎のsubnet

つまり、入力のregionにVPCを作成して、そのregionが持つゾーン毎にsubnetを作成する。

#クラウド・プロバイダの設定
“`tf:main_alicloud.tf
# Alicloud Providerの設定
provider “alicloud” {
access_key = var.alicloud_access_key
secret_key = var.a

元記事を表示

AWS Backup運用時の検討項目

# はじめに

仕事でAWS Backupを使う機会があり、色々調べた内容をまとめます。

# AWS Backupとは

AWSのバックアップ機能は既に存在していますが、AWS Backupはそれらの機能を一元管理するためのサービスです。
具体的にはバックアップのスケジューリングやバックアップの管理(ローテーションなど)を一つのインターフェースで操作することができます。

https://aws.amazon.com/jp/backup/

AWS Backupでは「バックアッププラン」という単位で管理し、その中に「バックアップルール」(実行スケジュール)と「リソース」(取得対象)を定義します。

![awsbackup.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319027/7e904c46-6d97-4210-aafa-9e1b369c04e7.png)

# 作成時の項目

AWS Backupでバックアップ運用を設計するにあたり、検討するべき項目をまとめます。

(※以下、作成時の表示順

元記事を表示

知らず知らずのうちに Terraform がディスクをほとんど一杯にしてた

# 1. はじめに
それは突然やってきた。。
MacBook Air で作業中に突然の警告。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148868/c730d9c7-1f2a-bcf1-5336-b445c7835ba5.png)|
|:-:|

音楽ファイルも動画ファイルも保存してないし、Parallels VMs かなって思って調べたら、terraform ディレクトリがでかい!

$ du -sh terraform/
6.5G	terraform/

さらに terraform ディレクトリを調べてみたら、terraform-provider-aws_v2.48.0_x4 ファイルは 173MB もある。

$ ls -laRh terraform


terraform/anyservice/anyenv/awsconfig/.terraform/plugins/darwin_amd64:
total 354416
drwxr-

元記事を表示

AWS認定ソリューションアーキテクトプロフェッショナルに一発で合格したので勉強方法を書いておく

AWS認定ソリューションアーキテクトプロフェッショナルに一発で合格できたので、勉強方法を備忘がてら書いていこうと思います。

#前提
職業:現在インフラエンジニア5年目でAWSをメインに設計構築をするようになって、1年経たないくらい。AWSをやる前は、VMwareやWindows、Linuxなどいろいろやってました。

他のAWS関連の資格:ソリューションアーキテクトアソシエイト
          SysOpsAdministratorアソシエイト
SAAは1年くらい前、SysOpsは昨年秋くらいに取得しています。

勉強期間:3ヶ月くらい(主に土日、平日は早く帰れたらちょっとやるかなぁくらい)

#試験について
周りで試験を受けた人から聞くと、2019年度からだいぶ難しくなったようです。
サンプル問題を見ていただければわかるかと思いますが、問題文、解答候補の日本語が長い。。さらに、どれも実現できそう。。。180分もある。。。という日本語の読解力&体力&知識全てを要求される試験です。受験料も3万円と決して安いものではないので、しっかりと対策をしてから挑

元記事を表示

[AWS認定資格対策 #02]クラウドプラクティショナー取得に向けた勉強プラン

# はじめに
本記事では、AWS認定資格試験「クラウドプラクティショナー」に合格するための勉強プランを**一例**として紹介します。
私自身2020年1月に当該試験に合格しており、そこに至るまでに実施した勉強内容を基に記載します。経験則ベースでの内容ですので、これをやったら必ず合格できるというわけではございません。
その点はご留意ください。

また、本記事ではあくまでも「クラウドプラクティショナー」の合格に向けたプランのみを紹介します。
他のAWS認定資格試験ではより専門性を問われるため、下記とは別で勉強プランが必要と考えられます。

# 勉強する上での準備
当該試験を含めてAWS認定資格に合格するには、大前提として以下の条件が揃っていることがのぞましいです。決して必須条件とは言いませんが、円滑に勉強を進めるうえで推奨します。

#### AWS自体に興味があること
AWS認定資格試験では、AWSのサービスの利用経験があることを前提とした問題が出てきます。
そのため、AWSを積極的に利用することが試験合格の近道となります。
「AWSにそもそも興味がない」となると学習意欲も湧きませんので

元記事を表示

AWSの10分間チュートリアルをやってみる 9.Docker コンテナのデプロイ

こんにちは。トリドリといいます。
新卒で入社した会社でJavaを数年やった後、1年ほど前に転職してからはRailsを中心に使用してアプリケーションの開発をしているしがないエンジニアです。

今回、AWSの勉強をするために公式の10分間チュートリアルをやってみることにしたので、備忘のために記事に残していこうと思います。
AWSに関しては、1年ほど前転職活動をしていた時期にEC2とRDSを少し触っていた以外ほとんど触ったことが無い初心者です。
(ただし、このときにアカウントを作ったので、12ヶ月の無料枠は切れていました)

前回は、EB CLIを使用してデプロイ・モニタリングなどを行う、「Deploy and Monitor an Application from the Command Line」」というチュートリアルをやりました。
今回は、「Docker コンテナのデプロイ」をやっていきます。

# Docker コンテナのデプロイ
(https://aws.amazon.com/jp/getting-started/tutorials/deploy-docker-containers

元記事を表示

EKSにデプロイしたNexusのblob storeをEBSからS3に移行させる

# はじめに
Sonatype Nexusはmaven, gradle, npm, dockerなどに対応したプライベートリポジトリマネージャーです。
リポジトリ内のファイルの保存方式はFILEとS3のどちらかを選ぶことができ、前者はEBSなどに、後者はその名の通りS3に保存されます。
ディスク容量の監視を不要とし料金も安くしたいときにはS3にしておいた方がいいです。

今回はEBSにFILE方式で保存されている既存データをS3に移行させる方法を説明します。
NexusはEKSにデプロイすることを前提としています。

# 環境
macOS Mojave 10.14.1
Helm: 3.0.1
EKS: 1.14
Nexus Helm Chart: 1.22.0

# 前準備
データ移行の前にNexusデプロイ、リポジトリ作成、データ格納を行います。
EKS、S3などのAWSリソースやALB Ingress Controller、kube2iamなどのKubernetesリソースはすでにデプロイ済みであることを前提とします。

## Nexusのデプロイ
Helmを使ってNexusをデプ

元記事を表示

【小ネタ】AWS 認定ソリューションアーキテクト – プロフェッショナル資格試験に向けた知識の整理③

# 概要
AWS 認定ソリューションアーキテクト – プロフェッショナル資格試験に向けた小ネタ集③。

## 参考

アソシエイト資格の勉強法は以下を参照

[AWS初心者がAWS 認定ソリューションアーキテクト – アソシエイト資格試験に合格した時の勉強法](https://qiita.com/fkooo/items/e5284a4ed3c3466ffd41 "AWS初心者がAWS 認定ソリューションアーキテクト – アソシエイト資格試験に合格した時の勉強法")

その他の小ネタは以下を参照

[整理①](https://qiita.com/fkooo/items/e3c0c9a11d078619cbe0 "整理①")
[整理②](https://qiita.com/fkooo/items/a6d71407b2bed42332cc "整理②")

## IAM ポリシー

[アイデンティティベースのポリシー](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html#policies_id-

元記事を表示

Amazon EBSのマルチアタッチ機能とAzure Shared Disksを比較してみる

## はじめに
米国時間の 2020/2/13 に Azure Shared Disksのプレビューが、
2020/2/14 に Amazon EBS のマルチアタッチ機能がそれぞれ発表されました。
これまで[OCI](https://blogs.oracle.com/cloud-infrastructure/announcing-multiple-instance-attachment-of-shareable-readwrite-block-volumes)以外のパブリッククラウドでは提供されていなかった
ブロックストレージを共有ディスクとして接続可能になる機能です。

**Announcing the preview of Azure Shared Disks for clustered applications**
https://azure.microsoft.com/en-us/blog/announcing-the-preview-of-azure-shared-disks-for-clustered-applications/

**New – Multi-Attach

元記事を表示

【AWS】EC2 apacheにファイルをアップロードする方法&エラーが発生した時の対処

#apacheにアップロード方法

teratermの左上のファイルを押して、SSH SCRを選択

1.fromにアップロードしたいファイル
2.Toに../../var/www/html
3.Sendを押す

![apache.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543413/1b2ddc03-1bf0-eaaa-95dc-9238069e94cb.png)

#フォルダ

ご自身のターミナルから下記コマンドを実行してください。
※EC2にsshでログインした先のターミナルで行うのではありません。

```
//実行場所
C:\Users\TOSHI\Desktop

//アップロードコマンド
scp -r -i C:\Users\ユーザー\Desktop\ssh2.pem test ec2-user@18.222.213.115:/var/www/html

```

##解説
C:\Users\ユーザー\Desktop\ssh2.pemは.pemまでのパス
ssh2.pemの後

元記事を表示

Vue.jsとAWS Amplifyでプロジェクト譜のサービスを作った話

# 概要
プロジェクト管理で苦労した体験から、プロジェクトを俯瞰的に可視化・管理するサービスをVue.jsとAWS Amplifyでつくりました。
プロジェクトの可視化は**プロジェクト譜**という記法で描いた図で表現します。

## 作ったサービス

- サービス名: **Pufu** (読み方:プフ)
- 現在β版として公開中
- 対象ブラウザ: Chrome ※スマホは閲覧のみ
- [**ここ**](https://console.pufu-online.net/)からサービスサイトに飛べます。
- アカウント登録は『アカウントの新規作成』から行えます。
- サンプルエリアがあるのでアカウントを作らなくても試せます。
- サイトイメージ

project_sample.PNGAWS試験対策(⑤コンピューティングとストレージ続々々)

自分用雑記
コンテナから続き書いていきます〜

## ECS、EKS、fargate
まず、コンテナって何じゃって話。
コンテナは仮想化技術の一つ。SaaSとかと何が違うのかと言うと、リソースが少なくて済む代わりにOSはその元となるOSでしか作れない。Windows上でコンテナ作ったらWindowsのみ、みたいな感じらしい。SaaSなら基盤の上にLinuxでも何でも入れれるから決定的な違い。
要するに何がしたいのかというと、仮想的な環境をいくつか作って、そこでアプリケーションを動かす、みたいな感じ。

データプレーン
実行環境のこと。Windows上でコンテナを作ったら、ってとこの、大元のWindowsのこと。この上にコンテナが乗るイメージ

コントロールプレーン
コンテナを管理する奴ら。コンテナをどのデータプレーンのosで動作させるのかとか、コンテナの死活監視とかしてくれる。オーケストレーションサービスってだけあって、指揮者的なイメージ。

レジストリ
コンテナのイメージの置き場。必要に応じてデータプレーンにコンテナを配置する。

## EKS、ECSの違い
AWS純正のコンテナ管理

元記事を表示

rails環境構築その3【terraform】

# はじめに
terraformをつかってAWS(EC2,RDS)を作成します。

# 全体の流れ
1. terraformインストール
2. AWSでIAMユーザー作成
3. AWS CLI導入
4. AWS CLIにIAMユーザーの登録
5. terraformとは
6. terraform導入
5. プロバイダーの設定
6. VPC作成
7. サブネット作成
8. インターネットゲートウェイ作成
9. ルートテーブル作成
10. EC2作成
11. Security Groupの作成
11. RDS作成

参考
* [10分で理解するTerraform](https://qiita.com/Chanmoro/items/55bf0da3aaf37dc26f73)

# terraformインストール

```
$ brew update
$ brew install terraform
```

# AWSでIAMユーザー作成
参考
* [Identity and Access Management へよ

元記事を表示

積もり積もったAMIをまとめて消す

## はじめに

日々バックアップを取得するのは大切ですが
数年分くらいが積もり積もってチリツモで多少なりコストにもなっていたので
大掃除に取り組みました。

## やったこと

### EBSスナップショット削除の設定

AMIはEC2インスタンスの設定とEBSボリュームのスナップショットから成り立っており
単にAMIの登録を解除しても、スナップショットは削除されずに残り続けます。

紐付いたスナップショットを確認して逐一削除するのも大変なので
AMIの登録解除をトリガーにスナップショットが削除されるように設定します。
下記の記事を参考に設定しました。
[AMI登録解除時、スナップショットを自動で削除するように設定してみました!](https://coatiblog.sios.jp/ami%E7%99%BB%E9%8C%B2%E8%A7%A3%E9%99%A4%E6%99%82%E3%80%81%E3%82%B9%E3%83%8A%E3%83%83%E3%83%97%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%82%92%E8%87%AA%E5%8B

元記事を表示

OTHERカテゴリの最新記事