- 1. Set up SFTP server on Ubuntu using Public Key Auth(AWS-EC2)
- 2. 【AWS】EBSのマウント手順(EC2にアタッチしただけでは使えません)
- 3. yum update したら perforce が死んだ話
- 4. 【AWS認定】クラウドプラクティショナー&ソリューションアーキテクト – アソシエイト 合格体験記
- 5. はじめてのcloudformation
- 6. 【AWS】Docker内のコンテナにアクセスしたい
- 7. AWS CloudShellでAWS CDK (Python & Pipenv)のデプロイするときの準備メモ
- 8. (確認用)AWSのECRのイメージを使ってdockerでLaravelのイメージを作成する手順
- 9. [AWS CFn] Cloudwatch LogsのログをFirehose経由でS3に転送する
- 10. AWS LambdaでAmazon EFSを利用してみた
- 11. SAML Federated User で AWS CLI を使用するための便利スクリプト
- 12. 独自ドメインでアプリにアクセスできない時の対処法
- 13. virtual instance 上で docker-compose した時の ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket – is it running? エラー回避備忘録
- 14. udemyによるAWSの勉強② – IAMについて
- 15. AWSとは。簡単に。
- 16. Serverless Frameworkで複数のLambdaを管理する
- 17. AWS KMS とは
- 18. AWSのリソースを管理しやすくするVantageを試してみた
- 19. RDS から オンプレミスの MySQL へレプリケーションをしてみる
- 20. 【初心者向け】クラウドサービスの概要一覧(AWS, GCPの違い)
Set up SFTP server on Ubuntu using Public Key Auth(AWS-EC2)
This topic will guide you through how to setup an SFTP authentication mechanism using **public key cryptography**.
I recently set up SFTP by using the Id and Password.
↓ ↓ ↓
[How to set up SFTP server on Ubuntu(AW
【AWS】EBSのマウント手順(EC2にアタッチしただけでは使えません)
# はじめに
EBSはEC2にアタッチするだけでは使用できません。
アタッチしただけではOS側から”ただのディスク”としか見られていないため、
使用するにはEBSを`フォーマット`した上で`マウント`する必要があります。ここではマウントまでの手順を解説します。
※AWS, Linuxの初学者を対象にしています。
>【フォーマット】
記憶装置の内部を小さな区画に分割し、管理用のデータ保管領域などを確保することにより、特定の箇所へのデータの読み書きができるよう準備する操作
[IT用語事典 e-words](https://e-words.jp/w/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88.html “フォーマットとは”)>【マウント】
周辺機器をOSなどのソフトウェアに認識させ、操作・利用可能な状態にすること
[IT用語事典 e-words](https://e-words.jp/w/%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88.html “マウントとは”)# 環境
– パソ
yum update したら perforce が死んだ話
久しぶりに AWS サーバーにログインして yum update したら P4 が繋がんなくなったお話です。死ぬかと思った。
# インスタンスを再起動 ~ p4d 復旧まで
ひとまず EC2 インスタンスを再起動するかー、とコンソールから実行。
あれ、でも P4 サーバーってどうやって起動したんだっけ・・・?としばらくググる。
P4 コマンドさえも $P4PORT を設定していないので通らない状態でした。
> Perforce client error:
Connect to server failed; check $P4PORT.
TCP connect to perforce:1666 failed.
perforce: host unknown.備忘録として残しておきます。
“`
p4 set P4USER=username
p4 set P4PORT=1666
“`## p4d コマンドの実行
まずは P4 サーバーのルートディレクトリ探しから。
自分の場合は /opt/perforce/servers/master/root に構築してまし
【AWS認定】クラウドプラクティショナー&ソリューションアーキテクト – アソシエイト 合格体験記
# はじめに
AWS認定 クラウドプラクティショナーとソリューションアーキテクト – アソシエイト(SAA-C02)に受かったので体験記です。
![AWS_Certified_Badges_20210126.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791798/c5d0bd16-44ae-e16c-2368-5e4c8aae3266.png)以下、略称を利用することがあります
– クラウドプラクティショナー=CLF
– ソリューションアーキテクト アソシエイト=SAA# 筆者のステータス
– へっぽこエンジニア(Pythonメイン)
– ソリューションアーキテクトではない
– よく使う:EC2(SG,ELB),ECS(Fargate),RDS,Cloudwatch
– たまに使う:S3,Lambda
– 上記以外のAWSサービスについては名前も知らなかったレベル# 教材
## クラウドプラクティショナー編
### 黒本
– [リンク](https://www.amazo
はじめてのcloudformation
## そもそもcloudformationとは?
AWS cloudformation はAWSの環境構築を自動化できるサービスです。
YAMLファイルを書いてデプロイすることで、環境を構築することが出来ます。今回は、cloudformationやりたいけど、何をどうすればいいかわからない人のために
とりあえずに一歩を書いてみました。## やってみる
### 今回作成する環境
`Sample-Vpc` という VPC1つと
`Sample-Vpc1-Subnet1` というsubnetを1つ作成します![cloudformationUntitled Diagram.drawio – diagrams.net – Google Ch.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/801cb602-6085-c9a9-f748-cb181db17121.png)
### YAMLファイルの作成
まず、 `Create-Network.yml` という名前でファイルを作成
【AWS】Docker内のコンテナにアクセスしたい
### はじめに
### 1. EC2インスタンスの起動
EC2 で「インスタンスの起動」を選択します。最低限、以下の設定を行ってください。
今回は8080 -> 80 へポートフォワーディングするので、8080番ポートを許可しておきます。
マシンイメージ:Ubuntu Server 20.04 LTS (HVM), SSD Volume Type
セキュリティグループ:22番ポート(SSH)と8080番ポートを許可
![http_security.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554812/15e320e8-dde8-68d8-f898-b7324411f95b.png)### 2. コンテナのインストール
インスタンスが起動したらログインしましょう。初期ユーザは「ubuntu」です。
以下のコマンドでコンテナをインストールしましょう。“`text
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.s
AWS CloudShellでAWS CDK (Python & Pipenv)のデプロイするときの準備メモ
## やりたいこと
– AWS CDKのデプロイをAWS CloudShellからやりたい
– CLIでの接続が難しい、MFAが必要な環境やSAMLでSSOしている環境でも、AWSコンソールからさっと開いてデプロイできる### ポイント
– **AWS CloudShellは`$HOME`の外部にインストールしたツールは永続化されない**
– **`$HOME`内の永続化ストレージ(上限1GB)に必要なツールをインストールすることで、繰り返し`cdk deploy`を実行する際にパッケージの再インストールが必要なくなる**## 前提環境
– AWS CDKをPythonで書いている
– Pythonのパッケージリスト管理にpipenvを使っている
– AWS CDKのコードをGitHubなどインターネット経由で接続できるリポジトリにpushしている## 準備
### リポジトリ
– AWSコンソールからAWS CloudShellを起動する
– 自分のリポジトリをcloneする
“`
$ git clone
(確認用)AWSのECRのイメージを使ってdockerでLaravelのイメージを作成する手順
個人メモです。
AWSのECRレポジトリに保存したイメージを使って、Laravelのプロジェクトイメージをローカルに作成(build)する手順の確認。
aliasでコマンド一つでイメージを作成しているがその中身について。
“`sh:.aliases.sh
# stg
alias cs-stg-build=”cs-pull-base-image && cs-login-aws && cs-envvars docker-compose build php-fpm stg”
“`##処理の概要
1. dockerがAWSのECRレポジトリにログインできるようユーザー名とPWを渡す。
2. AWSのECRレポジトリからベースイメージをpullする。
3. プルしてきたイメージに名前をつける
4. php-fpmのイメージを作成する
5. php-fpmをベースイメージとしてプロジェクトのイメージをマルチビルドで作成する以上でコンテナ起動用のイメージが完成。
##1. cs-pull-base-image
“`sh:cs-pull-base-image
[AWS CFn] Cloudwatch LogsのログをFirehose経由でS3に転送する
Cloudwatch LogsのログをKinesisのサブスクリプションフィルタを使って(ほぼリアルタイムに)S3に転送するCFnを作りました。
### ■ このテンプレートで作成するもの
※ ロググループが2つの場合– S3:ログ転送先
– IAMロール:
– subscription_filter_role:CWLからFirehoseデータストリームへ書き込み権限与えたもの
– firehose_delivery_role:S3にデータを転送するのに必要な権限与えたもの
– Firehoseデータストリーム (×2)
– CWLサブスクリプションフィルタ (×2)### ■ テンプレート
(パラメータの値をいい感じに変えると汎用的に使えるはずです。)“`yaml
AWSTemplateFormatVersion: ‘2010-09-09’
Description: CloudwatchLogs to S3
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
AWS LambdaでAmazon EFSを利用してみた
本記事は [株式会社ピーアールオー(あったらいいな!を作ります) Advent Calendar 2020](https://qiita.com/advent-calendar/2020/pro-japan1) の22日目です
昨日(21日目)は @koinori さんの「[【2020年12年版】Flutter + Android SDK + VS Code にてリモートホストにある Remote Container から別ネットワークの実機でデバッグ](https://qiita.com/koinori/items/a1cd4df34ce599a59175)」でした
是非、よろしければこちらもどうぞ
[2019年のカレンダーはこちら](https://qiita.com/advent-calendar/2019/pro-japan1)# 経緯
プロジェクトでAWS Lambdaを利用してデプロイしているのだが、Lambda実行時に利用する「/tmp ディレクトリのストレージ」が上限の「512MB」を超えてしまいデプロイができなくなった今後も開発は継続する予定で緊急な対応が
SAML Federated User で AWS CLI を使用するための便利スクリプト
AWS マネジメントコンソールを SAML フェデレーションによる SSO で利用している場合、その権限で AWS CLI を利用するのは簡単ではない。
そもそも Role が一時的に割り当てられているだけであって IAM User を作成しているわけではないので Credentials を作成することができない。AWS CLI を利用するためには AssumeRoleWithSAML という API を使って一時的な Credentials を都度要求しなければならない。
詳しいことは以下に書いた。
[SAML 認証による一時的な認証情報で boto3 を利用する – Qiita](https://qiita.com/hoto17296/items/126352a43e9749d510b5)
上記は Python でやる場合の話だったが、今回は同じことを Bash でやれるようにスクリプトを書いたのでそれについてメモしておく。
## スクリプト
– `aws` コマンドと `jq` コマンドはあらかじめインストールしておく必要がある
– スクリプト中の `ROLE_ARN`
独自ドメインでアプリにアクセスできない時の対処法
AWS Route53で取得した独自ドメインを使ってEC2上にデプロイしたアプリにアクセスしようとしたのですが、中々時間を要したので自分なりの解決方法をここに備忘録として残します。
##環境
EC2上の環境
・OS:Amazon Linux 2
・Webサーバー:nginx/1.16.1##前提
・EC2上に何らかのアプリをデプロイ済み
・Route53にてドメインを取得し、Aレコードも作成済み##事象
独自ドメインの取得、Aレコードの作成後ブラウザに取得したドメインを入力するがnginxのデフォルトページが表示される。##試したこと
①EC2インスタンスの再起動
EC2インスタンスを再起動し、アプリのあるディレクトリに移動し、WebサーバーのnginxとアプリケーションサーバーのUnicornを以下のコマンドで再起動した“`
$ sudo service nginx start (nginxの起動)
$ bundle exec unicorn_rails -c /var/www/rails/自分のアプリ名/config/unicorn.conf.rb -D -E
virtual instance 上で docker-compose した時の ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket – is it running? エラー回避備忘録
## 概要
azure 上につくったvirtual instance にdocker, docker-compose などをインストールし、
docker-compose を実行しようとすると“`
ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket – is it running?
“`
となった。## 解決策
https://qiita.com/dnnnn_yu/items/14a31721a2870b735938
ここで言及されているように、docker, docker-compose にそれぞれ権限を付与する必要がある。
再ログインする必要があることに注意。“`
$ sudo usermod -aG docker $USER
$ sudo chmod +x /usr/local/bin/docker-compose
“`
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で出