- 1. ruby on rails を AWS Cloud9で実施 2 コントローラー Viewについて python初心者
- 2. AWS: 簡単なLAMPサーバーでWordPressを動かすまで(Intel Mac) 〜PHPをインストール〜
- 3. .env などにある環境変数を[一括で|まとめて] パラメーターストアに登録するスクリプトを書いたよ
- 4. curlでAmazon CognitoのAPIにアクセスする
- 5. Amazon EKS のノード1台に起動できるPod の制限数を増やす
- 6. samでCloudWatchLogsのログ記録を有効化しようとすると「CloudWatch Logs role ARN must be set in account settings to enable logging」と出る
- 7. SaaS、PaaS、IaaS
- 8. AWSのCAによるプライベート証明書を発行する
- 9. EC2インスタンスのCPU使用率を監視する
- 10. Amazon Fargateでアプリケーションを動かす
- 11. AWS CLIを使ってみたい
- 12. AWSで、RDSにdumpファイルをインポートする際にpvで進捗をみる
- 13. ECRにDocker HUBのイメージをおく
- 14. プロキシ経由のAmazon ECR Public Gallery利用時の注意
- 15. CloudTrailでデフォルト設定で検出できないイベントの確認方法
- 16. AWS Solution Architect Professional勉強メモ その1
- 17. Amazon VPCを「これでもか!」というくらい丁寧に解説
- 18. AthenaでMicrosoft365の監査ログを見る
- 19. 仮想化と分散処理
- 20. クラウドとオンプレミス
ruby on rails を AWS Cloud9で実施 2 コントローラー Viewについて python初心者
https://qiita.com/TaichiEndoh/items/35294ff656499d9bbf8d
前回の続きです
環境 AWS Cloud9
environment type EC2
instance type t2.micro
platform ubuntu server 18.04 LTS## controllerの作成
まずは
controller
を作成してみます## MVC アーキテクチャの復習
model
データベースアクセスなど データ関連処理View
画面表示controller
リクエストやレスポンスを制御
view と model の橋渡しさっそくコマンドを入力します
generate を g 省略可能です
“`
rails g controller
“`
上のコマンドで controller を作成してくださいという
命令になります#### 今回は rails g controller users index を実施
以下の users はコントローラーに付ける名前です
データベースと連携する場合は複数形にするの
AWS: 簡単なLAMPサーバーでWordPressを動かすまで(Intel Mac) 〜PHPをインストール〜
# はじめに
AWSハンズオンの学習記録です。
2022年8月の情報をもとに投稿します。ゴールは、EC2を使って簡易的な仮想サーバーを作り、ブログソフトであるWordPressをインストールします。
また、WordPressを外部公開できることを想定しています。**今回はプログラミング言語である「PHP」のインストール方法を投稿します。**
尚、ハンズオンがメインのため、各サービスの概要や用語の解説は極力省かせていただきます。
### ゴール
仮想サーバーでWordPressを使える状態にします### ゴールまでの流れ
[1.VPCとサブネットを作成](https://qiita.com/holySh10/items/749b98e320fc71e6739e)
[2.EC2を作成/セキュリティグループの設定](https://qiita.com/holySh10/items/90a3501d819f1ae2c7cd)
[3.EC2へSSH接続](https://qiita.com/holySh10/items/689f4c83cd18db128983)
[4.Webサー
.env などにある環境変数を[一括で|まとめて] パラメーターストアに登録するスクリプトを書いたよ
## 環境変数を追加するのが面倒
パラメーターストアに環境変数をぽちぽち登録するのが苦行で仕方がありませんでした。
12個ぐらい一気に追加されると、それをポチポチすると5-10分かかってしまいます。
そこで、慣れないシェルスクリプトをつかって一括登録できるようにスクリプトを書きました。
慣れないので2時間ぐらいかかりました。笑## 前提
AWS CLI が必要です。
## シェルスクリプト
“` put_env.sh
#!/bin/bash## Default値
profile=’default’
data_type=’String’
desc=’from post_envs.sh’
prefix=”
##function usage {
cat <
curlでAmazon CognitoのAPIにアクセスする
# What’s?
AWS SDKやAWS CLIに頼らずに、HTTPでAmazon CognitoのAPIにアクセスできないかな?と思って調べていたら、どうやらできそうなのでメモ。
# アクセスするAPIのリファレンス
こちらの一覧が対象です。
https://docs.aws.amazon.com/ja_jp/cognito-user-identity-pools/latest/APIReference/API_Operations.html
# アクセス方法
以下の情報に沿って行います。
– HTTPエンドポイント … `https://cognito-idp.[リージョン].amazonaws.com`
– HTTPメソッド … `POST`
– 付与する必要があるHTTPヘッダー
– `Content-Type: application/x-amz-json-1.1`
– `X-Amz-Target: AWSCognitoIdentityProviderService.[アクション名]`
– HTTPボディ … APIに応じたJSON# サンプル(ト
Amazon EKS のノード1台に起動できるPod の制限数を増やす
# はじめに
[Amazon EKS](https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/what-is-eks.html) クラスタのアドオンである[Amazon VPC CNI (Container Network Interface)](https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/pod-networking.html)を有効化するとEKS のノードで起動するPod はVPC 内のIP アドレスを使って通信できるようになります。この機能を有効化すると、デフォルトではノードのインスタンスタイプによって起動できるPod の数に制限が発生してしまうため、スペックが低めのインスタンスタイプの場合、この制限にすぐに引っかかってしまうかと思います。
参考: [インスタンスタイプによって起動できるPod の数](https://github.com/awslabs/amazon-eks-ami/blob/master/files/eni-max-pods.txt)
samでCloudWatchLogsのログ記録を有効化しようとすると「CloudWatch Logs role ARN must be set in account settings to enable logging」と出る
## エラーメッセージ
“`
CloudWatch Logs role ARN must be set in account settings to enable logging
“`## 原因
API Gatewayに設定するCloudwatchLogs書き込み用のRoleがセットされていないから
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293481/49ccb0cf-4927-b57d-4e02-99c62fbe7135.png)## 対処方法
このように、Roleをセットする。“`yaml
Resources:
ApiCWLRoleArn:
Type: AWS::ApiGateway::Account
Properties:
CloudWatchRoleArn: !GetAtt CloudWatchRole.ArnCloudWatchRole:
Type: AWS::IAM::Role
Pro
SaaS、PaaS、IaaS
# SaaSとPaaS、IaaSの違い
これらの違いは**どこまで提供するクラウドサービスなのか**です。
## SaaS(Software as a Service)
インフラやプラットファーム(OS)だけでなく、アプリケーションまでを提供する。
ex)SNSやブログサービス、Webメールサービス、DropBox
## PaaS(Platform as a Service)
プラットファームまでを提供する。OSの入った状態のサーバーにアプリケーションなどをインストールして利用する
ex)レンタルサーバー
## IaaS(Infrastructure as a Service)
インフラのみ、すなわちネットワークやサーバーなどのマシンを提供
# EaaS(Everything as a Service)・XaaS(ザース)
SaaS、PaaS、IaaSの総称をEaaSやXaaSと呼ぶ
ネットワークからソフトウェアまでを提供するサービスのこと。
つまり**AWSはEaaS**。
# 3つのサービス形態の特徴
SaaSは便利な反面、自由度が低い
IaaSは設定が複雑な反面、自由度が高い
#
AWSのCAによるプライベート証明書を発行する
# 要件
プライベート証明書をACMのPCA(プライベート認証局)で発行し、CSRを利用して証明書を署名したいです。# 前提
ACMのPCAを作成すること。
下記のコンソール画面からPCAを作成する。ただし、CAは30日間無料トライアル後400$/月の費用が発生する。かつ証明書1つにつき0.75$かかります。
https://ap-northeast-1.console.aws.amazon.com/acm-pca/home# 証明書発行
– IssueCertificate コマンドで証明書を発行する
– certificate-authority-arnはアカウント情報
– certificate-authorityはPCAのID
– csrはCSRファイルのパス
– validityは有効期間“`bash
aws acm-pca issue-certificate \
–certificate-authority-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-123
EC2インスタンスのCPU使用率を監視する
CPU使用率のモニタリングをしていなかったことについて、ユーザーから突っ込みがあったらしいので設定しました。
エージェントのインストールは不要でとても簡単です。
これはAWS EC2インスタンスの話です。# トピックの作成
まず、Amazon SNS(Simple Notification Service)から**トピック**を作成します。
Amazon SNS はサーバレスでメッセージ(スマートフォンのプッシュ通知、Eメール、SMSなど)の配信を可能にするマネージドサービスです。トピックという論理的なアクセスポイントにメッセージを送信すると、トピックに紐づけられた受信者に対してメッセージが非同期で一斉送信される仕組みです。
この仕組みを自前で構築しようとすると、開発コストだけでなく、サービスのスケールに応じて管理コストもかかってきますが、Amazon SNS なら初期費用をかけずに利用できます。今回はEメールで通知するのでタイプはスタンダード、任意の名前で設定します。
![image.png](https://qiita-image-store.s3.ap-northeast
Amazon Fargateでアプリケーションを動かす
# ECRに登録
![スクリーンショット 2022-08-06 15.11.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/801403c4-823c-008c-4ee1-4bbd481dfb71.png)
![スクリーンショット 2022-08-06 15.12.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/986eb07e-b35c-443a-0d23-27ebc9780e3d.png)
![スクリーンショット 2022-08-06 15.12.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/0a4d9770-493d-8994-efa6-ad73de5e5132.png)
プッシュコマンドの表示をして指示通りにPushします。
![スクリーンショット 2022-08-0
AWS CLIを使ってみたい
AWS CLIを使ってみたいと思い立ったので、やったことをメモしていきます。
今回はSSH接続の復習も兼ねて
「自分のパソコンからEC2に対してSSHで接続し、EC2からその他のリソースに対してCLIで作業を行う。」という手順で作業を進めていきたいと思います。## EC2の作成
SSH関連の部分だけを変更しました、せっかくなのでキーペアも新しく作成しました。
AWSで、RDSにdumpファイルをインポートする際にpvで進捗をみる
20GBぐらいのAWS Aurora (Mysql) のDumpファイルをリストアするのに10時間ぐらいかかっているため進捗が確認出来れば良いな、と。RDSなので、中から進捗を確認することもできず。
https://qiita.com/suzuki-navi/items/a851d9ec66d2cf4bf732
上記を参考。urlからインストール。
“`
[root@ip-192-168-119-73 kd]# sudo rpm -ivh http://www.ivarch.com/programs/rpms/pv-1.6.20-1.x86_64.rpm
http://www.ivarch.com/programs/rpms/pv-1.6.20-1.x86_64.rpm を取得中
警告: /var/tmp/rpm-tmp.NvfZwm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID 3fc56f51: NOKEY
準備しています… ################################# [100%]
更新中 / イン
ECRにDocker HUBのイメージをおく
# まえがき
プライベートなVPCでdocker pullしたい?ECRからイメージを持ってくる
# 概要
CloudFormationテンプレートでCodeBuildプロジェクトを作ります
Codebuildを実行するとECRに起動パラーメータで指定したイメージが格納されます1、CodeBuild用のロールを作る
2、ECRレポジトリを作る
3、CodeBuildのプロジェクトを作るCloudFormationテンプレートはこちら?
—————————————-
全体を表示(折りたたみ)
——————————————“` yaml
AWSTemplateFormatVersion: “2010-09-09”
Parameters:
ImageName:
Type: “String”
Defaultプロキシ経由のAmazon ECR Public Gallery利用時の注意
[Amazon ECR Public Gallery](https://gallery.ecr.aws/)を利用する際の注意点について記載します。
1. ECR PublicのVPCエンドポイントが提供されていないので、dockerコマンド(例:pull)実行時にCloudFront への通信が発生する
1. [CloudFrontの接続先が明記されていない](https://aws.amazon.com/jp/blogs/aws/amazon-ecr-public-a-new-public-container-registry/)ので、実際にpull等してみて接続先ドメインを特定して、プロキシのホワイトリストに追加する
1. 以下のDockerfileを用意した場合の接続先は、`d5l0dvt14r5h8.cloudfront.net`となった“`Dockerfile
FROM public.ecr.aws/aws-observability/aws-for-fluent-bit:2.26.0
“`
※ `FROM public.ecr.aws/aws-observabilCloudTrailでデフォルト設定で検出できないイベントの確認方法
# はじめに
AWSサービスに対して不審な通信があった場合、「CloudWatch」「Config」「CloudTrail」を使用して調査を行うかと思います。
私はその一つである「CloudTrail」では、**デフォルト**でAWSに関連する全てのAPIコールを記録し、
Cloudtrailコンソール上の「イベント履歴」から確認できると誤認していました。
今回、「CloudTrail」をデフォルト有効化をしただけではコンソール上で確認できないイベントをどのように確認すればよいかをまとめた記事となります。# 結論
CloudTrailにて証跡を作成する必要がある# 目次
1.CloudTrailとは
2.デフォルトでは検出しないAPIコールについて
3.データイベントの検出方法
4.格納されたイベントの確認
5.最後に# 1.CloudTrailとは
①AWSのAPIエンドポイントを通して実行されたAWSサービスの4W1Hを記録するサービス(「いつ」「どこで」「だれが」「何を」「どのように」)でありログとして記録される。
※IAMユーザへのログインなど一部イベントが保存さAWS Solution Architect Professional勉強メモ その1
# はじめに
2年半ぶりにAWS Solution Architect Professionalを更新したので、勉強メモを残しておきます。 長いので2分割。https://qiita.com/Regryp/items/3fbec3af33f25350a3bf
# メモ
## Step FunctionsとSimple Work Flowの使い分け
プロセスにおいて介入する外部信号が必要な場合、または結果を親に返す子プロセスを起動する場合は、Amazon Simple Workflow Service (Amazon SWF) を使用する。SWF では、宣言型の JSON にステートマシンを記述するのではなく、ディサイダープログラムを書いて決定ステップからアクティビティステップを分離する。Amazon SWF では、連携ロジックを完全に制御することが可能だが、アプリケーションの開発はより複雑になる。https://aws.amazon.com/jp/step-functions/faqs/
## Server Migration Service(SMS)とApplicati
Amazon VPCを「これでもか!」というくらい丁寧に解説
# はじめに
**AWS上で仮想ネットワークを構築**できる**Amazon VPC**は、多くのAWSサービスが動作する基盤となる、**非常に重要かつ多機能**なサービスです。多機能ゆえに[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html)やネット上の記事も断片的な機能の解説が多く、**全体像を把握することが難しい**サービスとも言えます。
そこで本記事は**VPCの全体像を理解できるよう、各機能のつながりや動作原理を丁寧に解説し**、
「**VPC界の百科事典**」 (あくまで例えですが…笑)
AthenaでMicrosoft365の監査ログを見る
# はじめに
前回、Microsoft365のログをS3に保存するLambdaを記事にしました。https://qiita.com/a_b_/items/84d6ae3cf8a21b8b332c
今回は、それらファイル群をAthenaで見てみました。
# ファイルの形式
今回用いるファイルの形式は以下のページに倣って、
– JSON文字列
– 1データ1行
– 改行がデータの区切りとしています。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/json-serde.html
:::note info
当初は前回のログ抽出部分で`Export-Csv`を使ってCSV出力していました。
ところが`auditdata`カラムがJSON文字列であり、その中で使われている特殊文字のエスケープがAthenaと相性が悪く、検索できないテーブルになってしまったので、`ConvertTo-Json`を使ったJSON文字列としています。
:::ファイルの場所はすべて`s3://<<バケット名>>/sampleathena/nopa
仮想化と分散処理
# 仮想化とは
クラウドを支える上で重要な技術が**仮想化**
コンピューターが何か仕事をするときは、物理的なメモリやハードディスク、OSなどの様々な部品が必要
これらの部品をソフトウェアで置き換えるものが**仮想化技術**。
ex)
仮想サーバーは、ひとつの物理サーバー上に、複数の異なるサーバーを仮想的に作成し、本来サーバーに必要な物理的な部品を仮想的に作成する
ネットワークも同様に、一つの物理的な配線を仮想的に分割し、別のネットワークと統合したりして、その接続を瞬時に瞬時に変えることができる。## 仮想化による複製
仮想サーバーに割り当てるメモリやストレージは、自由に増減できる。そのためメモリやストレージは自由に性能を調整できる。
性能を限界に引き上げても、それ以上に負荷がかかった場合は、サーバーの台数を増やさなければならない。
こうした作業も仮想化は有効
* 物理的なサーバーの場合
**台数を増やすためには、サーバー(パソコン)自体が何台も必要**
* 仮想的なサーバーの場合
**一台の物理マシンに何台も仮想マシンを作成できる**
# 分散処理とロードバランサクラウドとオンプレミス
# クラウドとは
**いつでもどこでもインターネット回線を介してアクセスできる環境**
ex)Office 365、音楽の配信サービス、ストレージサービス、画像の保存サービス
# インフラを丸ごと借りる「クラウドコンピューティング」
クラウドの中でもサーバーやネットワークなどインフラ一式を貸してくれるサービス
ex)AWS,Microsoft Azure,Google Cloud Platform
このようなクラウド上に用意されたインプラを利用するサービスや利用することは**クラウドコンピューティング**という
# オンプレミスとレンタル
## オンプレミス
自社でサーバーなどを用意することを**オンプレミス**という
データセンターにサーバーを置いても、所有権が自社にあるのでオンプレミスと呼ぶ
サーバーのみを借りているものはレンタルサーバーと呼び、ネットワークや場所などを借りている場合はオンプレミスと呼ぶ傾向にある**オンプレミスのメリット**
自社で自由に設計し・運用できること
ただ、その分サーバー構成の変更などが必須となり、スキルのある技術者も必要になる## オンプレミス
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた