- 1. 【AWS】【SysOps】複数のAWSアカウントにAmazon GuardDutyを開始させる2つの方法(AWS Organizations, Invitation)
- 2. AWS ポリシーアクション一覧の探し方
- 3. スーパー初心者向け! WordPress構築?
- 4. 脳筋が岡山県内のジムを検索するサービスを開発しました(ポートフォリオ、Rails+AWS+Docker)
- 5. 入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜3日目VPC:構築ハンズオン③〜
- 6. 【初心者】データの拡張を調べてみた
- 7. DockerだけでTerraformをLocalStackにデプロイしてみた
- 8. 入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜3日目VPC:構築ハンズオン②〜
- 9. クラウドインフラ系学習サービスの比較
- 10. [ハンズオン]AWS Docker入門編
- 11. 王者Apacheのシェア越え! 初心者向けNGINXのインストールについて
- 12. Route53で自分のドメイン作ってみない??
- 13. AWS利用料をDailyでメール通知するlambda関数
- 14. Fargate Spot の安全な運用方法を考える 中断編
- 15. Terraformをローカル環境でのインストールをせずにDockerの公式イメージから利用する
- 16. 入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜3日目VPC:構築ハンズオン①〜
- 17. 定期的に全EC2サーバを停止する設定
- 18. 検証用AWSアカウントでGuardDutyと闘う話 〜S3バケット編〜
- 19. AWSのSagemakerの無駄な料金を請求されないために注意すべき事
- 20. S3とCloudFrontを使ってWEBサイトを公開する
【AWS】【SysOps】複数のAWSアカウントにAmazon GuardDutyを開始させる2つの方法(AWS Organizations, Invitation)
こんにちは。AWS SysOpsのチョンです。
今日はAmazon GuardDuty設定のファストステップとして、複数のAWSアカウントに対してAmazon GuardDutyを開始させる2つの方法をご紹介したいと思います。
事前に区別しておきたいことは、
– **単一AWSアカウント**であれば、[こちらのAWSドキュメント](https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_settingup.html#guardduty_enable-gd)通りGuardDutyコンソールを開き開始ボタンを押すことでGuardDutyが開始できます。
– **複数のAWSアカウント**に対してGuardDutyを開始させたいってことであれば、[こちらのAWSドキュメント](https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_accounts.html)の2つの方法を利用し開始することができます。こちらの投稿は**後者**のお話なの
AWS ポリシーアクション一覧の探し方
IAM設定やCLIでの権限付与などの際
AWSポリシーの項目(actionに設定する値)
つまりリソースに対する動作を指定している項目の
一覧を確認したい時、以下のページから
左メニューでサービスを選びアクションの項目を参照すると確認できます。https://docs.aws.amazon.com/ja_jp/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html
意外と見つけづらい気がしたのでメモしています。
スーパー初心者向け! WordPress構築?
人気ブログの一つに「Wordperss」がありますよね。
今回はインフラ基盤を一から作り自分の記事が書けることをゴールに設定しました!# WordPressとは?
“WordPress(ワードプレス)とは、サイトの作成やブログの作成などが
できるCMS(コンテンツ管理システム)の1つ”https://digital-marketing.jp/creative/what-is-wordpress/
では早速構築に移りましょう!
:::message
Amazon Linux2でのインストールを試みます。
:::[参考サイト]
https://qiita.com/moomindani/items/9968df0d4396564bf74c#%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3-6-phpmyadmin-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8Byumのアップデート
“`js
yum update –
脳筋が岡山県内のジムを検索するサービスを開発しました(ポートフォリオ、Rails+AWS+Docker)
## はじめに
・この記事はポートフォリオとして開発した、岡山県内のジム検索サービス「Gymseek」の紹介記事です。
・現在はAWSの無料会員期間終了のため、サービスを閲覧することはできません。![150344970-bab35ab6-8556-427d-9775-44233e3da39a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2086069/fa16a097-41d8-0809-9cb8-89c922161283.png)
https://github.com/omeinu/gymseek
## 目次
– 自己紹介
– 利用方法
– 使用技術
– AWS構成図
– 機能一覧
– ER図## 自己紹介
初めまして!
私は、元消防士の駆け出しエンジニアです。
29歳で岡山→東京へ上京しました。エンジニアとして働き始めて1ヶ月が経ちましたので、ここらで転職用に開発したポートフォリオを記録に残しておこうと思い、初めて記事を書かせていただきました。
## 利用方法
トップページ
入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜3日目VPC:構築ハンズオン③〜
# はじめに
前回の記事(https://qiita.com/hugo-crt/items/7819a61ea4cb63532787)
の続きとなります。今回は、前回作成したVPCのルートテーブルが実際に機能しているか、またPublicとPrivateではインターネットからの接続に対してどのような挙動を見せるのかをハンズオン形式で学習していきます。
# ハンズオン
– コンソール画面を開きます。
![スクリーンショット 2022-05-03 1.17.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1833566/63622134-908a-aadf-72fc-3ff36e465826.png)IAMユーザ作成編学習しましたが、作業ユーザに適切な権限を与えて作業するんでしたね。
ということは今回、Public Subnet内でwebサーバを立てるので、権限が必要です。– IAMを検索し、クリックします。
– ダッシュボードのロールをクリックします。
![スクリーンショット 20
【初心者】データの拡張を調べてみた
# 背景・目的
私は、現在データエンジニアリングを生業としています。普段は、データ基盤の構築やパフォーマンスチューニングなどに従事しています。
ビックデータの収集や、蓄積、分析などの環境構築の経験はそこそこありますが、機械学習による予測や分類などのスキルは持ち合わせていませんでした。
今まで機械学習を避け続けてきましたが、一念発起し学ぼうと思います。学び方としては、AWS Certified Machine Learning – Specialty(以降、ML試験という。)の勉強を通して、理解を深めていこうと思います。
ML試験のガイドを読むと、第2分野に探索的データ解析が出ていましたので、そこから学びたいと思います。以前、以下について学習を進めてきましたが、今回はデータの拡張について学びたいと思います。
– [【初心者】データのスケーリングを調べてみた](https://qiita.com/zumax/items/ca7184dcf4e7fd242128)
– [【初心者】探索的データ解析とは何かを調べてみた](https://qiita.com/zumax/items/5
DockerだけでTerraformをLocalStackにデプロイしてみた
# 1. はじめに
下記2つの条件で、[Terraform](https://www.terraform.io/)を[LocalStack](https://github.com/localstack/localstack)へデプロイする記事が見当たらなかったため、今回の記事を作成しました。
– Docker (+ Docker Compose) だけを使用していること。
– 「[Integrations / Terraform / Endpoint Configuration](https://docs.localstack.cloud/integrations/terraform/#endpoint-configuration)」の`apigateway = “http://localhost:4566″`ようにサービスごとにエンドポイントを指定するのを避けるため、[tflocal](https://github.com/localstack/terraform-local)を使用していること。## 1.1. 動作環境
Bashなどのコマンドが利用でき、DockerとDo
入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜3日目VPC:構築ハンズオン②〜
# はじめに
前回の記事の(https://qiita.com/hugo-crt/items/61ad9a60d599ee5d9b47)
の続きです。# ルートテーブルとは
この記事からお借りします。
https://qiita.com/chro96/items/21863e0960ba4ac72470
>だいたいの記事に主語がないので補足すると、AWSのルートテーブルは、サブネット内にあるインスタンス等がどこに通信にいくかのルールを定めたものです。
>つまり、ルートテーブルはパケットの宛先(IPアドレス)を見て、どこに通信を流すかが書かれている表です。この表をみてパケットを運ぶので、表にない宛先のものはパケットを送らないので、通信できません。
>サブネット毎にどこに通信ができるかを定めたものだというところがポイントです。
ということで、ルートテーブルを作成して、Public / Private Subnetごとに通信の経路を設定する必要があるとわかりました。
言葉通りPublicはインターネットとの通信をしそうですね。
反対にPrivateはVPC内のみでの通
クラウドインフラ系学習サービスの比較
## tl;dr
– A CLOUD GURUはKodeKloudに比べてお高いが、メリットはそれなりにある。
– バニラのk8s、Terraformなどの学習にはKodeKloudで十分。
– 基本の学習をKodeKloudで→資格などクラウドごとの勉強にA CLOUD GURUを。という流れがおすすめ。
– パブリッククラウド資格の対策にはA CLOUD GURUしかない。三大クラウドの動画盛り沢山&クラウドサンドボックスが利用し放題。
– KodeKloudは非英語圏の人々でも理解できるよう、ゆっくりわかりやすい単語で話してくれるので学習しやすいが、A CLOUD GURUだとそういう配慮はあんまりない。簡単な英語の読みができる人なら、どちらも字幕があるのでそれ見ながらでok。
– どちらも無料お試しある。## クラウドインフラ系学習サービスについて
– この領域はほぼ日本の学習サービスがない。
– 一部のUdemy教材やくろかわこうへい氏のAWS Cloud Tech、Linux Fundationの一部の日本語対応動画なども出てきているが、字幕読みながらの英語学習に抵抗
[ハンズオン]AWS Docker入門編
先日、Dockerを触れる機会があったので忘れないようシェアしたいと思います。
# Dockerとは?
初心者の方向けにAWS公式のDockerに関する説明をリンク貼付しました!
https://aws.amazon.com/jp/docker/[ポイント]
Dockerは
・コンテナ型
・ソフトウェアプラットフォーム
・すばやくビルド、出荷、実行=テスト環境の構築に向いているとはいうものの、ものは試しというわけで早速やってみましょう!
今回は練習なのでAWS EC2環境で体験してましょう!
:::message
Amazon Linux2でのインストールを試みます。
:::Docker インストール
“`js
yum install -y docker
“`起動・自動設定
“`js
systemctl start docker.service
systemctl enable docker.service
“`念の為起動しているか確認してみましょう。
“`js
ps -efH | grep docker
“`これで起動の確認が取れました!
`
王者Apacheのシェア越え! 初心者向けNGINXのインストールについて
最近yahoo newsにて以下のような記事を見かけました。
https://news.yahoo.co.jp/articles/4459d66372eaa5451b0d10e3d9d3883ca1ec622a
なんと絶対王者ApacheのシェアをNGINXが抜いたらしいです!
今後もますますシェアを伸ばすであろうNGINX、その波に乗るべく今回は初心者でも簡単にNGINXがインストールできる方法を記事にしました!
:::message
今回はAmazon Linux2でのインストールを試みます。
:::EC2起動
yumのupdate
sshでのEC2ログイン後、rootユーザにて以下yumのアップデート
をおこないます。
“`js
yum update -y
“`
nginxのインストール
“`js
amazon-linux-extras install nginx1 -y
“`
以下nginxが起動する
“`js
java-openjdk11 available [ =11 =stable ]
34 lynis
Route53で自分のドメイン作ってみない??
先日、個人的にAWSのRoute53でドメインを登録する機会があったので備忘録として載せておきます!
使用方法は未経験の方でもすごい簡単で値段も安いものもあるので是非使ってみてください!
では行ってみよう!# Route53とは?
https://aws.amazon.com/jp/route53/[ポイント]
Route53は
・AWSサービスにおけるDNSサーバの役割
・可用性、柔軟性、信頼性において抜群の安定感
・UIがシンプル!(個人感想)DNSサーバを一から構築した人ならいかに便利なサービスか理解してもらえると思います!
まぁ、百聞は一見にしかず、早速コンソールを見てみましょう?**AWSでRoute53と検索すれば以下のような画面が現れます。**
![](https://storage.googleapis.com/zenn-user-upload/12c816b5a85a216614a1fda6.png)赤枠が私が現在保有しているドメインを表しています。
今日はここを作っていきます。**まずは左のペインから「登録済みドメイン」をクリックして「
AWS利用料をDailyでメール通知するlambda関数
# 内容
AWS利用料をDailyでメール通知するlambda関数です。# 設定
* SNS Topic作成
* Lambda用のロール作成
CostExploereへアクセス(ce:GetCostAndUsage)及びSNSのパブリッシュ(sns:Publish)権限
* Lambda関数作成
* EventBridgeからスケジュール設定# コード
“`python
import boto3
import datetime# SNS Topic
topicArn = ‘arn:aws:sns:ap-northeast-1:”account_id”:”topic_name”‘
# 1 days ago
date1 = (datetime.datetime.now() – datetime.timedelta(days = 1)).strftime(‘%Y-%m-%d’)
# 2 days ago
date2 = (datetime.datetime.now() – datetime.timedelta(days = 2)).strftime(‘%Y-%m-%d’)
Fargate Spot の安全な運用方法を考える 中断編
# はじめに
Amazon ECS と AWS Fargate を使ってサービスを提供しているときに、コストを最適化する方法があります。一例として、次のコスト最適化の方法を挙げます。
– Fargate Spot : 空きキャパシティを利用
– Savings Plans : 1年 or 3年の期間契約上記の2個は Fargate の購入方法が異なります。Fargate Spot は通常の価格と比べて最大 70% OFF の価格で利用できます。EC2 スポットインスタンスと同様の概念になっていて、Fargate Spot も AWS の空きキャパシティを利用します。Fargate Spot の空きキャパシティを確保できるかぎり、タスクとしてコンテナ群を動かすことが出来ますが、空きキャパシティが確保できなくなった場合にタスクが中断する可能性があります。タスクで動かしているアプリケーションは、中断する2分前に中断通知(`SIGTERM`)を受け取ることが出来ます。`SIGTERM` を受け取り、正しく処理が完了できるようなアプリケーションは Fargate Spot に向いてい
Terraformをローカル環境でのインストールをせずにDockerの公式イメージから利用する
# はじめに
老体に鞭打って`aws`に取り組んでいる昨今だが、どうも`GUI`というかウェブ画面での操作に慣れない。
慣れないというよりやり方を記録しておくのにわざわざスクリーンショットを取るのが煩わしいのだ。「そんなあなたに`CloudFormation`」というのが`aws`的な流儀なんだろうから一応トライしてみているが、全作業がローカルのターミナルから完結するわけではないのと設定ファイルが難解なのでもう少しなんとかならないかと考えていた。
そこで対抗場として挙げられるのが`Terraform`なのでそのうちやろうと思いつつようやく重い腰を上げてやってみた。ちなみに以下のリンクのように`aws-cli`のみでごりごりやるのはそれはそれですごいけど若干ついて行けない。
[AWS Fargateを使って、マイクロサービス環境を実現する \- 革命のブログ](https://blog.frevo-works.co.jp/entry/2019/03/04/133336)
また以下の例は`Docker`イメージを使っているもののコンテナ内のシェルにログインして利用しているので
入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜3日目VPC:構築ハンズオン①〜
# はじめに
前記事(https://qiita.com/hugo-crt/items/662eb5726d7d12b83bfe)
の続きです。今回はAWS Cloud Questで学習したときに苦手意識を持ってしまったネットワーク系、Amazon VPC 作成をハンズオンで学習していきます。
# Amazon VPC(Virtual Private cloud)とは
まずはこちらの画像をば。
今回はこの画像通りに作成していくので、いわば設計図です。
![スクリーンショット 2022-05-02 15.10.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1833566/ecd42b37-4f58-7df5-d848-a3eda154e045.png)AWS Cloud上に個別のクラウド環境(VPC)を持てるサービスになります。これから作成する環境に、Subnetと呼ばれるより細かい区画を作成して、それぞれに役割を持たせます。
そこにAWS外部のインターネットとの通信を出し入れする
定期的に全EC2サーバを停止する設定
# 内容
AWS検証環境でEC2の停止を忘れてしまうことがあるので、全EC2サーバを1日1回停止する運用をいれます。
EventBridgeの「EC2 StopInstances API呼び出し」を使用しようと思いましたが、全てのインスタンスIDを指定する方法が分からなくlambda関数を作成しました。# コード
同一AWSアカウント内で起動中の全EC2サーバを停止します。“`python
import boto3client = boto3.client(‘ec2’, region_name = ‘ap-northeast-1’)
def lambda_handler(event, context):
ec2_list = client.describe_instances()
for ec2_reservation in ec2_list[‘Reservations’]:
for ec2_instance in ec2_reservation[‘Instances’]:
ec2_instance_id = ec
検証用AWSアカウントでGuardDutyと闘う話 〜S3バケット編〜
# はじめに
2021年某日、転職した会社で検証用のAWSアカウントを自由に使っていいとのことだったので、自分のリソースをTerraformで色々作ってみることにした。
VPCから始めてEC2やS3等よく使うものを自分の検証用に作成してみた。少し空気がひんやりしてきた秋晴れのある日、知らない人からSlackのDMが来た。
どうやらインシデントレスポンスの人らしい。海外の人なので英語でのメッセージで責め立てられたが、要約するとこう↓いうことらしい
> お前のS3バケットがパブリックアクセスになってるからアクセス制限させとくンだわ
あれ?パブリックアクセス許可したっけ?そんなんよく見つけたよね?そもそもどうやって俺のバケットだってわかったの?
# そもそもTerraformを使った理由
数年に1回くらいの頻度で転職するので、その都度検証用AWSアカウントで自分のリソースをコンソールから作っていたら、退職するときに1個1個削除していくのがめんどくさかったから、一括で削除したいな、ということで自動化することを検討。
で、Terraformにした理由は単に自分の好みというだけ
AWSのSagemakerの無駄な料金を請求されないために注意すべき事
# 本記事について
本記事はAWS初学者である著者の失敗を踏まえて、読んだ人が同じ失敗をしないために書いたものです。※社会人なり立てで、AWSも勉強し始めたばかりなので、もし間違っていることがあればコメントなどでご教授お願い致します。
# なぜ発覚したのか
2022年4月の初めに機械学習のR&D職として入社し、これから仕事でAWS上の機械学習関連の技術を学ぶことになりました。
最初はノートブックのみを使用し特に気にするほど高い料金の請求はこなかった。
しかしある日AWSのCost Managementを開いてみたら。前日AWSを使っていなかったにもかかわらず、42$(日本円にして5468.21¥)もsagemaker関連で請求が着ていました。# 解決方法
## 詳しく調べたところ
Cost Explorerにて
グループ化の条件のところで「使用タイプ」を選択したところ「APN1-Canvas:Session-Hrs」っというものに料金がかかっていたことがわかりました。
![image.png](https://qiita-image-store.s3.ap-no
S3とCloudFrontを使ってWEBサイトを公開する
目的
–
1. 自分用の手順書として、とりあえず設定内容だけ記載していく
2. 後々「なぜその設定にしたか」など、加筆して知識を深める流れ
–
1. S3でとりあえず静的WEBホスティングを使ってHello Worldする
2. S3の設定を変更し、CloudFrontを使ってCDN配信する# 1. S3でとりあえず静的WEBホスティングを使ってHello Worldする
##### バケットを作成し、オブジェクトにindex.htmlをアップロードする
バケット(フォルダ)を作ってオブジェクト(ファイル)を格納するような流れです。:::note
AWSアカウントの作成などは終えているものとします。
:::**① バケットの作成**
– S3と検索し「バケットを作成」をクリック。
– バケット名:全世界で被ってはいけないのでユニークなものを入れましょう。
私は”sample-qiita-220502″というものを作りました。
– AWSリージョン:私は東京リージョンを指定します。![スクリーンショット 2022-05-02 9.50.29.png](https:/